详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc

上传人:wj 文档编号:8432171 上传时间:2023-05-11 格式:DOC 页数:10 大小:131KB
下载 相关 举报
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第1页
第1页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第2页
第2页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第3页
第3页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第4页
第4页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第5页
第5页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第6页
第6页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第7页
第7页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第8页
第8页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第9页
第9页 / 共10页
详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc

《详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc(10页珍藏版)》请在冰点文库上搜索。

详解PELCO-PD协议(软件编程篇)Word文档下载推荐.doc

这里还注意一个地址是0开始,这也是为什么我们常说P协议地址主控要减1。

有的技术人写的软件老老实实的按照PELCO-P文档的软件来定义,应当自己灵活一下,把地址码改到从1开始不就行了吗?

这样就不会在将来客户使用过程要加1或减1这么麻烦。

上表第3个字-第6个字节是:

看下表:

Bitnumber

7

6

5

4

3

2

1

CameraOn

AutoscanOn

Cameraon/off

IrisClose

IrisOpen

FocusNear

FocusFar

ZoomWide

ZoomTele

TiltDown

TiltUp

PanLeft

PanRight

0(forpan/tilt)

PanSpeed$00to$3Fand$40forTurbo

TiltSpeed$00to$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位:

云台向下;

云台向上;

云台向左;

云台向右;

0:

可能是无意义。

这里没有明显云台自动命令,所以最早PELCO老大是不做云台自动转的命令在协议里。

之后国内厂家为了自动,就用调用多少号预置位命令去实现自动协议。

各个厂家的调用预置位或者是设置预置位号命令不同,这就是造成了今天各个厂家的云台解码器设置方法不一样。

这里很令工程商和菜鸟恼火!

有时候工程商操作的时候发现云台怎么是左右反了的?

这就是软件不匹配造成。

A厂家技术人喜欢这样定义右命令,B厂家技术人喜欢那样定义。

这就是协议之间的混乱,不严格按照PELCO老大的协议命令。

自己定义的命令使用者调试异常只能找厂家解决。

讲上面的第5个字节:

第5个字节是用在变速球机才有用的命令。

PELCO老大把水平速度定义成00-63个级,一共64级够用了。

第6个字节是垂直速度,和水平速度一样也是64个速度级。

这里讲速度级,问各位使用者,控制高速球的时候,您能感觉出高速球在以64个速度在不同变化吗?

不能!

控制高速球转动无非是用控制键盘的摇杆或者是点鼠标,点鼠标那个就不说了,麻烦的要死!

按遥控器?

海康的导航键要按的频率快,云台才转的快一些,但里面也只有几个速度级而已。

讲控制键盘控制高速球,大家知道,控制键盘的摇杆3维的里面是3个电位器,左右1个,上下1个,旋转1个控制变倍。

控制键盘摇杆内电位器由于精度问题,在键盘软件里一般是做6-12个速度级来控制高速球。

高速球软件里也要做6-12个速度表。

这样我感觉是最理想,当键盘摇杆出现偏移量,键盘发码给高速球。

可想一下,键盘摇杆向右45°

就到头了。

说这么多,64个速度级是没有用的,但是在高速球内,开发者最好都做进去,因为你不知键盘发过来的是哪个速度。

也可以用判断法,把64分成6-12个范围来接收控制。

我强烈建议使用者,购买监控设备,控制端和前端最好使用1个厂家的设备。

这样能省很多事情。

再回到第一个表看P协议的第7个字节是AFH,这个是结束字节标志。

第8个字节是校验字节。

最后再讲校验。

下面讲PELCO协议特殊命令:

看表格:

常用的命令我用红色表示。

 

第3字节 

第4字节 

第5字节 

第6字节

Command

Databyte1

Databyte2

Databyte3

SetPresetXX

00

03 

常用

01toFF

ClearPresetXX

05 

GoToPresetXX

07 

Flip(rotate180o)

21

ZeroPanPosition

22

SetAuxXX

09 

01to08

ClearAuxXX

0B 

常用

RemoteReset

0F 

不常用

ZoneStart

11 

ZoneEnd

13 

Writechartoscreen

15 

0to28

0to7F

ClearScreen

17 

AlarmAck

19 

ZoneScanOn

1B 

ZoneScanOff

1D 

PatternStart

1F 

PatternStop

21 

RunPattern

23 

ZoomLensSpeed

25 

00to03

FocusLensSpeed

27 

上表主要用到的是预置位设置与调用和清除,在高速球里还有flip自动翻转,还有控制室外解码器的雨刷开关AUX命令打开与关闭。

第4字节设置预置位是03H,调用预置位是07H,清除预置位是05H。

打开雨刷继电器是09H,关闭雨刷是0BH。

上面第6字节是预置位的设置和调用范围可以是01-255个。

自己也可以定义1024个或者64个。

后面有范围的数字都可以自己定义。

但是第4字节不要自己定义,否则会乱的。

特殊命令,存在第4个字节里:

PresetNumber

Function

99

BeginAuto-scan 

启动云台自动扫描

98

BeginFrameScan 

摄像机帧扫描不常用

97

BeginRandomScan 

96

StopScan 

停止所有功能

95

EnterMenuMode 

打开摄像机和球机菜单

94

RemoteReset 

云台或摄像机复位

93

SetRightLimitStop设置右限位

92

SetLeftLimitStop 

设置左限位

34

Home(returnto0panposition) 

归零自检

33

Flip 

自动翻转

这些命令可以自己定义,但在解码器球机说明书里要有详细的说明,否则操作者也不会用的。

有的控制设备只有1-64号预置位就无法实现上述命令,所有有些厂家做在64范围内就是这个原因,一般是做兼容。

三、举例说明PELCO-P协议各个命令字节帧

1、1帧也叫1串命令,指主控设备发出1串命令叫1帧,包含8个字节。

波特率是1200-9600bit/s

例子如下:

PEOCO-P 

协议

地址1号:

雨刷命令

AUX1-ON:

A00100090001AF06 

OFF:

A001000B0001AF04

AUX2-ON:

A00100090002AF05 

A001000B0002AF07

AUX3-ON:

A00100090003AF04 

A001000B0003AF06

AUX4-ON:

A00100090004AF03 

OFF:

A001000B0004AF01

11号地址:

地址是0B

AUX1-ON:

A00B00090001AF0C 

A00B000B0001AF0E

摄像机命令,地址1号:

close:

A00108000000AF06 

停止:

A00100000000AF0E

open:

A00104000000AF0A 

A00100000000AF0E

near:

A00102000000AF0C 

far:

A00101000000AF0F 

停止:

tele:

A00100200000AF2E 

wide:

A00100400000AF4E 

up:

A00100080001AF07 

down:

A00100100001AF1F 

left:

A00100040100AF0B 

right:

A00100020100AF0D 

preset#1:

A00100030001AF0C 

设1号预置位

call#1:

A00100070001AF08 

调1号预置位

menu 

:

A0010003005FAF52 

打开菜单

tour:

预置位巡航,调76号预置位,字节定义的76:

A0010007004CAF45 

A00100070060AF69

scan:

两点扫描或者水平扫描,字节定义99号预置位,16进制是63:

A00100070063AF6A 

补充:

关于校验位:

下面这句是PELCO-P协议英文资料最后一句话。

P协议校验位是字节2-6的异或,应当是22而不是17。

在我上面的例子里,校验位是从第1字节到第7字节的异或,如:

A0010003005FAF52

A0 

0100030020AF17(thelastbyteistheXORsumofbytes2through6)

四、PELCO-D协议内容介绍:

D协议字节数:

7个 

Word1

Word2

Word3

Word4

Word5

Word6

Word7

SynchByte

Command1

Command2

Data1

Data2

1字节:

头字节 

永远是FF 

2字节:

地址字节,01-256,从1开始;

3、4字节:

云台和摄像机控制字节,5、6字节:

云台水平和垂直速度级字节;

7字节:

校验字节,是第2到第6字节的或OR。

速度级D协议是从00-63个级。

云台和摄像机字节控制位命令如下表:

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

Command1 

第3字节

Sense

Reserved

Auto/ManualScan

CameraOn/Off

Command2 

第4字节

Down

Up

Left

Right

Always0

举例:

关闭摄像机光圈命令,地址01,D协议命令是:

FF010400000005;

看上表,光圈关闭在第3字节的第2位,则为00000100二进制,16进制则是04H。

第4字节的控制命令如上。

关于云台自动功能如何实现,云台的自动功能是做到解码板电路,有多种硬件电路方法,也有软件检测限位开关或者光耦中断来控制左和右自动扫描。

但上面协议表是没有自动命令,在P协议里AUTO 

PAN命令是CALL99号预置位。

在D协议里是没有定义,编程者可以定义CALL#NO来实现。

D协议特殊命令控制表:

第3字节 

第4字节 

第6字节

SetPreset

03

00常用

01to20

ClearPreset

05

GoToPreset

07

Flip(180°

about)

GoToZeroPan

SetAuxiliary

09

ClearAuxiliary

0B

0F

SetZoneStart

11

00不常用

SetZoneEnd

13

WriteChar.ToScreen

15

XPosition00to28不常用

ASCIIValue

17

00不常用

AlarmAcknowledge

19

AlarmNo.

1B

1D

SetPatternStart

1F

SetPatternStop

23

SetZoomSpeed

25

SetFocusSpeed

27

上表第6字节的数值范围编程者可以随便定义范围。

D协议,地址1,命令串如下:

FF010400000005 

FF010000000001

FF010200000003 

FF010100000002 

FF010080000081 

FF010020000021 

FF010040000041 

FF010008002029 

FF010010002031 

FF010004200025 

FF010002200023 

FF010003000105

call#1 

FF010007000109

FF010003005F63

FF010007004C54 

FF010007006068

FF01000700636B 

pgm:

FF010025000026自定义的

建议编程者在做控制串口软件时,没帧命令输出时间间隔最好定义200ms/帧。

以上P\D两种协议介绍完毕。

下面介绍一下异类协议,这些协议很少见的。

设计的一些别的因素,不全部贴出。

把常用的协议讲完,此贴最后再讲各种协议之间的软件编程。

国内一些厂家的协议都比较简单,就不谈了!

下面谈谈台湾利凌、深圳三立、成都科力、松下这四家的通信协议,举1、2个命令来解释。

1、利凌高速球协议

地址1命令:

变倍缩小:

0120 

FF,变倍停止:

0100FF

变倍变大:

0110 

云台向右:

010183(80-87为速度级) 

调1号预置位:

410000

调2号预置位:

410100

调3号预置位:

410200 

(地址要加40H)

设置2号预置位:

820364

以上为利凌高速球一些命令,其协议为3个字节,为我见过的协议命令最简单的,固定波特率9600bit/s。

第1字节:

地址,第2字节:

动作命令,第3字节:

也是动作命令。

停止命令统一为:

地址00FF

利凌协议的特殊点在预置位设置和调用这个地址的区别,另外一个就是发码的连续性。

如摄像机控制和云台控制地址都是和主控一一对应,而调用预置位的命令,地址要加40H,在软件里用1条add 

a,#40h;

a为变量,即可。

而在设置预置位时,地址变量要加80H才可以。

另外一个利凌高速球接收命令是为连续接收,也就是说主控端要连续发命令过来,高速球才连续转。

通过测试,每帧命令间隔30ms最理想。

此时间可用定时器中断计算出来。

2、深圳三立视讯,其矩阵协议型号有450、550、650.其中450和550兼容,650增加了一些特殊命令。

三立视讯据说是一家中日合资企业,其协议为小日本定义,字节比较多,协议之啰嗦。

2004年经过研究,已经破解。

现在列几条命令出来讲讲。

其协议命令为ASCII,如云台水平向右命令用STXADXX;

GCF:

202136C:

2022XY0ETX来表示,转换成16进制命令即得是:

02414430313B4743463A323032313336433a3230323230303003,这里一共26个字节。

02是头字节,4144是标志字节,3031表示01地址,第17个字节是43表示右命令。

假如做三立协议和P\D协议之间的转换,这里讲3031表示01地址,用软件怎么转换,请看:

subba,#30h;

先把

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2