1、第一章 可编程控制器简介可编程序控制器,英文称 Programmable Controller,简称 PC。但由于 PC 容易和个人计算机(Personal Computer)混淆,故人们仍习惯地用 PLC 作为可编程序控制器的缩写。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。PLC 是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的接线复杂、可靠性低、功耗高、
2、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是 PLC 的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。用户在购到所需的 PLC 后,只需按说明书的提示,做少量的接线和简易的用户程序编制工作,就可灵活方便地将 PLC 应用于生产实践。一、PLC 的结构及各部分的作用PLC 的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC 的硬件系统结构如下图
3、所示:图 1-1-11、主机主机部分包括中央处理器(CPU) 、系统程序存储器和用户程序及数据存储器。CPU 是PLC 的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。PLC 的内部存储器有两类,一输入模块 CPU模 块输出模块可 编 程 序 控 制 器编 程 装 置接 触 器电 磁 阀指 示 灯电 源 电 源 限 位 开 关选 择 开 关按 钮 类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家
4、固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。2、输入/输出(I/O)接口I/O 接口是 PLC 与输入/输出设备连接的部件。输入接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号。输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等) 。I/O 接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。I/O 点数即输入/输出端子数是 PLC 的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。3、电源图中电源是指为 CPU、存储器、I/O 接口等内部电子电路工作所
5、配置的直流开关稳压电源,通常也为输入设备提供直流电源。4、编程编程是 PLC 利用外部设备,用户用来输入、检查、修改、调试程序或监示 PLC 的工作情况。通过专用的 PC/PPI 电缆线将 PLC 与电脑联接,并利用专用的软件进行电脑编程和监控。5、输入/输出扩展单元I/O 扩展接口用于将扩充外部输入/输出端子数的扩展单元与基本单元(即主机)连接在一起。6、外部设备接口此接口可将打印机、条码扫描仪,变频器等外部设备与主机相联,以完成相应的操作。实验装置提供的主机型号有西门子 S7-200 系列的 CPU224(AC/DC/RELAY)。输入点数为14,输出点数为 10;CPU226(AC/DC
6、/RELAY),输入点数为 26,输出点数为 14。二、PLC 的工作原理PLC 是采用“顺序扫描,不断循环”的方式进行工作的。即在 PLC 运行时,CPU 根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。PLC 的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。PLC 在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并
7、将其写入各对应的输入状态寄存器中,即刷新输入。随即关闭输入端口,进入程序执行阶段。PLC 在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。三、PLC 的程序编制1、 编程元件PLC 是采用软件编制程序来实现控制要求的。编程时要使用到各种编程元件,它们可提供无数个动合和动断触点。编程元件是指输入寄存器、输出寄存器、位存储器、定
8、时器、计数器、通用寄存器、数据寄存器及特殊功能存储器等。PLC 内部这些存储器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点” ,但它们不是“硬”继电器,而是 PLC 存储器的存储单元。当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。所以,内部的这些继电器称之为“软”继电器。S7-200 系列 CPU224、CPU226 部分编程元件的编号范围与功能说明如下表所示表 1-1-1元件名称 符号 编号范围 功 能 说 明输入寄存器 I I0.0I1.5 共 14 点 接受外部输入设备的信号输出寄存器 Q Q0.0Q1.1 共 10 点
9、 输出程序执行结果并驱动外部设备位存储器 M M0.0M31.7 在程序内部使用,不能提供外部输出T0,T64 保持型通电延时 1msT1T4,T65T68 保持型通电延时 10msT5T31,T69T95 保持型通电延时 100msT32,T96 ON/OFF 延时,1msT33T36,T97T100ON/OFF 延时,10ms定时器256(T0t255)T37T63,T101T255ON/OFF 延时,100ms计数器 C C0C255 加法计数器,触点在程序内部使用高速计数器 HC HC0HC5 用来累计比 CPU 扫描速率更快的事件顺控继电器 S S0.0S31.7 提供控制程序的逻辑
10、分段变量存储器 V VB0.0VB5119.7 数据处理用的数值存储元件局部存储器 L LB0.0LB63.7 使用临时的寄存器,作为暂时存储器特殊存储器 SM SM0.0SM549.7 CPU 与用户之间交换信息特殊存储器 SM(只读)SM0.0SM29.7 接受外部信号累加寄存器 AC AC0AC3 用来存放计算的中间值2、编程语言所谓程序编制,就是用户根据控制对象的要求,利用 PLC 厂家提供的程序编制语言,将一个控制要求描述出来的过程。PLC 最常用的编程语言是梯形图语言和指令语句表语言,且两者常常联合使用。1) 梯形图(语言)梯形图是一种从继电接触控制电路图演变而来的图形语言。它是借
11、助类似于继电器的动合、动断触点、线圈以及串、并联等术语和符号,根据控制要求联接而成的表示 PLC 输入和输出之间逻辑关系的图形,直观易懂。梯形图中常用 图形符号分别表示 PLC 编程元件的动合和动断触点;用 ( ) 表示它们的线圈。梯形图中编程元件的种类用图形符号及标注的字母或数加以区别。触点和线圈等组成的独立电路称为网络,用编程软件生成的梯形图和语句表程序中有网络编号,允许以网络为单位给梯形图加注释。梯形图的设计应注意到以下三点:梯形图按从左到右、自上而下地顺序排列。每一逻辑行(或称梯级)起始于左母线,然后是触点的串、并联接,最后是线圈。梯形图中每个梯级流过的不是物理电流,而是“概念电流”
12、,从左流向右,其两端没有电源。这个“概念电流”只是用来形象地描述用户程序执行中应满足线圈接通的条件。输入寄存器用于接收外部输入信号,而不能由 PLC 内部其它继电器的触点来驱动。因此,梯形图中只出现输入寄存器的触点,而不出现其线圈。输出寄存器则输出程序执行结果给外部输出设备,当梯形图中的输出寄存器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出寄存器的触点也可供内部编程使用。2)指令语句表指令语句表是一种用指令助记符来编制 PLC 程序的语言,它类似于计算机的汇编语言,但比汇编语言易懂易学,若干条指令组成的程序就是指令语句表。一条指令语句
13、是由步序、指令语和作用器件编号三部分组成。下例为 PLC 实现三相鼠笼电动机起/停控制的两种编程语言的表示方法:I0.0KM 步序 指令语 器件号SS ST I0.0 0 LD I0.0KM Q0.0 1 O Q0.02 AN I0.1(1)继电接触控制线路图 (2)梯形图 3 = Q0.04 END图 1-1-2I0.1 Q0.0第二章 基本指令简介S7-200 的 SIMATIC 基本指令简表:助记符 节点命令 功能说明LDLDNNN装载(开始的常开触点)取反后装载(开始的常闭触点)AANNN与(串联的常开触点)取反后与(串联的常闭触点)OONNN或(并联的常开触点)取反后或(并联的常闭触
14、点)EUED上升沿检测下降沿检测= N 赋值SRS_BIT,NS_BIT,N置位一个区域复位一个区域SHRB DATA,S_BIT,N 移位寄存器SRBSLBOUT,NOUT,N字节右移 N 位字节左移 N 位RRBRLBOUT,NOUT,N字节循环右移 N 位字节循环左移 N 位TON TOFTxxx,TPTxxx,TP通电延时定时器断电延时定时器CTUCTDCxxx,PVCxxx,PV加计数器减计数器END 程序的条件结束STOP 切换到 STOP 模式JMP N 跳到指定的标号ALDOLD电路块串联电路块并联(其他指令见附表)一、标准触点指令I0.2LD 动合触点指令,表示一个与输入母线
15、相连的动合触点指令,即动合触点逻辑运算起始。LDN 动断触点指令,表示一个与输入母线相连的动断触点指令,即动断触点逻辑运算起始。A 与动合触点指令,用于单个动合触点的串联。AX 与非动断触点指令,用于单个动断触点的串联。O 或动合触点指令,用于单个动合触点的并联。ON 或非动断触点指令,用于单个动断触点的并联。LD、LDN、A、AN、O、ON 触点指令中变量的数据类型为布尔(BOOC)型。LD、LDN 两条指令用于将接点接到母线上,A、AN、O、ON 指令均可多次重复使用,但当需要对两个以上接点串联连接电路块的并联连接时,要用后述的 OLD 指令。例子:步序 指令 器件号 步序 指令 器件号0
16、 LD I0.0 5 = Q0.31 AN I0.1 6 = Q0.42 O I0.2 7 AN I0.53 A I0.3 8 = Q0.54 ON I0.4二、串联电路块的并联连接指令 OLD两个或两个以上的接点串联连接的电路叫串联电路块。串联电路块并联连接时,分支开始用 LD、LDN 指令,分支结束用 OLD 指令。OLD 指令与后述的 ALD 指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。OLD 有时也简称或块指令。三、并联电路的串联连接指令 ALD两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用 ALD 指令。分支的起点用 LD
17、、LDN 指令,并联电路结束后,使用 ALD 指令与前面电路串联。ALD 指令也简称与块指令,ALD 也是无操作目标元件,是一个程序步指令。( )( )( )Q0.3I 0.3I 0.1I 0.0Q0.4I 0.5 Q0.6I0.4四、输出指令 =1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。五、置位与复位指令 S、RS 为置位指令,使动作保持;R 为复位指令,使操作保持复位。从指定的位置开始的 N个点的寄存器都被置位或复位,N=1255 如果被指定复位的是定时器位或计数器位,将清除定时器或
18、计数器的当前值。六、跳变触点 EU,ED正跳变触点检测到一次正跳变(触点的入信号由 0 到 1)时,或负跳变触点检测到一次负跳变(触点的入信号由 1 到 0)时,触点接通到一个扫描周期.正/负跳变的符号为 EU 和 ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变七、空操作指令 NOPNOP 指令是一条无动作、无目标元件的一个序步指令。空操作指令使该步序为空操作。用 NOP 指令可替代已写入指令,可以改变电路。在程序中加入 NOP 指令,在改动或追加程序时可以减少步序号的改变。八、程序结束指令 ENDEND 是一条无目标元件的一序步指令。PLC 反复进行输入处理、程序运
19、算、输出处理,在程序的最后写入 END 指令,表示程序结束,直接进行输出处理。在程序调试过程中,可以按段插入 END 指令,可以按顺序扩大对各程序段动作的检查。采用 END 指令将程序划分为若干段,在确认处于前面电路块的动作正确无误之后,依次删去 END 指令。要注意的是在执行 END 指令时,也刷新监视时钟。第三章 可编程控制器梯形图编程规则一、编程的几个步骤 (一)决定系统所需的动作及次序。当使用可编程控制器时,最重要的一环是决定系统所需的输入及输出。输入及输出要求:(1) 第一步是设定系统输入及输出数目。(2) 第二步是决定控制先后、各器件相应关系以及作出何种反应。(二)对输入及输出器件
20、编号每一输入和输出,包括定时器、计数器、内置寄存器等都有一个唯一的对应编号,不能混用。(三)画出梯形图。根据控制系统的动作要求,画出梯形图。梯形图设计规则(1)触点应画在水平线上,并且根据自左至右、自上而下的原则和对输出线圈的控制路径来画。(2)不包含触点的分支应放在垂直方向,以便于识别触点的组合和对输出线圈的控制路径。(3)在有几个串联回路相并联时,应将触头多的那个串联回路放在梯形图的最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这种安排,所编制的程序简洁明了,语句较少。(4)不能将触点画在线圈的右边。(四)将梯形图转化为程序把继电器梯形图转变为可编程控制器的编码,当完成梯形图以后,下一步是把它的编码编译成可编程控制器能识别的程序。这种程序语言是由序号(即地址) 、指令(控制语句) 、器件号(即数据)组成。地址是控制语句及数据所存储或摆放的位置,指令告诉可编程控制器怎样利用器件作出相应的动作。(五)在编程方式下用键盘输入程序。(六)编程及设计控制程序。(七)测试控制程序的错误并修改。(八)保存完整的控制程序。