PELCOD、P通讯协议一、PELCO协议介绍1、PELCO主控与前端解码器是通过RS422\RS485通信格式传输。2、除PELCO原装设备支持RS422和RS485兼容接口,国内大部分厂家主控和接收设备仅支持RS485接口,RS485接口是半双工通信模式,即发送端发过去的控制命令,只管发出去,不管你收不收得到,有的厂家连续发,有的间隔发,总类很多。停止命令往往发1、2条。如PELCO\PANASONIC、三星等大厂做的通信接口,主控发出去命令,接收端收到命令返回SCK命令给主控,叫回答命令,告知发送端我已收到命令,不用再发了,这就是RS422通信模式的一种用途。3、PELCO协议内容包括云台控制命令、摄像机控制命令、辅助控制命令、预置位设置和调用命令。注意:网上PELCO协议版本众多,建议看家选择英文版本,中文版本很多错误。4、PelcoPprotocoldetailsareproprietary,non-publicdocuments.Inalmostallcases,Pelco'spubliclyavailableASCII,G,orDprotocolscanbeusedinplaceofPelcoPwiththeappropriatetranslator.PelcoProductSupporttechniciansmaybeabletoassistyouinobtainingtheuseoftheseprotocolsforyourapplication.ASCII,G,andDprotocolscanbeobtainedbefillingoutouronlineregistrationformlocatedhere.ForfurtherassistancepleasecontactPelcoProductSupportat(800)298-9100or(559)292-1981.二、PELCO-D协议数据格式:1位起始位、8位数据、1位停止位,无效验位。波特率:2400bps.命令格式:Byte1Byte2Byte3Byte4Byte5Byte6Byte7同步字地址码命令字1命令字2数据1数据2校验码1.该协议中所有数值都为十六进制数2.同步字节始终为FFH3.地址码为摄像机的逻辑地址号,地址范围:00H–FFH4.指令码表示不同的动作,在有关预制点的操作时,数据2表示预制点值5.数据1、2分别表示水平、垂直方向速度(00-3FH),FFH表示“turbo”速度6.校验码=MOD[(字节2+字节3+字节4+字节5+字节6)/100H]命令字1和命令字2设置如下:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0命令字1Sence码00自动/手动扫描摄像机打开/关闭光圈关闭光圈打开焦距拉远命令字2焦距拉近视角变宽视角变窄下上左右0Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和和摄像机打开;如果Sence码为0,则命令就是手动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。常用命令列表:序号命令字功能10x000x08上20x000x10下30x000x04左40x000x02右50x000x20变倍短60x000x40变倍长70x000x80聚焦近80x010x00聚焦远90x020x00光圈小100x040x00光圈大110x000x0b灯光关120x000x09灯光开130x000x07转至预置点140x000x03设置预置点150x000x05删除预置点160x000x00停止关于云台自动功能如何实现,云台的自动功能是做到解码板电路,有多种硬件电路方法,也有软件检测限位开关或者光耦中断来控制左和右自动扫描。但上面协议表是没有自动命令,在P协议里AUTOPAN命令是CALL99号预置位。在D协议里是没有定义,编程者可以定义CALL#NO来实现。D协议特殊命令控制表:CommandWord3Word4Word5Word6SetPreset000300常用01to20ClearPreset000500常用01to20GoToPreset000700常用01to20Flip(180°about)000700常用21GoToZeroPan000700常用22SetAuxiliary000900常用01to08ClearAuxiliary000B00常用01to08RemoteReset000F00常用00SetZoneStart001100不常用01to08SetZoneEnd001300不常用01to08WriteChar.ToScreen0015XPosition00to28不常用ASCIIValueClearScreen001700不常用00AlarmAcknowledge001900不常用AlarmNo.ZoneScanOn001B00不常用00ZoneScanOff001D00不常用00SetPatternStart001F00不常用00SetPatternStop002100不常用00RunPattern002300不常用00SetZoomSpeed002500不常用00to03SetFocusSpeed002700不常用00to03以地址码0x01为例:{0xff,0x01,0x00,0x08,0x00,0xff,0x08,}//上{0xff,0x01,0x00,0x10,0x00,0xff,0x10,}//下{0xff,0x01,0x00,0x04,0xff,0x00,0x04,}//左{0xff,0x01,0x00,0x02,0xff,0x00,0x02,}//右{0xff,0x01,0x00,0x20,0x00,0x00,0x21,}//变倍短{0xff,0x01,0x00,0x40,0x00,0x00,0x41,}//变倍长{0xff,0x01,0x00,0x80,0x00,0x00,0x81,}//聚焦近{0xff,0x01,0x01,0x00,0x00,0x00,0x02,}//聚焦远{0xff,0x01,0x02,0x00,0x00,0x00,0x03,}//光圈小{0xff,0x01,0x04,0x00,0x00,0x00,0x05,}//光圈大{0xff,0x01,0x00,0x0b,0x00,0x01,0x0d,}//灯光关{0xff,0x01,0x00,0x09,0x00,0x01,0x0b,}//灯光开{0xff,0x01,0x00,0x07,0x00,0x01,0x09,}//转至预置点001{0xff,0x01,0x00,0x03,0x00,0x01,0x05,}//设置预置点001{0xff,0x01,0x00,0x05,0x00,0x01,0x07,}//删除预置点001以上对应的停命令均是:{0xff,0x01,0x00,0x00,0x00,0x00,0x01,}//停命令三、PELCO-P协议PELCO-P协议一般采用RS-485传输。数据格式:波特率为4800,1位起始位和停止位,8位数据位,无校验。命令格式:ByteValueFunction1$A0起始码STX2$00to$1F地址码3Databyte1数据位1(指令码1)4Databyte2数据位2(指令码2)5Databyte3数据位36Databyte4数据位47$AF停止码ETX8$00-$FF校验码1.该协议中所有数值都为十六进制数2.STX始终为A0H3.地址码为摄像机的逻辑地址号,地址范围:00H–1FH4.指令码表示不同的动作5.数据码1、2分别表示水平、垂直方向速度(00-3FH),在有关预制点的操作时,数据码2表示预制点值6.ETX始终为AFH7.校验码(XORsumofBytes2-6)=字节2^字节3^字节4^字节5^字节6指令码1和指令码2的设置:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Data10相机开自动浏览器开相机开/关光圈关光圈开聚焦近聚焦远Data20变倍远变倍近下上左右0(forpan/tilt)常用命令列表:序号命令字功能10x000x08上20x000x10下30x000x04左40x000x02右50x000x20变倍短60x000x40变倍长70x020x00聚焦近80x010x00聚焦远90x080x00光圈小100x040x00光圈大110x000x96自动巡航120x000x99关闭自动巡航130x000x07转至预置点140x000x03设置预置点150x000x05删除预置点160x000x00停止P协议特殊命令控制表:CommandDatabyte1Databyte2Databyte3Databyte4SetPresetXX0003常用0001toFFClearPresetXX0005常用0001toFFGoToPresetXX0007常用0001toFFFlip(rotate180o)0007常用0021ZeroPanPosition0007常用0022SetAuxXX0009常用0001to08ClearAuxXX000B常用0001to08RemoteReset000F不常用0000ZoneStart0011不常用0001to08ZoneEnd0013不常用0001to08Writechartoscreen0015不常用0to280to7FClearScreen0017不常用0000AlarmAck0019不常用0001to08ZoneScanOn001B不常用0000ZoneScanOff001D不常用0000PatternStart001F不常用0000PatternStop0021不常用0000RunPattern0023不常用0000ZoomLensSpeed0025不常用0000to03FocusLensSpeed0027不常用0000to03以地址码0x01为例:{0xa0,0x01,0x00,0x08,0x00,0x30,0xaf,0x39,}//上{0xa0,0x01,0x00,0x10,0x00,0x30,0xaf,0x21,}//下{0xa0,0x01,0x00,0x04,0x10,0x00,0xaf,0x15,}//左{0xa0,0x01,0x00,0x02,0x10,0x00,0xaf,0x13,}//右{0xa0,0x01,0x00,0x40,0x00,0x00,0xaf,0x41,}//变倍短{0xa0,0x01,0x00,0x20,0x00,0x00,0xaf,0x21,}//变倍长{0xa0,0x01,0x02,0x00,0x00,0x00,0xaf,0x03,}//聚焦近{0xa0,0x01,0x01,0x00,0x00,0x00,0xaf,0x00,}//聚焦远{0xa0,0x01,0x08,0x00,0x00,0x00,0xaf,0x09,}//光圈小{0xa0,0x01,0x04,0x00,0x00,0x00,0xaf,0x05,}//光圈大无命令字发送//灯光关无命令字发送//灯光开{0xa0,0x01,0x00,0x96,0x00,0x20,0xaf,0xb7,}//自动巡航{0xa0,0x01,0x00,0x99,0x00,0x20,0xaf,0xb8,}//关闭自动巡航{0xa0,0x01,0x00,0x07,0x00,0x01,0xaf,0x07,}//转至预置点001{0xa0,0x01,0x00,0x03,0x00,0x01,0xaf,0x03,}//设置预置点001{0xa0,0x01,0x00,0x05,0x00,0x01,0xaf,0x01,}//删除预置