1.3 PLC的基本结构与工作原理
PLC的工作原理建立在计算机基础上,故其CPU以分时操作方式来处理各项任务,即串行工作方式,而继电器-接触器控制系统是实时控制的,即并行工作方式。那么如何让串行工作方式的计算机系统完成并行方式的控制任务呢?通过PLC的工作方式和工作过程的说明,可以理解PLC的工作原理。
1.3.1 PLC的基本结构
PLC是微机技术和控制技术相结合的产物,是一种以微处理器为核心的用于控制的特殊计算机,因此,PLC的基本组成与一般的微机系统相似。
PLC的种类繁多,但是其结构和工作原理基本相同。PLC虽然专为工业现场应用而设计,但是其依然采用了典型的计算机结构,主要是由CPU、存储器(EPRAM、ROM)、I/O单元、扩展I/O接口、电源几大部分组成的。小型的PLC多为整体式结构,中、大型PLC则多为模块式结构。
如图1-1所示,对于整体式PLC,所有部件都装在同一机壳内。而模块式PLC的各部件独立封装成模块,各模块通过总线连接,安装在机架或导轨上(图1-2)。无论是哪种结构类型的PLC,都可根据用户的需要进行配置和组合。
图1-1 整体式PLC硬件结构框图
1. CPU
同一般的微机一样,CPU是PLC的核心。PLC中所配置的CPU可分为3类:通用微处理器(如Z80、8086、80286等)、单片微处理器(如8031、8096等)和位片式微处理器(如AMD29W等)。小型PLC大多采用8位通用微处理器和单片微处理器;中型PLC大多采用16位通用微处理器或单片微处理器;大型PLC大多采用高速位片式微处理器。
目前,小型PLC为单CPU系统,而中、大型PLC则大多为双CPU系统,甚至有些PLC中配置了多达8个CPU。对于双CPU系统,一般一个为字处理器,另外一个为位处理器。字处理器为主处理器,用于执行编程器接口功能、监视内部定时器、监视扫描时间、处理字节指令及对系统总线和位处理器进行控制等。位处理器为从属处理器,主要用于位操作指令和实现PLC编程语言向机器语言的转换。位处理器的采用,提高了PLC的速度,使PLC更好地满足实时控制要求。
图1-2 模块式PLC硬件结构框图
CPU的主要任务包括控制用户程序和数据的接收与存储;用扫描的方式通过I/O部件接收现场的状态或数据,并存入输入映像寄存器中;诊断PLC内部电路的工作故障和编程中的语法错误等;PLC进入运行状态后,从存储器中逐条读取用户指令,经过命令解释后按指令规定的任务进行数据传递、逻辑或算术运算等;根据运算结果,更新有关标志位的状态和输出映像存储器中的内容,再经输出部件实现输出控制、制表打印或数据通信等功能。
不同型号的PLC其CPU芯片是不同的,有些采用通用的CPU芯片,有些采用厂家自行设计的专用CPU芯片。CPU芯片的性能关系到PLC处理控制信号的能力和速度,CPU位数越高,系统处理的信息量越大,运算速度越快。PLC的功能随着CPU芯片技术的发展而提高和增强。
在PLC中,CPU按系统程序赋予的功能,指挥PLC有条不紊地进行工作,归纳起来主要有以下几个方面。
①接收从编程器输入的用户程序和数据。
②诊断电源、PLC内部电路的工作故障和编程中的语法错误等。
③通过输入接口接收现场的状态或数据,并存入输入映像寄存器或数据寄存器中。
④从存储器逐条读取用户程序,经过解释后执行。
⑤根据执行的结果,更新有关标志位的状态和输出映像寄存器中的内容,通过输出单元实现输出控制。
2. 存储器
存储器主要有两种:可读/写操作的随机存取存储器,只读存储器、PROM、EPROM、EEPROM。PLC的存储器由系统程序存储器、用户程序存储器和数据存储器3部分组成。
系统存储器用来存放由PLC生产厂家编写的系统程序,并固化在ROM内,用户不能直接更改。它使PLC具有基本的功能,能够完成PLC设计值规定的各项工作。系统程序质量的好坏,在很大程度上决定了PLC的运行速度。
①系统程序,它主要控制PLC的运行,使整个PLC按部就班地工作。
②用户指令解释程序,通过用户指令解释程序,将PLC的编程语言变为机器语言指令,再由CPU执行这些指令。
③标准程序模块与系统调用,包括许多不同功能的子程序及其调用管理程序,如完成I/O及特殊运算等的子程序,PLC的具体工作都是由这部分程序来完成的,这部分程序的多少也决定了PLC性能的高低。
用户程序存储器(程序区)和功能存储器(数据区)总称为用户存储器。用户程序存储器用来存放用户根据控制任务而编写的程序。用户程序存储器根据所选用的存储器单元类型的不同,可以使用RAM、EPROM或EEPROM,其内容可以由用户任意修改或增减。用户功能存储器是用来存放用户程序中使用器件的(ON/OFF)状态/数值数据等。在数据区中,各类数据存放的位置都有严格的划分,每个存储单元有不同的地址编号。用户存储器容量的大小,关系到用户程序容量的大小,是反映PLC性能的重要指标之一。
用户程序是随PLC的控制对象的需要而编制的,由用户根据对象生产工艺和控制要求而编制的应用程序。为了便于读出、检查和修改,用户程序一般存于CMOS静态RAM中,用锂电池作为后备电源,以保证掉电时不会丢失信息。为了防止干扰对RAM中程序的破坏,当用户程序经过运行正常,不需要改变,可将其固化在EPROM中。现在许多PLC直接采用EEPROM作为用户存储器。
工作数据是PLC运行过程中经常变化、经常存取的一些数据。存放在RAM中,以适应随机存取的要求。在PLC的工作数据存储器中,设有存放I/O继电器、辅助继电器、定时器、计数器等逻辑器件的存储区,这些器件的状态都是由用户程序的初始化设置和运行情况而确定的。根据需要,部分数据在掉电后,用后备电池维持其现有的状态,这样在掉电时可保存数据的存储区域为保持数据区。
3. I/O单元
I/O单元是PLC与工业生产现场之间的连接部件。PLC通过输入接口可以检测被控对象的各种数据,以这些数据作为PLC对被控对象进行控制的依据;同时PLC又通过输出接口将处理后的结果送给被控制对象,以实现控制的目的。
由于外部输入设备和输出设备所需的信号电平是多种多样的,而PLC内部CPU处理的信息只能是标准电平,因此I/O接口要实现这种转换。I/O接口一般具有光电隔离和滤波功能,以提高PLC的抗干扰能力。另外,I/O接口上通常还有状态指示,工作状况直观,便于维护。
I/O单元包含两部分:接口电路和I/O映像寄存器。接口电路用于接收来自用户设备的各种控制信号,如限位开关、操作按钮、选择开关及其他传感器的信号。通过接口电路将这些信号转换成CPU能够识别和处理的信号,并存入输入映像寄存器。运行时CPU从输入映像寄存器读取输入信息并进行处理,将处理结果放到输出映像寄存器中。I/O映像寄存器由输出点相对的触发器组成,输出接口电路将其由弱电控制信号转换成现场需要的强电信号输出,以驱动电磁阀、接触器、指示灯等被控设备的执行元件。
PLC提供了多种操作电平和驱动能力的I/O接口,有各种各样功能的I/O接口供用户选用。由于在工业生产现场工作,PLC的I/O接口必须满足两个基本要求:抗干扰能力强,适应性强。I/O接口必须能够不受环境的温度、湿度、电磁、振动等因素的影响,同时又能够与现场各种工业信号相匹配。目前,PLC能够提供的接口单元包括以下几种:数字量(开关量)输入接口、数字量(开关量)输出接口、模拟量输入接口、模拟量输出接口等。
(1)开关量输入接口
开关量输入接口把现场的开关量信号转换成PLC内部处理的标准信号。为防止各种干扰信号和高电压信号进入PLC,影响其可靠性或造成设备损坏,现场输入接口电路一般有滤波电路和耦合隔离电路。滤波有抗干扰的作用,耦合隔离有抗干扰及产生标准信号的作用。耦合隔离电路的管径器件是光耦合器,一般由发光二极管和光敏晶体管组成。
常用的开关量输入接口按使用电源的类型不同,可分为直流输入单元(图1-3)、交流/直流输入单元(图1-4)和交流输入单元(图1-5)。如图1-3所示,输入电路的电源可由外部提供,也可由PLC内部提供。
图1-3 开关量直流输入接口电路
图1-4 开关量交流/直流输入接口电路
图1-5 开关量交流输入接口电路
(2)开关量输出接口
开关量输出接口把PLC内部的标准信号转换成执行机构所需的开关量信号。开关量输出接口按PLC内部使用电器件,可分为继电器输出型(图1-6)、晶体管输出型(图1-7)和晶闸管输出型(图1-8)。每种输出电路都采用电气隔离技术,输出接口本身不带电源,电源由外部提供,而且在考虑外接电源时,还需考虑输出器件的类型。
图1-6 开关量继电器输出型接口电路
图1-7 开关量晶体管输出型接口电路
图1-8 开关量晶闸管输出型接口电路
从图1-6、图1-7、图1-8可以看出,各类输出接口中也都有隔离耦合电路。继电器输出型接口可用于直流及交流两种电源,但接通断开的频率低;晶体管输出型接口有较高的通断频率,但是只适用于直流驱动的场合,晶闸管输出型接口却仅适用于交流驱动场合。
为了使PLC避免瞬间大电流冲击而损坏,输出端外部接线必须采取保护措施:在I/O公共端设置熔断器保护;采用保护电路,对交流感性负载一般用阻容吸收回路,对直流感性负载使用续流二极管。由于PLC的I/O端是靠光耦合的,在电气上完全隔离,输出端的信号不会反馈到输入端,也不会产生地线干扰或其他串扰,因此PLC I/O端具有很高的可靠性和极强的抗干扰能力。
(3)模拟量输入接口
模拟量输入接口把现场连续变化的模拟量标准信号转换成适合PLC内部处理的数字信号。模拟量输入接口能够处理标准模拟量电压和电流信号。由于工业现场中模拟量信号的变化范围并不标准,因此在送入模拟量接口前,一般需要经转换器处理。如图1-9所示,模拟量信号输入后一般经运算放大器放大后,再进行A/D转换,再经光耦合转换为PLC的数字信号。
图1-9 模拟量输入接口的内部结构框图
(4)模拟量输出接口
如图1-10所示,模拟量输出接口将PLC运算处理后的数字信号转换成相应的模拟量信号输出,以满足工业生产过程中现场所需的连续控制信号的需求。模拟量输出接口一般包括光电隔离、A/D转换、多路转换开关、输出保持等环节。
图1-10 模拟量输出接口的内部结构框图
4. 智能接口模块
智能接口模块是一个独立的计算机系统模块,它有自己的CPU、系统程序、存储器、与PLC系统总线相连的接口等。智能接口模块是为了适应较复杂的控制工作而设计的,作为PLC系统的一个模块,通过总线与PLC相连,进行数据交换,如高速计数器工作单元、闭环控制模块、运动控制模块、中断控制模块、温度控制单元等。
5. 通信接口模块
PLC配有多种通信接口模块,这些通信模块大多配有通信处理器。PLC通过这些通信接口可与监视器、打印机、其他PLC、计算机等设备实现通信。PLC与打印机连接,可将过程信息、系统参数等输出打印;与监视器连接,可将控制过程图像显示出来;与其他设备连接,可组成多机系统或连成网络,实现更大规模的控制;与计算机连接,可组成多级分布式控制系统,实现控制与管理相结合。
6. 电源部件
电源部件就是将交流电转换成PLC正常运行的直流电。PLC配有开关电源,小型整体式PLC内部有一个开关式稳压电源。电源一方面可为CPU板、I/O板及控制单元提供工作电源(DC 5V),另一方面可为外部输入元件提供DC 24V(200mA)。与普通电源相比,PLC电源的稳定性好、抗干扰能力强。对电网提供的电源稳定度要求不高,一般运行电源电压在其额定值±15%的范围内波动。一般使用的是220V的交流电源,也可以选配到380V的交流电源。由于工业环境存在大量的干扰源,这就要求电源部件必须采取较多的滤波环节,还需要集成电压调整器以适应交流电网的电压波动,对过电压和欠电压都有一定的保护作用。另外,还需要采取较多的屏蔽措施来防止工业环境中的空间电磁干扰。常用的电源电路有串联稳压电源、开关式稳压电路和有变压器的逆变式电路。
7. 编程装置
编程装置的作用是编制、编译、调试和监视用户程序,也可在线监控PLC内部状态和参数,与PLC进行人机对话。它是开发、应用、维护PLC不可或缺的工具。编程装置可以是专用编程器,也可以是配有专用编程软件包的通用计算机系统。专用编程器是由厂家生产,专供该厂家生产的PLC产品使用,它主要由键盘、显示器和外部存储器接插口等部件组成。专用编程器分简易型和智能型两种,即简易型编程器和智能型编程器。
简易型编程器只能进行联机编程,且往往需要将梯形图转化成机器语言助记符(指令表)后,才能输入。它一般由简易键盘和发光二极管或其他显示器件组成。简易型编程器体积小、价格低,可以直接插在PLC的编程插座上,或者专用电缆与PLC连接,以方便编程和调试。有些简易型编程器带有存储盒,可用来存储用户程序,如三菱的FX-20P-E简易型编程器。
智能型编程器又称图形编程器,不仅可以联机编程,还可以脱机编程,具有LCD或CRT图形显示功能,也可以直接输入梯形图并通过屏幕进行交换。本质上它就是一台专用便携计算机,如三菱的GP-80FX-E智能型编程器,使用更加直观、方便,但价格较高,操作也比较复杂。大多数智能型编程器带有磁盘驱动器,提供录音机接口和打印机接口。
专用编程器只能对制定厂家的几种PLC进行编程,使用范围有限,价格较高。同时,由于PLC产品不断更新换代,专用编程器的生命周期也很有限。因此,现在的趋势是使用以PC为支持的编程装置,用户只需购买PLC厂家提供的编程软件和应用的硬件接口装置。这样,用户只用较少的投资即可得到高性能的PLC程序开发系统。
3种PLC编程的比较见表1-1,PLC编程可采用的3种PLC编程方式分别具有各自的优缺点。
表1-1 3种PLC编程方式的比较
8. 其他部件
PLC还可以选配的外部设备包括编程器、EPROM写入器、外部存储器卡(盒)、打印机、高分辨率大屏幕彩色图形监控系统和工业计算机等。
EPROM写入器是用来将用户程序固化到EPROM中的一种PLC外部设备。为了确保调试好的用户程序不易丢失,经常用EPROM写入器将用户程序从PLC内的RAM保存到EPROM中。
PLC可用外部的磁带、磁盘和存储盒等来存储PLC的用户程序,这些存储器件称为外部存储器。外部存储器一般是通过编程器或其他智能模块提供的接口,实现与内部存储器之间相互传递用户程序。
综上所述,PLC主机在构成实际硬件系统时,至少需要建立两种双向信息交换通道。最基本的构造包括CPU模块、电源模块、I/O模块。通过不断地扩展模块来实现各种通信、计数、运算等功能,通过人为灵活地变更控制规律来实现对生产过程或某些工业参数的自动控制。
1.3.2 PLC的软件系统
软件是PLC的“灵魂”。当PLC硬件设备搭建完成后,通过软件来实现控制规律,高效地完成系统调试。PLC的软件系统包括系统程序和用户程序。系统程序是PLC设备运行的基本程序;用户程序使PLC能够实现特定的控制规律和预期的自动化功能。
1. 系统程序
系统程序是由PLC制造厂商设计编写的,并存入PLC的系统存储器中,用户不能直接读写与更改。系统程序一般包括系统诊断程序、输入处理程序、编译程序、信息传递程序、监控程序等。PLC的系统程序有以下3种类型。
(1)系统管理程序
系统管理程序控制着系统的工作节拍,包括PLC运行管理(各种操作的时间分配)、存储器空间管理(生成用户数据区)和系统自诊断管理(如电源、系统出错、程序语法、句法检验等)。
(2)编辑和解释程序
编辑和解释程序将用户程序变成内码形式,以便于程序进行修改、调试。解释程序能将编程语言转变为机器语言,以便CPU操作运行。
(3)标准子程序与调用管理程序
为提高运行速度,在程序执行中某些信息处理(如I/O处理)或特殊运算等是通过调用标准子程序来完成的。
2. 用户程序
PLC的用户程序是用户利用PLC的编程语言,根据控制要求编制的程序。在PLC的应用中,最重要的是用PLC的编程语言来编写用户程序,以实现控制的目的。根据系统配置和控制要求而编辑的用户程序,是PLC应用于工程控制的一个最重要环节。由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的专用语言。PLC的编程语言多种多样,不同的PLC厂家提供的编程语言也不尽相同。常用的编程语言包括以下几种。
(1)梯形图(LAD)
梯形图(LAD)编程语言是从继电器控制系统原理图的基础上演变而来的。PLC的梯形图与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定的区别。梯形图是使用最多的PLC图形编程语言,梯形图具有直观易懂的优点,很容易被工厂熟悉继电器控制的人员掌握,特别适合于数字量逻辑控制。
梯形图由触点、绕组和用方框表示的指令框组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。绕组通常代表逻辑运算的结果,常用来控制外部的指示灯、交流接触器和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。使用编程软件可以直接生成和编辑梯形图,并将它下载到PLC。
图1-11所示为简单的梯形图,触点和绕组等组成的独立电路称为网络(Network),编程软件自动为网络编号,与其对应的语句表如图1-12所示。
图1-11 简单的梯形图
图1-12 语句表
梯形图的一个关键概念是“能流”(Power Flow),这仅是概念上的“能流”。如图1-11所示,把左边的母线假想为电源的“相线”,而把右边的母线假想为电源的“中性”。如果有“能流”从左至右流向绕组,则绕组被激励;如果没有“能流”,则绕组未被激励。
“能流”可以通过激励(ON)的常开触点和未被激励(OFF)的常闭触点自左向右流动。“能流”在任何时候都不会通过触点自右向左流动。如图1-11所示,当I0.0和I0.1或Q4.0和I0.1触点都接通后,绕组Q4.0才能接通(被激励),只要其中一个触点不接通,绕组就不会接通。
要强调指出的是,引入“能流”的概念,仅仅是为了和继电接触器控制系统相比较,可以对梯形图有一个深入的认识,其实“能流”在梯形图中是不存在的。
梯形图中的触点和绕组可以使用物理地址,如I0.1、Q4.0等。如果在符号表中对某些地址定义了符号,如令I0.0的符号为“启动”,在程序中可用符号地址“启动”来代替物理地址I0.1,使程序便于阅读和理解。
用户可以在网络号的右边加上网络的标题,在网络号的下面为网络加上注释;还可以选择在梯形图下面自动加上该网络中使用符号的信息。
如果将两块独立电路放在同一个网络内将会出错。如果没有跳转指令,网络中程序的逻辑运算按从左到右的方向执行,与“能流”的方向一致。网络之间按从上到下的顺序执行,执行完所有的网络后,下一次循环返回最上面的网络(网络1)重新开始执行。
(2)语句表(STL)
语句表(STL)编程语言类似于计算机中的助记符语言,它是PLC最基础的编程语言。所谓语句表编程,是指使用一个或几个容易记忆的字符来代表PLC的某种操作功能。它是一种类似于微机的汇编语言中的文本语言,由多条语句组成一个程序段。语句表比较适合经验丰富的程序员使用,可以实现某些不能用梯形图或功能块图表示的功能。图1-12所示为与图1-11梯形图所对应的语句表。
(3)功能块图(FBD)
功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑。一些复杂的功能(如数学运算功能等)用指令框来表示,有数字电路基础的人很容易掌握。功能块图用类似于与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
利用功能块图可以查看到像普通逻辑门图形的逻辑盒指令。它没有梯形图编程器中的触点和绕组,但有与之等价的指令,这些指令是作为盒指令出现的,程序逻辑由这些盒指令之间的连接决定。也就是说,一个指令(如AND盒)的输出可以用来允许另一个指令(如定时器),这样可以建立所需要的控制逻辑。这样的连接思想可以解决范围广泛的逻辑问题。功能块图编程语言有利于程序流的跟踪,但在目前使用较少。与图1-11梯形图相对应的功能块图如图1-13所示。
图1-13 功能块图
1.3.3 PLC的程序结构概述
控制一个任务或过程,是通过在RUN模式下,使主机循环扫描并连续执行用户程序来实现的,用户程序决定了一个控制系统的功能。程序的编制可以使用编程软件在计算机或其他专用编程设备中进行(如图形输入设备、编程器等)。
广义上的程序由3部分组成:用户程序、数据块和参数块。
1. 用户程序
用户程序在存储器空间也称为组织块,它处于最高层次,可以管理其他块,可采用各种语言(如语句表、梯形图或功能块图等)来编制。不同机型的CPU,其程序空间容量也不同。用户程序的结构比较简单,一个完整的用户控制程序应当包含一个主程序、若干子程序和若干中断程序3部分。不同的编程设备,对各程序块的安排方法也不同。PLC程序结构示意图如图1-14所示。
图1-14 PLC程序结构示意图
用编程软件在计算机上编程时,利用编程软件的程序结构窗口双击主程序、子程序和终端程序的图标,即可进入各程序块的编程窗口。编译时编程软件自动对各程序段进行连接。
2. 数据块
数据块为可选部分,它主要存放控制程序运行所需的数据,在数据块中允许以下数据类型:布尔型,表示编程元件的状态;二进制、十进制或十六进制;字母、数字和字符型。
3. 参数块
参数块也是可选部分,它主要存放的是CPU的组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。
1.3.4 PLC的扫描工作方式
PLC的工作原理是建立在计算机工作原理基础之上,即通过执行反应控制要求的用户程序来实现的。PLC控制器程序的执行是按照程序设定的顺序依次完成相应的电器的动作,PLC采用的是一个不断循环的顺序扫描工作方式。每次扫描所用的时间称为扫描周期或工作周期。CPU从第一条指令执行开始,按顺序逐条地执行用户程序直到用户程序结束,然后返回第一条指令,开始新的一轮扫描,PLC就是这样周而复始地重复上诉循环扫描。
PLC的工作方式是用串行输出的计算机工作方式实现并行输出的继电器-接触器工作方式,其核心手段就是循环扫描。每个工作循环的周期必须足够小以至于我们认为是并行控制。PLC运行时,是通过执行反映控制要求的用户程序来完成控制任务的,需要执行众多的操作,但CPU不可能同时去执行多个操作,它只能按分时操作(串行工作)方式,每次执行一个操作,按顺序逐个执行。由于CPU的运算处理速度很快,因此从宏观上来看,PLC外部出现的结果似乎是同时(并行)完成的。这种循环工作方式称为PLC的循环扫描工作方式。
用扫描工作方式执行用户程序时,扫描是从第一条指令开始的,在无中断或跳转控制的情况下,按程序存储顺序的先后,逐条执行用户程序,直到程序结束。然后从头开始扫描执行,周而复始地重复运行。
如图1-15所示,从第一条程序开始,在无中断或跳转控制的情况下,按照程序存储的地址序号递增的顺序逐条执行程序,即按顺序逐条执行程序,直到程序结束;然后从头开始扫描,并周而复始地重复进行。
图1-15 PLC的工作过程
PLC运行工作过程包括3部分。
第一部分是上电处理。PLC上电后对PLC系统进行一次初始化工作,包括硬件初始化、I/O模块配置运行方式检查,停电保持范围设定及其他初始化处理。
第二部分是扫描过程。PLC上电处理完成后,进入扫描工作过程:先完成输入处理,再完成与其他外部设备的通信处理,进行时钟、特殊寄存器更新。因此,扫描过程又分为3个阶段,即输入采样阶段、程序执行阶段和输出刷新阶段。当CPU处于STOP方式时,转入执行自诊断检查。当CPU处于RUN方式时,还要完成用户程序的执行和输出处理,再转入执行自诊断检查,如果发现异常,则停机并显示报警信息。
第三部分是出错处理。PLC每扫描一次,执行一次自诊断检查,确定PLC自身的动作示范正常,如CPU、电池电压、程序存储器、I/O、通信等是否异常或出错,当检查出异常时,CPU面板上的LED灯及异常继电器会接通,在特殊寄存器中会存入出错代码。当出现致命错误时,CPU被强制为STOP方式,所有的扫描停止。
PLC运行正常时,扫描周期的长短与CPU的运算速度有关,与I/O点的情况有关,与用户应用程序的长短及编程情况等均有关。通常用PLC执行1KB指令所需时间来说明其扫描速度(通常为1~10ms/KB)。值得注意的是,不同的指令其执行是不同的,从零点几微秒到上百微秒不等,故选用不同指令所用的扫描时间将会不同。若用于高速系统要缩短扫描周期,可从软硬件两个方面考虑。
1.3.5 PLC的工作原理
一般来说,当PLC开始运行后,其工作过程可以分为输入采样阶段、程序执行阶段和输出刷新阶段。完成上述3个阶段即称为一个扫描周期,如图1-16所示。
图1-16 PLC的扫描工作过程
1. 输入采样阶段
PLC在输入采样阶段,首先扫描所有输入端子,并将各输入状态存入对应的输入映像寄存器中,此时,输入映像寄存器被刷新,接着进入程序执行阶段。在程序执行阶段或输出刷新阶段,输入元件映像寄存器与外界隔绝,无论输入信号如何变化,其内容均保持不变,直到下一个扫描周期的输入采样阶段才将输入端的新内容重新写入。
2. 程序执行阶段
PLC根据梯形图程序扫描原则,按先左后右、先上后下的顺序逐行扫描,执行一次程序,并将结果存入元件映像寄存器中。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序的跳转地址。当指令中设计输入、输出状态时,PLC就从输入映像寄存器“读入”上一阶段采入的对应输入端子状态,从元件映像寄存器“读入”对应元件的当前状态。然后进行相应的运算,运算结果再存入元件映像寄存器中。对于元件映像寄存器,每个元件(除输入映像寄存器外)的状态会随着程序的执行而发生变化。
3. 输出刷新阶段
在所有指令执行完毕后,输出映像寄存器中所有输出继电器的状态(“1”或“0”)在输出刷新阶段被转存到输出锁存器中。再通过一定的方式输出,驱动外部负载。
1.3.6 PLC的I/O原则
根据PLC的工作原理和工作特点,可以归纳出PLC在处理I/O时的一般原则。
①输入映像寄存器的数据取决于输入端子板上各输入点在上一刷新周期的接通和断开状态。
②程序执行结果取决于用户所编程序和I/O映像寄存器的内容及其他各元件映像寄存器的内容。
③输出映像寄存器的数据取决于输出指令的执行结果。
④输出锁存器中的数据,由上一次输出刷新期间输出映像寄存器中的数据决定。
⑤输出端子的接通和断开状态,由输出锁存器决定。
1.3.7 PLC的中断处理
综上所述,外部信号的输入总是通过PLC扫描由“输入传送”来完成,这就不可避免地带来了“逻辑滞后”。PLC能像计算机那样采用中断输入的方法,即当有中断申请信号输入后,系统会中断正在执行的程序而转去执行相关的中断子程序;系统有多个中断源时,按重要性有一个先后顺序的排队;系统能由程序设定允许中断或禁止中断。