聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 工程实践与科技创新[4A] 常规项目RS422 485主从通信协议(2011年3月15日)

工程实践与科技创新[4A] 常规项目RS422 485主从通信协议(2011年3月15日)

时间:2016-05-02 22:41:34    下载该word文档

工程实践与科技创新[4A] RS485主从通信协议

(V1.1 发布于2010315)

1. 修改记录

1修改记录

2. 信息帧的基本结构

通信主机和从机间信息传输,以信息帧(数据包)方式进行,信息帧的组成结构应符合表2

信息帧在传输时采用全ASCII字符方式,使其具有较好的可显性和易读性。

由通信主机发往从机的信息帧,称为命令帧;由通信从机发往主机的信息帧,称为响应帧。由通信主机发往某特定从机的命令帧,称为单播命令帧;由通信主机发往所有从机的命令帧,称为广播命令帧。响应帧是对确定的单播命令帧的回复,两者有一一对应关系;从机收到广播命令帧,不回复任何响应帧。

2信息帧的基本结构

3. 起始标识和结束标识(SOIEOI)

起始标识采用字符’~’,相应ASCII代码为0x7E

结束标识采用字符’\r’ (回车符),相应ASCII代码为0x 0D

4. 通信协议版本号(VER)

V1.0对应为0x10

5. 目的地址(ADR)

在本应用的通信系统中,无论通信主机还是任何一个确定的从机,都具有确定的唯一性标识,称通信机的地址。以下说明地址编码的分配情况。

0:分配给通信主机的地址码。

1~2540x01~0xFE):分配给各通信从机的地址码,从ADR的地址容量角度看,本应用中最多可同时容纳254个通信从机。

2550xFF):保留,拟作通信主机向所有通信从机传输广播信息时的地址标识。

6. 命令码1、命令码2 (CMD1CMD2)

在命令帧中,命令码CMD1CMD2组合表示一条命令代码。CMD1是主码,表示一类命令,一般同类命令的CMD1相同;CMD2是辅码,与主码配合,构成命令的唯一性标识。CMD1CMD2的编码方式,由协议使用者根据业务需要自行确定。

7. 响应标识码、返回码(RSPDRTN)

在响应帧中,通过响应标识码RSPD指示所对应的命令帧情况,RSPD取所对应命令帧的CMD1的值。通信主机收到该响应帧时,可通过阅读RSPD段,检验是否是与所发命令帧相对应的响应,减少错误响应对通信系统正常工作的影响。

当目的接收机(某通信从机)正常接收命令帧(基本结构要素完整,即SOIEOI存在,长度符合要求),并正确解析命令后,应按要求回复响应帧,且在RTN段中指示“正常回复”。

通信从机应按以下顺序,依次对命令帧进行解析:

(1) 检查VER段;

(2) 检验CHKSUM

(3) 判断CMD1CMD2的合法性和有效性;

(4) 检验LENGTHINFO段实际长度是否相符;

(5) 判断INFO段中各参数的合法性和有效性。

若命令帧解析失败,通信从机通过响应帧的RTN段编码(见表3),向主机指示按以上顺序检验到的第1种错误。

3返回码

8. 参数段长度LENGTH

LENGTH0~25500H~0FFH

9. CHKSUM的计算:

SOIEOICHKSUM外,其他字节累加求模256和,取结果的补码(原码取反加1)。换言之,除SOIEOI外,其他字节(包括CHKSUM)的原码的模256和应为0

10. 参数段INFO

INFO段格式及编码,由协议使用者根据业务需要自行定义。信息帧可以没有参数段(相应LENGTH0)。

11. 通信时序特性

异步通信字节格式:9600 Baud8位数据,无奇偶校验位,1位停止位;

Tbb:帧内字节间隔时间;

Tcr:命令帧-响应帧间隔时间;

Trc:响应帧-下一命令帧间隔时间。

4通信时序特性

注:Tbb>TbbMAX,则通信接收方可判定帧传输中止;若TcrcrMINTrcrcMIN ,则存在通信接收方无法正确接收的风险;若Tcr>TcrMAX,则通信主机可判定目的从机不在线。

1 通信时序特性

12. 举例

假定命令帧中:

VER = 0x10; //版本号V1.0

ADR = 0x01; //目的地址指向编号为1的通信从机

CMD1 = 0x10;

CMD2 = 0x21; //假定0x10 0x21组合代表某合法命令

LENGTH = 0x02; //与该命令关联的有2个字节的参数

INFO = 0x00;

0x02; //参数值

CHKSUM = 0xBA; //以上模256和为0

实际发送的是ASCII字符序列:~10011021020002BA\r ,其中\r表示回车符。

对该命令帧,1号从机回复以下响应帧:

VER = 0x10; //版本号V1.0

ADR = 0x00; //目的地址指向通信主机

RSPD = 0x10; //与命令帧的CMD1取值同

RTN = 0x00; //正确接收并解析,命令各部分均合法有效

LENGTH = 0x03; //响应帧含3个字节的参数

INFO = 0x01;

0x02

0x03; //参数值

CHKSUM = 0xD7; //以上模256和为0

实际发送的是ASCII字符序列:~1000100003010203D7\r ,其中\r表示回车符。

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服