初识上位机(上):搭建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 ...
随机推荐
- #整体二分,树状数组#洛谷 3332 [ZJOI2013]K大数查询
题目 分析 虽然树套树也可以做,这里考虑整体二分, 对于二分的答案\(mid\),1操作实际上就是如果\(c>mid\)就给区间整体加1, 2操作即询问区间和是否超过\(k\),如果超过\(k\ ...
- 深入理解 Spring IoC 和 DI:掌握控制反转和依赖注入的精髓
在本文中,我们将介绍 IoC(控制反转)和 DI(依赖注入)的概念,以及如何在 Spring 框架中实现它们. 什么是控制反转? 控制反转是软件工程中的一个原则,它将对象或程序的某些部分的控制权转移给 ...
- Android 开发入门(4)
0x06 中级控件 (1)图形绘制 a. 图形 Drawable Drawable 类型包括图片.色块.画板.背景 drawable 目录一般保存描述性 XML 文件,具有具体分辨率的 drawabl ...
- redis 简单整理——pipeline[十]
前言 简单整理一下pipeline. 正文 1)发送命令 2)命令排队 3)命令执行 4)返回结果 其中1)+4)称为Round Trip Time(RTT,往返时间). pipeline它能将一组R ...
- 重新整理数据结构与算法(c#)—— 线索化二叉树[二十]
前言 为什么会有线索化二叉树呢? 是这样子的,二叉树呢,比如有n个节点,那么就有n+1个空指针域. 这个是怎么来的呢?比如我们假如一个节点都有左子树和右子树,那么就有2n个节点. 但是我们发现连接我们 ...
- Spring开发:动态代理的艺术与实践
本文分享自华为云社区<Spring高手之路17--动态代理的艺术与实践>,作者: 砖业洋__. 1. 背景 动态代理是一种强大的设计模式,它允许开发者在运行时创建代理对象,用于拦截对真实对 ...
- Webpack中Loader和Plugin的区别?编写Loader,Plugin的思路?
一.区别 前面两节我们有提到Loader与Plugin对应的概念,先来回顾下 loader 是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译.压缩等,最终一起打包到指定的文件中 pl ...
- Django框架——ORM执行SQL语句、神奇的双下划线、外键字段的创建、跨表查询、进阶操作
ORM执行SQL语句 有时候ORM的操作效率可能偏低 我们是可以自己编写SQL的 方式一: models.User.objects.raw('select * from app01_user') 方式 ...
- JavaServlet类
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友.您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!" 介绍Ser ...
- Spring 源码阅读(一)环境搭建
注意事项: 使用 2024-03-14 发布的 Spring 5.3.33 版本 IDE 工具使用了 Intellij IDEA,同时为了简化不必要的内容没单独配置 Gradle 环境 JDK 版本采 ...