背景

近期在为一个工业控制领域的上位机数采项目进行技术预研,苦于手头没有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工控上位机

环境准备

  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


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









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

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

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的值,可以直接双击修改

  • 可能遇到的问题: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!

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

  1. 使用 VMware + win10 + vs2019 从零搭建双机内核调试环境

    我在前面的文章--<使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境>分享了使用 windbg 进行双机内核调试的环境搭建的步骤. 有 ...

  2. 【华为云技术分享】从零搭建一个灰度发布环境

    DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师. 官方网站:devui.design Ng组件库:ng-devui(欢 ...

  3. 从零搭建本地pypi镜像源2:下载清华pypi镜像源

    在博客从零搭建本地pypi镜像源1:快速体验_wzg2016的博客-CSDN博客中,快速体验了pypi镜像源的搭建过程.本博客在前一个博客的基础之上,着重介绍如何下载整个清华pypi镜像源. 1. 轮 ...

  4. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

  5. 在PC上用模拟器搭建Windows Mobile仿真环境:Microsoft Device Emulator使用

    因为工作需要,体验了一下微软的移动设备模拟器Device Emulator 3.0.在此把一些使用体验写出来和大家交流一下,在自己摸索过程中从网上找了很多资料参考,希望大家再做这个的时候少走一些弯路% ...

  6. Ubuntu18.04搭建AirSim+ROS仿真环境

    AIRSIM在UBuntu 18.04上构建的官网文档 一.安装UE4引擎 AIRSIM是依赖于UE4引擎实现的,因此在安装AIRSIM之前要安装UE4引擎. 1.获取UE4的github许可 在Ub ...

  7. 从零搭建一个java开发环境: 二、下载安装mysql数据库

    前言 这是从零搭建一个java开发环境的第二篇,这篇文章将介绍mysql数据库的下载安装.在关系型数据库中,使用较多的是mysql和oracle,我自己用一般装mysql.oracle占用内存太大,自 ...

  8. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器

    原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis  介绍了Red ...

  9. 欧姆龙PLC仿真环境搭建及通信测试

    前言 欧姆龙PLC是工控领域市场率较高的品牌之一,有低端CP/CH系列,中端CJ系列,高端NX/NJ系列.对于上位机开发来说,主要的协议有Hostlink协议.FinsTCP/UDP协议.EtherN ...

最新文章

  1. 决策树(chap3)Machine Learning In Action学习笔记
  2. Java学习之if---elif语句
  3. 【DIY】送给儿子的礼物——DIY故事机(音乐播放器)
  4. Angular list列表绑定的一个例子
  5. “互联网+”促传统企业三大转型
  6. python通用数据库连接_python连接数据库的几种方式!
  7. 编辑器内容FCKeditor的js验证以及FCKeditor内容是否为空判断
  8. 数据结构上机实践第14周项目2 - 二叉树排序树中查找的路径
  9. MacBook pro HTML 编写,老司机血泪劝告:买MacBook Pro一定不要买顶配!
  10. mysql 循环_MySQL存储过程中的3种循环【转载】
  11. 解决Matlab2016无法访问笔记本自带摄像头问题
  12. 如何上传蛋白质组数据
  13. html 画excel表格边框,只需五分钟!用Excel做出美观的表格
  14. linux 浮点异常,浮点数学函数异常处理方法
  15. FLV格式的视频歌曲地址600首,复制地址可插入外链播放器专用
  16. Android如何应对不同分辨率手机匹配问题
  17. dameonset 重启_安装Daemon Tools反复重启的解决方法
  18. 图片作为背景的相关方法
  19. 干货 :7招帮你打造完美数据科学GitHub作品集!
  20. python对numpy数组求导_NumPy数组计算——python

热门文章

  1. 向军html视频教程
  2. 天津大学计算机专业复试,天津大学计算机应用复试全过程及感受
  3. 推荐两个VS开发工具插件
  4. chinese linux
  5. C++生成十字绣图案(二) 面向对象
  6. 阿里云备案域名和普通备案域名的区别
  7. FastJson自定义复杂对象序列化
  8. scp免密传输文件总结
  9. c++转JAVA之路
  10. 利用CFX的结果,通过Tecplot画流线图