一位工程师说,他采购了一个S7-1500的RS485模块(6ES7540-1AB00-0AA0),不支持Modbus rtu协议,如何读取Modbusrtu的设备。可以通过自己编写程序实现,下面是作者群友的分享。
第一步:根据Modbus RTU 的标准报文格式去编写数据帧
如数据读取:
功能码03H
主机读取从站地址08H,
起始寄存器地址00H的12H数据
则数据发送格式
08 03 00 00 00 12 CRC高字节 CRC低字节
从站返回数据:
08 03 24 n1高字节 n1低字节......n18高字节n18低字节 CRC高字节CRC低字节
下图所示:通过ModbusPoll读取从站模块数据熟悉一下数据格式。
第二步:通过编写CRC功能块,计算得出CRC
第三步:通过西门子通讯块Send_P2P与CRC块读取从站的数据
第四步:测试平台(几个月之前做的测试图片)