初识上位机(上):搭建PLC模拟仿真环境
大家好,我是Edison。
作为一个工业自动化领域的程序员,不懂点PLC和上位机,貌似有点说不过去。这里我用两篇小文带你快速进入上位机开发领域。后续,我会考虑再出一个系列文章一起玩工控上位机。
什么是上位机
上位机,通常是指在数据采集与控制系统中位于较高层级、具有较强数据处理能力和控制功能的计算机设备。它通过通信接口(如串口、网口等)与下位机(如PLC、单片机或其他智能设备)进行数据交换和指令传达,实现对下位机的监控、配置、数据收集和分析等功能。简单理解,就是对PLC进行监控和数据采集分析。

做上位机开发的必备软件
建议下载和安装下列软件:
Windows下网络工具 - WinPcap
西门子PLC模拟软件 - PLCSIM Advanced v3.0
西门子博途软件套件 - TIA Portal v15
关注EdisonTalk公众号,并在公众号内回复“上位机”,可以获得我整理好的下载链接。
建议按照WinPcap -> PLCSIM -> TIA Portal的顺序安装。
至于安装过程,可以自行搜索,或参考下列文章。所有软件仅供学习参考,本文不做详细解读:
常哥说编程《西门子软件安装指南》
配置虚拟网卡
安装完成PLCSIM Advanced后,会多一个虚拟网卡出来。

这里我们点开这个虚拟网卡,设置一下静态IP。

创建一个虚拟PLC
打开PLCSIM Advanced,按照下列步骤创建一个PLC实例。这里需要注意的实,PLC实例的IP地址需要和刚刚设置的虚拟网卡在同一个网段,这里是192.168.10.x。

创建完成后,由于PLC实例并未正式启动,因此亮黄灯。
创建博途自动化项目
接下来就是最为关键的步骤,打开博途TIA Portal,进行以下操作:
(1)创建一个项目

(2)添加PLC设备

(3)添加完成后得到项目视图

(4)为设备设置“允许来自远程对象的PUT/GET通信访问”

(5)为项目设置“块编译时支持仿真”

(6)为设备设置IP地址

注意:上面截图中的IP地址我当时写错了,应该是192.168.10.200,和虚拟PLC的IP地址保持一致!
(7)为设备添加一个数据块,取名“DB01”

(8)添加一些字段,并点击编译按钮,编译完成后得到偏移量

(9)点击下载到设备的按钮,并选择虚拟网卡,然后搜索到我们的虚拟PLC设备,最后点击下载。


验证PLC实例状态
成功装载到设备后,我们的PLC实例的状态就会由黄灯 变为 绿灯,说明已经正常启动好了。

那么,接下来,我们就可以通过C#编写一个DEMO来读取和写入PLC的数据块中的数据了。
那就留到下一篇吧,请保持关注。

初识上位机(上):搭建PLC模拟仿真环境的更多相关文章
- 基于S7-PLCSIM Advanced搭建S7通信仿真环境
写在前面: 之前有专门讲过一期如何搭建西门子PLC的S7通信仿真环境,感兴趣的可以点击查看:戳↓ 1.基于TIA搭建西门子PLC仿真环境及通信方案-联合出品 2.手把手教你搭建西门子PLC仿真环境 那 ...
- Ubuntu上搭建Watir-Webdriver与Cucumber环境
本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...
- mac上搭建appium+IOS自动化测试环境(二)
上一篇: mac上搭建appium+IOS自动化测试环境(一) 9.安装appium-xcuitest-driver依赖 进入WebDriverAgent安装目录,运行bootstrap 首先进入目录 ...
- mac上搭建appium+IOS自动化测试环境(一)
阅读须知 由于OS X系统最近才开始接触,所以有些东西也不是很清楚,这里只提供方法不提供原理,能解释清楚的我也会尽量解释.可能也有一些地方说的不严谨或有错的,还望大家指点一二. 实验环境 操作系统: ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- 【新阁教育】穷学上位机系列——搭建STEP7仿真环境
经常有学员问我,学习上位机要不要买PLC硬件? 我一般的回答是:富则自行购买,穷则搭建仿真. PLC硬件,对于学习上位机来说,是锦上添花的事,经济条件允许,有则更好,条件不允许,我们也可以通过搭建仿真 ...
- c#上位机与三菱PLC(FX3U)串口通讯
项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y ...
- 搭建Modelsim SE仿真环境-使用do文件仿真
本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera ...
- 在Ubuntu上搭建kindle gtk开发环境
某个角度上说,kindle很类似android,同样的Linux内核,同样的Java用户层.不过kindle更注重简单.节能.稳定.Amazon一向认为,功能过多会分散人们阅读时候的注意力. Kind ...
- 1、在MAC上搭建React Native开发环境
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
随机推荐
- OpenHarmony社区运营报告(2023年5月)
本月快讯 ● 2023年6月11-13日,2023开放原子全球开源峰会即将在北京北人亦创国际会展中心盛大开幕.2023开放原子全球开源峰会上,OpenAtom OpenHarmony(以下简称&q ...
- 【直播回顾】参与文档贡献,开启OpenHarmony社区贡献
5月25日晚上19点,战"码"先锋第二期直播 <参与文档贡献,开启OpenHarmony社区贡献> ,在OpenHarmony社群内成功举行. 本期课程,由华为 ...
- 双向链表的基本实现【数据结构与算法—TypeScript 实现】
笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 双向链表:拥有两个指针方向的链表 DoublyNode 结构: prev:指向上一个节点 value:节点值 next: ...
- VIM YouCompleteMe(ycm) 对于Python3第三方库的自动补全【部分解决】
VIM YouCompleteMe(ycm) 对于Python3第三方库的自动补全[部分解决] Python3 学习笔记 问题:VIM 用YouCompleteMe(ycm)自动补全插件时,只能支持P ...
- [CentOS]压缩+解压+打包命令大全
[CentOS]压缩+解压+打包命令大全 --------------- .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注 ...
- 推荐两款HTTP请求Mock利器
1.背景 在日常测试过程中或者研发开发过程中,目前接口暂时没有开发完成,测试人员又要提前介入接口测试中,测试人员不仅仅只是简单的编写测试用例,也可以通过一些mock的方法进行来提前根据接口测试的情况进 ...
- docker 应用篇————nginx 例子[六]
前言 简单整理一下nginx 例子. 正文 拉取nginx 镜像. docker pull nginx 那么会拉取nginx:latest 这个. 如果需要其他的,可以去官网查询一下. 2.docke ...
- 实训篇-Html-多媒体标签
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- javascript现代编程系列教程之六——数字型数据类型转换
一.整数转换 在 JavaScript 中,parseInt() 函数会将其参数转换为字符串,然后解析该字符串,并返回一个整数或 NaN.如果 parseInt() 函数的参数是一个非常大的浮点数(如 ...
- 《c#高级编程》第4章C#4.0中的更改(九)——协变和逆变
动态字典(Dynamic Dictionary)是指一个键值对集合,其中键和值的类型都可以在运行时确定并且可以动态变化.在C#中,可以使用 dynamic 关键字来实现这一功能. 例如,下面的代码演示 ...