基于S7-PLCSIM Advanced搭建S7通信仿真环境
写在前面:
之前有专门讲过一期如何搭建西门子PLC的S7通信仿真环境,感兴趣的可以点击查看:戳↓
那种方式是基于TIA + PLCSIM +NetToPLCSIM实现功能,涉及到的软件有点多,而且只能模拟S7通信,对于其他的通信,就不适用了。那么,有没有一种方式,可以用最少的软件,仿真出最多的通信呢?答案是有的,今天来给大家分享一个软件及其使用方法,即S7-PLCSIM Advanced,S7-PLCSIM Advanced是SIEMENS推出的一款高功能仿真器,它的显著特点是除了可以仿真一般的PLC逻辑控制程序外还可以仿真通信,功能是非常强大的,今天主要讲述如何基于S7-PLCSIM Advanced搭建S7通信仿真环境。
1.PLCSIM-Advanced安装
对于该软件的获取,大家可以去西门子相关网站下载,也可以直接关注喜科堂上位机官方公众号-dotNet工控上位机,然后发送关键词PLCSIM-Advanced,即可下载使用。
图表 1 PLCSIM Advanced软件
PLCSIM-Advanced的安装也比较简单,基本上是一路NEXT即可,但是主要的是PLCSIM-Advanced会依赖WinPcap软件,所以大家可以提前安装好WinPcap,即使不提前安装,安装过程中也会提示你安装的。
安装完成后,电脑中会额外多出一个虚拟网卡,名称为Siemens PLCSIM Virtual Ethernet Adapter,如下图:
图表 2网卡列表
2.PLCSIM-Advanced使用
安装完成后,桌面上会多出一个图标,即S7-PLCSIM Advanced V3.0,如下图所示:
图表 3 PLCSIM Advanced图标
该软件的使用可以按照下方的步骤执行和确定,一定要记住以下需要注意的地方,否则一个很小的问题,可能会让你浪费半天的时间,这样就得不偿失了。
(1)软件要以管理员权限运行:可以直接每次右击,以管理员权限运行,如果想一劳永逸,可以点击图标,右击属性,在兼容性中,将以管理员身份运行此程序的选项勾选。
图表 4设置管理员权限运行
(2)将本地网卡及虚拟网卡的IP地址获取设置为自动获取。
(3)设置PG/PC接口:
通过控制面板,打开设置PG/PC接口界面,按照下图所示设置应用程序访问点:
图表 5设置PG/PC接口
(4)打开PLCSIM-Advanced,依次按照步骤进行设置:
图表 6设置PLCSIM-Advanced
(5)使用博图创建一个简单项目,一定要选择1500PLC,PLCSIM-Advanced只支持1500PLC,但是对学习通信来说,没什么影响。
(6)勾选允许Put/Get访问:
图表 7设置允许PUT GET访问
(7)点击项目,右击属性,将保护中的块编译时支持仿真选项勾选:
图表 8设置块编译支持仿真
(8)下载PLC程序时,将PG/PC接口设置成Siemens PLCSIM Virtual Ethernet Adapter。
图表 9选择PG/PC接口
(9)选择显示所有兼容的设备,点击开始搜索,搜索到之后,点击下载即可。
图表 10搜索设备下载
3.通信测试
上述操作完成之后即完成了整个环境搭建的过程,下面使用喜科堂的通信测试平台软件进行通信测试,设置IP地址为192.168.1.20(根据实际情况修改),PLC类型选择S7-1500,点击连接,连接成功后,设置一个变量地址,这里注意的是,如果要读取DB存储区的地址,需要将DB块去除优化访问,对于M存储区则没要求,这里设置一个M区地址MD10,类型选择浮点型,点击读取,读取完成后,设置一个数值,点击写入之后,再读取,同时观察PLC中的数据,看看是否同步变化,如果同步变化,说明仿真环境搭建成功。
图表 11新阁通信测试平台
写在最后:
本文旨在结合SIEMENS推出的一款高功能仿真器PLCSIM-Advanced软件实现快速搭建S7通信仿真环境,对于从事上位机开发,想要学习西门子通信,手头又没有硬件的学员来说,无疑是一大利好,PLCSIM-Advanced不仅可以仿真S7通信,还可以仿真TCP、ModbusTCP,甚至OPCUA,后续将逐步进行介绍。
第七期训练营
C#/.NET上位机开发之PLC语音控制
扫码报名↓
欢迎关注“新阁上位机编程”抖音号
不定期发布上位机实用小技巧哦
快来学习互粉呀~
(长按下方图片保存到手机相册,打开抖音扫码关注哦!相信你肯定会)
基于S7-PLCSIM Advanced搭建S7通信仿真环境的更多相关文章
- 搭建Modelsim SE仿真环境-使用do文件仿真
本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera ...
- 基于Visual Studio Code搭建Golang开发调试环境【非转载】
由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g ...
- Spark集群基于Zookeeper的HA搭建部署笔记(转)
原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...
- 基于 Mathematica 的机器人仿真环境(机械臂篇)[转]
完美的教程,没有之一,收藏学习. 目的 本文手把手教你在 Mathematica 软件中搭建机器人的仿真环境,具体包括以下内容(所使用的版本是 Mathematica 11.1,更早的版本可能缺少某些 ...
- 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信
前言:随着工业化的发展,目前越来越多的开发,从互联网走向传统行业.其中,工业领域也是其中之一,包括各大厂也都在陆陆续续加入工业4.0的进程当中. 工业领域,最核心的基础设施,应该是与下位硬件设备或程序 ...
- 【新阁教育】穷学上位机系列——搭建STEP7仿真环境
经常有学员问我,学习上位机要不要买PLC硬件? 我一般的回答是:富则自行购买,穷则搭建仿真. PLC硬件,对于学习上位机来说,是锦上添花的事,经济条件允许,有则更好,条件不允许,我们也可以通过搭建仿真 ...
- windows平台下基于QT和OpenCV搭建图像处理平台
在之前的博客中,已经分别比较详细地阐述了"windows平台下基于VS和OpenCV"以及"Linux平台下基于QT和OpenCV"搭建图像处理框架,并 ...
- 基于DRL和TORCS的自动驾驶仿真系统——之环境配置
基于DRL和TORCS的自动驾驶仿真系统 --之环境配置 玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以 ...
- Veins(车载通信仿真框架)入门教程(二)——调用第三方库
Veins(车载通信仿真框架)入门教程(二)——调用第三方库 在借助Veins进行自己的研究时我们经常需要实现一些比较复杂的功能,有时就需要借助第三方库的帮助. 博主的研究需要使用神经网络,但是自己编 ...
随机推荐
- Integer和int及String的总结
秉承着总结发表是最好的记忆,我把之前遇到的问题在这里总结和大家分享一下,希望大家共同进步: 一.Integer和int首先说下自动拆装箱,基本数据类型转换为包装类型的过程叫装箱,反之则是拆箱,其中最特 ...
- 学习bootstarp第一天
一.下载bootstarp(https://v3.bootcss.com/),解压并将文件放入自己项目里去使用即可 二.安装bootstarp <!DOCTYPE html> <h ...
- 第 4 篇:用类视图实现首页 API
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 django-rest-framework 类视图拓展自 django 的类视图,只 ...
- Java 函数式接口
目录 Java 函数式接口 1. 函数式接口 1.1 概念 1.2 格式 1.3 函数式接口的使用 2. 函数式编程 2.1 Lambda的延迟执行 性能浪费的日志案例 使用Lambda表达式的优化 ...
- Jmeter系列(11)- 并发线程组Concurrency Thread Group详解
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Concurrency Thread ...
- [hdu5323]复杂度计算,dfs
题意:求最小的线段树的右端点(根节点表示区间[0,n]),使得给定的区间[L,R]是线段树的某个节点. 数据范围:L,R<=1e9,L/(R-L+1)<=2015 思路:首先从答案出发来判 ...
- python 基础应用3
1.使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. #使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. s = ...
- mfw
0x01 可能为git泄露 git泄露 githack下载源码 index.php <?php if (isset($_GET['page'])) { $page = $_GET['page'] ...
- iOS中的系统目录(Documents、tmp、Library)、RunLoop的一些知识点
学习内容 欢迎关注我的iOS学习总结--每天学一点iOS:https://github.com/practiceqian/one-day-one-iOS-summary 实现轮播图需要注意的地方 需要 ...
- 前端面试题-WebSocket的实现和应用
(1)什么是WebSocket? WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接.Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-a ...