1.2 PLC的组成及工作原理
1.2.1 知识:PLC的基本组成
PLC是专为工业环境下的应用而设计的工业计算机,其基本结构与一般计算机相似,为了便于操作、维护、扩充功能及提高系统的抗干扰能力,其结构组成又与一般计算机有所区别。
PLC系统通常由CPU、存储器、输入/输出模块和电源等组成。
尽管PLC有许多品种和类型,但其实质是一种专门用于工业控制的计算机,其硬件结构基本上与微型计算机相同,PLC的组成如图1-4所示。
图1-4 PLC的组成
1.CPU
CPU是PLC的核心部件,其在PLC中的作用类似于人体的神经中枢,整个PLC的工作过程都是在CPU的统一指挥和协调下进行的。CPU用扫描的方式读取输入装置的状态或数据,在生产厂家预先编制的系统程序控制下,完成用户程序所设计的逻辑或算术运算任务,并根据处理结果控制输出设备实现输出控制。
不同型号、规格的PLC使用的CPU类型也不同,通常有3种:通用微处理器(如8086、80286和80386等)、单片机芯片(如8031、8096等)、位片式微处理器(如AMD-2900等)。PLC大多采用8位或16位微处理器,PLC的档次越高,CPU的位数也越多,运算速度也越快,功能指令也越强。中小型PLC常采用8~16位微处理器或单片机,大型PLC多采用高速位片式微处理器、双CPU或多CPU系统。
2.存储器
PLC内的存储器按用途可以分为系统程序存储器和用户程序存储器两种。系统程序存储器用来存放PLC生产厂家编写好的系统程序,它关系到PLC的性能,因此被固化在可编程只读存储器PROM内,用户不能访问和修改。系统程序使PLC具有基本的智能,能够完成设计者规定的各项工作。用户程序存储器主要用来存储用户根据生产工艺的控制要求编制的程序、输入/输出状态、计数和定时等内容。为了便于读出、检查和修改,用户程序一般存于CMOS(互补金属氧化物半导体)的静态RAM(随机存储器)中,用锂电池作为后备电源,以保证掉电时存储内容不丢失。锂电池使用周期一般是3年,日常使用中必须留心。
为了防止干扰对RAM中程序的破坏,当用户程序经过运行,正常且不需要改变后,则将其固化在EPROM(可擦编程只读存储器)中,在紫外线连续照射20min后,就可将EPROM中的内容消除,加高电平(12.5V或24V)可把程序写入EPROM中。近年来使用广泛的是一种E2PROM(电可擦编程只读存储器),它不需要专用的写入器,只需用编程器就能对用户程序内容进行“在线修改”,使用可靠方便。
3.电源
PLC的电源是指将外部输入供电电源处理后转换成满足PLC的CPU、存储器和输入/输出接口等内部电路工作需要的直流电源电路或电源模块。许多PLC的直流电源采用直流开关稳压电源,不仅可提供多路独立的电压供内部电路使用,而且还可为输入设备(传感器)提供标准电源。
4.I/O接口
I/O接口是PLC与现场输入/输出设备或其他外设之间的连接部件。PLC通过输入接口把工业设备或生产过程的状态或信息(如按钮、各种继电器触点、行程开关和各种传感器等)读入CPU。输出接口是将CPU处理的结果通过输出电路驱动输出设备(如指示灯、电磁阀、继电器和接触器等),如图1-4所示。I/O接口的类型主要有开关量I/O接口和模拟量I/O接口。
5.外设接口
PLC的外设主要有编程器、操作面板、文本显示器和打印机等。编程器接口是用来连接编程器的,PLC本身通常是不带编程器的,为了能对PLC编程及监控,PLC上专门设置有编程器接口,通过这个接口可以连接各种形式的编程装置。触摸屏和文本显示器不仅是用于显示系统信息的显示器,还可操作控制单元,它们可以在执行程序的过程中修改某个量的数值,也可直接设置输入或输出量,以便立即启动或停止一台外设的运行。打印机可以把过程参数和运行结果以文字形式输出。外设接口可以把上述外设与CPU连接,以完成相应的操作。
除上述一些外设接口以外,PLC还设置了存储器接口和通信接口。存储器接口是为扩展存储区而设置的,用于扩展用户程序存储区和用户数据参数存储区,可以根据使用的需要扩展存储器。通信接口是为在微机与PLC、PLC与PLC之间建立通信网络而设立的接口。
6.I/O扩展接口
扩展接口用于扩展I/O单元,它使PLC的控制规模配置更加灵活,这种扩展接口实际上为总线形式,可以配置开关量的I/O单元,也可配置模拟量和高速计数等特殊I/O单元及通信适配器等。
1.2.2 知识:PLC的循环扫描原理
1.循环扫描过程
PLC是一种工业控制计算机,所以它的工作原理与微型计算机有很多相似性,两者都是在系统程序的管理下,通过运行应用程序完成用户任务,实现控制目的。但是PLC与微型计算机的程序运行方式有较大的不同,微型计算机运行程序时,对输入、输出信号进行实时处理,一旦执行到END指令,程序运行将会结束。而PLC运行程序时,会从第一条用户程序开始,在无跳转的情况下,按顺序逐条执行用户程序,直到END指令结束,然后再从头开始执行,并周而复始地重复直到停机或从运行状态切换到停止状态。
CPU中的程序分为操作系统和用户程序。操作系统用来处理PLC的启动、刷新输入/输出过程映像区、调用用户程序、处理中断和错误、管理存储区和通信等任务。用户程序由用户根据需求自己编写,以完成特定的控制任务。STEP7[TIA Portal(博途软件)]将用户编写的程序和数据维护在“块”中,如功能块(FB)、功能(FC)和数据块(DB)等。
PLC采用循环扫描的方式执行用户程序,即扫描工作方式,把PLC这种执行程序的方式称为循环扫描工作方式,每扫描完一次程序就构成了一个扫描周期。另外,在用户程序扫描过程中,CPU执行的是循环扫描,并且是用周期性地集中采样、集中输出的方式来完成的,PLC的循环扫描工作流程图如图1-5所示。
图1-5 PLC的循环扫描工作流程图
西门子PLC的循环扫描过程如下:
1)PLC得电或由STOP(停止)模式切换到RUN(运行)模式时,CPU启动,同时清除没有保持功能的位存储器、定时器和计数器,清除中断堆栈和块堆栈的内容,复位保存的硬件中断等。
2)执行“系统启动组织块”OB100,该组织块可以自定义编程,实现一些初始化的工作。
3)系统进入周期扫描,并启动循环时间监控。
4)CPU将输出过程映像区的数据写入输出模块。
5)读取输入模块的状态,并写入输入过程映像区。
6)CPU调用OB1,执行用户程序,其间根据需要可调用其他逻辑块[FB、SFB(系统功能块)、FC及SFC(系统功能)],来实现控制任务。
7)在循环结束时,操作系统执行所有挂起的任务,例如下载和删除块、接收和发送全局数据等。
8)CPU返回“第3)步”,重新启动循环时间监控。
9)在执行用户程序的过程中,如果有中断事件发生,当前执行的块将暂停执行,转而执行相应的组织块,来响应中断。该组织块执行完成后,之前被暂停的块将从中断的地方继续开始执行。OB1具有很低的优先级,除了OB90外,所有的组织块都能中断OB1。
每个循环周期的时间长度是随PLC的性能和程序不同而有所差别的,一般为十几毫秒左右。扫描循环时间不是一成不变的,通常中断、诊断和故障处理、测试和调试功能、通信、传送和删除块、压缩用户程序存储器、读/写MMC(多媒体卡)等事件都会延长循环时间。
在硬件组态中,可以修改最大循环时间,默认150ms。如果实际的循环时间超出设置的最大时间,CPU会调用组织块OB80,在其中响应这个故障。如果OB80中未编写程序,CPU将转入STOP模式。S7-400 PLC的CPU中还可以设置最小扫描周期,当用户程序较为简单,使得循环时间太短时,过程映像区会过于频繁地刷新,设置最小扫描周期可以避免这种情况。
2.系统的响应时间
从PLC的外部输入信号发生变化的时刻到它所控制的外部输出信号发生变化的时刻之间的时间间隔,称为系统的响应时间,它由以下3部分组成:
(1)输入电路的滤波时间 输入模块通过RC滤波电路来过滤输入端引入的干扰,并消除因外接输入触点动作时产生的抖动而引起的不良影响,滤波电路的时间常数决定了输入滤波时间的长短,一般为10ms左右。
(2)输出电路的滞后时间 输出电路的滞后时间与模块的类型有关,继电器型输出电路的滞后时间一般在10ms左右;双向晶闸管型输出电路在负载通电时的滞后时间约为1ms,负载由通电到断电时的最长滞后时间为10ms;晶体管型输出电路的滞后时间一般在1ms以下。
(3)CPU扫描循环工作方式带来的滞后时间在最坏的情况下,由扫描工作方式引起的滞后时间可达2~3个扫描周期。PLC总的响应延迟时间一般只有几毫秒到几十毫秒,对于一般的系统是无关紧要的。在一些特殊应用场合,要求输入、输出信号之间的滞后时间尽可能短的时候,可以选用扫描速度更快的PLC或采取中断等措施。
1.2.3 知识:PLC与继电-接触器的区别
1.在组成器件方面
继电-接触器控制电路是由各种真正的硬件继电器组成,硬件继电器触头易磨损。而PLC梯形图则由许多所谓软继电器组成,这些软继电器实质上是存储器中的每一位触发器,可以置“0”或置“1”,而软继电器则无磨损现象。
2.在工作方式方面
继电-接触器控制电路工作时,电路中硬件继电器都处于受控状态,凡符合条件吸合的硬件继电器都处于吸合状态,受各种制约条件不应吸合的硬件继电器都同时处于断开状态,属于“并行”的工作方式。PLC梯形图中各软继电器都处于周期循环扫描工作状态,受同一条件制约的各个软继电器的线圈工作和它的触点的动作并不同时发生,属于“串行”的工作方式。
3.在元器件触点数量方面
继电-接触器控制电路的硬件触点数量是有限的,一般只有4~8个。PLC梯形图中软继电器的触点数量无限,在编程时可无限次使用。
4.控制电路实施方式不同
继电-接触器控制电路是依靠硬件接线来实施控制功能的,其控制功能通常是不变的,当需要改变控制功能时必须重新接线。继电-接触器控制随着实现的功能的复杂程度增大,接线更为复杂。PLC控制电路是采用软件编程来实现控制的,可在线修改,控制功能可根据实际要求灵活实施。PLC用于复杂的控制场合,功能的繁简与接线数量无关。