各位老师大家好,我已经连续做了一个星期的S7-1200 Modbus TCP(MB_CLIENT)实验,一直通讯不了,STATUS为16#7002,BUSY一直为TRUE,DONE我用计数器观测,没有完成过,不知道到底是哪出了错,希望各位老师能给予指正,谢谢。
详见图片附件。
图片说明:
最佳答案
程序写的很好,按照你的程序做了几个实验,成功了,但略有不同:
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打开时会有提示是否允许客户端接入;
个人见解,不当之处请指正。再结合楼上各位的意见,一定会成功的。
发几个实验图片参考。
图片说明:
提问者对于答案的评价:
Server模式能通讯上,但CLIENT还是不行,虽然还是没有通讯上,感谢大家的回答,没办法只能选一个
专家置评
几位工程师提供的建议都很好。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc195186.html