收藏 分享(赏)

pelco详细版.doc

上传人:hwpkd79526 文档编号:9173500 上传时间:2019-07-26 格式:DOC 页数:7 大小:36.03KB
下载 相关 举报
pelco详细版.doc_第1页
第1页 / 共7页
pelco详细版.doc_第2页
第2页 / 共7页
pelco详细版.doc_第3页
第3页 / 共7页
pelco详细版.doc_第4页
第4页 / 共7页
pelco详细版.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、监控行业通信协议应用最广的协议就是美国 PELCO-P,PELCO-D 协议,可以说国内大部分控制设备,包括嵌入式录像机,监控视频采集卡软件,各种控制键盘,PC 机调试研究均有此协议。其中通过各个行家又繁衍出各种版本。此文讲解“ 正宗” 的美国 PELCO-PD 协议,最后也讲解一下最新版本及其他厂家的协议。一、PELCO 协议介绍1、PELCO 协议据本人了解,有 PELCO-PD 两种协议。其中 PELCO 控制键盘与 PELCO 矩阵通信协议不在此文范围。这里只讲 PELCO 主控与终端解码器通信协议。2、PELCO 主控与前端解码器是通过 RS422RS485 通信格式传输,注意:以前

2、不少菜鸟问我的设备是用RS485 协议,这就是笑话了。协议是指通信的内容,主控与接收约好的数据传输,类似合同,甲乙两方按约定的事项来办事。3、除 PELCO 原装设备支持 RS422 和 RS485 兼容接口,国内大部分厂家主控和接收设备仅支持 RS485接口,RS485 接口是半双工通信模式,即发送端发过去的控制命令,只管发出去,不管你收不收得到,有的厂家连续发,有的间隔发,总类很多。停止命令往往发 1、2 条。如 PELCOPANASONIC、三星等大厂做的通信接口,主控发出去命令,接收端收到命令返回 SCK 命令给主控,叫回答命令,告知发送端我已收到命令,不用再发了,这就是 RS422

3、通信模式的一种用途。4、PELCO 协议内容包括云台控制命令,摄像机控制命令,辅助控制命令。预置位设置和调用命令。注意:网上 PELC 协议版本众多,建议看家选择英文版本,中文版本很多错误。其中英文版本最后的例子有错,后面我会纠正!下面逐一介绍:二、PELCO 协议内容介绍1、 先讲 PELCO-P 协议:Byte Value Function字节 1 $A0 STX (start transmission)字节 2 $00 to $1F Address字节 3 Data byte 1 (see below)字节 4 Data byte 2 (see below)字节 5 Data byte

4、3 (see below)字节 6 Data byte 4 (see below)字节 7 $AF ETX (end transmission)字节 8 $00-$FF Check Sum看上表:P 协议一共 8 个字节,头字节是 A0,第 2 个字节是地址 00-31(一共 32 个地址),32 个地址现在大系统已经不够用了,所以我们要更改它,可以改成 00-63 个地址, 00-127 个地址。地址在软件里随便增加的。这里还注意一个地址是 0 开始,这也是为什么我们常说 P 协议地址主控要减 1。有的技术人写的软件老老实实的按照 PELCO-P 文档的软件来定义,应当自己灵活一下,把地址码

5、改到从 1 开始不就行了吗?这样就不会在将来客户使用过程要加 1 或减 1 这么麻烦。上表第 3 个字- 第 6 个字节是:看下表:Bit number7 6 5 4 3 2 1 0字节 3 0 Camera On Autoscan On Camera on / offIris Close Iris Open Focus Near Focus Far字节 4 0 Zoom Wide Zoom Tele Tilt Down Tilt Up Pan Left Pan Right 0 (for pan / tilt)字节 5 Pan Speed $00 to $3F and $40 for Turb

6、o字节 6 Tilt Speed $00 to $3F通过上表可知:P 协议内第 3 和第 4 个字节是摄像机协议和云台控制命令,第 5 和第 6 个字节是云台水平速度和垂直速度命令。看上表,第 3 个字节内的第 6 位是摄像机电源开, 5 位:可以定义云台自动扫描,4 位:摄像机屏蔽开与关;3 位:光圈关; 2 位:光圈开;1 位:聚焦近焦;0 位:聚焦远焦。举例:打开光圈,那么此字节应当是 04H 十六进制,二进制就是 00000100b。P 协议第 4 字节云台命令和变倍命令,看滴 4 字节 data2 里的 8 位都有:7 位是 0 无意义;6 位是变倍广角;5 位:变倍远焦;4 位:

7、云台向下;3 位:云台向上 ;2 位:云台向左;1 位:云台向右;0 :可能是无意义。这里没有明显云台自动命令,所以最早 PELCO 老大是不做云台自动转的命令在协议里。之后国内厂家为了自动,就用调用多少号预置位命令去实现自动协议。各个厂家的调用预置位或者是设置预置位号命令不同,这就是造成了今天各个厂家的云台解码器设置方法不一样。这里很令工程商和菜鸟恼火!有时候工程商操作的时候发现云台怎么是左右反了的?这就是软件不匹配造成。A 厂家技术人喜欢这样定义右命令,B 厂家技术人喜欢那样定义。这就是协议之间的混乱,不严格按照 PELCO 老大的协议命令。自己定义的命令使用者调试异常只能找厂家解决。讲上

8、面的第 5 个字节:第 5 个字节是用在变速球机才有用的命令。PELCO 老大把水平速度定义成 00-63 个级,一共 64 级够用了。第 6 个字节是垂直速度,和水平速度一样也是 64 个速度级。这里讲速度级,问各位使用者,控制高速球的时候,您能感觉出高速球在以 64 个速度在不同变化吗?不能!控制高速球转动无非是用控制键盘的摇杆或者是点鼠标,点鼠标那个就不说了,麻烦的要死!按遥控器?海康的导航键要按的频率快,云台才转的快一些,但里面也只有几个速度级而已。 讲控制键盘控制高速球,大家知道,控制键盘的摇杆 3 维的里面是 3 个电位器,左右 1 个,上下 1 个,旋转 1 个控制变倍。控制键盘

9、摇杆内电位器由于精度问题,在键盘软件里一般是做 6-12 个速度级来控制高速球。高速球软件里也要做6-12 个速度表。这样我感觉是最理想,当键盘摇杆出现偏移量,键盘发码给高速球。可想一下,键盘摇杆向右 45就到头了。说这么多,64 个速度级是没有用的,但是在高速球内,开发者最好都做进去,因为你不知键盘发过来的是哪个速度。也可以用判断法,把 64 分成 6-12 个范围来接收控制。我强烈建议使用者,购买监控设备,控制端和前端最好使用 1 个厂家的设备。这样能省很多事情。再回到第一个表看 P 协议的第 7 个字节是 AFH,这个是结束字节标志。第 8 个字节是校验字节。最后再讲校验。下面讲 PEL

10、CO 协议特殊命令:看表格:常用的命令我用红色表示。第 3 字节 第 4 字节 第 5 字节 第 6 字节 Command Data byte 1 Data byte 2 Data byte 3 Data byte 4Set Preset XX 00 03 常用 00 01 to FFClear Preset XX 00 05 常用 00 01 to FFGo To Preset XX 00 07 常用 00 01 to FFFlip (rotate 180o) 00 07 常用 00 21Zero Pan Position 00 07 常用 00 22Set Aux XX 00 09 常用

11、00 01 to 08Clear Aux XX 00 0B 常用 00 01 to 08Remote Reset 00 0F 不常用 00 00Zone Start 00 11 不常用 00 01 to 08Zone End 00 13 不常用 00 01 to 08Write char to screen 00 15 不常用 0 to 28 0 to 7FClear Screen 00 17 不常用 00 00Alarm Ack 00 19 不常用 00 01 to 08Zone Scan On 00 1B 不常用 00 00Zone Scan Off 00 1D 不常用 00 00Patt

12、ern Start 00 1F 不常用 00 00Pattern Stop 00 21 不常用 00 00Run Pattern 00 23 不常用 00 00Zoom Lens Speed 00 25 不常用 00 00 to 03Focus Lens Speed 00 27 不常用 00 00 to 03上表主要用到的是预置位设置与调用和清除,在高速球里还有 flip 自动翻转,还有控制室外解码器的雨刷开关 AUX 命令打开与关闭。第 4 字节设置预置位是 03H,调用预置位是 07H,清除预置位是 05H。打开雨刷继电器是 09H,关闭雨刷是 0BH。上面第 6 字节是预置位的设置和调用

13、范围可以是 01-255 个。自己也可以定义 1024 个或者 64 个。后面有范围的数字都可以自己定义。但是第 4 字节不要自己定义,否则会乱的。 特殊命令,存在第 4 个字节里: Preset Number Function99 Begin Auto-scan 启动云台自动扫描98 Begin Frame Scan 摄像机帧扫描不常用97 Begin Random Scan 不常用96 Stop Scan 停止所有功能95 Enter Menu Mode 打开摄像机和球机菜单94 Remote Reset 云台或摄像机复位93 Set Right Limit Stop 设置右限位92 Se

14、t Left Limit Stop 设置左限位34 Home (return to 0 pan position) 归零自检33 Flip 自动翻转这些命令可以自己定义,但在解码器球机说明书里要有详细的说明,否则操作者也不会用的。有的控制设备只有 1-64 号预置位就无法实现上述命令,所有有些厂家做在 64 范围内就是这个原因,一般是做兼容。三、举例说明 PELCO-P 协议各个命令字节帧1、1 帧也叫 1 串命令,指主控设备发出 1 串命令叫 1 帧,包含 8 个字节。波特率是 1200-9600bit/s例子如下:PEOCO-P 协议地址 1 号:雨刷命令AUX1-ON: A0 01 00

15、 09 00 01 AF 06 OFF:A0 01 00 0B 00 01 AF 04 AUX2-ON:A0 01 00 09 00 02 AF 05 OFF:A0 01 00 0B 00 02 AF 07 AUX3-ON: A0 01 00 09 00 03 AF 04 OFF:A0 01 00 0B 00 03 AF 06 AUX4-ON: A0 01 00 09 00 04 AF 03 OFF:A0 01 00 0B 00 04 AF 0111 号地址: 地址是 0BAUX1-ON:A0 0B 00 09 00 01 AF 0C OFF:A0 0B 00 0B 00 01 AF 0E摄像

16、机命令,地址 1 号:close: A0 01 08 00 00 00 AF 06 停止:A0 01 00 00 00 00 AF 0Eopen: A0 01 04 00 00 00 AF 0A 停止:A0 01 00 00 00 00 AF 0E near: A0 01 02 00 00 00 AF 0C 停止:A0 01 00 00 00 00 AF 0Efar: A0 01 01 00 00 00 AF 0F 停止:A0 01 00 00 00 00 AF 0Etele: A0 01 00 20 00 00 AF 2E 停止:A0 01 00 00 00 00 AF 0Ewide: A0

17、 01 00 40 00 00 AF 4E 停止:A0 01 00 00 00 00 AF 0Eup: A0 01 00 08 00 01 AF 07 停止:A0 01 00 00 00 00 AF 0Edown: A0 01 00 10 00 01 AF 1F 停止:A0 01 00 00 00 00 AF 0Eleft: A0 01 00 04 01 00 AF 0B 停止:A0 01 00 00 00 00 AF 0Eright: A0 01 00 02 01 00 AF 0D 停止:A0 01 00 00 00 00 AF 0Epreset #1: A0 01 00 03 00 01

18、AF 0C 设 1 号预置位call #1: A0 01 00 07 00 01 AF 08 调 1 号预置位menu : A0 01 00 03 00 5F AF 52 打开菜单tour: 预置位巡航,调 76 号预置位,字节定义的 76: A0 01 00 07 00 4C AF 45 停止:A0 01 00 07 00 60 AF 69scan: 两点扫描或者水平扫描,字节定义 99 号预置位,16 进制是 63: A0 01 00 07 00 63 AF 6A 停止:A0 01 00 07 00 60 AF 69补充:关于校验位:下面这句是 PELCO-P 协议英文资料最后一句话。P

19、协议校验位是字节 2-6 的异或,应当是 22 而不是 17。在我上面的例子里,校验位是从第 1 字节到第 7 字节的异或,如:A0 01 00 03 00 5F AF 52A0 01 00 03 00 20 AF 17 (the last byte is the XOR sum of bytes 2 through 6)四、PELCO-D 协议内容介绍:D 协议字节数:7 个 Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7Synch Byte Address Command 1 Command 2 Data 1 Data 2 Check Su

20、m1 字节:头字节 永远是 FF ; 2 字节:地址字节,01-256,从 1 开始; 3、4 字节:云台和摄像机控制字节,5、6 字节:云台水平和垂直速度级字节;7 字节:校验字节,是第 2 到第6 字节的或 OR。速度级 D 协议是从 00-63 个级。云台和摄像机字节控制位命令如下表:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Command 1 第3 字节Sense Reserved Reserved Auto / Manual ScanCamera On / OffIris Close Iris Open Focus NearComm

21、and 2 第 Focus Far Zoom Wide Zoom Tele Down Up Left Right Always 04 字节举例:关闭摄像机光圈命令,地址 01,D 协议命令是: FF 01 04 00 00 00 05;看上表,光圈关闭在第 3 字节的第 2 位,则为 00000100 二进制,16 进制则是 04H。第 4 字节的控制命令如上。关于云台自动功能如何实现,云台的自动功能是做到解码板电路,有多种硬件电路方法,也有软件检测限位开关或者光耦中断来控制左和右自动扫描。但上面协议表是没有自动命令,在 P 协议里 AUTO PAN 命令是 CALL 99 号预置位。在 D

22、协议里是没有定义,编程者可以定义 CALL #NO 来实现。D 协议特殊命令控制表:第 3 字节 第 4 字节 第 5 字节 第 6 字节 Command Word 3 Word 4 Word 5 Word 6Set Preset 00 03 00 常用 01 to 20Clear Preset 00 05 00 常用 01 to 20Go To Preset 00 07 00 常用 01 to 20Flip (180 about) 00 07 00 常用 21Go To Zero Pan 00 07 00 常用 22Set Auxiliary 00 09 00 常用 01 to 08Clea

23、r Auxiliary 00 0B 00 常用 01 to 08Remote Reset 00 0F 00 常用 00Set Zone Start 00 11 00 不常用 01 to 08Set Zone End 00 13 00 不常用 01 to 08Write Char. To Screen 00 15 X Position 00 to 28 不常用ASCII ValueClear Screen 00 17 00 不常用 00Alarm Acknowledge 00 19 00 不常用 Alarm No.Zone Scan On 00 1B 00 不常用 00Zone Scan Off

24、 00 1D 00 不常用 00Set Pattern Start 00 1F 00 不常用 00Set Pattern Stop 00 21 00 不常用 00Run Pattern 00 23 00 不常用 00Set Zoom Speed 00 25 00 不常用 00 to 03Set Focus Speed 00 27 00 不常用 00 to 03上表第 6 字节的数值范围编程者可以随便定义范围。D 协议,地址 1,命令串如下:close: FF 01 04 00 00 00 05 停止:FF 01 00 00 00 00 01 open: FF 01 02 00 00 00 03

25、 停止:FF 01 00 00 00 00 01 near: FF 01 01 00 00 00 02 停止:FF 01 00 00 00 00 01 far: FF 01 00 80 00 00 81 停止:FF 01 00 00 00 00 01 tele: FF 01 00 20 00 00 21 停止:FF 01 00 00 00 00 01 wide: FF 01 00 40 00 00 41 停止:FF 01 00 00 00 00 01 up: FF 01 00 08 00 20 29 停止:FF 01 00 00 00 00 01 down: FF 01 00 10 00 20

26、 31 停止:FF 01 00 00 00 00 01 left: FF 01 00 04 20 00 25 停止:FF 01 00 00 00 00 01 right: FF 01 00 02 20 00 23 停止:FF 01 00 00 00 00 01preset #1: FF 01 00 03 00 01 05 call #1 : FF 01 00 07 00 01 09 menu : FF 01 00 03 00 5F 63tour: FF 01 00 07 00 4C 54 停止:FF 01 00 07 00 60 68scan: FF 01 00 07 00 63 6B 停止:

27、FF 01 00 07 00 60 68pgm: FF 01 00 25 00 00 26 自定义的建议编程者在做控制串口软件时,没帧命令输出时间间隔最好定义 200ms/ 帧。以上 PD 两种协议介绍完毕。下面介绍一下异类协议,这些协议很少见的。设计的一些别的因素,不全部贴出。把常用的协议讲完,此贴最后再讲各种协议之间的软件编程。国内一些厂家的协议都比较简单,就不谈了!下面谈谈台湾利凌、深圳三立、成都科力、松下这四家的通信协议,举 1、2 个命令来解释。1、利凌高速球协议地址 1 命令:变倍缩小:01 20 FF,变倍停止:01 00 FF变倍变大:01 10 FF,变倍停止:01 00 F

28、F云台向右:01 01 83 ( 80-87 为速度级) 停止:01 00 FF调 1 号预置位: 41 00 00调 2 号预置位: 41 01 00调 3 号预置位: 41 02 00 (地址要加 40H)设置 2 号预置位:82 03 64以上为利凌高速球一些命令,其协议为 3 个字节,为我见过的协议命令最简单的,固定波特率 9600bit/s。第 1 字节:地址,第 2 字节:动作命令,第 3 字节:也是动作命令。 停止命令统一为:地址 00 FF利凌协议的特殊点在预置位设置和调用这个地址的区别,另外一个就是发码的连续性。如摄像机控制和云台控制地址都是和主控一一对应,而调用预置位的命令

29、,地址要加 40H,在软件里用1 条 add a,#40h;a 为变量,即可。而在设置预置位时,地址变量要加 80H 才可以。另外一个利凌高速球接收命令是为连续接收,也就是说主控端要连续发命令过来,高速球才连续转。通过测试,每帧命令间隔 30ms 最理想。此时间可用定时器中断计算出来。2、深圳三立视讯,其矩阵协议型号有 450、550、650.其中 450 和 550 兼容,650 增加了一些特殊命令。三立视讯据说是一家中日合资企业,其协议为小日本定义,字节比较多,协议之啰嗦。2004 年经过研究,已经破解。现在列几条命令出来讲讲。其协议命令为 ASCII,如云台水平向右命令用 STX ADX

30、X;GCF:202136C:2022XY0 ETX 来表示,转换成 16 进制命令即得是:02 41 44 30 31 3B 47 43 46 3A 32 30 32 31 33 36 43 3a 32 30 32 32 30 30 30 03,这里一共 26 个字节。02 是头字节,41 44 是标志字节,30 31 表示 01 地址,第 17 个字节是 43 表示右命令。假如做三立协议和 PD 协议之间的转换,这里讲 30 31 表示 01地址,用软件怎么转换,请看:subb a,#30h ;先把第 4 字节的高位地址变量减 30Hmov b,#10 ;赋寄存器 B 常数 10,mul ab ;两数相乘得出高位地址的十位mov buf0,a ;把十位保存在 buf0subb a,#30h ;此时第 5 字节地位地址变量已在 a 内,低位减 30h 得出个位.add a,buf0 ;十位和个位相加得出 01 地址。此时 30 31 两个地址变成了 01 地址。ZOOM TELE: STX ADXX;GC7:2021228 ETX ZOOM WIDE: STX ADXX;GC7:202122C ETXSET PRESET: STX ADXXSPXY ETX三立协议之烦是高速球协议里有 3 种字节长度的命令,26、18 、10 这三种。做软件时要注意。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报