从零搭建本地PLC仿真环境:SIMATIC_PLCSIM_Advanced、Portal、KEPServer、OPCUA客户端工具

背景

近期在为一个工业控制领域的上位机数采项目进行技术预研,苦于手头没有PLC(Programmable Logic Controller,可编程逻辑控制器)硬件设备,为了快速、完整地体验下从 PLC 数据采集、传输到上位机进行存储、展现的完整流程,决定基于 SIMATIC_PLCSIM_Advanced_V3TIA Portal V16KEPServerEX6 以及 UAExpert 搭建西门子 PLC 的仿真环境。

整体组件的架构:

  1. PLC是TCP服务器;
  2. KEPServer是TCP客户端,同时也是OPC服务器,并且自带了是OPC客户端;
  3. UAExpert是OPC客户端。

软件资源来自于微信公众号:dotNet工控上位机

2023-03-26-1-Software.jpg

环境准备

  1. 安装SIMATIC_PLCSIM_Advanced_V3
  • 先安装WinPcap_4_1_3.exe
  • 再安装SIMATIC_PLCSIM_Advanced_V3.exe
  • SimEKBInstall2022.07.26.exe 选中需要的密钥,勾选你的软件,然后选择安装长密钥。
  • 重启S7-PLCSIM Advanced V3.0
  1. 安装TIA Portal V16
  • 双击安装
  • SimEKBInstall2022.07.26.exe在左侧列表双击TIA Portal,选择TIA Portal V16,勾选右侧的STEP 7 Professional V16,然后选择安装长密钥。
  1. 安装KepServer
  2. 安装UAExpert

UAExpert 官网:https://www.unified-automation.com/products/development-tools/uaexpert.html

西门子PLC仿真环境搭建步骤

  1. SIMATIC_PLCSIM_Advanced_V3中配置IP地址信息,点击Start

2023-03-26-2-IP.jpg
2023-03-26-3-SIMATIC_PLCSIM_Advanced_V3.jpg

  1. 在TIA Portal V16中建立项目、打开项目视图、添加新设备(这里选择SIMATIC S7-1500中的1513的CPU,如果最后无法点击确定,则需要先安装秘钥!!)
  • 走S7协议,则必须勾选:PUTGET协议
  • DB块右键属性,在DB块属性中,去掉:优化的块访问
  • 项目右键属性,保护Tab下,勾选:块编译时支持仿真
  • 点击PROFINET接口,设置以太网地址为在SIMATIC_PLCSIM_Advanced_V3中配置IP地址
  • 编译新增的程序块(DB块)
  • 下载到设备、搜索设备、下载

2023-03-26-0-Crack.png
2023-03-26-4.jpg2023-03-26-5.jpg2023-03-26-6.jpg2023-03-26-7.jpg
2023-03-26-8.jpg
2023-03-26-9.jpg
2023-03-26-10.jpg
2023-03-26-11.jpg
2023-03-26-12.jpg
2023-03-26-13.jpg
2023-03-26-14.jpg

  1. KEPServerEX 6中新建通道、新建设备、新建标记(格式:DB1.DBD0或者DB1.D4)

之后,可以实现KEPServer(本身作为OPC服务器,并且提供了OPC客户端工具)与TIA Portal的双向通信。

2023-03-26-15.jpg

OPC客户端

OPC UA的全名是OPC Unified Architecture(OPC统一架构)。

  1. OPC UA客户端:UAExpert
  • 在OPC UA服务端KEPServer的OPC UA Configuration Manager中,安全策略勾选为无
  • 在KEPServer的项目->属性->属性编辑器->opcua->允许匿名登录:是;然后重启程序,不行就重启电脑
  • OPC UA客户端UAExpert中添加自定义的OPC连接地址:opc.tcp://localhost:49320,匿名连接
  • 连接成功后可以在AddressSpace中看到添加的标记D1与D2,将其拖到中间的Data Access View可以进行实时监控
  • 对于Value的值,可以直接双击修改

2023-03-26-16-UAClient.gif

  • 可能遇到的问题:KEPserver一个或多个功能有时间限制。
  • 解决方案:Crack the KepServer。
  1. OPC UA客户端:上位机程序

关于上位机程序的编写,我单独开一篇写下使用SpringBoot开发OPC UA客户端实现数据的订阅采集与存储。


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

猜你喜欢

转载自blog.csdn.net/u013810234/article/details/129776570