MODBUS协议中文版
主机可由用户设置的一个预定时间间隔,确定是否放弃传送信息。该间隔应有足够的时间来满足从机的正常响应。若主机检测到传输错误时,则传输的信息无效。从机不再向主机返回响应信息。此时,主机会产生一个超时信息,并允许主机程序处理该错误信号。注意:主机向实际并未存在的从机发送信息时也会引起超时出错信号。
在MAP或Modbus+等其它网骆上使用时,采用比Modbus更高一级的数据帧校验方法。在这些网络中,不再运用Modbus中的LRC或CRC校验方法。当出现发送错误时,网络中的通讯协议通知发送设备有错误出现,并允许根据设置的情况,重试或放弃信息发送。若信息已发送,但从机设备未作响应,则主机通过程序检查后发出一个超时错误。 奇偶校验
用户可设置奇偶校验或无校验,以此决定每个字符发送时的奇偶校验位的状态。何论是奇或偶校验,它均会计算每个字符数据中值为“1”的位数,ASCII方式为位数据;RTU方式为8位数据。并根据“1”的位数值(奇数或偶数)来设定为“0”或“1”
如一个RTU数据帧中8位数据位为: 1100 0101
在该帧中,值为“1”的总位数为4,即偶数。如采用奇校验方式时,则 “1”发送信息时,计算奇偶位,并加到数据帧中,接收设备统计位值为“1”的数量,若与该设备要求的不一致时产在Modbus总线上的所有设备必须采用相同的奇偶校验方式。
注意:奇偶校验只能检测到数据帧在传输过程中丢失奇数“位”时才产生的错误。如采用奇数校验方式时,一个包含个“1”位的数据丢失2个“1”位时,其结果仍然是奇数。若无奇偶校验方式时,传输中不作实止位。
LRC校验
ASCII方式时,数据中包含错误校验码,采用LRC校验方法时,LRC校验信息以束。它忽略了单个字符数据的奇偶校验的方法。
LRC校验码为1个字节,8位二进制值,由发送设备计算LRC值。接收设备在接收信息时计的LRC的实际值进行比较,若二者不一致,亦产生一个错误。
在梯形图中,CKSM函数可计算数据信息中LRC的校验。用于主计算机时请查LRC的校验的过程。
错误校验方法
CRC校验
RTU方式时,采用CRC方法计算错误校验码,CRC校验传送的全部数据。它忽略CRC码为2个字节,16位的二进制值。由发送设备计算CRC值,并把它附到信息中去。接收设备在接收信息过程中再次计算CRC值并与CRC的实际值进行比较,若二者不一致,亦产生一个错误,校验为“1”,然后把信息中的相邻2个8位字节数据放到当前寄存器中处理,只有每个字符停止位和校验位不参与CRC计算。
CRC校验时,每个8位数据与该寄存器的内容进行异或运算,然后向最低有效位(MSB)后,再对LSB检查,若LSB=1,则寄存器与预置的固定值异或,若LSB=0,不作重复上述处理过程,直至移位8次,最后一次(第8次)移位后,下一个8位字节数据与述过程。全部处理完信息中的数据字节后,最终得到的寄存器值为CRC值。
CRC值附加到信息时,低位在先,高位在后。在梯形图中,CKSM函数计算信息中的阅附录C中的一个实例,它详细说明了CRC的校验。
第二章
数据和控制功能
Modbus 功能代码格式 Modbus 功能代码总结
8
Modbus Protocol
PI-MBUS-300
位数为奇数,即冒号“:”开始C单个开始时,的8位数据用于(LSB)方向异或运算寄存器的当前CRC5。
生一个错误。际的校验,应附加,以CRLF字符LRC校验码。并与收到例,它详细数据的奇偶校验方法。16位寄存器的各位都CRC处理。起,用零填入最高。
值异或,再重复。用于主计算机时,可查3停 置,上的总一个作为结算阅附录中的一个实说明信息中字符把始位移位有效位值
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技MODBUS协议中文版(10)全文阅读和word下载服务。
相关推荐: