2.5.2 PLC的基本组成与工作原理
本文讲的是工业控制网络安全技术与实践一2.5.2 PLC的基本组成与工作原理,典型PLC的组成如图2-7所示,分别是中央处理单元(CPU)、存储器、输入/输出(I/O)模块、电源和编程器,下面将对其进行详细的介绍[16]。
1.中央处理单元
中央处理单元是PLC 的控制中枢。它按照PLC 系统程序赋予的功能接收并存储从编程器键入的用户程序和数据:检查电源、存储器、I/O 以及警戒定时器的状态,并能诊断用户程序中的语法错误,当PLC 投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映像区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后将按指令的规定执行逻辑或算术运算的结果送入I/O映像区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映像区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高PLC 的可靠性,近年来对大型PLC 还采用双CPU 构成冗余系统,或采用三CPU 的表决式系统。这样,即使某个CPU 出现故障,整个系统仍能正常运行。
2.存储器
存放系统软件的存储器称为系统程序存储器,存放应用软件的存储器称为用户程序存储器。
PLC常用的存储器类型主要有RAM、 EPROM和 EEPROM。
RAM(Random Assess Memory)是一种读/写存储器(随机存储器)。用户可以用编程器读出RAM中的内容,也可以将用户程序写入RAM。它是易失性的存储器,将它的电源断开后存储的信息将会丢失。
EPROM(Erasable Programmable Read Only Memory)是一种可擦除的只读存储器,在断电情况下存储器内的所有内容保持不变(在紫外线连续照射下可擦除存储器内容)。
EEPROM(Electrical Erasable Programmable Read Only Memory)是一种电可擦除的只读存储器。使用编程器就能很容易地对其所存储的内容进行修改。
有关PLC的存储空间分配,虽然各种PLC的CPU的最大寻址空间各不相同,但是根据PLC的工作原理其存储空间一般包括以下3个区域:系统程序存储区、系统RAM 存储区(包括I/O 映像区和系统软设备等)和用户程序存储区。
系统程序存储区:在系统程序存储区中存放着相当于计算机操作系统的系统程序,包括监控程序、管理程序、命令解释程序、功能子程序、系统诊断子程序等。由制造厂商将其固化在EPROM 中,用户不能直接存取。它和硬件一起决定了该PLC 的性能。
系统RAM 存储区:系统RAM 存储区包括I/O 映像区以及各类软设备(如逻辑线圈、数据寄存器、计时器、计数器、变址寄存器、累加器等存储器存储区)。
I/O 映像区:由于PLC 投入运行后,只是在输入采样阶段才依次读入各输入状态和数据,在输出刷新阶段才将输出的状态和数据送至相应的外设。因此,它需要一定数量的存储单元(RAM)以存放I/O 的状态和数据,这些单元称作I/O 映像区。
一个开关量I/O 占用存储单元中的一个位(bit),一个模拟量I/O 占用存储单元中的一个字(16 bit)。因此整个I/O 映像区可看作由两个部分组成:开关量I/O 映像区和模拟量I/O 映像区。
除了I/O 映像区以外,系统RAM 存储区还包括PLC 内部各类软设备(逻辑线圈、计时器、计数器、数据寄存器和累加器等)的存储区。该存储区又分为具有失电保持的存储区域和无失电保持的存储区域。前者在PLC 断电时由内部的锂电池供电,数据不会遗失;后者当PLC 断电时,数据被清零。
逻辑线圈:与开关输出一样,每个逻辑线圈占用系统RAM 存储区中的一个位,但不能直接驱动外设,只供用户在编程中使用,其作用类似于电器控制线路中的继电器。另外,不同的PLC 还提供数量不等的特殊逻辑线圈,具有不同的功能。
数据寄存器:与模拟量I/O 一样,每个数据寄存器占用系统RAM 存储区中的一个字(16 bit)。另外,PLC 还提供数量不等的特殊数据寄存器,具有不同的功能。
用户程序存储区则是用于存放用户编制的用户程序。不同类型的PLC其存储容量各不相同。
3.电源模块
电源模块为机架上的模块提供直流电源。PLC 的电源在整个系统中起着十分重要的作用。如果没有一个良好的、可靠的电源系统是无法正常工作的,因此PLC 的制造商对电源的设计和制造也十分重视。
一般交流电压波动在±10%(±15%)范围内,可以不采取其他措施而将PLC 直接连接到交流电网上。
最初研制生产的PLC主要用于代替由继电器、接触器构成的传统控制装置,但这两者的运行方式并不是相同的。继电器控制装置采用硬逻辑并行运行的方式,即如果这个继电器的线圈通电或断电,该继电器所有的触点(包括其常开或常闭触点)无论在继电器控制线路的哪个位置上都会立即同时动作。PLC的CPU则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线圈或逻辑线圈被接通或断开,该线圈的所有触点(包括其常开或常闭触点)不会立即动作,必须等扫描到该触点时才会动作。
为了消除二者之间由于运行方式不同而造成的差异,考虑继电器控制装置各类触点的动作时间一般在100 ms以上,而PLC 扫描用户程序的时间一般均小于100 ms,因此,PLC采用了一种不同于一般微型计算机的运行方式——扫描技术。这样在对于I/O 响应要求不高的场合,PLC 与继电器控制装置的处理结果就没有什么区别了。
(1)扫描技术
当PLC 投入运行后,其工作过程一般分为3个阶段,即输入采样、用户程序执行和输出刷新3个阶段。完成上述3个阶段称作一个扫描周期。在整个运行期间,PLC 的CPU 以一定的扫描速度重复执行上述3个阶段。
在输入采样阶段,PLC以扫描方式依次读入所有输入状态和数据,并将它们存入I/O映像区中的相应单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映像区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下该输入均能被读入。
在用户程序执行阶段,PLC总是按由上而下的顺序依次扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM 存储区中对应位的状态;或者刷新该输出线圈在I/O映像区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
也就是说,在用户程序执行过程中,只有输入点在I/O映像区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映像区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映像区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时才是PLC 的真正输出。
一般来说,PLC 的扫描周期包括自诊断、通信等,如图2-8所示,一个扫描周期等于自诊断、通信、输入采样、用户程序执行、输出刷新等所有时间的总和。
(2)PLC 的I/O 响应时间
为了增强PLC 的抗干扰能力,提高其可靠性,PLC的每个开关量输入端都采用光电隔离等技术。
为了能实现继电器控制线路的硬逻辑并行控制,PLC 采用了不同于一般微型计算机的运行方式(扫描技术)。
以上两个主要原因,使得PLC的I/O响应比一般微型计算机构成的工业控制系统慢得多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚至更长。
所谓I/O 响应时间指从PLC 的某一输入信号变化开始到系统有关输出端信号的改变所需的时间。其最短的I/O 响应时间与最长的I/O 响应时间如图2-9和图2-10所示。
原文标题:工业控制网络安全技术与实践一2.5.2 PLC的基本组成与工作原理