可编程控制器原理及应用浙江水利水电专科学校孙平教授介绍教材以小型可编程控制器S7-200系列PLC为例,介绍可编程控制器的基本结构,以及工作原理,要求掌握常用指令的格式和应用方法,熟练画出可编程控制器外部电路接线图,掌握可编程控制器应用的基本设计思想和设计方法。可编程控制器原理及应用第1章概论第2章可编程控制器构成原理第3章S7-200可编程控制器第4章SIMATICS7-200编程软件第5章S7-200PLC基本指令5.2算术、逻辑运算指令第1章概论1.1可编程控制器的产生及定义1、PLC的产生及定义1968年由美国通用汽车公司(GE)提出,1969年有美国数字设备公司(DEC)研制成功,有逻辑运算、定时、计算功能称为PLC(programmablelogiccontroller)。80年代,由于计算机技术的发展,PLC采用通用微处理器为核心,功能扩展到各种算术运算,PLC运算过程控制并可与上位机通讯、实现远程控制。被称为PC(programmablecontroller)即可编程控制器。2、PLC的产生及定义国际电工委员会(IEC)1987年颁布的可编程逻辑控制器的定义如下:“可编程逻辑控制器是专为在工业环境下应用而设计的一种数字运算操作的电子装置,是带有存储器、可以编制程序的控制器。它能够存储和执行命令,进行逻辑运算、顺序控制、定时、计数和算术运算等操作,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。可编程控制器及其有关的外围设备,都应按易于工业控制系统形成一个整体、易于扩展其功能的原则设计”。本章叙述可编程控制器产生、定义及特点,分类和发展方向1.3可编程控制器的工作特点1、使用于工业环境,抗干扰能力强。2、可靠性高。无故障工作时间(平均)数十万小时并可构成多机冗余系统。3、控制能力极强。算术、逻辑运算、定时、计数、PID运算、过程控制、通讯等。4、使用、编程方便。(LAD)梯形图、语句表(STL)、功能图(FBD)、控制系统流程图等编程语言通俗易懂,使用方便。5、组成灵活。小型PLC为整体结构,并可外接I/O扩展机箱构成PLC控制系统。中大型PLC采用分体模块式结构,设有各种专用功能模块(开关量、模拟量输入输出模块,位控模块,伺服、步进驱动模块等)供选用和组合,由各种模块组成大小和要求不同的控制系统。所以可编程控制器可以称为全功能工业控制计算机。1.4可编程控制器的分类和发展1、分类按I/O点数可分为大、中、小型三大类,通常可以定义为:小型:I/O点数在256点以下;中型:I/O点数在256~1024点之间;大型:I/O点数在1024点以上。2、应用可编程控制器在多品种、小批量、高质量的产品生产中得到广泛的应用,PLC控制已成为工业控制的重要手段之一,与CAD/CAM,机器人技术一起成为实现现代自动化生产的三大支柱。通常可以认为,只要有控制要求的地方,都可以用到可编程控制器。3、发展方向发展方向分小型化和大型化两个发展趋势。小型PLC有两个发展方向,即小(微)型化和专业化。大型化指的是大中型PLC向着大容量、智能化和网络化发展,使之能与计算机组成集成控制系统,对大规模、复杂系统进行综合性的自动控制。第2章可编程控制器构成原理可编程控制器硬件系统:可编程控制器系统由输入部分、运算控制部分和输出部分组成。输入部分:将被控对象各种开关信息和操作台上的操作命令转换成可编程控制器的标准输入信号,然后送到PLC的输入端点。运算控制部分(CPU):由可编程控制器内部CPU按照用户程序的设定,完成对输入信息的处理,并可以实现算术、逻辑运算等操作功能。输出部分:由PLC输出接口及外围现场设备构成。CPU的运算结果通过PLC的输出电路,提供给被控制装置。2.1可编程控制器的基本组成可编程控制器主机的硬件电路:由CPU,存储器,基本I/O接口电路,外设接口,电源等五大部分组成。2.1可编程控制器的基本组成基本I/O接口电路可编程控制器输入电路原理图PLC内部输入电路作用是将PLC外部信号送至PLC内部电路。输入接点分为干接点式,直流输入式和交流输入式三大类。2.1可编程控制器的基本组成可编程控制器输出电路原理图PLC输出电路用来驱动被控负载(电磁铁、继电、接触器线圈等)。PLC输出电路结构形式分为继电器式,双极型和晶闸管式等三种。2.2可编程控制器的工作原理可编程控制器通过循环扫描输入端口的状态,执行用户程序,实现控制任务。PLC采用循环顺序扫描方式工作,CPU在每个扫描周期的开始扫描输入模块的信号状态,并将其状态送入到输入映像寄存器区域;然后根据用户程序中的程序指令来处理传感器信号,并将处理结果送到输出映像寄存器区域,在每个扫描周期结束时,送入输出模块。第3章S7-200可编程控制器S7系列PLC分为S7-400、S7-300和S7-200等大、中、小(微)三个子系列。本章以S7-200系列PLC为例,叙述小型PLC系统的构成,编程用的元器件,寻址方式,I/O扩展,编程语言等PLC应用的基础知识。3.1S7-200系列PLC的构成S7-200小型可编程控制系统由主机(基本单元)、I/O扩展单元、功能单元(模块)和外部设备(文本/图形显示器、编程器)等组成。CPU224主机的结构外形工作方式开关,模拟电位器,I/O扩展接口,工作状态指示和用户程序存储卡,I/O接线端子排及发光指示等。主机箱体外部的RS-485通讯接口,用以连接编程器(手持式或PC机)、文本/图形显示器、PLC网络等外部设备。CPU224外部电路接线电路图输入电路采用了双向光电耦合器,24VDC极性可任意选择,1M、2M为输入端子的公共端。1L、2L为输出公共端。CPU224另有24V、280mA电源供PLC输入点使用。(2)主机I/O及扩展CPU22X系列PLC主机的I/O点数及可扩展的模块数目见表3.2。S7-200CPU存储器系统S7-200CPU存储器系统由RAM和EEPROM两种存储器构成。系统掉电时,自动将RAM中M存储器的有关内容保存到EEPROM存储器。3.1.2扫描周期及工作方式1、扫描周期S7-200CPU连续执行用户任务的循环序列称为扫描。一个机器扫描周期(用户程序运行一次),分为读输入(输入采样),执行程序,处理通讯请求,执行CPU自诊断,写输出(输出刷新)等五个阶段,CPU周而复始地循环扫描工作。也可以把扫描周期简化为读输入、执行用户程序和写输出三个阶段。执行CPU自诊断写输出处理通讯请求执行程序一个扫描周期读输入3.2.1数据存储类型及寻址方式S7-200数据寻址方式有立即数寻址、直接寻址和间接寻址三大类。立即数寻址:#100直接寻址:位寻址如上图。字节、字、双字寻址(直接寻址)例:VB100、VW100、VD100存储器位地址字节地址元件名称3.2.1数据存储类型及寻址方式间接寻址:例:MOVW*AC1,AC0//*时表示该操作数为地址指针。指令功能:将AC1作为内存地址指针,把以AC1中内容为起始地址的内存单元的16位数据送到累加器AC0中。3.2.2S7-200数据存储区及元件(内部资源)的功能1.输入/输出映像寄存器:S7-200PLC编址范围(I0.0~I15.7)输入映像寄存器(该区域可以按位操作又称输入继电器)输入继电器线圈由外部信号驱动,常开触点和常闭触点供用户编程使用。外部输入点输入端子3.2.2数据存储区及元件功能输出映像寄存器:S7-200PLC编址范围(Q0.0~Q15.7)输出映像寄存器(又称输出继电器)是用来将PLC的输出信号传递给负载,线圈用程序指令驱动。PLC的每一个I/O点都是一个确定的物理点。CPU224主机有I0.0~I0.7,I1.0~I1.5共14个数字量输入端点,Q0.0~Q0.7、Q1.0、Q1.1共10个数字量输出端点。Q0.0L负载电源3.2.2数据存储区及元件功能2.变量存储器V用以存储运算的中间结果和其它数据。CPU224有VB0.0~VB5119.7的5K存储字节。可按位、字节、字或双字使用。3.内部标志位(M)存储区M作为控制继电器(又称中间继电器),用来存储中间操作数或其它控制信息。S7-200PLC编址范围M0.0~M31.7,可以按位、字节、字或双字来存取存储区的数据。4.顺序控制继电器(S)存储区S又称状态元件,以实现顺序控制和步进控制。S7-200PLC编址范围S0.0~S31.7,可以按位、字节、字或双字来存取数据。5.特殊标志位(SM)存储器CPU224编址范围SM0.0~SM179.7,共180个字节。其中SM0.0~SM29.7的30个字节为只读型区域。①SMB0为状态位字节,在每次扫描循环结尾由S7-200CPU更新,定义如下:SM0.0RUN状态监控,PLC在运行RUN状态,该位始终为1。SM0.1首次扫描时为1,PLC由STOP转为RUN状态时,ON(1态)一个扫描周期,用于程序的初始化。SM0.2当RAM中数据丢失时,ON一个扫描周期,用于出错处理。SM0.3PLC上电进入RUN方式,ON一个扫描周期。SM0.4分脉冲,该位输出一个占空比为50%的分时钟脉冲。用作时间基准或简易延时。SM0.5秒脉冲,该位输出一个占空比为50%的秒时钟脉冲。可用作时间基准。SM0.6扫描时钟,一个扫描周期为ON(高电平),另一为OFF(低电平)循环交替。SM0.7工作方式开关位置指示,0为TERM位置,1为RUN位置。为1时,使自由端口通讯方式有效。②SMB1为指令状态位字节,常用于表及数学操作,部分位定义如下:SM1.0零标志,运算结果为0时,该位置1。SM1.1溢出标志,运算结果溢出或查出非法数值时,该位置1。SM1.2负数标志,数学运算结果为负时,该位为1。3.2.2数据存储区及元件功能6.局部存储器(L)S7-200有64个字节的局部存储器,编址范围LB0.0~LB63.7,其中60个字节可以用作暂时存储器或者给子程序传递参数,最后4个字节为系统保留字节。7.定时器(相当于时间继电器)S7-200CPU中的定时器是对内部时钟累计时间增量的设备,用于时间控制。编址范围T0~T255(22X);T0~T127(21X)。8.计数器计数器主要用来累计输入脉冲个数。有16位预置值和当前值寄存器各一个,以及1位状态位,当前值寄存器用以累计脉冲个数,计数器当前值大于或等于预置值时,状态位置1。S7-200CPU提供有三种类型的计数器,增计数、减计数、增/减计数。编址范围C0~C255(22X),C0~C127(21X)。3.2.2数据存储区及元件功能9.模拟量输入/输出映像寄存器(AI/AQ)S7-200的模拟量输入电路将外部输入的模拟量(如温度、电压)等转换成1个字长(16位)的数字量,存入模拟量输入映像寄存器区域。AI编址范围AIW0,AIW2,……AIW62,起始地址定义为偶数字节地址,共有32个模拟量输入点。S7-200模拟量输出电路用来将模拟量输出映像寄存器区域的1个字长(16位)数字值转换为模拟电流或电压输输出。AQ编址范围AQW0,AQW2,……AQW62,起始地址也采用偶数字节地址,共有32个模拟量输出点10.累加器(AC)累加器是用来暂存数据,S7-200PLC提供了4个32位累加器AC0~AC3。累加器支持以字节(B)、字(W)和双字(D)的存取。。11.高速计数器(HC)CPU22X提供了6个高速计数器HC0、HC1……HC5(每个计数器最高频率为30KHz)用来累计比CPU扫描速率更快的事件。高速计数器的当前值为双字长的符号整数。S7-200PLC各编程元器件及操作数的有效编程范围如表3.5和表3.6所示。3.3I/O扩展基本单元的基础上,S7-200系统最多可扩展7个模块。S7-200系统的扩展模块有数字量、模拟量、通讯、现场设备接口等模块,型号详见P27表3.7。3.4S7-200系列PL