西门子PLC OPC配置及开发

目录

1、安装博途TIA V15.1以及SIMATIC NET V14 SP1

2、通过在线寻找连接PLC

3、在软件上配置OPC SERVER

4、在PC上配置OPC SERVER

5、对博途软件上的PC STATION进行在线组态

6、qt从5.11开始集成了opcua模块,但必须自己编译

7、配置KepServer

8、配置Qt为OpcUA客户端连接KepServer

9、裸SOCKET配置


 

本文主要记录的PLC+OPC开发配置,包括以下几个部分:

①在软件上添加一个PLC模块,并且与PLC实体进行连通测试;

②在软件上添加一个OPC模块;

③在本地PC上添加OPC服务器;

④连通软件上的OPC模块和本地PC的;

 

1、安装博途TIA V15.1以及SIMATIC NET V14 SP1

安装这个两个软件的主要问题都在于注册表,TIA的安装是过程中不断的重启,而SIMATIC NET的安装是失败退出,他们的原因都是相同的,就是注册表中的重启键,删除了就好了。

西门子PLC OPC配置及开发_第1张图片

西门子PLC OPC配置及开发_第2张图片

2、通过在线寻找连接PLC

西门子PLC OPC配置及开发_第3张图片

创建成功之后点击“项目视图”打开

西门子PLC OPC配置及开发_第4张图片

将PLC通过网线连接到路由器上,与本机PC在同一个局域网上,点击菜单“在线”-“可访问设备”,进入设备搜索模式

西门子PLC OPC配置及开发_第5张图片

找到之后选中,点显示,即可在左侧菜单中看到

西门子PLC OPC配置及开发_第6张图片

选中此在线设备,点击“在线”-“将设备作为新站上传”,上传成功即可在我们的项目中看到新上传的设备信息,里面还包含了数据,这些数据是之前写入进去的,我们在这里重点不是研究编程,因此在此就不重新编写这些数据了。

西门子PLC OPC配置及开发_第7张图片

到这里我们软件与实体PLC(192.168.0.1)连接就成功了。

注意:有一个问题在于,我们的PLC与我们的本机电脑(192.168.2.178)不在同一个网段。现在连接相当于是我们用一个虚拟的IP(192.168.0.241)将他们连接在一起的。这样不是不可以,但是我们接下来要配置OPC SERVER在本机的时候,他会识别到本机的真实IP(192.168.2.178),而不能识别到这个虚拟IP(192.168.0.241)。我们在软件上配置OPC SERVER时,填的地址如果为192.168.2.178,则与PLC的192.168.0.1不是同一个网段,如果填的是192.168.0.241,则与实体OPC SERVER的地址192.168.2.178不一致,导致寻找不到,因此我们必须给PLC一个相同网段的IP,摈弃用虚拟IP与PLC相连。

对PLC右键属性,修改其IP地址和子网掩码,必须与本机真实的IP一致。

西门子PLC OPC配置及开发_第8张图片

西门子PLC OPC配置及开发_第9张图片

西门子PLC OPC配置及开发_第10张图片

注意掩码也要一致,非常关键。

修改之后下发到实体。

西门子PLC OPC配置及开发_第11张图片

然后对PLC右键转为在线,发现可以正常连线,至此PLC配置才真正完成。

西门子PLC OPC配置及开发_第12张图片

注意2:假设IP地址都已经设好了,有一天发现断了,连不上,转到在线时显示PLC未响应,那么此时可能是IP地址发生了冲突。

因为你这个IP是设固定的,当你断电期间,有别的设备使用了这个IP,你这个PLC就没办法使用这个IP了,电脑跟PLC无法通过这个IP地址进行通信,他又不会自己指定另外的IP。此时要通过修改软件上的IP然后下发给PLC,是无法进行下发的,因为连接不上。此时只有将PLC直接连接到电脑的网口上,在软件修改了IP之后,直接下发,搜索可用设备,然后直接下发给设备就可以了。都完成之后,再将PLC重新接入交换机,而电脑也是如此,这个时候电脑的软件设定和PLC都是相同的IP,这样就可以转到在线了。

 

3、在软件上配置OPC SERVER

添加新设备:

西门子PLC OPC配置及开发_第13张图片

选定一个槽,选一个IE,版本不能太高,因为我们的NET版本较低,太高的版本会对不上。

西门子PLC OPC配置及开发_第14张图片

选一个OPC SERVER同样版本不能高了,最多14。

西门子PLC OPC配置及开发_第15张图片

博途软件端的OPC SERVER就暂时配置到这里。

4、在PC上配置OPC SERVER

打开Station Configuration Editor。点击ADD,先添加一个IE。

西门子PLC OPC配置及开发_第16张图片

再添加一个OPC SERVER。

西门子PLC OPC配置及开发_第17张图片

西门子PLC OPC配置及开发_第18张图片

5、对博途软件上的PC STATION进行在线组态

西门子PLC OPC配置及开发_第19张图片

西门子PLC OPC配置及开发_第20张图片

西门子PLC OPC配置及开发_第21张图片

西门子PLC OPC配置及开发_第22张图片

西门子PLC OPC配置及开发_第23张图片

还未设置IE的IP,我们先设置IE的IP再来组态。

西门子PLC OPC配置及开发_第24张图片

西门子PLC OPC配置及开发_第25张图片

转至在线。

西门子PLC OPC配置及开发_第26张图片

西门子PLC OPC配置及开发_第27张图片

转在线成功。

将PC station和PLC连起来。

西门子PLC OPC配置及开发_第28张图片

组态其中的数据

西门子PLC OPC配置及开发_第29张图片

下载到设备。

以为这样就结束了,naive。配置opc中各种折磨...这个转至在线可以了,为什么Station configuration editor中的连接标志没有出现?

西门子PLC OPC配置及开发_第30张图片

先将转为离线,编译,下载到设备(全部),在转为在线,就可以看到连接标志了。

西门子PLC OPC配置及开发_第31张图片

西门子PLC OPC配置及开发_第32张图片

注:最终用西门子opc server组件没有调通,用诊断工具看一直显示连接未使用,后来改用KepServer比较顺利调通了,易用性上面相差非常多。KepServer如何使用在后面记录数据通信时再讲。 

 

6、qt从5.11开始集成了opcua模块,但必须自己编译

参考这边文章进行编译:

https://blog.csdn.net/vivisoul/article/details/99733034

①使用Qt5.12版本,下载地址:

http://download.qt.io/archive/qt/5.12/5.12.0/

下载exe版本就可以了,他的编译器配置可以在项目中配置。

注意:要先安装vs2017,这样再装qt的时候可以自动识别编译器,不需要再自己手动配置。

②打开qt中的vs2017编译器64位,进行qtopcua编译

西门子PLC OPC配置及开发_第33张图片

③进行vs编译器环境设置(动态)

西门子PLC OPC配置及开发_第34张图片

打开这个命令行时,有提醒需要call vcvarsall.bat进行环境变量设置。这个走了很多弯路,不知道要在本窗口直接设置直接使用。

说明:本机win7 x64,我们的编译器要用msvc2017_64。

西门子PLC OPC配置及开发_第35张图片

设置成功。

 

④开始编译

接下来开始编译,会退到最初的位置。

西门子PLC OPC配置及开发_第36张图片

// 第一句就是设置环境变量的
"c:\Program Files (x86)\Microsoft Visual Studio\2017\WDExpress\VC\Auxiliary\Build\vcvarsx86_amd64.bat"
git clone https://code.qt.io/qt/qtopcua.git
cd qtopcua
git checkout 5.12
mkdir build
cd build
qmake ..
nmake
nmake install

7、配置KepServer

①下载KepServer,打开直接添加通道,添加设备

注意这些名称不要用中文不然等下QT识别不到(可能跟编码有关)

②添加标记,一个标记就是PLC上面的一个地址

我没办法看到是否连接上,就添加完标记再测试是否连接成功吧。

右键添加标记

西门子PLC OPC配置及开发_第37张图片

从博图上找到想添加的变量,按照他的书写方法写进去。

西门子PLC OPC配置及开发_第38张图片

在客户端上进行修改,查看PLC是否同步修改。

西门子PLC OPC配置及开发_第39张图片

西门子PLC OPC配置及开发_第40张图片

从客户端进行修改他

西门子PLC OPC配置及开发_第41张图片

西门子PLC OPC配置及开发_第42张图片

已发生变化,说明修改成功,KepServer搭建已经成功。

③设置可以匿名登录

西门子PLC OPC配置及开发_第43张图片

6.7版本可以设置,6.7以下版本,没看到在哪里设置,有的电脑安装之后,qt会连不上,所以最好还是按照6.7版本。

先安装6.7,如果安装后运行正常,重启再观察是否能正常启动服务,不能的话则卸载掉再装6.4。步骤:

卸载6.7->清空残留文件夹->重启系统->安装6.4->验证是否能正常启动服务->重启电脑再次验证能否正常启动服务->安装完成。

8、配置Qt为OpcUA客户端连接KepServer

根据上面的QT编译OPC模块操作之后,OPC就不是什么问题了,但是在连接Server的时候还是出了一点问题,这里记录一下。

①下载了最新的Qt5.13.1,并进行OPC插件编译,注意编译插件时git版本要切换为5.13.1版本。

②从github下载qtopcua项目,直接在github搜索qtopcua,第一个项目就是,注意下载5.13.1版本。

③下载解压之后,直接打开examples项目,注意不要将其单独拷贝出来,此项目还依赖文件夹中其他代码。

④直接运行该项目,可以跑起来。会找不到证书的错误:

qt.opcua.security: No client certificate found at "E:/hit-qt/OpcTest/qtopcua-5.13.1/build-examples-Desktop_Qt_5_13_1_MSVC2017_64bit-Debug/opcua/opcuaviewer/debug/pki/own/certs/opcuaviewer.der" . Application identity will be invalid.

先不用管它。

⑤尝试搜索opc server服务器,未果。

⑥由于端口未知,所以搜索服务器肯定是找不到的,这里要做两个事情:一是查找究竟服务器端口是哪个;一个是因为没有证书,如何配证书。

⑦查看服务器端口

西门子PLC OPC配置及开发_第44张图片

西门子PLC OPC配置及开发_第45张图片

找到端口。

⑧配置证书

从上一步骤打开的软件,点击受信任的客户端,下载证书,放到刚才运行qt报错的位置,还是搜索不到服务器。

直接在这里双击,取消掉加密:

西门子PLC OPC配置及开发_第46张图片

⑨重新启动server

西门子PLC OPC配置及开发_第47张图片

⑩重新启动之后再用qt客户端连接成功

西门子PLC OPC配置及开发_第48张图片

 

9、裸SOCKET配置

西门子PLC OPC配置及开发_第49张图片

 

 

你可能感兴趣的:(PLC)