《【电器与PLC 控制技术】第5章 可编程控制器的结构和工作原理.pdf》由会员分享,可在线阅读,更多相关《【电器与PLC 控制技术】第5章 可编程控制器的结构和工作原理.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第 5 章 可编程控制器的结构和工作原理 PLC 的产品型号很多,发展非常迅速,应用日益广泛,不同的产品在硬件结构、资源配置和指令系统等方面各不相同。但从总体来看,不同厂商的 PLC 在硬件结构和指令系统等方面大同小异。对于初学者而言,只要熟悉一种 PLC 的组成和指令系统,在涉及其他PLC 时就可以做到触类旁通,举一反三。本章主要介绍 PLC 的硬件组成、工作原理和系统资源配置等内容。5.1 可编程控制器的基本结构 PLC 从组成形式上一般分为整体式和模块式两种,但在逻辑结构上基本上相同。整体式 PLC 一般由 CPU 板、I/O 板、显示面板、内存和电源等组成,一般按 PLC 性能又分为
2、若干型号,并按 I/O 点数分为若干规格。模块式 PLC 一般由 CPU 模块、I/O 模块、内存模块、电源模块、底板或机架等组成。无论哪种结构类型的 PLC,都属于总线式的开放结构,其 I/O 能力可根据用户需要进行扩展与组合。PLC 的组成如图 5.1 所示。CPU 存储器 电源 输入单元 输出单元 编程器或其他设备 按钮 接触器 电磁阀 指示灯 行程开关 继电器触点 图 5.1 PLC 的组成 5.1.1 CPU(中央处理器)与通用计算机中的 CPU 一样,PLC 中 CPU 也是整个系统的核心部件,主要由运算器、控制器、寄存器及实现它们之间联系的地址总线、数据总线和控制总线构成。此外还
3、有外围芯片、总线接口及有关电路。CPU 在很大程度上决定了 PLC 的整体性能,如整个系统的控制规模、工作速度和内存容量等。CPU 中的控制器控制 PLC 工作,由它读取指令,解释并执行指令。工作的时序(节奏)则由振荡信号控制。CPU 中的运算器用于完成算术或逻辑运算,在控制器的指挥下工作。第 5 章 可编程控制器的结构和工作原理 9191CPU 中的寄存器参与运算,并存储运算的中间结果。它也是在控制器的指挥下工作。作为 PLC 的核心,CPU 的功能主要包括以下几个方面。(1)CPU 接收从编程器或计算机输入的程序和数据,并送入用户程序存储器中存储。(2)监视电源、PLC 内部各个单元电路的
4、工作状态。(3)诊断编程过程中的语法错误,对用户程序进行编译。(4)在 PLC 进入运行状态后,从用户程序存储器中逐条读取指令,并分析、执行该指令。(5)采集由现场输入装置送来的数据,并存入指定的寄存器中。(6)按程序进行处理,根据运算结果,更新有关标志位的状态和输出状态或数据寄存器的内容。(7)根据输出状态或数据寄存器的有关内容,将结果送到输出接口。(8)响应中断和各种外围设备(如编程器、打印机等)的任务处理请求。当 PLC 处于运行状态时,首先以扫描的方式接收现场各输入装置的状态和数据,并分别存入相应的输入缓冲区。然后从用户程序存储器中逐条读取用户程序,经过命令解释后,按指令的规定执行逻辑
5、或数据运算,将运算结果送入相应的输出缓冲区或数据寄存器内。等所有的用户程序执行完毕之后,最后将 I/O 缓冲区的各输出状态或输出寄存器内的数据传送到相应的输出装置。如此循环运行,直到 PLC 处于编程状态,用户程序停止运行。CPU 模块的外部表现就是具有工作状态的显示、各种接口及设定或控制开关。CPU 模块一般都有相应的状态指示灯,如电源指示、运行指示、输入/输出指示和故障指示等。箱体式 PLC 的面板上也有这些显示。总线接口用于连接 I/O 模块或特殊功能模块,内存接口用于安装存储器,外设接口用于连接编程器等外部设备,通信接口则用于通信。此外,CPU模块上还有许多设定开关,用以对 PLC 进
6、行设定,如设定工作方式和内存区等。为了进一步提高 PLC 的可靠性,近年来对大型 PLC 还采用双 CPU 构成冗余系统,或采用 3CPU 的表决式系统。这样,即使某个 CPU 出现故障,整个系统仍能正常运行。5.1.2 存储器 存储器(内存)主要用于存储程序及数据,是 PLC 不可缺少的组成单元。PLC 中的存储器一般包括系统程序存储器和用户程序存储器两部分。系统程序存储器用于存储整个系统的监控程序,一般采用只读存储器(Read Only Memory,ROM),具有掉电不丢失信息的特性。用户程序存储器用于存储用户根据工艺要求或控制功能设计的控制程序,早期一般采用随机读写存储器(Random
7、 Access Memory,RAM),需要后备电池在掉电后保存程序。目前则倾向于采用电可擦除的只读存储器(Electrical Erasable Programmable Read Only Memory,EEPROM 或 E2PROM)或闪存(Flash Memory),免去了后备电池的麻烦。有些 PLC的存储器容量固定,不能扩展,多数 PLC 则可以扩展存储器。1.PLC 常用的存储器类型(1)RAM 是一种读/写存储器(随机存储器),存取速度最快,但掉电后信息就丢失,需要锂电池作为后备电源。(2)EPROM(Erasable Programmable Read Only Memory)
8、是一种可擦除的只读存储器。在断电情况下,存储器内的所有内容保持不变。在紫外线连续照射下(约 20 分钟)可擦除存储器原来的内容,然后可以重新写入。由于EPROM 擦写不方便,目前已逐渐被 EEPROM 所取代。(3)EEPROM 是一种电可擦除的只读存储器,擦除时间很短,不需要专用的擦除设备。电器与 PLC 控制技术 92 92 使用编程器可以很方便地对其中所存储的内容进行修改。2.PLC 中存储空间的分配 虽然各种 PLC 的 CPU 的最大寻址空间各不相同,但是根据 PLC 的工作原理,其存储空间一般包括系统程序存储区、系统 RAM 存储区(包括 I/O 缓冲区和系统软元件等)和用户程序存
9、储区 3 个部分。1)系统程序存储区 系统程序存储区中存放着相当于计算机操作系统的系统程序,包括监控程序、管理程序、命令解释程序、功能子程序、系统诊断子程序等,由制造商将其固化在 ROM 中,用户不能直接存取。它和硬件一起决定了 PLC 的性能。2)系统 RAM 存储区 系统 RAM 存储区包括 I/O 缓冲区以及各类软元件,如工作寄存器、内部继电器、定时器、计数器、数据寄存器、变址寄存器等。(1)I/O 缓冲区 由于 PLC 投入到运行状态后,只是在输入采样阶段才依次读入各个输入信号的状态和数据,在输出刷新阶段才将输出的状态和数据送至相应的外设。因此,它需要一定数量的存储单元(RAM)来暂时
10、存放 I/O 的状态和数据,这些单元称作 I/O 缓冲区。一个开关量 I/O 占用存储单元中的一位(bit),一个模拟量 I/O 占用存储单元中的一个字(16位)。整个 I/O 缓冲区可以看作是由开关量 I/O 缓冲区和模拟量 I/O 缓冲区两个部分组成的。(2)系统软元件存储区 除了 I/O 缓冲区以外,系统 RAM 存储区还包括 PLC 内部各类软元件(内部继电器、定时器、计数器、数据寄存器和工作寄存器等)的存储区。该存储区又分为具有掉电保存的存储区域和掉电不保存的存储区域。前者在 PLC 断电时,由内部的锂电池供电,数据不会丢失;后者在 PLC 断电时,数据被清零。内部继电器 与开关输出
11、一样,每个内部继电器占用系统 RAM 存储区中的一位,但不能直接驱动外部负载,只供用户在编程中使用。其作用类似于电气控制线路中的继电器。另外,不同的 PLC 还提供数量不等的特殊内部继电器,具有不同的特殊功能。数据寄存器 与模拟量 I/O 一样,每个数据寄存器占用系统 RAM 存储区中的一个字(16 位),主要用于模拟量处理、数据运算和通信等。另外,PLC 还提供数量不等的特殊数据寄存器,用于存储系统中某些特定的数据或信息。定时器和计数器 PLC 提供了许多定时器和计数器,数量从几十个到几千个不等,用于满足工业生产中定时控制和计数控制的要求。用户程序存储区存放用户根据实际控制要求或生产工艺流程
12、编写的具体控制程序。不同类型的 PLC,其存储容量各不相同。5.1.3 输入/输出模块 输入模块和输出模块通常称为 I/O 模块或 I/O 单元。PLC 提供了各种工作电平、连接形式和驱动能力的 I/O 模块,有各种功能的 I/O 模块供用户选用,如电平转换、电气隔离、串/并行变换、开关量输入/输出、模数(A/D)和数模(D/A)转换以及其他功能模块等。按 I/O点数确定模块的规格及数量,I/O 模块可多可少,但其最大数受 PLC 所能管理的配置能力,即底板或机架槽数的限制。PLC 的对外功能主要是通过各种 I/O 接口模块与外界联系来实现的。输入模块和输出模块是 PLC 与现场 I/O 装置
13、或设备之间的连接部件,起着 PLC 与外部设备之间传递信息的作用。I/O 模块分为开关量输入(Digital Input,DI)、开关量输出(Digital Output,DO)、模拟第 5 章 可编程控制器的结构和工作原理 9393量输入(Analog Input,AI)和模拟量输出(Analog Output,AO)等模块。通常 I/O 模块上还有I/O 接线端子排和状态显示,以便于连接和监视。I/O 模块既可通过底板总线与主控模块放在一起,构成一个系统,又可通过插座用电线引出远程放置,实现远程控制及联网。开关量模块按电压水平分有 220 VAC、110 VAC、24 VDC 等规格;按隔
14、离方式分有继电器输出、晶闸管输出和晶体管输出等类型。模拟量模块按信号类型分有电流型(4mA20mA、0mA20mA)、电压型(0V10V、0V5V、10V10V)等规格;按精度分有 12 位、14 位、16 位等规格。5.1.4 智能模块 除了上述通用的 I/O 模块外,PLC 还提供了各种各样的特殊 I/O 模块,如热电阻、热电偶、高速计数器、位置控制、以太网、现场总线、远程 I/O 控制、温度控制、中断控制、声音输出、打印机等专用型或智能型的 I/O 模块,用以满足各种特殊功能的控制要求。I/O模块的类型、品种与规格越多,系统的灵活性越高。模块的 I/O 容量越大,系统的适应性就越强。5.
15、1.5 编程设备 常见的编程设备有简易手持编程器、智能图形编程器和基于 PC 的专用编程软件。编程设备用于输入和编辑用户程序,对系统作一些设定,监控 PLC 及 PLC 所控制的系统的工作状况。编程设备在 PLC 的应用系统设计与调试、监控运行和检查维护中是不可缺少的部件,但不直接参与现场的控制。5.1.6 电源 PLC 中不同的电路单元需要不同的工作电源,如 CPU 和 I/O 电路要采用不同的工作电源。因此,电源在整个 PLC 系统中起着十分重要的作用。如果没有一个良好的、可靠的电源,系统是无法正常工作的。PLC 的制造商对电源的设计和制造十分重视。PLC 一般都配有开关式稳压电源,用于给
16、 PLC 的内部电路和各模块的集成电路提供工作电源。有些机型还向外提供 24V 的直流电源,用于给外部输入信号或传感器供电,避免了由于电源污染或电源不合格而引起的问题,同时也减少了外部连线,方便了用户。有些PLC 中的电源与 CPU 模块合二为一,有些是分开的。输入类型上有 220V 或 110V 的交流输入,也有 24V 的直流输入。对于交流输入的 PLC,电源电压为 AC100 V240 V。一般交流电压波动在15%+10%的范围内,可以不采取其他措施而将 PLC 直接连接到交流电网上去。对于直流输入的 PLC,电源的额定电压一般为 24VDC。当电源在额定电压的15%+10%范围内波动时
17、,PLC 都可以正常工作。5.2 可编程控制器的资源与编程语言 5.2.1 可编程控制器的硬件资源 PLC 都提供了各种类型的继电器,一般都称为“软继电器”,以供系统软件设计中编程使用。常用的有输入继电器、输出继电器、内部继电器(分为通用和专用两种)、定时器、电器与 PLC 控制技术 94 94 计数器、数据寄存器(分为通用和专用等类型)等。这些编程用的继电器的工作线圈没有工作电压等级、功耗大小和电磁惯性等问题。其触点没有数量限制,没有机械磨损和电蚀等问题。在不同的指令操作下,其工作状态可以无记忆,也可以有记忆,还可以作脉冲数字元件使用。1.输入继电器 PLC 的输入继电器是接受外部开关信号的
18、窗口。PLC 内部与输入端子连接的输入继电器是用光电耦合器隔离的电子继电器,编号与接线端子编号一致,如图 5.2 所示。每一个输入继电器都有一个“等效线圈”和无数个常开/常闭触点。线圈的吸合或释放只取决于PLC 外部所连接的开关信号的状态,而不能通过程序控制。内部的常开/常闭两种触点供编程时随时使用,使用次数不限。输入电路的时间常数一般小于 10ms。内内 部 电 路 COM 输入 1 图 5.2 输入继电器内部原理图 2.输出继电器 PLC 的输出继电器是向外部负载输出信号的窗口,也是通过光电耦合器隔离后接外部负载的。输出继电器的线圈由程序控制,其外部输出主触点接到 PLC 的输出端子上,以
19、供驱动外部负载使用,其余常开/常闭触点供内部程序使用。输出继电器的常开/常闭触点使用次数不限,但线圈一般只能用 1 次。3.内部继电器 PLC 中有很多内部继电器,其线圈与输出继电器一样,由 PLC 内各软元件的触点驱动。内部继电器没有向外的任何联系,只供内部编程使用。它的常开/常闭触点使用次数不受限制。但是,这些触点不能直接驱动外部负载,外部负载的驱动必须通过输出继电器来实现。内部继电器一般分为通用内部继电器和特殊内部继电器。1)通用内部继电器 PLC 中都有一定数量的通用内部继电器。这类继电器的触点和线圈在程序中都可以使用,但线圈一般只能用 1 次,而对应的常开和常闭触点则可以无限制地重复
20、使用。2)特殊内部继电器 特殊内部继电器也叫专用内部继电器,每一个都有专门的用途,用来存储系统工作时的一些特定状态信息。这类继电器只能单个使用,而且只能使用触点,不能使用线圈。第 5 章 可编程控制器的结构和工作原理 9595不同的 PLC 其输入继电器、输出继电器和内部继电器的编址方式(即编号)不同,数量多少也不一样。在实际设计中,一定要明确其编址方式和数量。它们一般既可单个使用,也能以字节(由 8 个继电器组成)、字(由 16 个继电器组成)或双字(由 32 个继电器组成)的形式使用。4.定时器 PLC 中的定时器根据时钟脉冲的累积计时。当所计时间达到设定值时,其输出触点动作。时钟脉冲一般
21、有 1ms、10ms 和 100ms,有些 PLC 还提供 1s 的时钟,可以满足不同的应用需求。定时器可以采用用户程序存储器内的常数作为设定值,也可以用数据寄存器的内容作为设定值。每个定时器只有一个输入。编程时,设定值由用户确定。与常规的时间继电器一样,线圈通电时,定时器的当前值开始减计数计时。在当前值计到 0 时,相应的常开/常闭触点都动作,常开的闭合,常闭的断开;断电时自动复位,所有的触点释放,不保存中间数值,当前值又变为设定值。需要注意的是,PLC 中的定时器没有常规的时间继电器一样的瞬动触点。5.计数器 PLC 中的计数器一般是 16 位减法计数器,都有两个输入,一个用于计数,一个用
22、于复位。每一个计数脉冲上升沿使原来的数值减 1。在当前值减到 0 时停止计数,同时触点动作,常开触点闭合,常闭触点断开。当复位控制信号的上升沿到来时,计数器被复位。复位信号断开后,计数器重新进入计数状态。与定时器不同的是,如果在计数过程中系统断电,计数器的当前值一般能自动保存下来。在系统上电重新运行时,计数器就接着断电时的参数值继续计数。不同的 PLC 其定时器和计数器的编址方式(即编号)不同,具体工作特性和数量的多少也不一样。在实际设计中,一定要十分熟悉其编址方式、特性和数量。一个定时器或计数器的线圈一般只能使用一次,但其常开和常闭触点都没有使用次数的限制,在编程时可以重复使用。6.数据寄存
23、器 数据寄存器不能使用线圈或触点,而是以字存储单元的形式使用,用于存放各种数据。PLC 中每一个数据寄存器都是一个字存储单元,都是 16 位(最高位为正、负符号位),也可用两个数据寄存器组合起来存储 32 位数据(最高位为正、负符号位)。不同的 PLC 提供的数据寄存器的种类的数量不同,编址方式(即编号)也不一样。数据寄存器一般分为通用和专用两种。1)通用数据寄存器 通用数据寄存器用于存放各种数据,只要不写入其他数据,已写入的数据不会变化。默认状态下各个单元的数据均为 0。2)专用数据寄存器 专用数据寄存器也叫特殊数据寄存器。与专用内部继电器类似,每一个都有专门的用途。这类存储单元只能以字的形
24、式使用。上文对 PLC 的继电器资源作了简要的介绍,具体的应用在后续章节中再结合相应的PLC 产品和指令详细讨论。实际上,对于任意一种 PLC,不论是为了学习还是实际使用,熟练掌握其所提供的继电器的种类、数量和各自的特性都非常重要。这是学习和使用 PLC电器与 PLC 控制技术 96 96 的重要基础,是学习指令系统的前提条件,所以一定要熟练掌握这一部分的知识点。5.2.2 可编程控制器的编程语言 PLC 是一种专门为工业控制而设计的计算机,具体控制功能的实现也是通过开发人员设计的程序来完成的。所以,采用 PLC 进行控制就涉及到用相应的程序设计语言来完成编程的任务。PLC 存在的主要缺点在于
25、 PLC 的软件和硬件体系结构是封闭而不是开放的。绝大多数的 PLC 是专用总线、专用通信网络及协议。编程虽然都可采用梯形图,但不同公司的 PLC产品在寻址、语法结构等方面不一致,使各种 PLC 互不兼容。国际电工委员会(IEC)在 1992年颁布了可编程控制器的编程软件标准 IEC1131-3,为各 PLC 厂家编程的标准化铺平了道路。开发以 PC 为基础、在 Windows 平台下,符合 IEC1131-3 国际标准的新一代开放体系结构的 PLC 正在规划中。国际电工委员会制订的 5 种标准编程语言如下。(1)梯形图(Ladder Diagram,LD)适合于逻辑控制的程序设计。(2)指令
26、表(Instruction List,IL)适合于简单文本的程序设计。(3)顺序功能图(Sequential Function Chart,SFC)适合于时序混合型的多进程复杂控制。(4)功能块图(Function Block Diagram,FBD)适合于典型固定复杂算法控制,如 PID调节等。(5)结构化文本(Structured Text,ST)适合于自编专用的复杂程序,如特殊的模型算法。1.梯形图 梯形图语言是 PLC 中应用程序设计的一种标准语言,也是在实际设计中最常用的一种语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字逻辑控制
27、,但不适于编写控制功能复杂的大型程序。梯形图是一种图形化的编程语言,沿用了传统的电气控制原理图中的继电器触点、线圈、串联和并联等术语和一些图形符号构成,左右的竖线称为左右母线。在程序中,最左边是主信号流,信号流总是从左向右流动的。梯形图由触点、线圈和指令框等构成。触点代表逻辑输入条件,线圈代表逻辑运算结果,指令框用来表示定时器、计数器或数学运算等功能指令。梯形图中的触点只有常开和常闭两种,触点可以是 PLC 外部开关连接的输入继电器的触点,也可以是 PLC 内部继电器的触点或内部定时器、计数器等的触点。梯形图中的触点可以任意串、并联,但线圈只能并联,不能串联。内部继电器、定时器、计数器、寄存器
28、等均不能直接控制外部负载,只能作为中间结果供 CPU 内部使用。PLC 是按循环扫描的方式处理控制任务,沿梯形图先后顺序执行。在同一扫描周期中的结果存储在输出状态暂存器中,所以输出点的值在用户程序中可以当作条件使用。2.指令表 指令表是一种类似于计算机汇编语言的一种文本编程语言,即用特定的助记符来表示某种逻辑运算关系。一般由多条语句组成一个程序段。指令表适合于经验丰富的程序员使用,可以实现某些梯形图不易实现的功能。3.顺序功能图 顺序功能图也是一种图形化的编程语言,用来编写顺序控制的程序(如机械手控制程第 5 章 可编程控制器的结构和工作原理 9797序)。在进行程序设计时,工艺过程被划分为若
29、干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。4.功能块图 功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图采用类似于数字电路中逻辑门的形式来表示逻辑运算关系。一般一个运算框表示一个功能。运算框的左侧为逻辑运算的输入变量,右侧为输出变量。输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起。5.结构化文本 结构化文本是为 IEC61131-3 标准创建的一种 PLC 专用的高级语言。与梯形图相比,易于实现复杂的数学运算,编写的程序非常简洁和紧凑。西门
30、子公司的 PLC 使用的 STEP7 中的 S7 SCL 属于结构化控制语言,程序结构与 C 语言和 Pascal 语言相似,特别适合习惯使用高级语言进行程序设计的技术人员使用。前面对 PLC 的基本情况作了一般性的介绍。由于没有结合具体的 PLC 产品进行说明,因此有些地方可能还难以形成完整而具体的认识,如内部的继电器资源等内容。但从学习和使用的角度来说,一般要从以下 3 个方面来考虑。(1)必须熟悉 PLC 的内部继电器资源。这是进行系统程序设计的前提和基础。针对特定型号的 PLC,一定要搞清楚其内部继电器的类型、数量、编号范围和相关特性。只有熟悉了这部分内容,在程序设计中才能合理地进行资
31、源分配,从而编写出高水平的应用程序。由于一般的 PLC 教材和参考资料只介绍一些常用的资源,内容不够全面,必要的时候可查看相应的 PLC 用户手册。(2)必须熟悉 PLC 的指令系统。指令是进行 PLC 程序设计的基本语言工具,是系统控制功能的具体体现。只有熟练掌握了 PLC 的指令系统,在进行程序设计时才能做到灵活应用。当然,采用 PLC 进行控制系统设计的工程技术人员首先要熟悉生产流程、被控设备的特性和控制要求,然后结合指令系统才能设计出高质量的程序。(3)必须熟悉 PLC 的输入和输出电路特性及外部输入/输出设备与 PLC 的输入/输出继电器的连接方法。不同的 PLC 对输入和输出的信号
32、要求不一样,如输入信号分直流和交流,输出则有继电器输出、晶体管输出和晶闸管输出等不同类型。在实际设计中,应该注意输入/输出电路的动作特点、电压、负载电流等参数。这些内容一般可以在 PLC 的硬件安装手册中查到。5.3 可编程控制器的工作原理 PLC 在本质上是一台微型计算机,其工作原理与普通计算机类似,具有计算机的许多特点。但其工作方式却与计算机有较大的不同,具有一定的特殊性。早期的 PLC 主要用于替代传统的继电器-接触器构成的控制装置,但是这两者的运行方式不同。继电器控制装置采用硬逻辑并行运行的方式,如果一个继电器的线圈通电或断电,该继电器的所有触点(常开/常闭触点)不论在控制线路的哪个位
33、置,都会立即同时动作。电器与 PLC 控制技术 98 98 而 PLC 采用了一种不同于一般计算机的运行方式,即循环扫描。PLC 在工作时逐条顺序地扫描用户程序。如果一个线圈接通或断开,该线圈的所有触点不会立即动作,必须等扫描到该触点时才会动作。为了消除二者之间由于运行方式不同而造成的这种差异,必须考虑到继电器控制装置中各类触点的动作时间一般在 100ms 以上,而 PLC 扫描用户程序的时间一般均小于 100ms。计算机一般采用等待输入、响应处理的工作方式,没有输入时就一直等待输入,如有键盘操作或鼠标等 I/O 信号的触发,则由计算机的操作系统进行处理,转入相应的程序。一旦该程序执行结束,又
34、进入等待输入的状态。而 PLC 对 I/O 操作、数据处理等则采用循环扫描的工作方式。5.3.1 可编程控制器的工作过程 在 PLC 中,用户程序按先后顺序存放,在没有中断或跳转指令时,PLC 从第一条指令开始顺序执行,直到程序结束符后又返回到第一条指令,如此周而复始地不断循环执行程序。PLC 在工作时采用循环扫描的工作方式。顺序扫描工作方式简单直观,程序设计简化,并为 PLC 的可靠运行提供保证。有些情况下也插入中断方式,允许中断正在扫描运行的程序,以处理紧急任务。PLC 扫描工作的第一步是采样阶段,通过输入接口把所有输入端的信号状态读入缓冲区,即刷新输入信号的原有状态。第二步扫描用户程序,
35、根据本周期输入信号的状态和上周期输出信号的状态,对用户程序逐条进行运算处理,将结果送到输出缓冲区。第三阶段进行输出刷新,将输出缓冲区各输出点的状态通过输出接口电路全部送到PLC的输出端子。PLC 周期性地循环执行上述 3 个步骤,这种工作方式称为循环扫描的工作方式。每一次循环的时间称为一个扫描周期。一个扫描周期中除了执行指令外,还有 I/O 刷新、故障诊断和通信等操作,如图 5.3 所示。扫描周期是 PLC 的重要参数之一,它反映 PLC 对输入信号的灵敏度或滞后程度。通常工业控制要求 PLC 的扫描周期在 6ms30ms 以下。上电初始化 系统自诊断 通信处理 输入扫描 程序运行 输出刷新
36、第一个扫描周期 第二个扫描周期 图 5.3 PLC 的工作流程图 在进入扫描之前,PLC 首先执行自检操作,以检查系统硬件是否存在问题。自检过程的主要任务是消除各继电器和寄存器状态的随机性,进行复位和初始化处理,检查 I/O 模块的连接是否正常,再对内存单元进行测试。如正常则可认为 PLC 自身完好,否则出错指示灯 ERROR 亮报警,停止所有任务的执行。最后复位系统的监视定时器,允许 PLC 进入循环扫描周期。在每次扫描期间,PLC 都进行系统诊断,以及时发现故障。在正常的扫描周期中,PLC 内部要进行一系列操作,一般包括故障诊断及处理操作、连接工业现场的数据输入和输出操作、执行用户程序和响
37、应外部设备的任务请求(如打印、显示和通信等)。PLC 的面板上一般都有设定其工作方式的开关。当 PLC 的方式开关置于 RUN(运行)时,执行所有阶段;当方式开关置于 STOP(停止)时,不执行后 3 个阶段。此时可进行通信第 5 章 可编程控制器的结构和工作原理 9999处理,如对 PLC 进行离线编程或联机操作。1.故障诊断及处理操作 这是在每一次扫描程序前对 PLC 系统作一次自检。若发现异常,除了出错指示灯(ERROR)亮之外,还判断故障的性质。如属于一般性故障,则只报警不停机,等待处理。对于严重故障,PLC 就切断切外部联系,停止用户程序的执行。2.数据输入和输出操作 数据输入和输出
38、操作即为 I/O 状态刷新。输入扫描就是对 PLC 的输入进行一次读取,将输入端各变量的状态重新读入 PLC 中,存入输入缓冲器。输出刷新就是将新的运算结果从输出缓冲区送到 PLC 的输出端。PLC 的存储器中有一个专门存放 I/O 数据的区域。对应于输入端的数据区为输入缓冲区,对应于输出端的数据区为输出缓冲区。PLC 在采样时,输入信号进入缓冲区,即数据输入的状态刷新。PLC 在输出时,将输出缓冲区的内容输出到输出寄存器,即数据输出的状态刷新。I/O 缓冲区中的内容构成了当前的 I/O 状态表。通常把 PLC 内部的各种存储器称为“软继电器”。所谓“软继电器”实际上是存储器中的一位触发器,其
39、 0、1 对应继电器线圈的断与通。在传统的继电器控制系统中,输出是由物理器件加导线连接而成的电路来实现的。而在 PLC 中,却是用微处理器和存储器来代替继电器控制线路,是通过用户程序来控制这种“继电器”的断与通,所以将这种继电器称为“软继电器”。输入操作实际是采样输入信号,刷新输入缓冲区的内容,输出操作则是送出处理结果,按输出缓冲区的内容刷新输出信号。PLC 在每次扫描中都将保存在输入和输出缓冲区的内容进行一次更新。从输入和输出操作的过程中可以看出,在刷新期间,如果输入信号发生变化,则在本次扫描期间,PLC 的输出端会相应地发生变化,也就是说输出对输入立刻产生了响应。如在一次 I/O 刷新之后
40、输入变量才发生变化,则在本次扫描期间输入缓冲器的状态保持不变,PLC 相应的输出也保持不变,而要到下一次扫描期间输出才对输入产生响应。即只有在采样(刷新)时刻,输入缓冲区中的内容才与输入信号(不考虑电路固有惯性和滞后影响)一致,其他时间范围内输入信号的变化不会影响输入缓冲区的内容。PLC 根据用户程序要求及当前的输入状态进行处理,结果存放在输出缓冲区中。在程序执行结束(或下次扫描用户程序前)PLC 才将输出缓冲区的内容通过锁存器输出到端子上,刷新后的输出状态一直保持到下次的输出刷新。这种循环扫描的工作方式存在一种信号滞后的现象,但 PLC 的扫描速度很高,一般不会影响系统的响应速度。3.执行用
41、户程序 用户程序的执行一般包括程序的具体执行与监视两部分操作。1)执行用户程序 用户程序是存放在用户程序存储器中的。PLC 在循环扫描时,每一个扫描周期都按顺序从用户程序的第一条指令开始,逐条(跳转指令除外)解释和执行,直到执行到 END 指令才结束对用户程序的本次扫描。用户程序处理的依据是输入/输出状态表。其中输入状态在采样时刷新,输出状态则根据用户程序而逐个更新。每一次计算都以当前的 I/O 状态表中的内容为依据,结果送到相电器与 PLC 控制技术 100 100 应的输出缓冲器中,上面的结果作为下面计算的依据,中间结果不能作为输出的依据。对于整个控制系统来说,只有执行完用户程序后的 I/
42、O 状态才是该系统的确定状态,作为输出锁存的依据。2)监视 PLC 中一般设置有监视定时器(Watchdog timer,WDT),即“看门狗”,用来监视程序执行是否正常。每次执行程序前复位 WDT 并开始计时。正常时,扫描执行一遍用户程序所需时间不会超过某一定值。当程序执行过程中因某种干扰使扫描失控或进入死循环,则 WDT会发出超时复位信号,使程序重新开始执行。此时,如是偶然因素造成超时,系统便转入正常运行,如由于不可恢复的确定性故障,则系统会在故障诊断及处理操作中发现这种故障,并发出故障报警信号,切断一切外界联系,停止用户程序的执行,等待技术人员处理。4.响应外设的服务请求 外设命令是可选
43、操作,它给操作人员提供了交互机会,也可与其他系统进行通信,不会影响系统的正常工作,而且会更有利于系统的控制和管理。PLC 每次执行完用户程序后,如有外设命令,就进入外设命令服务的操作,操作完成后就结束本次扫描周期,开始下一个扫描周期。5.几点说明(1)PLC 以循环扫描的方式工作,输入/输出的逻辑关系上存在滞后现象。扫描周期越长,滞后现象就越严重。但 PLC 的扫描周期一般只有几十毫秒或更少,两次采样之间的时间很短,对于一般输入量来说可以忽略。可以认为输入信号一旦变化,就能立即传送到对应的输入缓冲器。同样,对于变化较慢的控制过程来说,由于滞后的时间不超过一个扫描周期,因此可以认为输出信号是及时
44、的。在实际应用中,这种滞后现象可起到滤波的作用。对慢速控制系统来说,滞后现象反而增加了系统的抗干扰能力。但对控制时间要求较严格、响应速度要求较快的系统,就必须考虑滞后对系统性能的影响,在设计中尽量缩短扫描周期,或者采用中断的方式处理高速的任务请求。(2)除了执行用户程序所占用的时间外,扫描周期还包括系统管理操作所占用的时间。前者与程序的长短及所用的指令有关,而后者基本不变。如考虑到 I/O 硬件电路的延时,PLC 的响应滞后就更大一些。输入/输出响应的滞后不仅与扫描方式和硬件电路的延时有关,还与程序设计的指令安排有关,在程序设计中一定要注意。PLC 最基本的工作方式是循环扫描的方式,即使在具有
45、快速处理的高性能 PLC 中,系统也是以循环扫描的工作方式执行,理解和掌握这一点对于学习 PLC 十分重要。5.3.2 可编程控制器的输入/输出过程 当 PLC 投入运行后,在系统监控程序的控制下,其工作过程一般主要包括 3 个阶段,即输入采样、用户程序执行和输出刷新 3 个阶段。完成上述 3 个阶段称作一个扫描周期。在整个运行期间,PLC 的 CPU 以一定的扫描速度重复执行上述 3 个阶段。1.输入采样过程 在输入采样阶段,PLC 以扫描方式依次地读入所有输入的状态和数据,并将它们存入第 5 章 可编程控制器的结构和工作原理 101101I/O 缓冲区中相应的单元内。输入采样结束后,系统转
46、入用户程序执行和输出刷新阶段。在这两个阶段中,即使外部的输入状态和数据发生变化,输入缓冲区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,输入信号均被有效采集。2.用户程序执行 在用户程序执行阶段,PLC 总是按由上而下的顺序依次地扫描用户程序。在扫描每一条指令时,又总是按先左后右、先上后下的顺序进行逻辑运算,然后根据逻辑运算的结果,刷新该继电器在系统 RAM 存储区中对应位的状态;或者刷新该继电器在 I/O 缓冲区中对应位的状态;或者确定是否要执行该指令所规定的特殊功能操作。因此,在用户程序执行过程中,只有输入继电器
47、在 I/O 缓冲区内的状态和数据不会发生变化,而输出继电器和其他软元件在 I/O 缓冲区或系统 RAM 存储区内的状态和数据都有可能发生变化。并且,排在上面的指令,其程序执行结果会对排在下面的凡是用到这些线圈或数据的指令起作用。相反,排在下面的指令,其被刷新的线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。3.输出刷新过程 在用户程序扫描结束后,PLC 就进入输出刷新阶段。在此期间,CPU 按照输出缓冲区中对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时才是PLC 的真正输出,如图 5.4 所示。图 5.4 PLC 的输入和输出过程 思考题与习题 5-1 PLC 主要由哪几个部分组成?简述各部分的主要作用。5-2 PLC 常用的存储器有哪几种?各有什么特点?用户存储器主要用来存储什么信息?5-3 什么是扫描周期?其时间长短主要是受什么因素的影响?5-4 什么是滞后现象?它主要是由什么原因引起的?5-5 试简述 PLC 的工作原理。5-6 PLC 中的继电器有哪些类型?各有什么作用?5-7 阐述 PLC 各种编程语言的特点。