S7-PLCSIM存在一个问题,它采用了内部协议与STEP7或者博图通讯,不能对外通讯,也就是说,外部的软件不能像访问真实的PLC一样,访问该仿真软件。学习HMI编程、PLC通讯的朋友就只能购买硬件PLC一条路了吗?通过使用NetToPLCsim的软件,可以实现与S7-PLCSIM与外部的以太网通讯,其工作原理:
下面简单介绍一下使用的步骤(初次接触的朋友请严格按照下述步骤操作)1、启动STEP7或者博图软件;2、用管理员权限打开NetToPLCsim软件(暂不要配置),如果要求停用西门子的服务,则点击同意,以便获取102端口的使用权;(该步骤与手册不同,是众多网友实践的经验)3、启动PLCSIM软件,下载带有以太网通讯的功能的PLC项目(带有CP网卡,或者CPU自带以太网);4、在NetToPLCsim里点击“Add”;5、在站点配置对话框里,点击“Network IPAddress”旁的“...”来选择现有的网络,选择一个将来访问该PLC的IP地址;
6、点击“Plssim 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、下面是用PLC-Recorder访问时钟脉冲的效果:
下面为地址相同的例子:
对于博图软件,需要注意:需要通过Windows控制面板正确设置PG/PC接口,将S7ONLINE的访问点设置成“PLCSIMS7-1200/S7-1500(TCP/IP)”,自V14之后,设置成“PLCSIM.TCPIP.1”(本人做测试时,并未关注该设置,也可通讯成功)。
11、退出软件时,会提示是否重新启动西门子的服务,这时候请选择启动。 以上测试环境:虚拟机WIN7 X64。NetToPLCsim的更多功能和注意事项,请参考软件自带的手册。Zui新版本的NetToPLCsim软件及西门子PLC仿真录波操作视频可以在官网进行获取
测试过程中可能碰到的问题:
1、怎么不通?不是应该一配置就通了吗?
实际上,网络通讯是工控里非常难的话题,这个文章里的话题涉及到西门子的组件、NetToPLCSim软件、电脑的环境等等,任何一个环节有问题,都可能导致不通,能通起来是不容易的。
为了增加通的可能性,建议:
1)尽量在虚拟机里玩:环境干净,虚拟网卡可以脱离硬件网卡工作。
2)关闭所有的防护软件(搞工控的都知道这个常识);
3)NetworkAddress所在的网卡要工作,如果是一个RJ45口的网卡,则网络灯要亮,否则其协议解析不会工作。如果在虚拟机里,有一些虚拟网卡可以脱离硬件工作。如果不能ping通NetworkAddress,就要用可信的软件来测试,比如上面提到的PLC-Recorder。
4)确保西门子软件自己能够访问仿真器(如果自己都通不了,更不要想其他的了)。