- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同洲电子可变信息标志通信协议V1.4.2
同洲电子可变信息标志通信协议V1.4.2
2005-10-22
目录
1. 文档历史发放及记录 2
2. 文档简要功能及适用范围 3
3. 目录 3
4. 简介 3
4.1. 文档目的 3
4.2. 本文格式规范 3
4.3. 关键词定义 3
4.4. 概述 3
4.5. 参考资料 3
5. 可变信息标志通信协议 3
5.1. 使用范围 3
5.2. 引用标准 3
5.3. 协议说明 3
5.3.1. 字节格式 4
5.3.2. 帧格式 4
5.3.3. 通讯参数 6
5.4. 指令详解 7
5.4.1. 设备状态检测命令 7
5.4.2. 设备控制相关命令 8
5.4.3. 显示内容发布命令 12
5.4.4. 系统维护相关命令 14
6. 可变信息标志播放列表 26
6.1. 概述 26
6.2. 格式说明(注意大小写) 26
表头 26
首先定义播放列表的动作条数 26
接着定义每条动作的具体内容 26
6.3. 播放文件示例 28
7. 可变限速标志的通信协议 29
文档历史发放及记录
文档简要功能及适用范围
本协议为主-从结构的半双工通信方式。监控中心计算机,手持单元或其它数据终端为主站,可变限速标志或可变信息标志为从站。每个可变信息标志均有各自的地址编码。
目录
简介
文档目的
本文格式规范
关键词定义
概述
参考资料
可变信息标志通信协议
使用范围
引用标准
协议说明
设备间通信均由主站发出的信息帧来控制,每帧由帧起始符、从站地址域,主站地址域,控制码(即命令代码)、数据域、校验码及帧结束符等7 个部分组成。每部分由若干字节组成。
字节格式
0 D0 D1 D2 D3 D4 D5 D6 D7 1
图7 字节传输序列
每字节含8 位二进制码,传输时加上一个起始位(0)和一个结束位(1),共10 位。其传输序列如图7。D0 是字节的最低有效位,D7 是字节的最高有效位。先传低
位,后传高位。
帧格式
帧是传送信息的基本单元。帧格式如图8 所示。
说 明 代 码 帧起始符 02H 目的地址域 A0 源地址域 B0 控制码 C 数据域 DATA 校验码 CS 结束符 03H
图8 帧格式
概论
帧起始符域
02H: 标识一帧信息的开始,其值为02H。发送一帧时,若帧头与帧尾之间有任意字节等于 STX,ETX 或 ESC,则需转义:
定义: STX - 0x02(帧头)
ETX - 0x03(帧尾)
ESC - 0x1B (转义符)
STX 转成 ESC 和 0xE7
ETX 转成 ESC 和 0xE8
ESC 转成 ESC 和 0x00
目的地址域
A0:地址域由2个字节构成可以为监控中心通讯设备、可变限速标志,可变信息标志,设备号等。具体使用可由用户自行决定。范围 01 - 99
注:指令的目的地址指的是设备的地址。
返回数据中的目的地址指的是上位机的地址,也就是指令中的源地址。
源地址域
A1: 地址域由2个字节构成可以为监控中心通讯设备、可变限速标志,可变信息标志,设备号等。具体使用可由用户自行决定。范围 01 - 99。
注:指令的源地址指的是上位机的地址。
返回数据中的源地址指的是设备的地址,也就是指令中的目的地址。
指令代码域
C:2个字节,范围 “00”-“99”。
数据域
DATA:数据域包括数据标识和数据、密码等,其结构随控制码的功能而改变。
校验码域
CS:2个字节,从帧起始符后开始到校验码之前的所有字节的CRC的校验值。
CRC校验值的计算,按如下实现:
unsigned int gen_crc(BYTE far *frame, short frame_len)
{
BYTE c, treat, bcrc;
unsigned int wcrc = 0;
short i, j;
for (i = 0; i frame_len; i++)
{
c = frame[i];
for (j = 0; j 8; j++)
{
treat = c 0x80;
c = 1;
bcrc = (wcrc 8) 0x80;
wcrc = 1;
if (treat !=
文档评论(0)