PELCO产品协议解析
PELCO (派尔高)的监控器材在我国有很广泛的应用。 PELCO有自己的传输控制协议,当它的产品配套使用时,可以互相兼容。但在某些情况下,由
于工程的需要,要求用其它设备(比如电脑)来控制PELCO的矩阵或镜头,这就要求充分了解PELCO的传输协议。
本文为你详细解析PELCO常用的两种协议:PELCO-D协议和PELCO-P协议。
– PELCO-D协议
PELCO-D协议一般用于矩阵和其它设备之间的通信。它的格式如下:
Byte 1 |
Byte 2 |
Byte 3 |
Byte 4 |
Byte 5 |
Byte 6 |
Byte 7 |
同步字 |
地址码 |
命令字1 |
命令字2 |
数据1 |
数据2 |
校验码 |
所有的值都是用的 16进制表示。
同步字通常都是 $FF。
地址码是指与矩阵通信的那台设备的逻辑地址,可以在设备中设置。
命令字 1和命令字2设置如下:
|
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
命令字1 |
Sence码 |
为0 |
为0 |
自动/手动扫描 |
摄像机打开/关闭 |
光圈关闭 |
光圈打开 |
焦距拉近 |
命令字2 |
焦距拉远 |
视角变宽 |
视角变窄 |
上 |
下 |
左 |
右 |
为0 |
Sence码与Bit4和Bit3有关。在Bit4和Bit3为1的情况下,如果Sence码为1,则命令就是自动扫描和和摄像机打开;如果Sence码为0,则命令就是手
动扫描和摄像机关闭。当然如果Bit4或Bit3为0的话那命令就无效了。
数据1表示镜头左右平移的速度,数值从$00(停止)到$3F(高速),另外还有一个值是$FF,表示最高速。
数据2表示镜头上下移动的速度,数值从$00(停止)到$3F(最高速)。
校验码是指Byte2到Byte6这5个数的和(若超过255则除以256然后取余数)。
– PELCO-P协议
PELCO-P协议一般采用RS-485传输,波特率为4800,1位起始位和停止位,8位数据位,无校验。其格式如下:
Byte |
Value |
Function |
1 |
$A0 |
起始码 |
2 |
$00 to $1F |
地址码 |
3 |
Data byte 1 |
数据位1 |
4 |
Data byte 2 |
数据位2 |
5 |
Data byte 3 |
数据位3 |
6 |
Data byte 4 |
数据位4 |
7 |
$AF |
停止码 |
8 |
$00-$FF |
校验码 |
起始码是固定值$A0。
地址码是设备的逻辑地址,可由接收设备上的DIP开关来设定。
数据位1到4的意义如下:
|
Bit number |
|||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
数据位1 |
0 |
摄像机打开 |
自动扫描 |
摄像机打开/关闭 |
光圈关闭 |
光圈打开 |
焦距拉近 |
焦距拉远 |
数据位2 |
0 |
视角变宽 |
视角变窄 |
下 |
上 |
左 |
右 |
0 |
数据位3 |
|
平移速度 $00(停止)到 $3F(高速)以及$40(最高速) |
||||||
数据位4 |
|
上下移动速度$00(停止)到 $3F(最高速) |
停止码是固定值 $AF 。
校验码是 Byte2 到 Byte6 这 5 个数的异或值(XOR)。
地址码是从 0编起的,所以地址码$00表示第一台设备。
PELCO-D和PELCO-P协议另有一些特殊命令,可对设备进行一些高级控制,但这些应用并不常见,限于篇幅,这里不多作介绍,若需要可从直接下载英文资料。