找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
程序写的很好,按照你的程序做了几个实验,成功了,但略有不同:
1、MB_CLIENT中连接ID设为1,将其改为2后报8387故障;这个ID与测试工具中的从站ID号不是一回事,可以不一致。MODBUS TCP通信是客户端服务器模式,不是主从模式;
2、MODBUS-SLAVE测试工具连接设置时应将 ignore unit ID钩选;
3、MODBUS-SLAVE测试工具slave definition中Function的选择应与PLC中CLIENT中的地址设定对应;其读写是通过CLIENT的MODE管脚实现,向服务器端写将其改值改为1;
4、实验中先用TCP/IP测试工具做服务器端,有接收数据,说明PLC程序正常,然后用MODBUS SLAVE工具调试,实验过程中可以将Display--comm窗口打开,跟踪是否有接收数据;
5、操作系统的防火墙设置也可能会影响,用WIN8打开时会有提示是否允许客户端接入;
个人见解,不当之处请指正。再结合楼上各位的意见,一定会成功的。
发几个实验图片参考。
2.你在MB_CLINET 指令设置的连接ID=2,但是调试软件中又设置ID=1, 不一致肯定连不上哟。
最后,注意通信时,设置MB_CLINET 指令的DISCONNECT=1。程序中看到你的DISCONNECT=0
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!