如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
ModBusRTU协议主机请求:设备地址、功能码、数据(N个8bit)、CRC例:01号读3个采集的数据(数据帧2个字节)UA、UB、UC。地址分别为:UA=0025H、UB=0026H、UC=0027H01H03H00H25H00H03H14H00H从机响应:设备地址、功能码、数据数目、数据、CRCUD=082CH08H2AH08H2CH94H4EH例:UA=082CHUC=082AH01H03H06H08H2CH123通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令,并根据功能码及相关要求读取信息,如果CRC校验无误,则执行相应的任务,然后把执行结果(数据)返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及CRC校验码。如果CRC校验出错就不返回任何信息。1.1地址码:地址码是每次通讯信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。相应的地址码表明该信息来自于何处。1.2功能码:是每次通讯信息帧传送的第二个字节。ModBus通讯规约可定义的功能码为1到127。PDM系列仪表/变送器仅用到其中的一部分功能码。作为主机请求发送,通过功能码告诉从机应执行什么动作。作为从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关的操作。1.3数据区:数据区包括需要由从机返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入/输出、模拟量输入/输出、寄存器等等)、参考地址等。例如,主机通过功能码03告诉从机返回寄存器的值(包含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。对于不同的从机,地址和数据信息都不相同(应给出通讯信息表)。4功能码“01”:读1路或多路开关量输出状态例如:主机要读取地址为01,开关量DO1,DO2的输出状态。从机(PDM)数据寄存器的地址和数据为:起始位地址0000DO寄存器数据(16进制)2备注DO2输出状态为“1”,DO1输出状态为“0”主机发送的报文格式:主机发送从机地址功能码起始BIT位读数据长度CRC码字节数11222发送的信息1100000002BDCB备注发送至地址为01的从机读开关量输出状态起始BIT位地址为0000读取2路继电器输出状态位由主机计算得到CRC码从机(PDM)响应返回的报文格式:从机响应从机地址功能码数据长度DO状态数据CRC码字节数11112返回的信息01010102D049备注来自从机01读开关量输出状态1个字节(8个BIT位)DO寄存器内容由主机计算得到CRC码5功能码“02”:读1路或多路开关量状态输入例如:主机要读取地址为01,开关量DI1—DI4的输入状态。从机(PDM)数据寄存器的地址和数据为:起始位地址0000DI寄存器数据(16进制)0B备注DI1/DI2/DI4状态为“1”,DI3状态为“0”主机发送的报文格式:主机发送从机地址功能码起始BIT位读数据长度CRC码字节数11222发送的信息01020000000479C9备注发送至地址为01的从机读开关量输入状态起始BIT位地址为0000读取4路继电器输入状态位由主机计算得到CRC码从机(PDM)响应返回的报文格式:从机响应从机地址功能码数据长度DI状态数据CRC码字节数11112返回的信息0102010BE04F备注来自从机01读开关量输入状态1个字节(8个BIT位)DI寄存器内容由主机计算得到CRC码6功能码“03”:读多路寄存器输入例如:主机要读取地址?01,起始地址为0116的3个从机寄存器数据。从机(PDM)数据寄存器的地址和数据为:寄存器地址011601170118主机发送的报文格式:主机发送从机地址功能码起始地址读数据长度CRC码字节数11232发送的信息010301160003E5F3备注发送至地址为01的从机读取寄存器起始地址为0116读取3个寄存器(共6个字节)由主机计算得到CRC码寄存器数据(16进制)17841780178AUAUBUC对应PDM电量从机(PDM)响应返回的报文格式:从机响应从机地址功能码读取字寄存器数据1寄存器数据2寄存器数据3CRC码字节数1112222返回的信息01030617841780178A5847备注来自从机01读取寄存器3个寄存器共6个字节地址为0116内存的内容