用西门子200读取从站温度,协议Modbus RTU,接口485,格式, 9600,n,8,1,用200库文件MBUS_CTRL和MBUS_MSG读取,求程序段。我自己编出来总是出错误。
问题补充:
我写的程序看看哪不对?
图片说明:
最佳答案
你这个MBUS_MSG指令报警3,说明是接收超时。
其含义是当你timeout(2000)时间内没有接收到来自从站的响应。
根据信息检查:
与从站的硬件连接、与从站的通讯参数设置是否一致(包含从站地址是否设置为1),建议将M2.1用SM0.0替代,不建议用定时器作为读写请求的触发条件。
提问者对于答案的评价:
谢谢
专家置评
建议优先检查线路
程序块msg指令的en和first建议使用同一个地址,测试时可以先使用sm0.5测试
可以使用modslave软件和plc通信测试
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc179958.html