PELCO(派爾高)協議解析及下載
沈雪瑜
在IBMS接口開發
中,我們需要用到一些常用的協議,而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協議另有一些特殊命令,可對設備進行一些高級控制,但這些應用並不常見,限於篇幅,這裏不多作介紹,若需要可從直接下載英
文資料。