工厂电气与PLC控制技术第五版张振国编著机械工业出版社“十二五”普通高等教育本科国家级规划教材不同厂家PLC的语法标准、功能结构和指令系统都是不同的。可以通过具体型号的PLC熟悉一般PLC的程序结构和程序数据、编程思想和使用方法。德国西门子(SIEMENS)公司生产的SIMATIC系列的PLC在世界处于领先地位本章系统地介绍S7-200系列小型PLC的发展、硬件组成、指令系统、相关知识及应用举例。第六章西门子(SIEMENS)电气S7系列PLC第一节S7-200型PLC的硬件组成S7-200是属于整体式结构,其将CPU模块、I/O模块和电源装在一个箱型机壳内,S7-200型PLC外形结构如图6-1所示。图中的前盖下面有模式选择开关、模拟量电位器和扩展模块连接器。图6-1S7-200PLC外形结构S7-200还可配备许多专用的特殊功能模块,例如模拟量输入/输出模块、热电偶和热电阻模块、通信模块等,从而扩展PLC的功能。S7-200型PLC系统组成如图6-2所示图6-2S7-200型PLC系统组成一.基本单元的构成称CPU模块,又称主机或本机。包括CPU(中央处理器)、程序/数据存储器、基本输入/输出端子、电源等。本身是一个完整的控制系统。CPU221、CPU222、CPU224、CPU224XP、CPU226和CPU226XMS7-200型PLC及扩展模块外形如下图所示CPU模块特性功能见表6-1所示表6-1CPU模块特性功能功能型号数字I/O模拟I/O可扩展模块数PID控制器RS-485通信/编程PPI/MPI协议独立的高速计数器独立高速脉冲输出CPU2216/4无无无1个有无CPU2228/6无2个模块78数字I/O10路模拟I/O有1个有4~30kHz高速计数2~20kHz高速脉冲输出CPU22414/10无7个模块168数字I/O35路模拟I/O有1个有6~30kHz高速计数2~20kHz高速脉冲输出CPU224XP14/102输入1输出7个模块168路数字I/O38路模拟I/O自整定PID功能2个有6~100kHz高速计数2~100kHz高速脉冲输出CPU226(CPU226XM)24/16无7个模块248路数字I/O35路模拟I/O有2个有6~30kHz高速计数2~20kHz高速脉冲输出1、CPU模块内部输入/输出接口CPU内部输入输出电路是使MPU与CPU模块内部电路及各种控制电路进行连接和控制所必备的电路。如MPU内部数据总线、MPU与EEPROM、RAM及外部三总线连接等。2、电源输出模块CPU模块具有DC24V可接负载的电源,可直接连接到传感器和变送器(执行器)。为系统扩展需要,CPU模块还为扩展模块提供DC5V电源,以提供的最大电流为限。CPU模块可提供的最大电流见表6-2。表6-2CPU模块可提供的最大电流3、存储器基本单元内部EEPROM存储模器,RAM存储器。含有用户程序存储器、用户数据存储器。有掉电保持型的和暂存型的。各个CPU单元内部的存储器容量见表6-3。表5-3各个CPU模块的存储器容量表6-3各个CPU模块的存储器容量4、计数器/定时器电路5、中断电路6、高速脉冲输入/输出电路7、输入/输出信号类型4种CPU模块都有晶体管输出和继电器输出类型,具有不同的电源电压和控制电压。各种CPU模块的输出类型见表6-4。表6-4各种CPU模块的输出类型8、通信接口电路9、LED指示电路在图6-1中S7-200PLC外形结构中可以看到状态指示灯位置:即系统错误/诊断SF/(DIAG)、运行RUN和停止STOPLED指示灯指示相应的状态。10、扩展接口电路在图6-1中可以看到前盖标示有I/O扩展端子、模拟电位器接口。扩展电路是为扩展系统I/O口和其他模块而设计的接口端子。二、扩展模块扩展单元(模块)主要有数字量扩展模块、模拟量扩展模块、特殊功能模块和通信模块等。1、数字量扩展模块通常数字量(开关量)模块分为3种类型:1)输入扩展模块EM221,包括3种类型。2)输出扩展模块EM222,包括5种类型。3)输入/输出扩展模块EM223,6种类型。扩展模块的输入/输出点数、输出类型和数字量I/O模块基本性能指标见表6-5。表6-5数字量I/O模块基本性能指标2、模拟量扩展模块S7-200有3种模拟量扩展模块即模拟量I/O模块EM231、EM232、EM235。3、特殊功能模块S7-200系统还提供了一些特殊功能模块,用于完成特定的任务。4、通信模块EM277:Profibus-DP从站通信模块;EM241:调制解调器Modem通信模块;CP243-1:工业以太网通信模块;CP243-2:AS-i主站模块。三、CPU模块与扩展I/O模块地址编排方法按照I/O的类型排列地址,共有4类:I(DI):数字量输入Q(DO):数字量输出AI:模拟量输入AQ:模拟量输出每一类I/O分别排列地址。从CPU模块开始算起,I/O点地址从左到右按由大到小的规律排列。扩展模块的类型和位置一旦确定,则它的I/O点地址也随之确定。例6-1:某一扩展系统采用CPU224模块,系统所需的输入输出点数各为:数字量输入24点,数字量输出20点,模拟量输入6点,模拟量输出2点。系统组合可以由多种方式,组合模块编址见表6-6。表6-6组合模块编址注:S7-200系统扩展时,其输入输出的地址组态规则为:1)同类型输入或输出点的模块进行顺序编址2)对于数字量,输入输出映像寄存器单位长度为8位(一个字节),本模块高位实际位数未满8位的,未用位不能分配给I/O链的后续模块。3)对于模拟量,输入输出以16位(2字节,一个字)递增方式来分配空间。第二节西门子PLC基本编程指令西门子PLC支持梯形图(LAD)、指令表(STL)、顺序功能图(SFC)和功能块图(FBD)四种编程语言。在S7-200中,顺序功能图在形式上是梯形图形式。在S7-300/400中,顺序功能图是以图形化的方式。一、指令系统预备知识1、数据类型及取值范围其数据格式和取值范围见表6-7。表6-7数据格式和取值范围2、常数常数数据长度可为字节、字和双字,书写形式可以是二进制、十进制、十六进制、浮点数(实数)或ASCⅡ码等。常数表示形式见表6-8。表6-8常数表示形式二、系统存储器CPU将信息从编程的角度出发,我们也将系统存储器称之为PLC的编程变量。S7-200将编程变量统一归为存储器单元,存储单元按字节进行编址,编程时无论所寻址的是何种数据类型,都应指出它所在的存储区和在存储区域内的字节地址。每个单元都有惟一的地址,地址用名称和编号两部分组成。S7-200CPU存储器名称(区域地址符号)见表6-9所示。表6-9S7-200CPU存储器名称三、西门子PLC的寻址方式在PLC系统中,数据可以从一个地址传送到另一个地址;进行逻辑和数学运算;在编程软件上设置、查看。要进行上述数据处理,需要在使用数据处理的指令时,指定数据地址。指令的“操作数”基本都是以数据地址的形式给出。总之,所有数据,在PLC中都是通过地址访问,访问数据的过程本身就是“寻址”位寻址和字节寻址的格式见如图6-3和6-4所示。图6-3位寻址的格式图6-4字节寻址的格式S7-200系统提供两种寻址方式:直接寻址、简接寻址。1、直接寻址方式直接可寻址指定了存储器的区域、长度和位置,例如VW100是V存储区中地址为100的字。可以用字节(B)、字(W)和双字(D)方式存取V、I、Q、M、S和SM存储器区。2.间接寻址方式S7-200允许使用指针对I、Q、V、M、S、AI、AQ、T(仅当前值)和C(仅当前值)存储区进行间接寻址。间接寻址不能用于位(bit)地址、HC或L存储区。用间接寻址方式存取数据步骤:建立指针、间接存取和修改指针。⑴建立指针对存储器的某一地址进行间接寻址时,必须首先为该地址建立指针。指针为双字长,所要访问的存储单元的32位的物理地址。可用来作为指针的存储区有:V、L和AC建立指针必须用双字传送指令MOVD,将存储器所要访问的单元的地址装入用来作为指针的存储区单元或寄存器,格式表达如下:例如:MOVD&VB205,VD303MOVD&MB10,AC2MOVD&C2,LD14“&”为地址符号,与单元编号组合表示所对应单元的32位物理地址,VB205只是一个直接地址编号,并不是它的物理地址。指令中的第二个地址数据长度必须是双字长,如:VD、LD和AC。指令中的&VB205如果改为&VW205或&VD205效果完全相同。⑵间接存取指令中在操作数前面加“*”号表示该操作数为一个指针。建立间接存取的方法如下(存储器间接寻址如图6-5所示):MOVD&VB200,AC1MOVW*AC1,AC0图5-5存储器间接寻址图6-5存储器间接寻址⑶修改指针简单的数学运算指令,若加法、减法、自增和自减等指令可以用来修改指针。在地址指针修改时要注意其位数是32位,所以要使用双字指令。根据所存取数据长度正确调整指针:当存取字节时,指针调整单位为1当存取一个字、定时器或计数器的当前值时,指针调整单位为2当存取双字时,指针调整单位为4建立、修改间接寻址的指针如图6-6所示图6-6建立、修改间接寻址的指针四、PLC的基本指令1.位操作类指令位操作指令包括:输入/输出指令、位逻辑运算指令、位正/负跳变指令及置位/复位指令等。1)输入/输出(I/O)指令:输入和输出指令如表6-10所示。bitbitSTL指令LAD指令功能操作数数据类型存储区举例LDbitLDNbit输入(常开接点)输入(常闭接点)位地址BOOLI、Q、M、S、SM、T、C、V、LLDI1.2LDNI1.7=bitbit输出=Q1.6表6-10输入和输出指令2)位逻辑运算指令:位逻辑运算指令如表6-11所示。STL指令LAD指令功能操作数数据类型存储区举例AbitANbitbitbit逻辑“与”(常开接点)逻辑“与”(常闭接点)位地址BOOLI、Q、M、S、SM、T、C、V、LAM1.2ANS1.7ObitONbitbitbit逻辑“或”(常开接点)逻辑“或”(常闭接点)OSM1.2ONT1.7NOTNOT取“非”无无NOT表6-11位逻辑运算指令程序应用举例:本程序段以介绍标准接点指令在梯行图、语句表和功能块图等3种语言编程中的应用。梯行图和语句表程序结构如图6-7所示。功能框图如图6-8所示。在功能框图中,常闭接点的装入和串并联用指令盒的对应输入信号端加圆圈来表示。图6-7梯行图和语句表程序结构图图6-8标准接点功能(FBD)图该段程序执行的时序图如图6-9所示。图6-9执行的时序图3)位正/负跳变指令位正/负跳变指令如表6-12所示。STL指令LAD指令功能操作数数据类型存储区举例EUP当检测到一次正跳变时(上升沿)负跳变(下降沿),利用跳变产生一个扫描周期的微分脉冲位地址BOOLI、Q、M、S、SM、T、C、V、LEUENENN表6-12位正/负跳变指令程序应用举例:利用位正/负跳变指令的程序执行LAD和STL如图6-10所示,时序图如图6-11所示。图6-10位正/负跳变应用的LAD和STL图6-11位正/负跳变时序图4)置位/复位指令置位/复位指令如表6-13所示。STL指令LAD指令功能操作数数据类型存储区举例Sbit,NbitSN置位输出N:1~255位地址BOOLbit:I、Q、M、S、SM、T、C、V、LN:VB、IB、QB、MB、SMB、SB、LB、AC、常数、*AC、*VD、*LDSQ0.1,1Rbit,NbitRN复位输出N:1~255RQ0.2,2表6-13置位/复位指令指令说明:1)当执行置位/复位输出时,从bit开始的N个同类点被置位/复位。2)若复位的定时器T或计数器C,那么定时器/计数器当前值被清零。程序应用举例:置位/复位指令应用的LAD和STL如图6-12所示,时序图如图6-13所示图6-12置位/复位应用的LAD和STL图6-13置位/复位时序图2.立即刷新指令S7-200有两种立即指令:对输入继电器(点)和输出继电器(点),进行快速的直接存