最近公司有个项目,我们的控制器是S7-400,通过Modbus和DCS通讯,进2000个变量,不过通讯完以后很难直接在DCS上操作,延时严重,数据刷新大概需要5到10s,需要改为OPC通讯。能在办公室做的工作当然都在办公室做好一些,怎么也比现场舒服多了,不过办公室没有PLC,没办法测试,网上搜了一下,发现了NetToPLCsim这个工具,说是可以把PLC仿真器的数据连到OPC服务器上。于是开工,第一天搞了一天死活连不上,后面高清了NetToPLCsim的工作机制,才反应过来。下面说下具体过程,先来个全家福
我用的是两台虚拟机,
虚拟机A装有STEP 7 + PLCSim + NetToPLCsim,
虚拟机B装有step7+sematicNET 和 OPC scout V10。
(也就是两个虚拟机都为PCS7,虚拟机A加装NetToPLCsim)
NetToPLCsim可以让上位机软件(SCADA等)通过OPC的方式访问PLCSim。 NetToPLCsim是一个免费工具,可以在以下地址下载:
https://sourceforge.net/projects/nettoplcsim/
下面通过一个例子,来看看如何使用NetToPLCSim仿真OPC:
先简单说下NetToPLCsim的工作原理,有两点需要注意(不要被封面图片误导):
①OPC服务器和PLCSIM需要分别装在两个电脑上;
②OPC服务器上连接的PLC IP地址是虚拟机A的IP地址。
也就是说NetToPLCsim实际是把PLCSIM的数据直接给到虚拟机A的IP地址上,从虚拟机B来看,虚拟机A就是一个PLC了,所以OPC服务器和上位机软件需要装在虚拟机B上,我用的是simaticnet+OPC SCOUT V10。
一开始我用虚拟机A上的OPC SCOUT,怎么都连不上,后面搞清楚原理之后才明白过来。
开始进入正题,分布如下:
先虚拟机A上操作:
1、新建项目(或者已有项目),用PLC的PN口或者CP343/443的以太网口,用TCP/ip方式进行硬件组态。把此程序复制到虚拟机B中,后面会用到。
2、打开PLC SIM,把硬件组态和程序都下载到PLC仿真器中,运行起来。
3、打开NetToPLCSim,点【Add】按钮,弹出station设置,
点击【Network IP Adress】后面的【...】按钮,可以看到本机网卡的IP地址,选中;
然后点击【PLCsim IP Adress】后面的【...】按钮,可以看到PLC的IP地址,选中;
机架号,插槽号和硬件组态中的匹配上;
设置完毕,然后点【Start Server】按钮,此时既已经把PLCSIM仿真器的数据连接到虚拟机A的网卡上了。
然后是虚拟机B中的操作:
1、把刚才从虚拟机A中复制过来的程序打开,重点来了,此处星标★★★★★,把硬件组态中的PLC地址改为虚拟机A的网卡地址,再看看上面的原理,就知道为什么这里需要改了。
2、在项目中创建PC STATION,PC station组态IE general 和OPC server。
3、打开net pro,在pc station的OPC新建连接,指定PLC的以太网口。
4、PC Station编辑器中做相应配置(此处不会配置的话,可以搜索s7400如何连opc)
5、把程序中上位机的组态和网络状态下载到pc station中。
PC station(PC站)的创建、组态和下载链接如下:
www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1258588&b_id=4&s_id=23&num=12#anch
https://www.ad.siemens.com.cn/productportal/Prods/published/PCS7_TOP_V2/PC_Station/PCStation_Configure_download/PCStation_Configure_download.htm
6、打开OPC SCOUT,可以查看本地服务器,读写数据,再到虚拟机A中查看PLCSIM的数据就可以了。
收工睡觉。。。