发表于:2004-08-09 18:06:00
楼主
闸控系统通讯协议
主机发送命令:
字节(byte) 代码
0 DB
1 90
2 DB
3 90
4 地址码
5 命令字
6 闸门开度(低8位)
7 闸门开度(高8位)
8 CRC(高8位)
9 CRC(低8位
命令字义:
01 ―――闸门操作
02 ―――读取数据
地址:01~255
从机应答:
字节(byte) 代码
0 DB
1 90
2 DB
3 90
4 地址码
5 命令字
6 闸门开度(低8位)
7 闸门开度(高8位)
8 CRC(高8位)
9 CRC(低8位
命令字义:
01 ―――闸门操作
02 ―――读取数据
地址:01~255
从机发送数据命令:
字节(byte) 代码
0 DB
1 90
2 DB
3 90
4 地址码
5 上游水位(低位)
6 (高位)
7 下游水位(低位)
8
9 闸门开度(低位)
10
11 电池电量(低位)
12 故障状态
13 开关量状态
14 CRC(高位)
15 CRC(低位)
电池电量:
4 ---100% 3---75% 2----50% 1---25% 0----0
故障状态 (0—正常,1-故障)
bit0---电机过热
bit1---闸位计及水位计故障
bit2---越限
bit3---闸门下滑故障
bit4---空
bit5---空
bit6---空
bit7---空
开关量状态定义(0――开,1――合)
bit0 --- IN0
bit1 --- IN1
bit2 --- IN2
bit3 --- IN3
bit4 --- OUT4
bit5 --- OUT 5
bit6 --- OUT 6
bit7 --- OUT 7
地址:01~255
CRC 校验采用 CRC-ITU 标准 生成多项式:1021(16进制)
命令字,闸门开度,作为内部属性,可以吗?
通信机制:主机发命令,当命令字为01时,返回字节(byte) 代码
0 DB
1 90
2 DB
3 90
4 地址码
5 命令字
6 闸门开度(低8位)
7 闸门开度(高8位)
8 CRC(高8位)
9 CRC(低8位
当命令字为:02时,返回:字节(byte) 代码
0 DB
1 90
2 DB
3 90
4 地址码
5 上游水位(低位)
6 (高位)
7 下游水位(低位)
8
9 闸门开度(低位)
10
11 电池电量(低位)
12 故障状态
13 开关量状态
14 CRC(高位)
15 CRC(低位)
请高手告诉小弟,这个驱动的,大体构架!不胜感激!谢谢!