1、第4章 可编程控制器,4.1 概述 4.2 PLC 的结构和工作原理 4.3 S7-200系列PLC的存储单元和寻址方式 4.4 S7-200系列PLC编程软件 4.5 S7-200 指令集 4.6 S7-20 的应用,4.1 概述,本章概述 可编程逻辑控制器( Programmable Logic Controller, PLC)简称可编程控制器。1969年,美国数字设备公司(DEC公司)首先研制成功的世界上第1台PLC,经过30多年的发展,可编程控制器已经成为一种最重要、最普及、应用场合最多的工业控制器。PLC最初用于取代传统继电器控制装置,随着计算机技术、信号处理技术、控制技术、网络技术
2、的不断发展和用户需求的不断提高,PLC在开关量处理的基础上增加了模拟量处理和运动控制等功能,使得PLC不再局限于逻辑控制。而在运动控制、过程控制等领域也发挥着十分重要的作用。,下一页,返回,4.1 概述,生产PLC的了商很多,如德国西门子(SIEMENS)公司、日本三菱公司等。德国西门子公司是欧洲最大的电子和电气设备制造商,生产SIMATIC系列PLC,其技术先进,可靠性高,在世界上得到广泛使用,在我国用量也较大。本章将以西门子公司的57 - 200系列PLC为例,介绍可编程控制器应用技术。 教学目标 1.了解PLC的结构和工作原理 2. 熟悉PLC的存储根源与寻址方式 3. 掌握PLC的编程
3、软件及指令集 4. 会应用S7 - 200,返回,上一页,下一页,4.1 概述,西门子公司的第一代PLC是1975年投放市场的SIMATIC S3系列,1979年投放应用微处理器技术的SIMATIC S5系列,20世纪末又推出了S7系列产品。最新的SIMATIC产品为SIMATIC S7 , M7和C7等几大系列,其中S7-200系列PLC功能强大,无论独立运行或连成网络皆能实现复杂控制功能,具有极高的性价比,广泛用于自动化系统中。,上一页,下一页,返回,4.1 概述,一、PLC的特点 S7-200系列PLC具有以下特点:1)可靠性高;2)指令集丰富;3)易于掌握、操作方便;4)内置了丰富的集
4、成功能;5)实时性高;6)通信能力强;7)扩展模块丰富。 S7-200系列PLC的使用领域极为广泛,覆盖了所有与自动检测和自动化控制有关的下业及民用领域,包括各种机床、机械、电力设施、民用设施、环境保护设备等。 S7-200系列PLC采用模块式结构,主要含有CPU模块和扩展模块。CPU模块可单独使用,扩展模块只能与CPU模块配合使用,用于完善CPU模块的功能。,上一页,下一页,返回,4.1 概述,二、S7-200 Micro PLC系统的组成图4-1展示了一个基本的S7-200 Micro PLC。它包括一个S7 -200 CPU模块,一台个人计算机(PC,STEF 7-Micm/ WIN编程
5、软件),以及一条PC/PPI通讯电缆。 三、CPU模块 CPU模块实际是一个小型微处理器系统,由微处理器(CPU),电源和数字量L/O接口组成,其结构紧凑,但功能强大。S7-200系列PLC的CPU模块外形如图4 -2所示。,上一页,下一页,返回,4.1 概述,该CPU模块各单元的主要作用如下: CPU执行程序和存储数据,以便对工业自动控制任务或过程进行控制。 输入和输出端口:输入部分从现场设备(例如传感器或开关)中采集信号,输出部分则是控制泵、电机、以及工业过程中的其他设备。 通信端口连接编程器或其他一些设备。 状态信号灯显示了CPU的工作模式(运行或停止)、本机I/O的当前状态以及系统错误
6、指示等。扩展I/O端口,连接扩展模块。,上一页,下一页,返回,4.1 概述,S7-200家族包括多种CPU模块,以适应不同需求。表4-1给出了S7-200系列PLC的所有CPU模块的主要特性。 四、扩展模块 为了更好地满足应用要求,S7-200系列提供多种类型的扩展模块,如图4 -3所示。利用这些扩展模块可以加强CPU模块的功能,使CPU模块可以通过扩展模块的输入/输出口线访问更多的外部设备。,上一页,返回,4.2 PLC 的结构和工作原理,一、PLC 的结构 PLC主要由中央处理单元、输入接口、输出接口、通信接口等部分组成,其中CPU是PLC的核心,I/O模块是连接现场设备与CPU之间的接口
7、电路,通信接口用于与编程器和上位机连接。图4 -4为PLC内部结构图。,下一页,返回,4.2 PLC 的结构和工作原理,二、PLC的工作原理 尽管最初研制生产的PLC主要用于代替传统的继电器接触器控制装置,但二者的运行方式不太相同. 继电器控制装置采用硬逻辑并行运行的方式,即如果某个继电器的线圈通电或断电,则该继电器所有的触点(包括其常开或常闭触点)都会立即同时动作。,下一页,返回,上一页,4.2 PLC 的结构和工作原理,PLC的CPU则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线圈或逻辑线圈被接通或断开,则该线圈的所有触点(包括其常开或常闭触点)不会立即动作,必须等扫描到该触点时才
8、会动作。 为了消除二者之间由于运行方式不同而造成的差异,考虑到继电器控制装置各类触点的动作时间一般在100 ms以上,而PLC扫描用户程序的时间一般均小于100 ms,因此,PLC采用了一种不同于一般微型计算机的运行方式扫描技术。这样在对于I/O响应要求不高的场合,PLC与继电器控制装置的处理结果上就没有什么区别了。,上一页,下一页,返回,4.2 PLC 的结构和工作原理,PLC采用循环扫描工作方式,扫描过程可分为5个主要阶段:内部处理、通信处理、输入扫描、用户程序执行以及输出处理。扫描过程如图4 -5所示。当PLC的方式开关处于RUN (运行)时,执行所有阶段;当方式开关处于STOP(停止)
9、时,不执行后三个阶段。 PLC的输入处理、用户程序执行和输出处理是三个主要阶 段,其原理如图4 -6所示。,上一页,下一页,返回,4.2 PLC 的结构和工作原理,1.输入处理阶段 在输入处理阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入L/O影像区中相应的单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。 在这两个阶段中,即使输入状态和数据发生变化,I/0影像区中的相应单元的状态和数据也不会改变。因此,如果输入脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。,上一页,下一页,返回,4.2 PLC 的结构和工作原理,2.用户程序
10、执行阶段 在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新逻辑线圈在系统RAM存储区中对应位的状态;,上一页,下一页,返回,4.2 PLC 的结构和工作原理,或者刷新输出线圈在L/O影像区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。在用户程序执行过程中,只有输入点在L/O影像区内的状态和数据不会发生变化,而其他输出点和软设备在L/O影像区或系统RAM存储区内的状态和数据都有可能发生变化,
11、而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。,上一页,下一页,返回,4.2 PLC 的结构和工作原理,3.输出刷新阶段 当用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照L/O影像区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驭动相应的外设。 由于采用扫描工作方式,使得PLC的L/O响应比一般微型计算机构成的工业控制系统慢得多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚至更长。I/O响应时间指从PLC的某一输入
12、信号变化开始到系统有关输出端信号的改变所需的时间。,上一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,PLC在运行时,对需要处理的数据,按类型和功能的不同而被存放在不同的存储空间,从而形成不同的数据区。S7-200的数据区可以分为:数字量输入和输出影像区、模拟量输入和输出影像区、变量存储器区、顺序控制继电器区、位存储器区、特殊存储器区、定时器存储器区、计数器存储器区、局部存储器区、高速计数器区和累加器区。 一、S7-200的数据区 1.数字量输入和输出影像区,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,(1)输入影像寄存器(数字量输入影像区)(I) 数字量
13、输入影像区是为输入端信号状态开辟的一个存储区。输入影像寄存器的标识符为I,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入影像寄存器中。 输入影像寄存器可以按位、字节、字、双字四种方式来存取. 按“位”方式:从I0. 0-I15. 7,共有128点 按“字节”方式:从IB0-IB 15,共有16个字节。 按“字”方式:从IW0-IW 14,共有8个字 按“双字”方式:从ID0-ID12,共有4个双字,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,(2)输出影像寄存器(Q) 数字量输出影像区是为输出端信号状态开辟的一个存储区。输出影像寄存器的标识符为Q(从Q0
14、. 0-Q 15. 7,共有128点),在每个扫描周期的末尾,CPU将输出影像寄存器中的数据传送给输出模块,再由后者驭动外部负载. 输出影像寄存器可以按位、字节、字、双字四种方式来存取 按“位”方式:从Q0. 0-Q5. 7,共有128点 按“字节”方式:从QB0-QB15,共有16个字节 按“字”方式:从QW0-QW 14,共有8个字 按“双字”方式:从QD0-QD12,共有4个双字,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,2.模拟量输入影像区和输出影像区 (1)模拟量输入影像区(AI区) 模拟量输入影像区是为模拟量输入端信号开辟的一区尾个存储区。S7-20
15、0将测得的模拟电压或电流转换成1个字长(2个字节)的数字量。模拟量输入影像寄存器用标识符(AI)、数据长度(W)及字节的起始地址表示。 从AIW0-AIW 30,共有16个字,总共允许有16路模拟量输入。,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,(2)模拟量输出影像区(AQ区) 模拟量输出影像区是为模拟量输出端信号开辟的一个存储区。S7-200将1个字长(2个字节,16位)的数字量按比例转换为模拟电压或电流信号。模拟量输出影像寄存器用标识符(AQ)、数据长度(W)及字节的起始地址表示。从AQW0AQW30,共有16个字,总共允许有16路模拟量输出。,上一页,下
16、一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,3.变量存储器(V) PLC执行程序过程中,会产生一些中间结果,这些中间结果也需要用存储器来保存,变量存储器就是根据这个实际的要求设计的。变量存储器是为保存中间变量数据而建立的一个存储区,用V表示。可按位、字节、字、双字四种方式来存取。 按“位”方式:从V0. 0V5119. 7,共有40 960点。CPU221, CPU222变量存储器只有2 048个字节,其变量存储区只能到V2047. 7位 按“字节”方式:从VBOVB5119,共有5 120个字节。 按“字”方式:从VW 0VW5118,共有2 560个字 按“双字”方式:
17、从VD0VD5116,共有1 280个双字,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,4.位存储器(M)区 PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据这个要求设计的。位存储器是为保存标志位数据而建立的一个存储区,用M表示。该区虽然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字。 按“位”方式:从M0. 0M31. 7,共有256点 按“字节”方式:从MB0MB31,共有犯个字节。 按“字”方式:从MW 0MW 30,共有16个字 按“双字”方式:从MD0MD28,共有8个双字,上一页,下一页,返回
18、,4.3 S7-200系列PLC的存储单元和寻址方式,5.顺序控制继电器区(S) PLC执行程序过程中,可能会用到顺序控制,顺序控制继电器就是根据顺序控制的特点和要求设计的。顺序控制继电器区是57 -200CPU为顺序控制继电器的数据而建立的一个存储区,用S表示。在顺序控制过程中,用于组织步进过程的控制,可以按位、字节、字、双字四种方式来存取。 按“位”方式:从S0. 0531. 7,共有256点 按“字节”方式:从SB0SB31,共有犯个字节 按“字”方式:从SWSW 30,共有16个字 按“双字”方式:从SD0SD28,共有8个双字,上一页,下一页,返回,4.3 S7-200系列PLC的存
19、储单元和寻址方式,6.局部存储器区(L)(相当于内辅继电器) S7 - 200PLC有64个字节的局部存储器,其中60个可以用作暂时存储器或者给子程序传递参数。 局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取(例如主程序、子程序或中断程序)。局部是指存储器区和特定的程序相关联。,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,几种程序之间不能互访。 局部存储器区是57 -200CPU为局部变量数据建立的一个存储区,用L表示。该区域的数据可以用位、字节、字、双字四种方式来存取。 按“位”方
20、式:从I0. 0L63. 7,共有512点。 按“字节”方式:从LB0LB63,共有64个字节。 按“字”方式:从LW 0LW 62,共有32个字。 按“双字”方式:从LD0LD60,共有16个双字。,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,7.定时器存储器区(T) PLC在工作中少不了需要计时,定时器就是实现PLC具有计时功能的计时设备。定时器的编号:T0, T1,、T255。 S7 -200有256个定时器。 8.计数器存储器区(C) PLC在工作中有时不仅需要计时,还可能需要计数功能。计数器就是PLC具有计数功能的计数设备。计数器的编号:C0, C1,、
21、C255。,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,9.高速计数器区(HSC) 高速计数器用来累计比CPU扫描速率更快的事件。S7-200各个高速计数器计数频率高达30 kHz。 S7-200各个高速计数器有一个32位的有符号整数计数值的当前值。若要存取高速计数器的值,则必须给出高速计数器的地址,即高速计数器的编号。 高速计数器的编号为:HSC0, HSC1,、HSC5。 S7-200有6个高速计数器。其中CPU221和CPU222仅有4个高速计数器(HSC0, HSC3、HSC4、HSC5),上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻
22、址方式,10.累加器区(AC) 累加器是可以像存储器那样进行读/写的设备。例如,可以用累加器向子程序传递参数,或从子程序返回参数,以及用来存储计算的中间数据区。S7-200CPU提供了4个32位累加器(ACO, AC1, AC2, AC3)。可以按字节、字或双字来存取累加器数据中的数据。但是,以字节形式读/写累加器中的数据时,只能读/写累加器32位数据中的最低8位数据。如果是以字的形式读/写累加器中的数据,只能读/写累加器32位数据中的最低16位数据。只有采取双字的形式读/写累加器中的数据时,才能一次读/写全部32位数据因为PLC的运算功能是离不开累加器的,所以不像占用其他存储器那样占用累加器
23、。,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,11.特殊存储器区(SM) 特殊存储器是S7 -200PLC为CPU和用户程序之间传递信息的媒介。它们可以反映CPU在运行中的各种状态信息,用户可以根据这些信息来判断机器工作状态,从而确定用户程序该做什么,不该做什么。这些特殊信息也需要用存储器来寄存。特殊存储器就是根据这个要求设计的。 (1)特殊存储器区它是S7 - 200PLC为保存自身工作状态数据而建立的一个存储区,用SM表示。特殊存储器区的数据有些是可读可写的,有一些是只读的。特殊存储器区的数据可以是位,也可是字节、字或双字。,上一页,下一页,返回,4.3 S
24、7-200系列PLC的存储单元和寻址方式,按“位”方式:从SM0. 0SM179. 7,共有1 440点。 按“字节”方式:从SM0SM179,共有180个字节。 按“字”方式:从SMW 0SMW178,共有90个字。 按“双字”方式:从SMD0SMD176,共有45个双字。 (2)常用的特殊继电器及其功能 特殊存储器用于CPU与用户之间交换信息,例如SM0. 0一直为“1”状态,SM0. 1仅在执行用户程序的第一个扫描周期为“1”状态, SM0. 4和SM0. 5分别提供周期为1 min和1s的时钟脉冲。SM1.0, SM1.1和SM1. 2分别是零标志、溢出标志和负数标志。,上一页,下一页
25、,返回,4.3 S7-200系列PLC的存储单元和寻址方式,二、数据在存储器中的寻址方式 S7-200将信息存于不同的存储器单元,每个单元都有唯一的地址。可以明确指出要存取的存储器地址,这样就允许用户程序直接存取这个信息。 1.输入影像寄存器(I)寻址。在每次扫描的周期开始,CPU对输入点进行采样,并将采样值存于输入影像寄存器中。可以按位、字节、字或双字来存取输入影像寄存器。 格式: 位 I字节地址.位地址 I0. 1 字节,字,双字 I长度 起始字节地址 IB4,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,2.输出影像寄存器(Q)寻址 在扫描周期的结尾,CPU将
26、输出影像寄存器的数值复制到物理输出点上。可以按位、字节、字或双字来存取输出影像寄存器。 格式: 位 Q字节地址.位地址 Q1.1 字节,字,双字 Q长度 起始字节地址 QB5,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,3.变量(V)存储器区寻址 可以使用V存储器来保护与程序或任务相关的其他数据,可以按位、字节、字或双字来存取V存储器。 格式: 位 V字节地址.位地址 V10. 2 字节,字,双字 V长度 起始字节地址 VW 100,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,4.位存储器(M)区寻址 可以使用内部存储器标志位(M)作
27、为控制继电器存储中间操作状态或其他的控制信息。尽管名为“位存储器区”,表示按位存储,但不仅可以按位,也可以按字节、字或双字来存取位存储器区。 格式: 位 M字节地址.位地址 M26. 7 字节,字,双字 M长度 起始字节地址 MD20,上一页,下一页,返回,4.3 S7-200系列PLC的存储单元和寻址方式,5.顺序控制继电器(S)存储器区寻址 顺序控制继电器(S)用于组织机器操作或进入等效程序段。SCR提供控制程序的逻辑分段,可以按位、字节、字或双字来存取S位 格式: 位 S字节地址.位地址 S3. 1 字节,字,双字 S长度 起始字节地址 SB4,上一页,下一页,返回,4.3 S7-200
28、系列PLC的存储单元和寻址方式,6.特殊存储器(SM)标志位 SM位提供了CPU和用户程序之间传递信息的方法。可以使用这些位选择来控制S7 -200 CPU的一些特殊功能,例如: (1)第一次扫描的ON位; (2)以固定速度触发位; (3)数学运算或操作指令状态位。 尽管SM区基于位存取,但也可以按字节、字或双字来存取。,上一页,返回,4.4 S7-200系列PLC编程软件,由于S7-200系列PLC采用了微处理器,因此需要进行编程。S7-200系列PLC采用的编程软件是STEP7 - Micro/WIN 32 ,该编程软件为用户开发、编辑和监控自己的应用程序提供了良好的编程环境。为了能快捷、
29、高效地开发应用程序,STEP 7-Micro/WIN 32软件提供了三种程序编辑器。STEP 7-Micro/WIN软件中提供了在线帮助系统,以便获得所需要的信息。 S7-200与其他设备之间的连接方式有两种:1)直接使用。PC/PPI电缆;2)使用通信卡和MPI电缆。PC/PPI电缆使用方便、成本低。使用PC/PPI;,电缆与计算机相连时,只须将S7-200的编程口与计算机的RS - 232口相连即可。,下一页,返回,4.4 S7-200系列PLC编程软件,PC/PPI电缆也可用于57-200与其他通信设备相连。如果使用MPI电缆与计算机相连,必须先在计算机上安装通信卡,还要用较高的波特率进
30、行通信。 一、STEP -7 Micro WIN 32窗口元素 我们以最新的V4.0 STEP 7 MicroWIN中文版(如图4 -7所示)为例来介绍。 View(视图)显示程序块(Program Block)、符号表( Symbol Table)、状态图 (Status Chart)、数据块(Data Block)、系统块(System Block)、交叉参考( Cross Reference) 及通信按钮(Communications)。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,Tools(工具)显示指令向导(Instruction Wizard) , TD200向
31、导(TD200 Wizard ) , 位置控制向导(Position Control Wizard) , EM253控制面板(EM253 Control Panel)和扩展调制解调器向导(Modern Expansion Wizard)的按钮。 指令树提供所有项目对象和当前程序编辑器(LAD, FBD或STL)的所有指令的树形视图。 交叉参考查看程序的交叉引用和元件使用信息。 数据块显示和编辑数据块内容。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,状态图允许将程序输入、输出或变量置入图表中,监视其状态。可以建立多个状态图,以便分组查看不同的变量。符号表/全局变量表允许分配和
32、编辑全局符号。可以为一个项目建立多个符号表。 输出窗口在编译程序或指令库时提供消息。当输出窗口列出程序错误时,可双击错误信息,会自动在程序编辑器窗口中显示相应的程序网络。 状态栏提供在Slep7-Micro/WIN 32中操作时的操作状态信息。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,程序编辑器包含用于该项目的编辑器(LAD,FBD或STL)、局部变量表和程序视图。如果需要,可以拖动分割条以扩充程序视图,并覆盖局部变量表。单击程序编辑器窗口底部的标签,可以在主程序、子程序和中断服务程序之间移动。 局部变量表包含对局部变量所作的定义赋值(即子程序和中断服务程序使用的变量)。
33、 菜单栏允许使用鼠标或键盘执行操作的各种命令和工具。 工具栏提供常用命令或工具的快捷按钮。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,二、编程的基本概念 目前最新国际标准IEC61131-3中定义了5种标准PLC编程语言: 梯形图(LD):适合于逻辑控制。 功能块图(FBD):适合于典型固定复杂算法控制,如PID调节等。 顺序功能图(SFC):适合于多进程时序混合型复杂控制。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,指令表(IL):适合于简单文本自编专用程序。 结构化文本(ST):适合于复杂自编专用程序,如特殊的模型算法。 西门子的S7 - 200系列
34、PLC主机中有两类基本指令集:SIMATIC指令集和IEC 1131-3指令集,程序员可以任选一种。IEC 1131-3指令集是不同于PLC了家的指令标准,我们在这里不作介绍。SIMATIC指令集是为57-200系列PLC设计的,指令通常执行时间短,而且可以用LAD , STL和FBD三种编程语言编程。我们只选其中梯形图(LAD)和语句表 (STL)两种来介绍。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,1.语句表编辑器 STEP 7-Micro/WIN 32语句表(STL)编辑器允许输入指令助记符来编写程序。语句表(STL)语言也称助记符语言,类似于计算机的汇编语言。因为
35、助记符语言属于面向机器硬件的语言,所以STL编辑器能编写用梯形图或功能块图垒编辑器无法实现的程序。STL编辑器适合于熟悉PLC和逻辑编程的有经验的程序员。图4-8给出了语言表程序的一个例子。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,2.梯形逻辑编辑器 梯形图表达式是在原电器控制系统中常用的接触器、继电器梯形图基础上演变而来的,它与电气操作原理图相呼应,它形象、直观和实用,为电气技术人员所熟悉,是PLC的主要编程语言。 梯形图由多个梯级组成,每个输出元素可构成一个梯级,每个梯级可由多个支路组成,最右边的元素必须是输出元素。简单的编程元素只占用1条支路(例如常开/常闭节点,继
36、电器线圈等),有些编程元素要占用多条支路(例如矩阵功能)。在用梯形图编程时,只有在一个梯级编制完整后才能继续后面的程序编制。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,PLC的梯形图从上至下按行绘制,两侧的竖线类似电器控制图的电源线,称作母线,但西门子的编程软件Step7-Micro/WIN 32中只有输入母线。每一行从左至右,左侧总是安排输入节点,并且把并联结点多的支路靠近最左端。输入节点不论是外部的按钮、行程开关,还是继电器触点,在图形符号上都只用常开“- | | -”和常闭“- | / | -”,而不计其物理属性,输出线圈用圆形表示。 在梯形图中每个编程元素应按一定的
37、规则加标字母数字串,不同的编程元素常用不同的字母符号和一定的数字串来表示.,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,利用STEP 7-Micro/WIN 32梯形逻辑(LAD)编辑器,可以建立与电气接线图等价的类似程序。梯形图编程可能是许多PLC编程人员和维护人员选择的方法。一般而言,梯形图程序让CPU仿真来自电源的电流通过一系列的输入逻辑条件,根据结果决定逻辑输出的允许条件。逻辑通常被分解成容易理解的片,这些片经常被称为“梯级”或“段”。程序一次执行一个段,从左到右,从上到下。一旦CPU执行到程序的结尾,又从上到下重新执行程序。 图4-9给出了一个梯形逻辑图的实例。,上
38、一页,下一页,返回,4.4 S7-200系列PLC编程软件,三、程序的基本元素 S7-200 CPU程序由三个基本元素构成:主程序、子程序(可选)和中断程序(可选)。 主程序:在程序的主体中放置控制应用指令,主程序中的指令按顺序在CPU的每个扫描周期执行一次。 子程序:它们是程序的可选部分,只有当主程序调用它们时,才能够执行。 中断程序:它们是程序的可选部分,只有当中断事件发生时,才能够执行。,下一页,返回,上一页,4.4 S7-200系列PLC编程软件,S7-200 CPU连续地执行用户程序,控制一个任务或过程。利用SFEP7-Micro/WIN 32可以建立用户程序并把它下载到CPU。在主
39、程序中,可以调用不同的子程序或中断程序。,下一页,返回,上一页,4.4 S7-200系列PLC编程软件,四、选择CPU 的工作方式 S7-200 CPU有两种工作方式:STOP(停止)方式和RUN(运行)方式 STOP方式:当CPU处于STOP(停止)方式时,CPU不执行程序,但可以向CPU装载程序或配置CPU; RUN方式:CPU运行程序 在CPU前面板上用LE D显示当前的工作方式。若要往程序存储器中装载程序,则必须把CPU置于STOP方式。 改变CPU的工作方式有两种方法: (1)使用方式开关来手动改变工作方式。,上一页,下一页,返回,4.4 S7-200系列PLC编程软件,把模式开关切
40、换到STOP,可以停止程序的执行 把模式开关切换到RUN,可以启动程序的执行 设置方式开关为TERM方式,允许程序(STEP -7 Micro/WIN)来控制CPU工作方式。 如果方式开关设为TERM或STOP,且电源发生变化,则电源恢复时,CPU会自动进入STOP方式。如果方式开关设为RUN方式,则电源恢复时,CPU会自动进入RUN方式。 (2)使用STEP 7-Micno/WIN 32来改变工作方式。 用STEP 7-Micro/Win32编程软件,应首先把主机的方式开关置于TERM或RUN位置,然后在此软件界面上用鼠标单击STOP和RUN方式按钮即可,如图4-10所示。,上一页,返回,4
41、.5 S7-200 指令集,在S7 - 200的指令系统中,有两类基本指令集,SIMATIC指令集及IEC 1131-3指令集。SIMAFIC指令集是SIEMENS公司专为57系列PLC设计的,可以用梯形图LA D,语句表STL和功能块图FBD语言进行编程。而梯形图LAD和语句表STL是PLC最基本的编程语言,本书将以这两种编程语言介绍57-200的指令系统。 在S7 - 200的指令系统中,可分为基本指令和应用指令。所谓基本指令,最初是指取代传统的继电器控制系统所需要的那些指令。由于PLC的功能越来越强,涉及的指令越来越多,对基本指令所包含的内容也在不断扩充。在本节中,将较为系统地介绍S7
42、- 200的基本指令和应用指令系统。,下一页,返回,4.5 S7-200 指令集,一、S7-200的基本指令系统 S7-200的基本指令系统是非常丰富的,指令功能很强。 位操作类指令,主要是位操作及运算指令,同时也包含与位操作密切相关的定时器和计数器指令等。 运算指令,包括常用的算术运算和逻辑运算指令。 数据处理指令,包括数据的传送、移位、填充和交换等指令 表功能指令,包括对表的存取和查找指令。 转换指令,包括数据类型转换、码转换和字符转换指令。,上一页,下一页,返回,4.5 S7-200 指令集,在基本指令中,位操作指令是最重要的,是其他所有指令应用的基础。除位操作指令外,其他的基本指令反映
43、了PLC对数据运算和数据处理的能力,这些指令拓展了PLC的应用领域。通过对基本指令的学习,熟练掌握梯形图的编程思想和方法。 1.位操作指令 (1)标准触点指令 LD:装入常开触点(Load) LDN:装入常闭触点(LoadNot),上一页,下一页,返回,4.5 S7-200 指令集,A:与常开触点(And) AN:与常闭触点(And Not) O:或常开触点(Or) ON:或常闭触点(Or Not) NOT:触点取非(输出反相) =:输出指令: 图4-11给出了标准触点指令例程和对应的梯形图,供读者加深理解。,上一页,下一页,返回,4.5 S7-200 指令集,(2)置位s (set)/复位R
44、 (Reset)指令 S:置位指令,将由操作数指定的位开始的1位至最多255位“1“,并保持。 R:复位指令,将由操作数指定的位开始的1位至最多255位清“0”,并保持这两条指令在使用时需指明三点:操作性质、开始位和位的数量。 指令格式:图4-12为S, R指令的梯形图和语句表的程序结构。,上一页,下一页,返回,4.5 S7-200 指令集,(3)定时器指令。系统提供三种定时指令:接通延时定时器(TON)、有记忆接通延时定时器(TONR)和断开延时定时器(TOF)。精度等级:S7-200定时器的精度(时间增量/时间单位/分辨率)有三个等级:1ms, 10 ms和100 ms。精度等级和定时器的
45、编号关系如表4 -3所示。 定时器的定时时间为 T = PTS 式中: T定时器的定时时间。PT定时器的设定值,数据类型为整数型。S定时器的精度。定时器指令需要3个操作数:编号、设定值和允许输入,上一页,下一页,返回,4.5 S7-200 指令集,a.接通延时定时器指令TON ( On-Delay Time) TON,接通延时定时器指令。用于单一间隔的定时。上电周期或首次扫描,定时器位为OFF,当前值为0。使能输入接通时,定时器位为OFF,当前值从0开始计数时间,当前值达到预设值时,定时器位为ON,当前值连续计数到32767。使能输入断开,定时器自动复位,即定时器位为OFF,当前值为0。 指令
46、格式: TON Txxx(定时器编号),PT例:TON T120 , 8,上一页,下一页,返回,4.5 S7-200 指令集,b.有记忆接通延时定时器TONR (Retentive On-Delay Timer) TONR,有记忆接通延时定时器指令。用于对许多间隔的累计定时。上电周期或首次扫描,定时器位为OFF,当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器位ON,当前值连续计数到32767 TONR定时器只能用复位指令进行复位操作。 指令格式: T
47、ONR T x x x(定时器编号),PT例:TONR T20 , 63.,上一页,下一页,返回,4.5 S7-200 指令集,c.断开延时定时器TOF ( OFF-Delay Titner) TOF,断开延时定时器指令。用于断开后的单一间隔定时。上电周期或首次扫描,定时器TOF的状态位(bit)为OFF,当前值为0。使能输入接通时,定时器位为ON,当前值为0。当使能输入由接通到断开时,定时器开始计数,当前值达到预设值时,定时器位为OFF,当前值等于预设值,停止计数.TOF复位后,如果使能输入再有从ON到0FF的负跳变,则可实现再次启动。 指令格式: TOF Txxx(定时器编号),PT例:T
48、OF T35,6 图4-13是介绍3种定时器的工作特性的程序结构,其中T35为接通延时定时器,T2为有记忆接通延时定时器,T36为断开延时定时器。,上一页,下一页,返回,4.5 S7-200 指令集,(4)计数器指令计数器用来累计输入脉冲的次数,是应用非常广泛的编程元件。S7-200的普通计数器有三种类型:递增计数器CTU,增减计数器CTUD和递减计数器CTD,共计256个,可根据实际编程需要,对某个计数器类型进行定义,编号为C0C255。不能重复使用同一个计数器的线圈编号,即每个计数器的线圈编号只能使用1次。每个计数器有一个16位的当前值寄存器和一个状态位,最大计数值为32767。计数器设定
49、值PV的数据类型为整数型INT,寻址范围为:VW, IW,QW,MW,SW,SMW,LW,AIW,T,C, AC,*VD,*AC,*LD及常数。,上一页,下一页,返回,4.5 S7-200 指令集,指令操作数有四个方面:编号、预设值、脉冲输入和复位输入 增计数器指令CTU (Counter Up)。CTU,递增计数器指令。首次扫描,定时器状态位为()FF,当前值为。脉冲输入的每个上升沿,计数器计数1次,当前值增加1个单位,当前值达到预设值时,计数器位为ON,当前值继续计数到32767停止计数。复位输入有效或执行复位指令,计数器自动复位,即计数器位为OFF,当前值为0。 指令格式: CTU Cxxx,PV例: CTU C20,3 图4-14为递增计数器的程序结构.,上一页,下一页,返回,4.5 S7-200 指令集,增减计数器指令CTUD (Counter up/Down) , CTUD,增减计数器指令。有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。 指令格式: CTUD Cxxx,PV例:CTUD C30,5 如图4-15所示为增减计数器的程序结构。,