ModBus RTU 协议
通讯信息传输过程:
当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。
返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。
如果CRC校验出错就不返回任何信息。
1.1 地址码:
地址码是每次通讯信息帧的第一字节(8位),从0到255。
这个字节表明由用户设置地址的从机将接收由主机发送来的信息。
每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。
当从机回送信息时,回送数据均以各自的地址码开始。
主机发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。
相应的地址码表明该信息来自于何处。
1.2功能码:
是每次通讯信息帧传送的第二个字节。
ModBus通讯规约可定义的功能码为1到 127。
PDM系列仪表/变送器仅用到其中的一部分功能码。
作为主机请求发送,通过功能码告诉从机应执行什么动作。
作为从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。
1.3 数据区:
数据区包括需要由从机返送何种信息或执行什么动作。
这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。
例如,主机通过功能码03告诉从机返回寄存器的值(包含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。
对于不同的从机,地址和数据信息都不相同(应给出通讯信息表)。
功能码“01”:
读1路或多路开关量输出状态 例如:主机要读取地址为01,开关量DO1,DO2的输出状态。从机(PDM)数据寄存器的地址和数据为: 起始位地址DO寄存器数据(16进制)备 注 0000 2 DO2输出状态为“1”,DO1输出状态为“0” 主机发送的报文格式:主机发送字节数发送的信息备 注 从机地址11发送至地址为01的从机 功能码11读开关量输出状态起始BIT位20000起始BIT位地址为00