学习西门子PLC的朋友们对于西门子的S7-PLCSIM软件都不陌生,当我们安装了该软件后,在STEP7或者博图的面板中就多出了一个仿真的按钮,点击该按钮,就会调出仿真软件S7-PLCSIM软件,将当前的PLC项目下载进去。启动该仿真PLC,就可以在线查看程序状态,并可以模拟各种条件,进行PLC软件的调试。
S7-PLCSIM存在一个问题,它采用了内部协议与STEP7或者博图通讯,不能对外通讯,也就是说,外部的软件不能像访问真实的PLC一样,访问该仿真软件。学习HMI编程、PLC通讯的朋友就只能购买硬件PLC一条路了吗?
在热心网友绍兴-胡克(969885519)的推荐和帮助下,本人尝试了一个叫做NetToPLCsim的小免费软件,可以实现S7-PLCSIM与外部的以太网通讯,其工作原理:
下面简单介绍一下使用的步骤(初次接触的朋友请严格按照下述步骤操作):
1、启动STEP7或者博图软件;
2、用管理员权限打开NetToPLCsim软件(暂不要配置),如果要求停用西门子的服务,则点击同意,以便获取102端口的使用权;(该步骤与手册不同,是众多网友实践的经验)
3、启动PLCSIM软件,下载带有以太网通讯的功能的PLC项目(带有CP网卡,或者CPU自带以太网);
4、在NetToPLCsim里点击“Add”;
5、在站点配置对话框里,点击“Network IP Address”旁的“…”来选择现有的网络,选择一个将来访问该PLC的IP地址;
6、点击“Plcsim IP Address”旁的“…”来选择刚才下载的PLC地址;
7、设置CPU的框架号和槽号,注意与硬件配置要一致;
8、关闭对话框,点击“Start server”,确认“Port 102 OK”;
9、用外部软件访问该PLC,进行测试,注意选择红圈里的地址(这个地址是你系统某个网卡的地址,可能也是192.168.0.1,不影响仿真,见10的第二张图片),而不是Plcsim的IP地址(这里是192.168.0.1):
注意:以上两个IP地址可能都Ping不通,这可能是系统禁用了ping命令,不一定影响数据访问。
10、下面是用国产专业数据采集和录波软件访问时钟脉冲的效果:
下面为地址相同的例子:
对于博图软件,需要注意:需要通过Windows控制面板正确设置PG/PC接口,将S7ONLINE的访问点设置成“PLCSIM S7-1200/S7-1500(TCP/IP)”,自V14之后,设置成“PLCSIM.TCPIP.1”(本人做测试时,并未关注该设置,也可通讯成功)。
11、退出软件时,会提示是否重新启动西门子的服务,这时候请选择启动。
以上测试环境:虚拟机 WIN7 X64。NetToPLCsim的更多功能和注意事项,请参考软件自带的手册。
最新版本的NetToPLCsim(更新到2021的1.2.5版本)可以从录波软件PLCRecorder的页面的软件下载区域进行下载。
西门子S7-400仿真录波操作
2022年9月20日(完善)
注:工控交流请加入QQ群958330502。
一些网友碰到的问题(后续会继续完善):
- 怎么不通?不是应该一配置就通了吗?
实际上,网络通讯是工控里非常难的话题,这个文章里的话题涉及到西门子的组件、NetToPLCSim软件、电脑的环境等等,任何一个环节有问题,都可能导致不通,所以,能通起来是不容易的。为了增加通的可能性,建议:
1)尽量在虚拟机里玩:环境干净,虚拟网卡可以脱离硬件网卡工作。
2)关闭所有的防护软件(搞工控的都知道这个常识);
3)Network Address所在的网卡要工作,如果是一个RJ45口的网卡,则网络灯要亮,否则其协议解析不会工作。如果在虚拟机里,有一些虚拟网卡可以脱离硬件工作。如果不能ping通Network Address,就要用可信的软件来测试,比如上面提到的PLC-Recorder。
4)确保西门子软件自己能够访问仿真器(如果自己都通不了,更不要想其他的了)。 - 能仿真哪些通讯协议?
1)基本只能仿真102端口的S7协议,PLCsim支持开放以太网协议,但是NetToPLCsim不支持。
2)MODBUS TCP协议,PLCsim自己就不支持。