第九章可编程序控制器可编程逻辑控制器是专为在工业环境下应用而设计的一种数字运算操作的电子装置。它能够存储和执行命令,进行逻辑运算、顺序控制、定时、计数和算术运算等操作,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。可编程序控制器的早期产品为可编程序逻辑控制器(PLC),具有定时、计数、逻辑运算等控制功能。1968年由美国通用汽车公司(GE)提出,1969年有美国数字设备公司(DEC)研制成功。为了与个人计算机(PersonalComputer)的简称PC相区别,所以仍沿用PLC作为可编程控制器的简称。可编程序控制器的特点4.功能强,体积小重量轻,易于实现机电一体化1.灵活通用2.可靠性高,抗干扰能力强3.编成简单,使用方便随着计算机技术的发展,PLC采用通用微处理器为核心,功能扩展到各种数据运算、模拟量处理及联网通信等方面。被称为可编程序控制器。第九章可编程序控制器9.1可编程序控制器的组成与工作原理可编程序控制器系统由CPU模块、扩展模块、安装有编程软件的个人计算机(PC)和PC/PPI编程电缆组成。第九章可编程序控制器一.可编程序控制器的硬件组成可编程序控制器是一种以计算机(微处理器)为核心的通用工业控制装置,按结构形式的不同分为整体式和组合式两类将中央处理单元、存储器、输入输出接口、通信接口、电源等部件做在一个机壳中构成主机。将CPU单元、智能I/O单元、输入输出单元、通信单元等部件分别组装成模块,各模块插在底板上,模块之间通过底板上的总线互相联系。整体式:组合式:第九章可编程序控制器中央处理器(CPU)I/O扩展接口电源输入接口输出接口执行机构传感器编程器上位计算机I/O扩展模块特殊功能模块系统程序存储器用户存储器存储器通信接口1.中央处理器中央处理单元(CPU)是PLC的核心,它指挥着PLC各部分协调的工作。其主要功能有:1)接收从编程设备输入的用户程序和数据并检查指令的格式和语法错误,将其存入用户程序存储器;第九章可编程序控制器5)检测诊断系统电源、存储器及输入/输出接口的硬件故障。3)解释执行用户程序,产生相应的内部控制信号,并根据程序执行结果更新状态标志和集中刷新输出映像寄存器的内容,完成预定的控制任务;4)将输出映像寄存器存储的用户程序执行结果送至输出端;2)以扫描方式接收现场输入设备的状态和数据,并存入输入映像寄存器或数据存储器中;第九章可编程序控制器2.存储器1.系统程序存储器(ROM或PROM)PLC的存储器包括系统程序存储器和用户程序存储器两部分。存储PLC生产厂家编写的系统程序(系统监控程序、用户指令解释程序、标准程序模块以及各种系统参数),用户不能访问和修改。2.用户程序存储器(RAM或EEPROM)存储的内容可以由用户修改分为程序区、数据区和参数区三部分。第九章可编程序控制器程序区:存放用户针对具体控制任务编写的用户程序。数据区:存放程序运行时所需要的各种数据,如输入/输出状态、位寄存器的状态及定时器/计数器的设定值等。参数区:存放PLC的组态数据。如设置输入滤波、定义存储器掉电保护范围等。第九章可编程序控制器3.输入/输出接口1)输入接口模块内部电路1MR1R2CR3+5V24VI0.0I0.1内部电路0NI0.0R1R2CR3+5V120/230V第九章可编程序控制器2)输出接口模块内部电路KM内部电路~KM内部电路~KMKAKA场效应管输出接口电路晶闸管输出接口电路继电器输出接口电路第九章可编程序控制器4.I/O扩展接口与通信接口I/O扩展接口用于将各种扩展模块,与PLC的CPU模块相连。通信接口用于PLC相互之间或PLC与计算机等其它智能设备之间的通信。5.电源在PLC内部有一个开关稳压电源,该电源一方面为PLC提供直流工作电源,同时也提供电压为24V的直流电源以供输入接口电路使用。第九章可编程序控制器6.编程设备编程设备是PLC最重要和基本的外部设备,通过编程设备可以输入、修改、调试用户程序,也可以在线监控PLC的工作情况。手持式编程器个人计算机加装生产厂家提供的计算机辅助编程软件第九章可编程序控制器二.可编程序控制器的工作原理1.可编程序控制器的继电接触器等效电路I0.0SB1SB3SB2PLC内部等效电路输入部分内部控制电路输出部分I0.1I0.21MQ0.0Q0.1I0.1I0.2I0.0Q0.0Q0.11LKM1KM2第九章可编程序控制器2.可编程序控制器的编程语言PLC的编程语言有梯形图(LAD)、语句表(STL)和功能块图(FBD)。(1)梯形图中的继电器不是物理继电器,每个继电器实际上与PLC内部的一位存储器相对应。当相应存储器位为“1”态时,表示继电器接通,其常开触点闭合,常闭触点断开,所以梯形图中继电器的触点可以无限多次的引用,不存在触点数量有限的问题。I0.0I0.2Q0.0Q0.1Q0.0I0.1I0.2Q0.1Q0.0Q0.1网络1正转控制网络2反转控制第九章可编程序控制器(2)梯形图只是PLC形象化的编程方法,其母线并不接任何实际的电源,因此在梯形图中不存在真实的电流,但为了形象,常认为在梯形图中有一种概念“电流”或“能流”,这种概念“电流”或“能流”实际上是满足输出执行条件的形象化表示。概念“电流”或“能流”在梯形图中按照先上后下、从左到右的顺序流动。能流不能发生逆转,I0.0I0.2Q0.0Q0.1Q0.0I0.1I0.2Q0.1Q0.0Q0.1网络1正转控制网络2反转控制(3)在一个网络内只能有一个逻辑行。I0.0Q0.0I0.1Q0.1网络1两个逻辑行第九章可编程序控制器(4)输出继电器的线圈不能直接与左母线相连。如果确实需要在PLC运行时输出一直接通,则可以使用特殊位存储器SM0.0。Q0.0网络1输出直接与母线相连SM0.0Q0.1网络1输出通过SM0.0与母线相连(5)在输出继电器线圈的右侧不能再连接任何元件。语句表是类似于计算机汇编语言的一种编程语言,适合于有计算机汇编语言编程基础的人员使用。功能块图是类似于数字逻辑电路的一种编程语言,适合于有数字逻辑电路和逻辑代数基础的人员使用。第九章可编程序控制器3.可编程序控制器的工作过程输出刷新输入刷新通讯处理自诊断执行用户程序一个扫描周期(1)输入刷新阶段(2)执行用户程序阶段(3)通信处理阶段(4)CPU自诊断阶段(5)输出刷新阶段第九章可编程序控制器9.2S7-200系列PLC的编程元件与编程指令一.S7-200系列PLC的编程元件1.数据表示方法I3.4字节中的位号(位4)字节与位之间的分隔符字节地址(字节3)区域标识符(I表示输入)01I3.4234567LSBMSBI3输入映像寄存器中的字节3LSB:最低位MSB:最高位输入映像寄存器(I)、输出映像寄存器(Q)、变量存储器(V)、位存储器(M)、顺序控制继电器(S)、特殊存储器(SM)对位进行操作第九章可编程序控制器07LSBMSBVB100VB100VB100字节地址访问字节区域标识符(V表示变量存储器)015LSBMSBVB100VW100VW100字的首字节地址访问字VB10178区域标识符(V表示变量存储器)1631MSBVB100VD100VB1012324015LSBVB102VB10378对字节进行操作对字进行操作对双字进行操作VD100双字的首字节地址访问双字区域标识符(V表示变量存储器)第九章可编程序控制器2.输入/输出映像寄存器(I/Q)S7-200系列PLC的输入/输出继电器各为16个字节,即128位。对输入/输出继电器可以按位、字节、字和双字寻址。I0.0~I15.7,IB0~IB15,IW0~IW14,ID0~ID12Q0.0~Q15.7,QB0~QB15,QW0~QW14,QD0~QD12CPU226只有24个输入点和16个输出点,3.变量存储器(V)用于存储程序执行过程中的中间结果或其它相关的数据对变量存储器可以按位、字节、字和双字存取CPU226的变量存储器有5120个字节第九章可编程序控制器4.位存储器(M)S7-200系列PLC有32个字节的位存储器位存储器一般按位存取,但也可以按字节、字和双字存取存放中间结果供控制程序内部使用(类似于继电接触器控制系统中的中间继电器)5.顺序控制继电器(S)一般是按位存取,但也可以按字节、字和双字存取。主要用于顺序控制(或步进控制)S7-200系列PLC有32个字节的顺序控制继电器第九章可编程序控制器6.特殊位存储器(SM)SM0.0:运行监控,当PLC处于RUN状态时,该位总处于接通状态;SM0.1:初始化脉冲SM0.3:上电初始化脉冲SM0.4:方波发生器,该位输出占空比为50%,周期为1min的方波SM0.5:秒脉冲发生器,该位输出占空比为50%,周期为1s的方波第九章可编程序控制器7.累加器(AC)累加器是用来暂存数据的寄存器,用于主程序与子程序之间或子程序之间传递参数,S7-200系列PLC提供了4个32位累加器AC0~AC3。累加器是可读写存储器,可以按字节、字、双字存取累加器中的数据。当按字节或字存取累加器时,只存取累加器的低8位或低16位,数据的长度由指令决定。第九章可编程序控制器二.S7-200系列PLC的基本编程指令1.位逻辑指令(1)触点指令和输出指令I0.0I0.2Q0.0Q0.0网络1电动机直接启动控制LD、A和O指令LDN、AN和ON指令LDI0.0//装入常开触点OQ0.0//或常开触点ANI0.2//与常闭触点=Q0.0//输出线圈输出指令第九章可编程序控制器(2)堆栈指令LPS、LRD、LPPI0.0I0.1M0.0I0.2I0.3M0.1I0.4I0.5Q0.0网络1LDI0.0//装入常开触点LPS//建立栈指针(堆栈)LDI0.1//装入常开触点OI0.2//或常开触点ALD//块与操作=M0.0//输出线圈LRD//读栈LDI0.3//装入常开触点OI0.4//或常开触点ALD//块与操作=M0.1//输出线圈LPP//弹栈AI0.5//与常开触点=Q0.0//输出线圈第九章可编程序控制器(4)正、负跳变指令EU、UD(3)取反指令NOTI0.0Q0.0网络1取反指令Q0.1NOTI0.0M0.0M0.11个扫描周期宽度(a)(b)第九章可编程序控制器(5)置位和复位指令S、RI0.0Q0.0网络1置位指令I0.1Q0.0网络1复位指令S2S2I0.1I0.0Q0.0Q0.12.定时器指令TxxxTONINPTTxxxTONRINPTTxxxTOFINPT通电延时型(TON)保持型(TONR)断电延时型(TOF)第九章可编程序控制器T37~T63,T101~T2553276.7s100msT33~T36,T97~T100327.67s10msT32,T9632.767s1msTONTOFT5~T31,T69~T953276.7s100msT1~T4,T65~T68327.67s10msT0,T6432.767s1msTONR定时器号最大定时范围分辨率工作方式I0.0T37当前值Q0.010s10010s10032767(a)(b)第九章可编程序控制器I0.0T65当前值60010006s4sI0.1Q0.0(a)(b)I0.0T37当前值10sQ0.010s(a)(b)第九章可编程序控制器3.计数器指令CURPVCTUCxxxCxxxCDLDPVCxxxCUCDRPVCTDCTUDI0.0I0.1C0当前值0123456012Q0.0(a)(b)第九章可编程序控制器I0.0I0.1C1当前值012345Q0.0543(a)(b)I0.0I0.2C3当前值0123456014Q0.0I0.1532-1010(a)(b)第九章可编程序控制器4.比较指令比较运算符:==、=、=、、、==BIN2IN1Q0.0实数(有符号双字浮点数)RID、QD、VD、MD、SMD、SD、LD、AC、*VD、*LD、*AC、常数双字整数(有符号整数)DIW、QW、VW、MW、SMW、SW、LW、T、C、AC