西门子S7-200 PLC应用100例(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-04 07:12:54

点击下载

作者:杨后川,张瑞,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

西门子S7-200 PLC应用100例

西门子S7-200 PLC应用100例试读:

前言

可编程控制器(PLC)是在计算机技术、通信技术和继电器控制技术的发展基础上开发而来的,是一种数字运算操作的电子系统。它以微处理器为核心,用编写的程序进行逻辑控制、定时、计数和算术运算等,并通过数字量和模拟量的输入/输出来控制机械设备或生产过程。

目前,PLC已广泛应用于机械制造、冶金、化工、电力、交通、采矿、建材、轻工、环保、食品等行业,既可用于老设备的技术改造,又可用于新产品的开发。因此,对于从事工业控制研发技术人员来说,PLC系统的设计与应用已经成为了必须掌握的一门专业技术。

西门子公司的S7-200系列小型PLC具有功能强、性价比高的特点,深受国内用户的欢迎。由于PLC是一门应用性很强的技术,在入门与应用上,仅仅凭借西门子公司提供的说明书是很不够的。因此本书在有关资料的基础上,以编程和工程应用实例为主旨,按基础知识、扩展提高和高级应用的顺序,循序渐进、深入浅出地介绍了多种编程方法和PLC在工业应用中的问题。

全书共分九章,其中1~3章是基础知识内容,通过实例介绍S7-200 PLC的基本系统、编程指令及基本控制程序;4~6章为扩展提高内容,重点介绍PLC扩展应用、顺序功能图设计和实际应用的综合编程方法;7~9章为高级应用内容,对PLC通信、人机界面以及综合应用进行了描述。

本书由杨后川、张瑞、高建设、曾劲松编著,参加编写的人员还有李杰和杨玉琳等。本书的第1章、第4章和第6章由高建设编写,第2章和第7章的第7节由曾劲松编写,第3章第2、3节、第5章第2、3节和附录由杨后川编写,第7章的1~6节、第8章和第9章由张瑞编写,第3章第1节由李杰编写,第5章第1节由杨玉林。全书由杨后川副教授和张瑞博士统稿并定稿。

苏智剑教授担任本书主审。他仔细审阅了全部书稿,提出了许多宝贵的意见和建议,在此表示诚挚的谢意!

在编写过程中,作者参阅和引用了西门子公司最新技术资料和有关院校、工厂、科研院所的一些教材、文献,有些正式出版的文献已在书的参考文献中列出,有些难免遗漏,对未能列出的文献和资料,编著者向其作者表示诚挚的感谢。

由于时间仓促,加之水平有限,书中的缺点和不足之处在所难免,敬请读者批评指正。

编著者

2009年1月

第1章 认识西门子S7-200 PLC

PLC是Programmable Logic Controller的缩写,意为可编程逻辑控制器。通常也可称为PC(Programmable Controller),即可编程控制器。它是以微处理器为基础,综合了计算机技术、半导集成体技术、自动控制技术、数字技术和通信技术而发展起来的一种通用的工业自动化控制装置,在工业生产中已获得极其广泛的应用。PLC技术和机器人技术、CAD/CAM技术已经成为现代工业的3大支柱。德国西门子公司生产的PLC品种齐全,功能强大,性能优越,有很高的市场认可度。其中,西门子S7-200 PLC是一种深受市场欢迎的小型模块化PLC,该系列PLC主要由CPU模块和丰富的扩展模块组成。可以根据实际需要,灵活配置,再加上其强大的指令系统可以近乎完美地满足小规模系统的控制要求。

本章以3个典型的应用实例介绍西门子S7-200 PLC的硬件组成、用户程序开发过程及其工作原理。

1.1 认识西门子PLC的硬件

实例1:单输入/单输出控制

实例说明

本实例主要实现指示灯的控制。通过本实例,认识西门子PLC主要实现的功能。图1-1 单输入/单输出控制系统PLC接线图

实例实现

如图1-1所示是最基本的PLC单输入/单输出控制系统的接线图。它由一个按钮、一个指示灯和一台PLC主机模块组成。最简单的情况是当按下按钮时,指示灯亮;松开按钮时,指示灯灭。

实例分析

从PLC的接线图中可以看出,PLC模块连接了输入和输出,处于核心地位。

有了对S7-200 PLC的初步认识,下面主要介绍S7-200 PLC的主机模块和I/O接线。1.1.1 S7-200 PLC的主机模块

S7-200 PLC的主机模块将一个微处理器、一个集成电源和一定数量的数字量I/O端子集成封装在一个独立、紧凑的设备中,从而形成了一个功能强大的微型PLC。由于主机模块中封装了负责执行程序和存储数据的微处理器,因此也常被称为CPU模块。其外观面板布置如图1-2所示。

打开CPU模块的顶部端子盖可以看到电源及输出端子。CPU模块通过电源端子获得工作电流。S7-200 PLC可以接受交流110 V/230 V或直流24 V电源作为工作电源。需要注意的是,一个CPU模块的电源只能接交流电源或接直流电源。实例1中接的是交流220V的电源。揭开底部端子盖,可以看到输入端子及传感器电源。输入端子和输出端子是系统的控制点,输入部分从现场设备(实例中的按钮)中采集信号;输出部分则控制泵、电动机及工业过程中的其他设备。图1-2 S7-200 CPU模块面板布置

在前盖下面是PLC的工作模式(RUN/STOP)选择开关、电位器和扩展I/O连接端口。PLC有RUN和STOP两种工作模式,只有在RUN模式时,用户编写的程序才会被执行。所以可通过模式开关来控制用户程序的执行。通过电位器可以使用户根据需要进行一些控制参数的输入。随着控制系统规模和功能的增加,一个CPU模块往往满足不了需要,这时可以通过扩展I/O连接端口进行扩展(S7-200 CPU221除外),以提升PLC的控制能力和通信能力。

在CPU模块左上角的状态LED信号灯显示了CPU的工作模式(运行或停止),本机I/O的当前状态,以及检查出的系统错误。另外,通信端口允许将S7-200同编程器或其他一些设备连接起来。一些CPU具有内置的实时时钟,其他CPU则需要实时时钟卡。通过可选的插入式电池盒可延长RAM中的数据存储时间。通过选配EEPROM卡可扩展PLC的存储量。这些卡的使用都要通过CPU模块左中部的可选卡插槽来进行扩展。

S7-200系列PLC主机的型号和规格较多,可以适应不同需求的控制场合。目前,该系列中主流的主机模块有CPU221、CPU222、CPU224/CPU224XP/CPU224XPsi、CPU226等模块。CPU22X系列产品指令丰富、速度快、具有较强的通信能力。该系列主机模块的主要性能指标如表1-1所示。S7-200系列PLC的扩展单元本身没有CPU,只能与基本单元连接使用,用于扩展I/O端子数,增强控制功能。S7-200系列PLC常用I/O扩展单元型号及输入/输出端子数的分配如表1-2所示。表1-1 S7-200系列PLC 主要性能指标表1-2 S7-200系列PLC常用I/O扩展单元型号及输入/输出端子数的分配图1-3 CPU226 AC/DC/继电器模块接线图1.1.2 S7-200系列PLC的I/O接线

下面以CPU226 AC/DC/继电器模块的数字量输入、输出单元的接线为例来说明S7-200系列PLC的I/O接线。CPU226指的是该PLC主机的型号,AC指的是主机的电源类型是交流,DC指的是该主机的输入模块的类型是直流的,与之相对应的还有交流输入模块。继电器指的是该主机输出模块的类型。除此之外,数字量输出模块还有直流和交流两种类型。因此,可以根据控制对象的需要灵活配置I/O模块的类型。如图1-3所示是CPU226 AC/DC/继电器模块接线图。

该CPU模块共有24个数字量输入端子和16个数字量输出端子。其中24个输入端子被分成两组。第一组由输入端子I0.0~I0.7、I1.0~11.4共13个输入端子组成,每个外部输入的开关信号均由各输入端子接出,经一个直流电源终至公共端1M;第二组由输入端子I1.5~I1.7、I2.0~I2.7共11个输入端子组成,每个外部输入信号由各输入端子接出,经一个直流电源终至公共端2M。由于是直流输入模块,所以采用直流电源作为检测各输入接点状态的电源,且直流电源的极性可以任意设定。M、L+两个端子提供DC24V/400mA传感器电源,可以作为传感器的电源输出,也可以作为输入端的检测电源使用。16个数字量输出端子分成三组。第一组由输出端子Q0.0~Q0.3共4个输出端子与公共端1L组成;第二组由输出端子Q0.4~Q0.7、Q1.0共5个输出端子与公共端2L组成;第三组由输出端子Q1.1~Q1.7共7个输出端子与公共端3L组成。每个负载的一端与输出端子相连,另一端经电源与公共端相连。由于是继电器输出方式,所以既可带直流负载,也可以带交流负载。负载的激励源由负载性质确定。输出端子排的右端N、L1端子是供电电源AC110V/230V输入端。该电源电压允许范围为AC85~264V。

其他规格的主机模块和扩展模块的接线与之类似。

1.2 认识西门子PLC的程序开发过程

实例2:电动机的启停控制

实例说明

本实例主要实现电动机的启停控制。通过本实例,认识西门子PLC控制系统的硬件连接及程序开发过程。

实例实现

图1-4是电动机启停控制的主电路,电动机启停由继电器KM来控制。继电器线圈的通电与否,由启动按钮(SB1)、停止按钮(SB2)通过PLC来控制。图1-5是电动机启停控制PLC接线图,按一下启动按钮(SB1),电动机启动;按一下停止按钮(SB2),电动机停止运转。在PLC控制中,还需要开发控制程序才能实现规定的控制功能。图1-4 电动机启停控制主电路图1-5 电动机启停控制PLC接线图

实例分析

电动机的启停控制的关键除了硬件接线外,还需要开发控制程序。该实例可用在对生产环境需要通风的风机控制上。如果将按钮抽象成一种条件,其应用范围更广。1.2.1 PLC的程序开发环境

开发S7-200系列PLC用户程序需要一台编程器,并将其和CPU模块连接起来。编程器可以是专用编程器,也可以是装有编程软件的PC,后者更普遍一些。如图1-6所示就是一个常见的PLC用户程序开发系统。它由一台PC、CPU模块和将二者连接起来的PC/PPI通信电缆组成。图1-6 S7-200 PLC用户程序开发系统

西门子S7-200系列PLC使用的是STEP 7-Micro/WIN系列编程软件。其操作界面如图1-7所示。各部分主要功能简介如下:图1-7 STEP 7-Micro/WIN操作界面(1)浏览条

浏览条显示编程特性的按钮控制群组。“视图”按钮控制群中主要有程序块、符号表、状态图、数据块、系统块、交叉引用及通信显示等按钮控制。“工具”按钮控制群中主要有显示指令向导、TD200向导、位置控制向导、EM253控制面板和调制解调器扩充向导等按钮控制。(2)指令树

指令树以树形视图的形式为用户列出所有项目对象和当前程序编辑器(LAD、FBD或STU)所需的全部指令。通过用鼠标右键单击指令树中相应的文件夹可以进行插入附加程序组织单元(POU)、设置密码保护、打开/删除/编辑POU属性表,以及重新命名子程序及中断程序等操作。(3)菜单栏

菜单栏允许使用鼠标或快捷键执行操作。可以定制“工具”菜单,在该菜单中增加自己的工具。(4)工具条

工具条为最常用的STEP 7-Micro/WIN操作提供便利的鼠标存取。可以定制每个工具条的内容和外观。(5)数据块

数据块允许用户显示和编辑数据块内容。(6)状态表

状态图窗口允许用户将程序输入、输出或变量置入图表中,以便追踪其状态。可以建立多个状态表,以便从程序的不同部分检视组件。每个状态图在状态表窗口中有自己的标记。(7)交叉引用

交叉引用允许用户检视程序的交叉引用和组件使用信息。(8)符号表

符号表窗口允许用户分配和编辑全局符号(即可以在任何POU中使用的符号值,不只是建立符号的POU)。可以建立多个符号表,可以在项目中增加一个S7-200系统符号预定义表。(9)程序编辑窗口

程序编辑窗口包含用于该项目的编辑器(LAD、FBD或STL)局部变量表、程序和视图。如果需要,用户可以拖动分割条,扩充程序视图,并覆盖局部变量表。当用户在主程序一节(OBI)之外建立子例行程序或中断例行程序时,标记出现在程序编辑器窗口的底部。可单击该标记,在子程序、中断和OBI之间移动。(10)状态栏

当在STEP 7-Micro/WIN中操作时,状态栏会提供操作状态信息。(11)输出窗口

当编译程序或指令库时,输出窗口会提供信息。当输出窗口列出程序错误时,双击错误信息,会在程序编辑器窗口中显示适当的网络。(12)局部变量表

局部变量表包含对局部变量所进行的赋值(即子例行程序和中断例行程序使用的变 量)。在局部变量表中建立的变量使用暂时内存。地址赋值由系统处理,变量的使用仅限于建立此变量的POU。1.2.2 电动机启停控制程序的开发

前面对PLC开发的软、硬件环境进行了介绍,下面针对实例2进行PLC用户程序的实际开发。

1.建立新项目

双击“STEP 7-Micro/WIN”快捷方式图标,或者在“开始”菜单中选择“SIMATIC”→“STEP 7-Micro/WIN”命令,启动应用程序,系统自动打开一个新“STEP 7-Micro/WIN”项目,如图1-8所示。

2.程序输入

步骤1:根据PLC接线图在符号表(Symbol Table)中输入I/O注释,如图1-9所示。

步骤2:双击指令树中的程序块(Program Block),再双击主程序(MAIN)子项,然后在右侧的状态图窗口中逐个输入本例中的控制指令,如图1-10所示。图1-8 STEP 7-Micro/WIN新建项目图1-9 输入I/O注释图1-10 电动机启停控制程序

在该程序中,当按下开机按钮时,I0.0导通,由于关机按钮是常开导通状态,此时输出端子Q0.0使能,接触器KM1线圈上电,电动机启动。同时,由于Q0.0使能,其常开触点闭合,所以开机按钮被屏蔽。也就是说松开开机按钮后,电动机仍保持运转。当按下关机按钮时,常闭触点I0.1断开,Q0.0禁能,接触器KM1线圈失电,电动机停止运转。同时,常开触点Q0.0断开,对开机按钮的屏蔽被解除。至此一个工作周期结束。图1-11 编译通过提示信息

程序指令输入完毕后,单击工具栏中的编译按钮进行程序编译,如果程序中有不合法的符号、错误的指令应用等情况,编译就不会通过,出错的详细信息会出现在状态栏里。可根据出错信息更正程序中的错误,然后重新编译。编译通过后状态栏里的信息提示如图1-11所示。

3.程序的执行

要执行编译好的程序就要将程序传送到PLC中。首先将上位机软件与PLC主机之间的通信建立起来,然后将编译好的程序下载到PLC中执行,下面是程序下载的具体步骤:

步骤1:将PLC的运行模式设置为“停止”模式。可以通过工具条中的“停止”按钮,或者通过菜单选择“PLC”→“停止”命令。

步骤2:单击工具条中的“下载”按钮,也可以通过菜单选择“文件”→“下载”命令启动下载对话窗口,如图1-12所示。

步骤3:根据默认值,在初次执行下载命令时,“程序块”、“数据块”和“CPU配置”(系统块)复选框被选择。如果不需要下载某一特定块,可以清除其对应的复选框。图1-12 程序下载命令提示信息

步骤4:单击“确定”按钮,开始下载程序。如果下载成功,弹出一个确认框显示以下信息:下载成功。

步骤5:如果在程序开发软件STEP 7-Micro/WIN中设置的PLC类型与实际的类型不匹配,则会显示以下警告信息:“为项目所选的PLC类型与远程PLC类型不匹配。继续下载吗?”。

步骤6:如果要更改PLC类型选项,选择“否”,终止程序下载。

步骤7:从菜单中选择“PLC”→“类型”命令,调出“PLC类型”对话框,如图1-13所示。在下拉菜单中选择与实际PLC相匹配的PLC类型,或者单击“读取PLC”按钮,由软件自动读取正确的数值。单击“确定”按钮,关闭对话框。图1-13“PLC类型”对话框

步骤8:重复步骤2重新下载程序。

步骤9:程序下载成功后,在运行PLC程序之前,将PLC从STOP(停止)模式切换到RUN(运行)模式。单击工具条中的“运行”按钮,也可以从菜单中选择“PLC”→“运行”命令,使PLC转换到RUN(运行)模式。

至此,电动机启停控制程序的开发过程全部结束。本节中所涉及的STEP 7-Micro/WIN程序开发软件的具体应用可参考西门子S7-200 PLC编程手册。本实例所实现的功能在工业自动控制中很常见,读者可以举一反三,在实际工程中灵活应用。

1.3 理解西门子PLC的工作原理

实例3:加电输出禁止程序

实例说明

在实际控制工程中,可能遇到突发停电情况,在复电时,控制环境可能仍处于原先得电工作状态,从而会使相应的设备立即恢复工作,这极易引发设备动作逻辑错乱,甚至发生严重事故。为了避免这种情况的发生,PLC控制程序中需要对一些关键设备的控制端口(PLC输出端口)做复电输出禁止控制。

实例实现

加电输出禁止程序运用了西门子PLC的特殊标志位存储器SM0.3,SM0.3为加电接通一个扫描周期,使M1.0置位为“1”,Q1.0和Q1.1无论在I2.0、I2.1处于什么状态,均无输出,该程序如图1-14所示。图1-14 加电输出禁止程序

实例分析

普通继电器控制电路的工作原理告诉我们继电器控制电路梯形图中各行是并列执行的,加电输出禁止程序反映了PLC程序(用户程序)执行时不是并列执行的,而是按先后顺序执行的。

普通继电器控制电路的工作原理告诉我们继电器控制电路梯形图中各行是并列执行。那么PLC程序是如何执行的呢?要回答这个问题就需要先理解PLC的工作原理,这对于正确编制PLC控制程序是至关重要的。1.3.1 PLC的工作原理

PLC的工作原理可以简单地表述为在系统程序的管理下,通过运行应用程序,对控制要求进行处理判断,并通过执行用户程序来实现控制任务。这个过程实质上是按顺序循环扫描的过程实现的。执行一个循环扫描过程所需的时间称为一个扫描周期。也就是说,在时间上PLC执行的任务是按串行方式进行的,其具体的运行方式与继电器-接触器控制系统及计算机控制系统都有着一定的差异。

1.循环扫描的工作原理

PLC的一个工作过程一般有5个阶段:内部处理阶段、通信处理阶段、输入采样阶段、程序执行阶段和输出刷新阶段。当PLC开始运行时,首先清除I/O映像区的内容,其次进行自诊断,然后与外部设备进行通信连接,确认正常后开始扫描。对每个用户程序,CPU从第一条指令开始执行,按指令步序号做周期性的程序循环扫描,如果无跳转指令,则从第一条指令开始逐条执行用户程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环。因此,PLC的工作方式是一种串行循环工作方式,如图1-15所示。图1-15 PLC的循环扫描过程(1)内部处理阶段

在这一阶段,CPU执行监测主机硬件、用户程序存储器、I/O模块的状态并清除I/O映像区的内容等工作,即PLC进行各种错误检测(自诊断功能),若自诊断正常,继续向下扫描。(2)通信处理阶段

在通信处理阶段,CPU自动监测并处理各种通信端口接收到的任何信息,即检查是否有编程器、计算机或上位PLC等通信请求,若有则进行相应处理,完成数据通信任务。譬如:PLC接收编程器送来的程序、命令和各种数据,并把要显示的状态、数据、出错信息发送给编程器进行显示,这称为“监视服务”,一般在程序执行之后进行。(3)输入采样阶段

在输入采样阶段,PLC首先扫描所有的输入端子,按顺序将所有输入端的输入信号状态(0或1,表现为在接线端上是否在承受外加电压)读入输入映像寄存区。这个过程称为对输入信号的采样,或称输入刷新阶段。完成输入端刷新工作后,将关闭输入端子,转入下一步工作过程,即程序执行阶段。在程序执行期间即使输入端状态发生变化,输入状态寄存器的内容也不会发生改变,而这些变化必须等到下一个工作周期的输入刷新阶段才能被读入。(4)程序执行阶段

程序执行阶段又称程序处理阶段,是PLC对程序按顺序执行的过程,对于常用的梯形图程序来说就是按从上到下、从左到右的顺序,依次执行各个程序指令。

在程序执行阶段,PLC根据用户输入的控制程序,从第一条指令开始逐条执行,并将相应的逻辑运算结果存入对应的内部辅助寄存器(输入映像寄存器)和输出状态寄存器(输出映像寄存器)。在这个过程中,只有输入映像寄存区存放的输入采样值不会发生改变,其他各种数据,如在输出映像寄存器区或系统RAM存储区内的状态和数据,都有可能随着程序的执行随时发生改变。同时前面程序执行的结果可能被后面的程序所用到,从而影响后面程序的执行结果;而后面程序执行的结果不可能改变前面程序的扫描结果,只有到了下一个扫描周期再次扫描前面程序的时候才有可能起作用。但是,在扫描过程中如果遇到程序跳转指令,就会根据跳转条件是否满足来决定程序的跳转地址。当指令中涉及输入、输出状态时,PLC从输入映像寄存器中“读入”上一阶段存入的对应输入端子状态,从输出映像寄存器“读入”对应输出映像寄存器的当前状态。然后,进行相应的运算,运算结果再存入元件映像寄存器中。对于元件映像寄存器来说,每一个元件(输出软继电器的状态)都会随着程序执行过程而变化。当最后一条控制程序执行完毕后,即转入输出刷新阶段。(5)输出刷新阶段

当程序中所有指令执行完毕后,PLC将输出状态寄存器中所有输出继电器的状态,依次送到输出锁存电路,并通过一定输出方式输出,驱动外部负载,这就形成了PLC的实际输出。

在上述5个阶段中,输入采样、程序执行和输出刷新是PLC执行用户程序的3个主要阶段。这3个阶段构成PLC一个工作周期,并循环执行,这就是PLC循环扫描工作方式的由来。由此可以总结出PLC在扫描过程中信号的处理规则。

2.PLC的信号处理规则(1)输入映像区中的数据,取决于本扫描周期输入采样阶段所处的状态。在程序执行和输出刷新阶段,输入映像区中的数据不会因为有新的输入信号而发生改变。(2)输出映像区中的数据由程序中输出指令的执行结果决定。在输入采样和输出刷新阶段,输出映像区的数据不会发生改变。(3)输出端子直接与外部负载连接,其状态由输出状态寄存器中的数据来确定。

3.PLC的工作模式

西门子S7-200 PLC有3种工作模式,即运行(RUN)模式、暂停(STOP)模式和条件运行(TERM)模式。(1)运行(RUN)模式

运行模式是执行应用程序的状态,此时不能向PLC写入程序。PLC置于运行模式时,加电后,PLC自动运行,反复执行反映控制要求的用户程序来实现控制功能直至PLC停机或切换到其他工作状态。PLC处于运行(RUN)模式时,共完成PLC一个工作过程的5个阶段的操作。(2)暂停(STOP)模式

暂停模式使PLC处于暂停状态,此时PLC仍将进行内部处理和通信处理两阶段内容,PLC检查CPU模块内部的硬件是否正常,将监控定时器复位,以及完成一些其他内部工作,同时处理各种编程器的通信请求并显示相关内容。此模式一般用于程序的编制与修改。(3)条件运行(TERM)模式

在此模式下,PLC上的工作模式(STOP或RUN)可由编程装置通过通信方式来改变。此种模式多数用于联网的PLC网络或现场调试时使用。

4.扫描周期和响应时间

PLC在运行状态时,执行一次扫描操作(即5个阶段的工作过程)所需的时间称为扫描周期,它是PLC的重要指标之一,其典型值为0.5~100 ms。

扫描周期T=(输入一点时间×输入端子数)+(指令执行速度×指令条数)+(输出一点时间×输出端子数)+故障诊断时间+通信时间

可见,扫描周期的长短主要取决于以下几个因素:CPU执行指令的速度;执行每条指令占用的时间;程序中指令条数的多少。指令执行所需的时间与用户程序的长短、指令的种类和CPU执行速度有很大关系,一般来说,一个扫描过程中,故障诊断时间、通信时间、输入采样和输出刷新所占时间较少,执行指令的时间占了绝大部分。

PLC的响应时间是指从PLC外部输入信号发生变化的时刻起至由它控制的有关外部输出信号发生变化的时刻之间的间隔,也称为滞后时间(通常滞后时间为几十毫秒)。它由输入电路的时间常数、输出电路的时间常数、用户语句的安排和指令的使用、PLC的循环扫描方式及PLC对I/O的刷新方式等部分组成。这种现象称为I/O延迟响应或滞后现象。

由于PLC的这种周期循环扫描工作方式,决定了响应时间的长短与收到输入信号的时刻有关。响应时间可以分为最短响应时间和最长响应时间。(1)最短响应时间

如果在一个扫描周期刚结束之前收到一个输入信号,在下一个扫描周期之前进入输入采样阶段,这个输入信号就被采样,使输入更新,这时响应时间最短。(2)最长响应时间

如果收到一个输入信号经输入延迟后,刚好错过I/O刷新的时间,在该扫描周期内这个输入信号无效,要到下一个扫描周期输入采样阶段才被读入,使输入更新,这时响应时间最长。

由于PLC采用循环扫描的工作方式,即对信息串行处理方式,必定导致输入、输出延迟响应,产生滞后现象。对于一般工业控制要求,这种滞后现象是允许的。但是对那些要求响应时间小于扫描周期的控制系统则不能满足,这时可以使用智能I/O单元(如快速响应I/O模块)或专门的指令(如立即I/O指令),通过与扫描周期脱离的方式来解决。1.3.2 用户程序的执行过程

在PLC复电进入RUN状态后,PLC在自检及通信处理后,进行输入采样,而后按用户梯形图程序指令的要求,对于输出线圈按照从上到下的顺序执行,对于同一线圈按照从左到右的顺序依次执行,动作不可逆转(使用跳转指令的情况除外),最后输出刷新,之后循环往复执行,直至停止。对用户程序的执行过程的理解是设计PLC用户程序的关键,下面以实例3加电输出禁止程序为例,介绍用户程序的具体执行过程:

PLC加电输出禁止程序循环扫描执行过程如图1-16所示。PLC加电进入RUN状态后,SM0.3接通一个扫描周期,使M1.0置位为“1”,M1.0的常闭触点断开,从而切断了输出线圈Q1.0、Q1.1的控制逻辑,达到了输出被禁止的目的。当Q1.0、Q1.1所控制的设备准备好之后,譬如进入第2个循环时,可以转换I1.0的状态,使其为“1”,则M1.0被复位为“0”,对输出Q1.0、Q1.1的控制解除,并将控制权转移给I2.0、I2.1,此时若I2.0、I2.1为“1”,Q1.0、Q1.1置位为“1”。这样就避免了PLC复电后倘若I2.0、I2.1均处于ON状态导致Q1.0、Q1.1直接输出。

复电输出禁止程序在工程实际中经常能用到,本实例可以根据工程具体情况,稍加改造就可应用。图1-16 PLC加电输出禁止程序循环扫描执行过程

思考题

1.简述PLC的基本工作原理,并说明PLC在输入和输出的处理上有什么特点。

2.什么是PLC的扫描周期?PLC扫描周期的长短与哪些因素有关?

3.用STEP 7-Micro/WIN软件编程时需要注意什么和准备什么?

4.PLC执行用户程序的过程是如何的?

第2章 PLC的指令系统

只有用户根据自己的控制要求编写用户程序并上载到PLC的用户程序存储器中后,PLC才能按照用户的用途实现自动控制。用户要能准确地编写用户程序就必须熟悉编写程序时所使用的各种指令。通常把可编程控制器中所有指令的集合称为它的指令系统。

S7-200 PLC主机中有两类指令集:IEC 1131-3指令集和SIMATIC指令集,可以任选一种完成所需的控制任务。

IEC1131-3指令集是国际电工委员会(IEC)制定的PLC国际标准1131-3 Programming Language(编程语言)中推荐的标准语言,是不同PLC厂家的指令标准,只能用梯形图(LAD)和功能块图(FBD)编程语言编程,通常指令执行时间较长。

西门子公司遵照IEC标准为S7-200 PLC配备了10种IEC标准的基本指令,如逻辑堆栈、程序控制等。

SIMATIC指令集是西门子公司为S7-200 PLC设计的编程语言,配备有16种非IEC标准的功能指令,这些指令通常执行时间短,而且可以用梯形图(LAD)、功能块图(FBD)和语句表(STL)3种编程语言。

本章系统概括SIMATIC指令集中的常用指令及使用方法。

SIMATIC指令通常由助记符和操作数组成。不同的指令,其操作数的数据类型往往是不同的。不同的CPU模块,由于其存储区域大小的不同使得各种数据类型的数值范围也往往是不同的。

操作数的数据类型有:位、字节(B)、字(W)、双字(D)。有关S7-200 CPU模块操作数的范围如表2-1所示。在表2-1中的“存取方式”栏,各字母表示的是不同的存储区域标识,其含义为:表2-1 S7-200 CPU的操作数范围续表

I:输入过程映像存储区;

Q:输出过程映像存储区;

V:变量存储区;

M:位存储区;

SM:特殊内存区(部分常用的特殊内存区含义见附录A);

S:顺序控制继电器存储区;

T:定时器内存区;

C:计数器内存区;

L:局部变量存储区;

AC:累加器;

AI:模拟量输入;

AQ:模拟量输出;

HC:高速计数器内存区。

2.1 S7-200 PLC的基本指令

S7-200 PLC的基本指令多用于开关量逻辑控制,主要包括位操作类指令、定时器和计数器指令、比较操作指令、移位操作指令、程序控制指令等,下面将一一介绍,并举例说明。2.1.1 位操作类指令

顾名思义位操作类指令的操作数是位,主要是对PLC存储器中的某一位进行操作,包括位输入操作指令(也称触点指令),位输出操作指令,对位进行“与”、“或”、“非”等逻辑运算的逻辑操作指令,对位置1的置位指令、对位置0的复位指令,以及检测位发生边沿跳变的微分操作指令等。

1.触点指令(1)标准触点指令

标准触点分为标准常开触点和标准常闭触点两种,其梯形图和语句表如图2-1所示。bit的寻址范围为I、Q、M、SM、T、C、V、S和L。图2-1 标准触点指令

常开触点在其寄存器位值为0时,其触点是断开的,触点的状态为OFF或0;当寄存器位值为1时,其触点是闭合的,触点的状态为ON或1。

常闭触点是在其寄存器位值为0时,其触点是闭合的,触点的状态为ON或1;当其寄存器位值为1时,其触点是断开的,触点的状态为OFF或0。(2)立即触点指令

立即触点分为立即常开触点和立即常闭触点,其梯形图和语句表如图2-2所示。bit的寻址范围为I。

当立即常开触点寄存器位值为1时,表示该触点闭合;当立即常闭触点寄存器位值为0时,表示该触点断开。指令中的“I”表示立即的意思。图2-2 立即触点指令

标准触点指令与立即触点指令的差别是,执行立即指令时,CPU直接读取其物理输入端子的值,但是不刷新相应映像寄存器的值。而执行标准触点指令时,CPU读取的是其相应映像寄存器的值。每个从左母线开始的单一逻辑行,每个程序块(逻辑梯级)的开始,以及指令盒的输入端都必须使用标准触点指令或立即触点指令,如果实际编写程序中没有相应的标准触点或立即触点,则可以加上特殊内存器SM0.0这一位来实现。在程序执

行过程中,标准触点和立即触点起开关作用。图2-3 输出操作指令

2.输出指令(1)输出操作指令

输出操作指令的梯形图和语句表如图2-3所示。bit的寻址范围为I、Q、M、SM、T、C、V、S和L。

输出操作指令将输出位的新数值(前面各逻辑运算的结果)写入输出映像寄存器,并根据写入结果控制其对应的触点。(2)立即输出操作指令图2-4 立即输出操作指令

立即输出操作指令的梯形图和语句表表示如图2-4所示。bit的寻址范围只能为Q。

立即输出操作指令将输出位的新数值(前面各逻辑运算的结果)立即写入到输出映像区,同时还直接驱动实际输出。也就是说使用立即输出操作指令时,输出的结果不受PLC扫描周期的限制,而在运行到该指令时直接驱动实际输出。实例4:位的设置

实例说明

通过本实例来说明如何对位进行设置。

实例实现图2-5 位设置程序

位设置的程序梯形图和指令如图2-5所示,特殊继电器SM0.0为上电后一直通电的继电器,这样在上电后一直给Q0.1置1。

图2-5所对应的语句为:

实例分析

在PLC的控制系统中,需要有一个指示灯显示PLC在正常运行。这样需要在PLC开机后,一直给某一位输出一个接通信号从而保证指示灯点亮。要实现这一功能就可以应用此实例。

3.逻辑指令(1)逻辑与操作指令

逻辑与操作指令梯形图由标准触点或立即触点串联构成。

逻辑与操作指令语句表为:“A bit”;“AN bit”;“AI bit”;“ANI bit”。bit的寻址范围为I、Q、M、SM、T、C、V、S和L。

逻辑与只有当两个触点的状态都是1(ON)时才有输出,两者中只要有一个为0(OFF),就没有输出。(2)逻辑或操作指令

逻辑或操作指令梯形图由标准触点或立即触点并联构成。

逻辑或操作指令语句表为:“O bit”;“ON bit”;“OI bit”;“ONI bit”。bit的寻址范围为I、Q、M、SM、T、C、V、S和L。

逻辑或只要两个触点中有一个触点的状态是1(ON)就有输出,只有当两者都为0(OFF)时才没有输出。(3)逻辑非操作指令图2-6 逻辑非操作指令

逻辑非操作指令梯形图和语句表如图2-6所示。

逻辑非操作就是把源操作数的状态取反作为目标操作数输出。当操作数的状态为1(ON)时,取非后就为0(OFF);当操作数的状态为0(OFF)时,取非后就为1(ON)。逻辑非操作只能与其他指令联合使用,本身没有操作数。(4)串联电路的并联操作指令

串联电路的并联操作指令梯形图,是由多个触点串联构成一条支路,一系列这样的支路再相互并联构成复杂电路,即把多个“与”逻辑运算结果进行“或”的逻辑运算。指令在执行时,先算出各个“与”逻辑的结果,然后再把这些结果进行“或”逻辑运算后传送到输出。

串联电路的并联操作指令语句表表示:“OLD”(在并联第二个支路语句的后面用)。(5)并联电路的串联操作指令

并联电路的串联操作指令梯形图,是由多个触点并联构成局部电路,一系列这样的局部电路再相互串联构成复杂电路,即把多个“或”逻辑运算结果进行“与”的逻辑运算。指令在执行时,先算出各个“或”逻辑的结果,然后再把这些结果进行“与”逻辑运算后传送到输出。

并联电路的串联操作指令语句表表示:“ALD”(在串联第二个支路语句的后面用)。实例5:电动机优先控制

实例说明

通过本实例来说明PLC是如何通过并联、串联实现逻辑控制的。

实例实现

在工业控制中,经常需要多个电动机按照一定的顺序分别启动和停止,要实现这样的功能就需要采用PLC的逻辑控制。

有3个电动机M1~M3,电动机的启、停按钮及相应的控制寄存器与PLC的连接如表2-2所示,其控制程序梯形图和指令如图2-7所示。表2-2 电动机优先控制电路中PLC接口连接表图2-7 电动机优先控制程序

图2-7中程序的语句为:

实例分析

通过这样的控制就可以实现电动机的顺序启动,即前级电动机不启动时,后级电动机无法启动;前级电动机停止时,后面各级电动机也都同时停止。

4.置位、复位操作指令

置位、复位操作指令也分为立即和非立即两种,其梯形图和语句表如图2-8所示。非立即置位、复位指令的bit的寻址范围为I、Q、M、SM、T、C、V、S和L;立即置位、复位指令的bit的寻址范围为Q;n的寻址范围为VB、IB、QB、MB、SMB、SB、LB、AC、常数、*VD、*AC和*LD(“*”表示的是间接寻址)。图2-8 置位、复位操作指令

置位即置1,复位即置0。置位和复位指令可以将位存储区某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。

当置位(复位)信号来临(1或ON)时,被置位置1(被复位置0),即使置位(复位)信号变为1(0)以后,被置位(被复位)的状态仍然可以保持,直到使其复位(置位)信号的到来。在执行置位操作指令时,注意被置位的数目应是从指令中指定的位地址bit开始,共有n个。

执行立即指令,新值被同时写到物理输出端子和相应的映像寄存器,而非立即指令仅仅把新值写到映像寄存器。实例6:置位/复位指令实现电动机的启停控制

实例说明

通过本实例来说明PLC在执行置位和复位后相应的映像寄存器的变化。

实例实现

如图2-9所示的梯形图可以实现对Q0.0的置位与复位,根据I0.0与I0.1的状态,Q0.0被相应的置位与复位,从而也就可以得到相应的时序。图2-9所示的梯形图所对应的语句为:

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载