有一个人家已经开发开的系统,没有办法再增加设备了,我想用网线直接连S7-300的网口,以TCP/IP的方式读取数据,不是通过CP模块,应该怎么做呢?请指教。
另外,如果没有CP模块,S7-300支持ModBus TCP协议吗?
问题补充:
感谢几位朋友的热心回答。有几个问题需要补充一下:
1)我通过PN口用modbus TCP方式访问PLC数据,PLC里面需要为这个功能添加组态吗?因为PLC是另一家公司开发的,我没有办法叫人家帮我添加这部分组态。
2)我上位机软件是我自己开发的程序,如果用TCP/IP方式的话,加入我要读取PLC中某个地址上的数据,我应该发送什么样的命令?哪里可以找到这方面的资料呢?
再次表示感谢
最佳答案
1:S7-300集成的PN口,是支持TCP/IP协议的!至于怎么读取,你上位机 按照TCP 协议的编程方式来进行读取数据就行,PLC里也有相关的功能块原来发送和接受数据。需要注意的是,那方系统作为服务器和客户机的问题:
2:集成的PN口支持 Modbus TCP,但是使用方式和用到的功能块和CP有些区别。原理是一样的
基于 S7-300,400 CPU 集成 PN 接口 Modbus TCP 通讯快速入门 参考如下
https://support.industry.siemens.com/cs/document/90276758/%E5%9F%BA%E4%BA%8E-s7-300400-cpu-%E9%9B%86%E6%88%90-pn-%E6%8E%A5%E5%8F%A3-modbus-tcp-%E9%80%9A%E8%AE%AF%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8?dti=0&lc=zh-CN
基于 S7-300,400 以太网通讯模块 CP343-1&CP443-1 Modbus TCP 通讯快速入门 参考如下
https://support.industry.siemens.com/cs/document/90276761/%E5%9F%BA%E4%BA%8E-s7-300400-%E4%BB%A5%E5%A4%AA%E7%BD%91%E9%80%9A%E8%AE%AF%E6%A8%A1%E5%9D%97-cp343-1cp443-1-modbus-tcp-%E9%80%9A%E8%AE%AF%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8?dti=0&lc=zh-CN
补充:
1:见上面的连接,PN口的TCP连接是需要在PLC 中调用功能块建立连接的,不需要组态。但是双方都要编程的!
2:都用高级语言自己开发上位机了,那么,你只要看下TCPIP协议,我想你应该为Socket编程吧!按照协议标准进行发送和接受数据就行。至于要度上面数据,自己和PLC 厂家定义个就行。
既然你需要走TCP协议,为什么不直接使用MODBUS TCP 这个公开的协议了,S7-300 PN口支持这个协议。
提问者对于答案的评价:
非常感谢Letham网友的热心解答。准备和做PLC的公司商量一下,采用ModBus TCP协议。实验室中我也准备用一台PLC先试试。
再次感谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221232.html