土木在线论坛 \ 电气工程 \ 工业自动化 \ (转)西门子S7-PLCSIM仿真软件的应用

(转)西门子S7-PLCSIM仿真软件的应用

发布于:2006-06-26 12:16:26 来自:电气工程/工业自动化 [复制转发]
关朝旺,廖常初(重庆大学电气工程学院,重庆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>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具有很强的仿真功能。

全部回复(7 )

只看楼主 我来说两句
  • zhangguangxin197
    怎么没图??
    2008-02-17 12:04:17

    回复 举报
    赞同0
  • czb821108
    czb821108 板凳
    很好
    2006-12-26 14:31:26

    回复 举报
    赞同0
加载更多
这个家伙什么也没有留下。。。

工业自动化

返回版块

17.92 万条内容 · 368 人订阅

猜你喜欢

阅读下一篇

污水处理自动控制系统

  求助于各位工控大狭帮我看看这工艺的程序怎么写呢?? 有三台污水泵用三台变频器调速,控制系统用欧姆龙CPM1A-30的PLC控制,元件有:一个紧急停止按钮遇到紧急状态此开关可以停止所有运行的系统功能。三个旋钮(3档)分别可以对相应的泵进行自动/停止/手动切换。三个启动和停止按钮可以分别对相应的泵进行自动开和停.手动点动启动。污水池有二个感应点一个高水为和低水位当一切正常就绪时两个点起自动开和关功能,手动功能不受此限制。污水处理设备有三个感应点分别是低水位,中水位,高水位.

回帖成功

经验值 +10