|
|||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一般控制协议都由硬件或软件商编制在程序里面,我们只需要通过相关的控制设备来进行操作。但是作为一个从事监控行业的技术人员,往往会遇到除了电脑和协议转换器以外根本没有任何控制设备的情况,此时,协议原代码就成了救命的稻草了。 PELCO-D: 数据格式:1位起始位、8位数据、1位停止位,无效验位。波特率:2400B/S 命令格式:
1.该协议中所有数值都为十六进制数 2.同步字节始终为FFH 3.地址码为摄像机的逻辑地址号,地址范围:00H–FFH 4.指令码表示不同的动作 5.数据码1、2分别表示水平、垂直方向速度(00-3FH),FFH表示“turbo”速度 6.校验码 = MOD[(字节2 + 字节3 + 字节4 + 字节5 + 字节6)/100H] 以地址码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: 数据格式:1位起始位、8位数据、1位停止位,无效验位。波特率:9600B/S 命令格式:
1.该协议中所有数值都为十六进制数 2.STX始终为A0H 3.地址码为摄像机的逻辑地址号,地址范围:00H–1FH 4.指令码表示不同的动作 5.数据码1、2分别表示水平、垂直方向速度(00-3FH),在有关预制点的操作时,数据码2表示预制点值 6.ETX始终为AFH 7.校验码(XOR sum of Bytes 2-6) = 字节2 ^ 字节3 ^ 字节4 ^ 字节5 ^ 字节6 以地址码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,0x, 01,0x00,0x07,0x00,0x01,0xaf,0x07,}//转至预置点001 {0xa0,0x01,0x00,0x03,0x00,0x01,0xaf,0x03,}//设置预置点001 {0xa0,0x01,0x00,0x05,0x00,0x01,0xaf,0x01,}//删除预置点001 以上对应的停命令均是(上下左右、变倍、聚焦、光圈均有停命令): {0xa0,0x01,0x00,0x00,0x00,0x00,0xaf,0x01,} *********************************** 注:地址码,pelco-d缺省是1 pelco-p缺省是0 http://www.af.shejis.com/new_rj/html/7341.shtml PELCO-D云台测试程序 **************************************************** PELCO(派尔高)协议解析及下载
在IBMS接口开发中,我们需要用到一些常用的协议,而PELCO (派尔高)的监控器材在我国有很广泛的应用。 PELCO有自己的传输控制协议,当它的产品配套使用时,可以互相兼容。但在某些情况下,由于工程的需要,要求用其它设备(比如电脑)来控制PELCO的矩阵或镜头,这就要求充分了解PELCO的传输协议。
所有的值都是用的 16进制表示。
Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和和摄像机打开;如果Sence码为0,则命令就是手动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。
起始码是固定值$A0。
停止码是固定值 $AF 。 |