目录

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的安装是失败退出,他们的原因都是相同的,就是注册表中的重启键,删除了就好了。

2、通过在线寻找连接PLC

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

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

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

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

到这里我们软件与实体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右键转为在线,发现可以正常连线,至此PLC配置才真正完成。

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

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

3、在软件上配置OPC SERVER

添加新设备:

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

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

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

4、在PC上配置OPC SERVER

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

再添加一个OPC SERVER。

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

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

转至在线。

转在线成功。

将PC station和PLC连起来。

组态其中的数据

下载到设备。

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

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

注:最终用西门子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编译

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

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

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

设置成功。

④开始编译

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

// 第一句就是设置环境变量的
"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是否同步修改。

从客户端进行修改他

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

③设置可以匿名登录

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服务器,未果。

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

⑦查看服务器端口

找到端口。

⑧配置证书

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

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

⑨重新启动server

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

9、裸SOCKET配置

西门子PLC OPC配置及开发相关推荐

  1. s7 200 java_java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...

    本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 gi ...

  2. 一种低成本的西门子PLC网关实现采集S7系列西门子PLC数据

    西门子PLC网关BL102是一款性价比高.价格低.稳定性好.功能强大的PLC网关,用来采集西门子PLC各种型号的协议网关,可以采集S7-200,S7-200Smart,S7-300,S7-400, S ...

  3. C#使用S7.net连接西门子S1200PLC,C#直接连接西门子PLC

    距离上一篇C#使用KepService连接已经好久了,这次把S7.net的更新上来.在此鸣谢一下(李,罗,任.) 附上github链接:https://github.com/S7NetPlus/s7n ...

  4. snap7通过NetToPLCsim工具接入模拟西门子PLC S7-1200步骤简介

    概述 本文主要是设备通过S7协议接入西门子PLC S7-XXXX系列的开发使用文档,主要包括西门子PLC组态工具博途V15,PLC模拟工具S7-PLCSIM,IP地址映射工具NetToPLCsim等使 ...

  5. 西门子plc如何用c语言编程软件下载,s7一200编程软件下载安装

    s7-200编程软件是专为西门子s7-200系列可编程控制器而设计开发的一款工业化编程工具,该工具基于Windows系统而开发,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态,是西门子 ...

  6. KEBA 控制器通过 NT50 连接西门子 PLC

    产品介绍: NT50-DP-EN 网关,可以支持 PROFIBUS-DP 和 PROFINET 之间的转换. 支持三种转换方式: 1.PROFIBUS 从站转 PROFINET 从站 2.PROFIB ...

  7. 工业通讯 | KEBA 控制器通过 NT50 连接西门子 PLC

    产品介绍: NT50-DP-EN 网关,可以支持 PROFIBUS-DP 和 PROFINET 之间的转换. 支持三种转换方式: 1.PROFIBUS 从站转 PROFINET 从站 2.PROFIB ...

  8. KEBA控制器通过PROFINET连接西门子PLC

    摘要 方案介绍: KEBA控制器支持PROFIBUS协议,需要连接西门子S71200/1500等系列支持PROFINET通讯的PLC.本文通过赫优讯NT50系列网关,实现西门子S71200 PLC(P ...

  9. EtherNet IP转PROFINET网关连接西门子PLC

    1.罗克韦尔(AB) PLC 1769-L32E以太网通讯(EtherNet/IP)与西门子S7-1200 PLC(PROFINET)进行连接.今天与大家分享一篇EtherNet/IP转PROFINE ...

最新文章

  1. python安装教程32位-python为什么要装32位的
  2. Ghost后只有一个C盘解决方法(转)
  3. JDBC基础知识复习
  4. Devops (1)
  5. 今晚直播 | AAAI 2018论文解读:零资源机器翻译的最新进展
  6. sscanf函数用法详解
  7. Delphi中的时间操作技术(1)
  8. CentOS6.0 yum php mcrypt 扩展安装问题
  9. 为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...
  10. 联邦快递“误运”华为包裹遭调查 联邦快递:全力配合
  11. C++ MathGL 二维数据绘图
  12. C++设计模式——Composite 组合模式
  13. Ubuntu 安装 中文输入法(Google 拼音)
  14. 初步了解Java内部类
  15. CSS 自定义滚动条样式
  16. 华为鸿蒙2.0安装包,华为鸿蒙2.0系统安装包
  17. 游戏必备组件有哪些_抖音直播互动游戏有哪些?直播间热场互动必备的5个小游戏...
  18. 【科普】数字货币的基石--区块链
  19. WTS:基于Web的Terminal控制台
  20. kinect游戏linux,两台kinect同时运行

热门文章

  1. 解读 | 赛迪“区块链赋能实体经济推进计划”
  2. 易买网更多新闻代码_新闻 | 0515演员李沇熹结婚等更多资讯
  3. 浏览器不能打开网站问题
  4. Axure RP快捷键指令汇总
  5. git入门手册(绝对简单易懂)
  6. 2021-06-28制作扁平插画
  7. 全媒体运营 之 受众分析
  8. 出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
  9. 单相半波可控整流电路实验报告matlab,单向半波可控整流电流MATLAB仿真实验报告...
  10. 仪表放大器的PCB布局-运放