电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> plc工业软件使用 >> 正文

西门子S7-PLCSIM仿真软件的应用(工具软件学习)

作者:佚名    文章来源:网络    点击数:    更新时间:2024/7/21

西门子S7-PLCSIM仿真软件的应用(工具软件学习)

摘 要:介绍了用于模拟西门子S7-300和S7-400 PLC运行的仿真软件S7-PLCSIM。该软件可以模拟实际PLC的绝大多数功能,具有功能强、使用方便等优点。

关键词:PLC;调试;仿真

一、引言

PLC的用户程序设计好后,要用实际的PLC硬件来调试。但以下情况则需要对程序进行仿真调试:①程序设计好后,PLC硬件尚未购回;②控制设备不在本地,设计者需对程序进行修改和调试;③在实际系统中进行某些调试有

一定风险。

为了解决这些问题,一些PLC生产厂家提供了可代替PLC硬件调试的仿真软件,本文主要介绍西门子公司的S7一PLCSIM仿真软件。

二、S7-PLCSIM概述

1、S7-PLCSIM的主要功能

(1)可对S7-300和S7-400 PLC的用户程序进行离线仿真与调试,可访问模拟PLC的I/O存储器、累加器和寄存器。通过在仿真运行窗口中改变输入变量的ON/OFF状态来控制程序的运行,并观察有关输出变量的状态来监视程序运行的结果。

(2)可实现定时器和计数器的监视和修改,通过程序使定时器自动运行或手动复位。

(3)仿真软件还可模拟对位存储器、外围输入变量区和外围输出变量区的操作,以及对存储在数据块中的数据(如DBl.DBX0.0或DBl.DBW0等)的读写。

(4)可在仿真PLC中使用中断组织块测试程序的特性,并记录一系列操作事件及回放记录,从而自动测试程序。

2、S7-PLCSIM的主要组成部分

(1)仿真PLC

S7-PLCSIM用仿真PLC来模拟实际PLC的运行,用户可通过视图对象来调试程序。它提供的多种视图对象可实现对仿真PLC内的各种变量、计数器和定时器的监视与修改。

(2)视图对象

①CPU视图对象

开始新仿真时,将自动出现CPU视图对象,用户可用单选框来选择运行、停止和暂停工作方式;MRES按钮用来复位存储器、删除块和删除仿真PLC中的硬件设置。LED指示灯“SF'’表示软硬件错误;“RUN”与“STOP”表示运行与停止状态;“DP”(分布式外设或远程I/O)指示PLC与分布式外设或远程I/O的通信状态;“DC”(直流电源)指示电源的通断情况。

②插入视图对象

输入变量(I)、输出变量(Q)和位存储器(M)视图对象分别用于访问和监视相应的数据区,可以以位、二进制、十进制、十六进制、字符及字符串的形式访问。Q用于显示程序执行时输出的结果,一般不对其进行设置操作。

定时器和计数器视图对象用于修改定时器(T)和计数器(C)的实际值,并监视其运行。数据块寄存器视图对象用于监视块寄存器DB1和DB2的内容。此外还有通用变量、垂直位变量、累加器和状态字及堆栈视图对象,具体使用方法可查阅用户手册。

③LAY文档和PLC文档

LAY文档用于保存仿真时各视图对象的信息;PLC文档用于保存上次仿真运行时设置的数据和动作等,包括程序、硬件组态、CPU工作方式的选择、周期运行模式(单周期或连续运行模式)的选择、I/O状态、定时器的值、符号地址、电源的通/断情况等。

二、S7-PLCSIM应用实例

1、S7-PLCSIM模拟发动机控制程序的调试

以发动机控制程序的调试为例,介绍S7-PLCSIM的仿真功能,如图1。

 

图1 发动机控制程序梯形图

控制程序实现下述功能:按下开机按钮I1.0,发动机Q5.0和冷却风扇Q5.1开始运行;同时存放在MW2中的发动机的转速与程序中预置的转速(本例中为1500r/min)进行比较,超速时发出报警信号Q5.2;按下停机按钮I1.1,发动机停止运行,冷却风扇被定时器Tl延迟10s后停止运行。

使用S7-PLCSIM仿真软件调试程序的步骤如下:

(1)在STEP 7编程软件中生成的项目的主程序OBl中编写如图l的程序。

(2)点击STEP 7中SIMATIC管理器工具栏中的Simulation on/off图标,打开S7-PLC S7一PLCSIM窗口。

(3)在S7一PLCSIM窗口中新建PLC文档;用菜单命令PLC>Power ON接通仿真PLC的电源;将仿真PLC的CPU的工作方式置于STOP位置;用菜单命令Execute>Scan Mode>Continous Scan选择仿真PLC的扫描方式为连续扫描方式。

(4)在SIMATIC管理器中用菜单命令PLC>Download将程序下载到仿真PLC中。

(5)在S7-PLCSIM中创建输入字节IB1、输出字节QB5、位存储器MW2和定时器T1的视图对象,IB1和QB5以位的形式显示,MW2以十进制形式显示。

(6)在S7-PLCSIM中模拟实际系统的操作:

①开机控制。将仿真PLC的CPU置于RUN状态,给输入字节IB1的第0位(I1.0)施加脉冲,模拟按下启动按钮,即用鼠标点击IB1视图对象中第O位的单选框,出现符号“V”,IB1.0变为ON,再点击一次“V”消失,IB1.0变为OFF。IB0.0变为ON后,观察到输出字节QB5视图对象中的第0位和第1位(即Q5.0和Q5.1)ON,表明发动机开始运转,冷却风扇开始转动。

②速度监视。在发动机正常运行时,为了模拟采集到的实际转速,在位存储器MW2视图对象中分别输入十进制数1449、1500和2000(发动机的实际转速分别低于、等于和高于预置转速),观察到Q5.2的状态分别为OFF、ON和

ON,说明超速报警功能正常。

③停机控制。给I 1.1施加脉冲,观察到Q5.0立即变为OFF,表明发动机停止运行,同时Tl开始进行减计时,1 0 s后Q5.1也变为 0FF,冷却风扇停止转动。

(7)在使用S7-PLCSIM进行仿真时,可以显示OBl中的梯形图程序,用菜单命令

Debug>Monitor在梯形图中监视程序的运行情况。

(8)保存生成的LAY文档及 PLC文档,以便于下次仿真时直接使用本次的各种设置。

二、对错误组织块的仿真

实际的CPU检测到程序处理过程中的错误时,CPU会调用对应的错误组织块。S7-PLCSIM支持对硬件中断组织块OB40~OB47和一些错误组织块的仿真。OB80为时间错误组织块,若CPU的循环时间(扫描周期)大于允许的最大循

环时间,CPU自动调用OB80。

 

图2 OB1梯形图

为模拟CPU的这种功能,在主程序OB1中编写如图2所示的程序。在这段程序中,当I1.4为ON时,JMP(跳步)指

令的跳步条件满足,将跳回标号“HERE”处,程序进入死循环,CPU的扫描时间会超过最大循环时间;Q5.5为ON时,将切断这一“死循环”。在时间错误组织块 OB80中编写如图3所示的程序段,出现超时错误调用OB 80时,Q5.5变为ON状态,通过Q5.6和Q5.7可观察是否调用OB80。

 

图3 OB80梯形图

仿真过程如下:①在STEP 7管理器中将OB1和OB80下载到仿真 PLC中;②在S7-PLCSIM的仿真窗口中,将I1.4设置为OFF状态,仿真CPU的工作方式切换到RUN,可观察到仿真CPU处于正常工作状态,没有进入“死循环”,其扫描

周期没有超过最大循环时间,仿真CPU没有调用OB80,所以Q5.7不会ON。③将I1.4置为ON,运行仿真CPU,主程序进入“死循环”,当扫描周期大于最大循环时间时,观察到Q5.6变为ON,说明仿真CPU执行了OB80中的程序段,但在主程序中没有切断“死循环”,以后仿真CPU自动进入STOP工作方式。④将I1.4、I1.5均置为ON状态,运行仿真CPU,主程序进入“死循环”,当扫描周期大于最大循环时间时,仿真CPU调用OB80,Q5.5、Q5.6均变为ON,Q5.5在主程序中切断“死循环”,程序正常运行,仿真CPU不会进入STOP方式。

三、结束语

作者曾用S7-PLCSIM模拟调试某水轮发电机组的控制程序(包括PLC与计算机的通信程序),模拟调试的结果与PLC硬件的运行结果完全一致。由此可看出,S7-PLCSIM具有很强的仿真功能。


Plcsim常见问题

1、问题:当S7-PLCSIM已经运行,并且计算机已经与真实PLC有正确的编程连接方式,此时点击在线监控或者下载程序,STEP7所访问的节点是S7-PLCSIM还是真实PLC呢?

解答:S7-PLCSIM的优先级要高于真实PLC在线连接的优先级。也就是说,在S7-PLCSIM软件运行的情况下,所有的下载/上传/监控操作,都是针对S7-PLCSIM进行的,与真实PLC无关。有时计算机与真实PLC无法建立连接可能就是因为S7-PLCSIM正在运行,此时关闭S7-PLCSIM即可。

2、问题:S7-PLCSIM与WinLC有何区别?

解答:WinLC的特性相当于真实PLC的特性,所以此问题请参考本文中S7-PLCSIM与真实PLC区别的章节。

3、问题:为什么在S7-PLCSIM菜单中无法触发OB40?

解答:S7-PLCSIM仿真真实的PLC,由于OB40与硬件组态关系密切,所以只有在下载了硬件组态后(或者Block文件夹下的SDB文件),在S7-PLCSIM菜单中才可以触发OB40。

4、问题:S7-PLCSIM是否可以仿真通信程序,例如:PTP通信,以太网通信?

解答:S7-PLCSIM无法仿真通信程序,此问题请参考本文中S7-PLCSIM与真实PLC区别的章节。

5、问题:S7-PLCSIM是否可以仿真定时器或定时中断功能?

解答:S7-PLCSIM的本质是一个在Windows环境下运行的应用程序,所以其执行状态与计算机的性能及系统资源使用状态都有着密切的联系。其仿真程序的扫描周期也实时受计算机负荷的影响,程序扫描周期可能会延长到几十个毫秒或者几百个毫秒。因此,当S7项目中的定时器时基定义非常小(例如10 毫秒)时,或者定时中断周期非常小(例如几个毫秒)时,S7-PLCSIM(受Windows运行机制及计算机性能影响)是无法在这么短的时间内完成应有相应的。对于真实的PLC, 由于其实时功能是由硬件来保证的,所以不存在上述问题(如果程序量比较大,程序扫描周期大于定时器的预设时间,这种情况下应当使用定时中断功能代替定时器的使用)。所以对于时序逻辑要求不严格的程序逻辑,可以使用S7-PLCSIM仿真的;对于时序逻辑要求严格的程序逻辑,使用S7-PLCSIM仿真是不可靠的。

6、问题:为什么项目下载后,S7-PLCSIM 的SF点亮,但程序仿真执行不受影响?

解答:这种情况多出现于向低版本的S7-PLCSIM 软件下载了其无法识别的新硬件组态。用户升级S7-PLCSIM的软件版本即可。

Tags:仿真,西门子plc  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询