0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一种西门子PLC的网络仿真器搭建方法

工程师邓生 来源:FreeBuf 作者:thx0405 2022-09-08 17:29 次阅读

一、前言

在手上没有真实的西门子PLC设备情况的情况下,PLC本地仿真器可以为我们进行开关量和简单模拟量的程序仿真。但工控安全人员想在没有真实PLC的条件下获取S7通讯数据报文的时候,或者想测试第三方上位软件与西门子PLC通讯的时候,这种本地的PLC仿真器就无法胜任了,本文分享一种西门子PLC的网络仿真器搭建方法。

二、搭建方法

这里我们准备两个虚拟机,操作系统都为win7 64位专业版:1、操作机(准备Snap7 Client Demo工具及组态王软件,采用192.168.11.2IP地址)2、靶机(安装了step7 v5.5及plcsim v5.4 sp5,采用192.168.11.1IP地址)。

在靶机中打开SIMATIC Manager软件,新建项目test2,如下图:

b4834e72-2f57-11ed-ba43-dac502259ad0.jpg

在新建项目test2点击插入新对象,并选择SIMATIC 300站点,如下图:

b496d406-2f57-11ed-ba43-dac502259ad0.jpg

分别点击SIMATIC300(1)>硬件,进入硬件配置界面,如下图:

b4b22d5a-2f57-11ed-ba43-dac502259ad0.jpg

在HW Config界面下选择SIMATIC 300,并选择RACK-300下的Rail,如下图:

b4d0fc1c-2f57-11ed-ba43-dac502259ad0.jpg

在UR(0)对话框中的序号槽1中点击右键分别插入对象PS 307 2A,如下图:

b4dd1998-2f57-11ed-ba43-dac502259ad0.jpg

在UR(0)对话框中的序号槽2中点击右键分别插入对象CPU 314C-2PN/DP V3.3,,并新建子网设置ip地址为本PC级的IP地址,如下图:

b4f0ebf8-2f57-11ed-ba43-dac502259ad0.jpg

启动虚拟PLC,点击开始>所有程序>Siemens Automation>SIMATIC>STEP 7>S7-PLCSIM,如下图:

b50f4c56-2f57-11ed-ba43-dac502259ad0.jpg

进入S7-PLCSIM界面,选择PLCSIM(TCP/IP),如下图:

b51a47b4-2f57-11ed-ba43-dac502259ad0.jpg

回到HW Config对话框,选择下载到模块,如下图:

b53678ee-2f57-11ed-ba43-dac502259ad0.jpg

b556d22e-2f57-11ed-ba43-dac502259ad0.jpg

待下载完成,PLCSIM会显示PLC的地址为之前设置的IP地址,如下图:

b56f579a-2f57-11ed-ba43-dac502259ad0.jpg

启动NetToPLCSIM,点击bin>NetToPLCSim.exe,进入如下图:

b57e261c-2f57-11ed-ba43-dac502259ad0.jpg

点击add,弹出station对话框,在Network IP Address及Plcsim IP Address中选择IP地址为之前设置的ip地址,进入如下图:

b5b113f6-2f57-11ed-ba43-dac502259ad0.jpg

点击Start Server,PLC#001进入运行状态,表示PLC网络仿真器搭建成功进入如下图:

b5bd2628-2f57-11ed-ba43-dac502259ad0.jpg

三、攻击测试

在操作机中打开Snap7 Client Demo工具,填写仿真PLC的IP地址如:192.168.11.1,点击Connect,如下图:

b5d0bc38-2f57-11ed-ba43-dac502259ad0.jpg

再在control下点击stop按钮即停止PLC的命令,如下图:

b5ec96f6-2f57-11ed-ba43-dac502259ad0.jpg

查看靶机中仿真PLC的状态从run变为stop,同时可以用wireshark抓取其数据流量如下图:

b60614dc-2f57-11ed-ba43-dac502259ad0.jpg

b6197f22-2f57-11ed-ba43-dac502259ad0.jpg

b62bf83c-2f57-11ed-ba43-dac502259ad0.jpg

也可以在python中构建STOP包进行测试,如下图:

b6401542-2f57-11ed-ba43-dac502259ad0.jpg

四、第三方上位软件通讯测试

在靶机(192.168.11.1)的仿真PLC建立了这样一段简单图形图代码,一个简单的设备启停控制逻辑程序,%M0.0、%M0.1是指PLC的M类型的寄存器,0.0、0.1是M寄存器的某两个偏移地址,对应中间变量。%Q0.0是PLC的Q类型的寄存器,0.0是Q寄存器的某个偏移地址。在这个控制程序中,%M0.0(变量名为start)对应是监控画面上的启动按钮,进行对设备的启动操作,%M0.1(变量名为stop)对应是监控画面上的停止按钮,进行对设备的停止操作。%Q0.0(变量名为out),对应PLC的输出,即将控制信号输出给设备。如下图:

b657b86e-2f57-11ed-ba43-dac502259ad0.jpg

程序下载到仿真PLC后,对梯形图代码进行在线监控,这时输出为0,如下

b66d6722-2f57-11ed-ba43-dac502259ad0.jpg

在操作机(192.168.11.2)中定义仿真PLC的IP地址及寄存器的地址,如下图:

b683107c-2f57-11ed-ba43-dac502259ad0.jpg

b694146c-2f57-11ed-ba43-dac502259ad0.jpg

定义监控画面如下:

b6a293c0-2f57-11ed-ba43-dac502259ad0.jpg

按下start按钮,圆形显示变为绿色,证明我们按钮发出的指令,仿真PLC收到启动信号,将输出置为1,并将仿真PLC输出的结果反馈到监控画面,同时我们监控靶机中仿真PLC的程序,我们发现仿真PLC输出也是为1,证明操作机中组态王上位机与靶机中的虚拟机通讯成功,如下图

b6b3440e-2f57-11ed-ba43-dac502259ad0.jpg

b6c89098-2f57-11ed-ba43-dac502259ad0.jpg

同时我们可以获取操作机的组态王(192。168.11.2)与靶机PLC仿真器(192168.11.1)的通讯报文,各类功能码的数据报文,根据具体的操作。

b6d79f48-2f57-11ed-ba43-dac502259ad0.jpg

五、总结

本文通过研究西门子PLC的网络仿真搭建方法,为工控安全人员研究西门子s7协议提供一个便捷、实惠的渠道,无需花费大量的资金采购真实的PLC设备,同时也可为PLC工程师提供一种测试第三方上位软件与西门子通讯的方法,更为重要的是,这种西门子PLC的网络仿真搭建方法,可以胜任多人在局域网络中对西门子PLC的安全研究工作(例如实训平台),只需启动更多的靶机和操作机即可。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4974

    文章

    12250

    浏览量

    454862
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82989
  • 虚拟机
    +关注

    关注

    1

    文章

    854

    浏览量

    27371

原文标题:西门子PLC的网络仿真搭建方法探讨

文章出处:【微信号:西北工匠PLC学习基地,微信公众号:西北工匠PLC学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三菱or西门子品牌PLC的区别

    三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,但指令较多。而西门子PLC是德国品牌,指令比较抽象,学习难度较大,但指令较少,所以学习三菱和学习西门子的周期是一样的。
    发表于 02-20 14:09 203次阅读

    西门子PLC和施耐德PLC区别

    西门子PLC系统的设计、建造工作量小,维护方便,容易改造,西门子PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。
    发表于 01-17 10:14 746次阅读

    西门子plc单按钮启停的十种方法(博途1200/1500PLC

    西门子博途1200/1500PLC单按钮启停控制10种设计方法
    发表于 08-31 09:15 3161次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>plc</b>单按钮启停的十种<b class='flag-5'>方法</b>(博途1200/1500<b class='flag-5'>PLC</b>)

    西门子PLC系列的区别 西门子PLC指示灯报警解决方案

    西门子是全球知名的自动化解决方案提供商,其PLC(可编程逻辑控制器)系列产品广泛应用于工业控制领域。不同系列的PLC在功能、性能和适用范围上有所区别。本文将详细介绍西门子
    发表于 08-04 10:15 2057次阅读

    基于TIA搭建西门子PLC仿真环境及通信方案

    随着工控及上位机的广泛应用,在学习过程中,很多时候,我们都需要软件和硬件的结合。本方案主要用于解决在学习过程中PLC硬件的需求,以西门子PLC为例,详细描述了基于TIA博途系列软件实现西门子
    的头像 发表于 07-26 09:41 677次阅读
    基于TIA<b class='flag-5'>搭建</b><b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>仿真</b>环境及通信方案

    西门子PLC常用的几种加密方式

    【导读】分享西门子PLC常用的几种加密方式,看看你喜欢哪一种
    的头像 发表于 07-13 09:32 845次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>常用的几种加密方式

    西门子PLC编程技巧(软件篇)

    为大家整理一些西门子PLC的软件编程小窍门
    的头像 发表于 07-10 09:34 1434次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>编程技巧(软件篇)

    西门子PLC控制经典案例

    西门子PLC控制经典案例
    的头像 发表于 06-27 14:02 2631次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>控制经典案例

    西门子软件PLC与组态软件通讯实例

    【导读】分享西门子虚拟PLC与组态软件iFIX之间TCP/IP仿真通讯。
    的头像 发表于 06-19 11:00 1184次阅读
    <b class='flag-5'>西门子</b>软件<b class='flag-5'>PLC</b>与组态软件通讯实例

    西门子PLC通过网口无线采集多处分散IO信号

    想实现西门子PLC通过网口无线采集多处分散IO信号,实际上就是,在Profinet通讯协议下,通过RJ45口,搭建一个西门子PLC与IO模块
    的头像 发表于 06-09 09:16 601次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>通过网口无线采集多处分散IO信号

    西门子PLC S7-1500系列与西门子变频器G120之间实现DP通讯功能

    西门子变频器SINAMICS G120是西门子变频器SINAMICS的一种产品,专门为各类交流电动机提供速度控制和转矩控制,并且具有精度高,经济性好的特点。在实际的工程项目中,用户可以通过操作面板
    的头像 发表于 05-12 16:49 3791次阅读

    C#西门子PLC上位机开发环境搭建

    一、安装软件   1. TIA_Portal_STEP7 15 博途,西门子的自动化开发软件 2. SIMATIC_S7PLCSIM_V15_1 西门子仿真软件 3. NetToPLCsim C#
    发表于 05-08 10:07 2次下载
    C#<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>上位机开发环境<b class='flag-5'>搭建</b>

    西门子PLC通讯知识汇总

    西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?
    的头像 发表于 05-06 10:35 1209次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>通讯知识汇总

    西门子S7-200PLC西门子变频器MM440通讯程序实例

    西门子S7-200PLC西门子变频器MM440通讯程序实例
    的头像 发表于 05-04 09:54 3559次阅读
    <b class='flag-5'>西门子</b>S7-200<b class='flag-5'>PLC</b>与<b class='flag-5'>西门子</b>变频器MM440通讯程序实例

    西门子PLC S7-1500系列的工艺模块说明

    西门子PLC S7-1500系列是西门子PLC系列的创新产品,它在性价比,运行能力,通讯功能,扩展性能,响应速度,显示功能等方面,相比西门子
    的头像 发表于 04-27 14:50 2609次阅读