厦门科昊自动化有限公司内蒙古分

智能制造网免费3

收藏

如何解读科昊无纸记录仪通讯协议

时间:2014-07-01      阅读:326

科昊无纸记录仪通讯协议

 

无纸记录仪通讯协议适用于存在16个主机节点和64个记录仪节点的通信情况。

一、 通讯格式:

在以下的通信协议中,通信格式将参照如下的格式进行。  

发送端(PC机?记录仪)

CommandSourceDestL1L3L2L4Data1CRC1EndCmd

LengthData2……

DatanDataCRC2CRC

 

 

无纸记录仪通讯协议应答端(记录仪? PC机)

Status

SourceDestL1L3L2L4Data1CRC1EndCmd

LengthData2……

DatanDataCRC2CRC

 

 

参数划分表 参数 参数标志(高四位) 参数低四位的取值范围 备注

Command 1010(0xa) 0000~1101 主叫通信开始 Command 1101(0xd) xxxx 主叫通信开始 Status 1100(0xc) 0000~1111 应答通信开始 Source 0xxx(0x0~0x7) xxxx 发送端地址,参见地址划分表 Dest 0xxx(0x0~0x7) xxxx 接收端地址,参见地址划分表 Length1 1011(0xb) xxxx 数据块正文的长度,分2个字节 Length2 1011(0xb) xxxx 数据块正文的长度

Data 1000(0x8) xxxx 数据块正文 CRC 1001(0x9) xxxx CRC数据 EndCom 1010(0xa) 1111

通信命令结束 Status 1100(0xc) 0000~1111 应答通信开始  1110(0xe) xxxx 保留  

1111(0xf)

xxxx

保留

地址划分表

节点 节点地址 备注 广播节点 0000,0000 所有在线的节点都要接收 主机节点 0001,xxxx 可以存在16台主机节点 记录仪节点 01xx,xxxx 可以存在64台记录仪节点  

无纸记录仪通讯协议参数解释:

1、Command为一个字节,以0b1010,xxxx或0b1101,xxxx表示。高四位1010或0b1101为命令标志;低四位xxxx(0000~1111)表示具体的命令。 2、EndCom以一个字节0b1010,1111表示。 3、Status为 一个字节,以0b1011,xxxx表示。高四位1011为状态标志;低四位xxxx 为具体的状态信息,其中0000表示操作成功,0001~1111为常见的通信出错信息。具体的出错代码请参见错误代码表,并将在日后的程序开发中继续完善。

4、Source为源地址,即通信数据发送者的地址,为一个字节。具体信息见地址划分表。 5、Dest为目的地址,即通信数据接收者的地址,为一个字节。具体信息见地址划块表。 6、Length(L1、L2、L3、L4):数据包正文的长度,拆分成四个字节,低字节在前,高字节在后,以0b1011,xxxx表示。高四位1011为长度标志;低四位xxxx(0000~1111)表示后面紧跟的数据长度。例如当数据包正文长度为512字节时,Length=0x100,则L1=0xB0,L2=0xB0,L3=0xB1,L4=0xB0。如果Status不为0xC0,即状态出错,则Length = 0。

7、Data(Data1、Data2 、…Datan):以字节0b1000,xxxx表示。高四位1000为数据信息标志;低四位xxxx(0000~1110)表示具体的数据。在此情况下,本协议要求将一个八位的数据拆分成两个八位的数据进行传输。例如当有发送数据为0x34f8时,则实际发送的数据流为Data(m)=0xC8,Data(m+1)=0xCF,Data(m+2)=0xC4,Data(m+3)=0xC3。因此数据的长度肯定为偶数。

8、CRC以字节0b1001,xxxx表示,共两个字节。本协议采用八位的异或和作为CRC校验,发送时,需要拆分成两个部分进行传输,具体见Data的拆分方法。

http://www.25ec.com/news/2014-6-29/404.html

上一篇:新版GSP认证公司对库房温湿度系统系统方案! 下一篇:真彩人机界面分体式无纸记录仪的研究
提示

请选择您要拨打的电话: