各位高手,本人最近做一个项目,利用1214C与300PLC做S7通信,再进行Modbus TCP上传,实现S7 300的数据利用modbus上传的功能,已经实现modbus读功能,请问如何实现通过modbus TCP写寄存器,我看手册上说只能写Q地址,如何才能写DB块或M地址呢?我是想在上位通过modbusTCP经过1200写300PLC中的中间变量,如阀门的手自动切换,请问1200中如何利用MB_SERVER指令实现?
最佳答案
1 、modbus TCP的客户端一般不直接去读写服务端的I、Q等分散的区域地址。常规的做法是服务端组态一个数据块(DB)分享给客户端来访问(读写),而服务端再通过MOVE来吧DB块中的各数据与相关地址数据进行交换刷新
2、请参考以下资料
在使用 Modbus/TCP 方式数据通信时,怎样寻址到作为 Modbus 设备的 SIMATIC S7-1200/S7-1500 存储区?
http://support.automation.siemens.com/CN/llisapi.dll/100633819?func=ll&objId=100633819&objAction=csView&nodeid0=34612486&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&load=content&csQuery0=Modbus+TCP&subtype=133000
基于S7-1200CPU集成PN 接口 Modbus TCP通讯快速入门
http://support.automation.siemens.com/CN/llisapi.dll/81015512?func=ll&objId=81015512&objAction=csView&nodeid0=34612486&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&load=content&csQuery0=Modbus+TCP&subtype=133000
如何编程和参数化两个 S7-1200 CPU 之间的Modbus/TCP 通信?
http://support.automation.siemens.com/CN/llisapi.dll/83130159?func=ll&objId=83130159&objAction=csView&nodeid0=34612486&lang=zh&siteid=cseus&aktprim=0&extranet=standard&viewreg=CN&load=content&csQuery0=Modbus+TCP&subtype=133000
提问者对于答案的评价:
OK 明白啦,谢谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc196734.html