我已经升级到2.4固件版本,我需要做的是用自己写的java软件,通过modbus tcp来读写200 smart的寄存器,我的java软件测试施耐德的PLC已经成功,我需要怎么编写200smart的PLC程序?我需要参考哪个文档?图片里我需要用哪个库文件?
问题补充:
我使用的是 MODBUS TCP SERVER 库。
只写这一行,用我的java软件连不上PLC。
图片说明:
最佳答案
你已经使用java编写Modbus TCP客户端程序成功访问了施耐德的PLC。说明你的客户端编写无误。对S7-200Smart的初始化为Modbus TCP Sever即可。需要注意的是:西门子PLC modbus地址映射从1开始,施耐德的PLC有从0开始编址的,因此java程序有可能要修改增加地址偏移量1.
请参考:
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/077.html
里面有例程。
也可参考:S7-200 SMART 系统手册,9.4节
https://support.industry.siemens.com/cs/cn/zh/view/109745610
补充:你监看的程序运行结果来看,done位M11.0、Error字节M12均为0,说明通信连接没有成功过。
出现这样的问题:有两个怀疑:
1、库存储器区是否与你程序中用到的VB300-VB499(100个字)重叠。
Modbus TCP库指令会占用V 存储器的 638 字节。
2、上位机访问客户端程序或其设置有问题。
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc288346.html