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

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

3天内不再提示

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

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

一、前言

在手上没有真实的西门子PLC设备情况的情况下,PLC本地仿真器可以为我们进行开关量和简单vwin 量的程序仿真。但工控安全人员想在没有真实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的安全研究工作(例如实训平台),只需启动更多的靶机和操作机即可。




审核编辑:刘清

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

    关注

    5001

    文章

    12926

    浏览量

    459024
  • 仿真器
    +关注

    关注

    14

    文章

    1007

    浏览量

    83425
  • 虚拟机
    +关注

    关注

    1

    文章

    887

    浏览量

    27793

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

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

收藏 人收藏

    评论

    相关推荐

    西门子PLC的复位操作

    西门子PLC(Programmable Logic Controller,可编程逻辑控制)是一种广泛应用于工业自动化领域的控制设备。在实际应用过程中,有时需要对
    的头像 发表于 08-16 17:46 575次阅读

    西门子plc温度模块怎么编程

    )是一种广泛应用于工业自动化领域的控制。温度模块是PLC系统中用于测量和控制温度的设备,可以实时监测和调节温度,保证生产过程的稳定性和安全性。 二、硬件选择 选择合适的PLC型号
    的头像 发表于 07-25 09:43 518次阅读

    西门子PLC与NPN、PNP传感接线方式,超全讲解!

    特点 西门子PLC一种广泛应用于工业自动化控制的设备,具有以下特点: 1.稳定性高:西门子PLC采用先进的微处理
    的头像 发表于 07-12 14:43 415次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>与NPN、PNP传感<b class='flag-5'>器</b>接线方式,超全讲解!

    西门子PLC开放式TCP通信原理

    随着工业自动化技术的不断发展,西门子PLC(可编程逻辑控制)作为工业自动化领域的核心设备,其通信功能日益受到重视。开放式TCP通信作为西门子PLC
    的头像 发表于 06-19 16:00 1032次阅读

    西门子PLC与ABB变频通讯怎么实现

    在现代工业自动化领域中,西门子PLC(Programmable Logic Controller,可编程逻辑控制)与ABB变频之间的通讯是实现高效、稳定控制的关键环节。
    的头像 发表于 06-19 15:29 1475次阅读

    西门子PLC与IO模块如何通讯

    在现代工业自动化控制系统中,西门子PLC(Programmable Logic Controller)以其卓越的性能和稳定性赢得了广泛应用。而在西门子PLC系统中,IO模块(Input
    的头像 发表于 06-19 10:46 1054次阅读

    西门子PLC中OB块的功能详解

    西门子PLC(Programmable Logic Controller)作为工业自动化领域的核心设备,其内部功能强大、应用广泛。在西门子PLC中,OB块(Organization B
    的头像 发表于 06-15 11:27 2423次阅读

    西门子PLC的作用和工作原理

    在工业自动化领域中,可编程逻辑控制(Programmable Logic Controller,简称PLC)扮演着至关重要的角色。西门子PLC,作为
    的头像 发表于 06-15 11:26 975次阅读

    西门子PLC的发展历史

    西门子,作为全球知名的工业自动化和数字化企业,其PLC(可编程逻辑控制)产品的发展历程是工业自动化领域的重要篇章。从早期的二进制控制到如今的智能化、
    的头像 发表于 06-15 11:26 1108次阅读

    西门子PLC与伺服控制如何通讯

    在工业自动化领域中,西门子PLC(Programmable Logic Controller,可编程逻辑控制)与伺服控制之间的通讯是实现高效、精确控制的关键环节。本文旨在详细阐述
    的头像 发表于 06-14 15:49 1059次阅读

    西门子PLC总线故障怎么解决

    在工业自动化领域,西门子PLC(Programmable Logic Controller,可编程逻辑控制)以其高可靠性、强稳定性和丰富的功能而备受青睐。然而,在实际应用中,PLC
    的头像 发表于 06-13 18:18 1472次阅读

    工业智能网关通过串口/网口实现西门子PLC实时通信

    在工业物联网场景中,西门子PLC是常见的生产设备,常常作为下位机,实现与组态上位机的实时通信,主要分为两通信方式,一种是以太网通信,一种
    的头像 发表于 06-13 10:46 335次阅读
    工业智能网关通过串口/网口实现<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>实时通信

    西门子plc的多轴控制能力介绍

    西门子PLC(Programmable Logic Controller,可编程逻辑控制)是一种广泛应用于工业自动化领域的控制设备。它可以根据不同的控制需求,实现对各种机械设备的精确
    的头像 发表于 06-12 11:14 677次阅读

    西门子plc模块型号详解

    西门子PLC(Programmable Logic Controller,可编程逻辑控制)是工业自动化领域中非常重要的一种设备,其模块化的设计使得其应用范围非常广泛。本文将详细介绍
    的头像 发表于 06-11 16:18 3245次阅读

    西门子PLC和施耐德PLC区别

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