200读取Modbus RTU从站数据

用西门子200读取从站温度,协议Modbus RTU,接口485,格式, 9600,n,8,1,用200库文件MBUS_CTRL和MBUS_MSG读取,求程序段。我自己编出来总是出错误。

问题补充:
我写的程序看看哪不对?

图片说明:

200读取Modbus RTU从站数据   

最佳答案

你这个MBUS_MSG指令报警3,说明是接收超时。
其含义是当你timeout(2000)时间内没有接收到来自从站的响应。
根据信息检查:
与从站的硬件连接、与从站的通讯参数设置是否一致(包含从站地址是否设置为1),建议将M2.1用SM0.0替代,不建议用定时器作为读写请求的触发条件。

提问者对于答案的评价:
谢谢

专家置评

建议优先检查线路
程序块msg指令的en和first建议使用同一个地址,测试时可以先使用sm0.5测试
可以使用modslave软件和plc通信测试

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc179958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月24日
下一篇 2017年6月24日

相关推荐