西门子S7-PLCSIM仿真软件的应用 关朝旺,廖常初(重庆大学电气工程学院,重庆400044) 摘 要:介绍了用于模拟西门子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>PowerON接通仿真PLC的电源;将仿真PLC的CPU的工作方式置于STOP位置;用菜单命令Execute>ScanMode>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具有很强的仿真功能。 |