SR40的modbus通信问题

CPU是smart SR40,从官网下载了一个modbus主站通信例程(http://www.ad.siemens.com.cn/service/article/S7-200/S7-200modbus/Default.aspx),编译下载到CPU中。然后做了一根串口线,用3、8脚接入485转USB的AB端。PC上用串口调试助手测试报文,然后发现报文都是乱码,具体见图片。
想知道这是什么缘故,是PLC的问题么??注:PC端我已经用单片机测试过没有问题。

问题补充:
回WWCWWC:
主站执行的是读写操作,读操作的数据区根本没有东西,写操作理论上也应该都是0。
之所以判断这个是乱码,因为我程序里设置的站号是03,同时读操作也是03,但这些数值中就没见过1个3,所以觉得是乱码。想搞清是啥原因。。。实在不行,也只能自己写modbus了,这个库显然有问题。。。郁闷!

图片说明:

SR40的modbus通信问题    SR40的modbus通信问题   

钻石用户推荐最佳答案

串口调试软件作为modbus rtu通讯的从站接收主站sr40发送过来的数据。
你打开主站发送指令的数据区的数据值是什么?看图片,应该的从站串口调试软件硬件接收到主站的数据了,只是因为通讯的轮询的,所以,这些数据看起来没有了规律。
看了你图1的官方程序,主要问题是这个程序没有给主站发送的数据区写入数据,你自己到数据块VB1100开始的V存储区写入数据,重新下载到plc再用串口软件验证发送的数据是否正确。
补充问题回复:
串口调试软件只需要通讯频率及端口号,不需要从站的站号,所以,你就找不到3的字符了。
还是建议你理解了MSG指令,并在其指定的数据区(在数据块)中写入自己熟悉的字符来验证,如、写入VB1100 = 10 VB1101 = 11、、、、、、然后下载验证。

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论