第2章 工业控制系统架构与漏洞分析
2.1 工业控制系统架构
一个典型的工业控制系统(简称工控系统)通常由检测环节、控制环节、执行环节和显示环节组成。
经过这么多年的发展,工业控制系统在控制规模、控制技术和信息共享方面都有了巨大的变化。在控制规模方面,工业控制系统由最初的小系统发展成现在的大系统;在控制技术方面,工业控制系统由最初的简单控制发展成现代的复杂或先进控制;在信息共享方面,工业控制系统由最初的封闭系统发展成现在的开放系统。
企业根据自身生产或运行流程搭建各自不同的工业控制系统。
2.1.1 工业控制系统的范围
按照ANSI/ISA-95.00.01企业分层模型,可绘制企业典型分层架构图,如图2-1所示。
图2-1 企业典型分层架构图
典型的企业生产或制造系统包括现场设备层、现场控制层、过程监控层、制造执行系统(MES)层、企业管理层和外部网络。
由图2-1可以看出,以制造执行系统层分界,向上为通用IT领域,向下为工业控制系统领域。
下面对工业控制系统领域制造执行系统层、过程监控层、现场控制层、现场设备层进行详细介绍。
2.1.2 制造执行系统层
制造执行系统(MES)层包括工厂信息管理系统(PIMS)、先进控制系统、历史数据库、计划排产、仓储管理等。
1.工厂信息管理系统(PIMS)
工厂信息管理系统是根据企业在信息化时代生产过程中的实际需求而推出的一款管理软件。工厂信息管理系统(PIMS)以“生产管理实用化”作为生产信息管理系统建设的出发点和最终目标,提供了一套先进的现代企业生产管理模式,帮助企业在激烈的市场竞争中全方位地迅速了解自己、对市场的快速变化做出符合自身实际情况的物流调整和决策,提升企业在同行业中的竞争能力。
工厂信息管理系统已经在各个应用控制系统的流程工业领域获得成功实施,在系统集成、生产调度、能源管理、企业危险源管理等领域得到广泛应用,为用户的企业信息化建设提供了良好的数据管理平台。
2.先进控制系统
先进控制系统就是以先进过程控制(Advanced Process Control,APC)技术为核心的上位机监控系统。
先进过程控制技术是具有比常规单回路PID控制更好效果的控制策略统称,专门用来处理那些采用常规控制效果不好,甚至无法控制的复杂工业过程控制问题。
先进过程控制技术采用科学、先进的控制理论和控制方法,以工艺控制方案分析和数学模型计算为核心,以计算机和控制网络为信息载体,充分发挥DCS和常规控制系统的潜力,保证生产装置始终运转在最佳状态,以获取最大的经济效益。
先进过程控制技术可分为3大类。
(1)经典的先进控制技术:变增益控制、时滞补偿控制、解耦控制、选择性控制等。
(2)现今流行的先进控制技术:模型预测控制(MPC)、统计质量控制(SQC)、内模控制(IMC)、自适控制、专家控制、神经控制器、模糊控制、最优控制等。
(3)发展中的先进控制技术:非线性控制及鲁棒控制等。
2.1.3 过程监控层
过程监控层包括数据采集与监控(SCADA)系统、分散型控制系统(DCS)、安全仪表系统(SIS)、可编程逻辑控制(PLC)系统的工程师站、操作员站、OPC服务器、实时数据库、监控中心等。
1.数据采集与监控(SCADA)系统
数据采集与监控(Supervisory Control and Data Acquisition,SCADA)系统是以计算机为基础的生产过程控制与调度自动化系统,它可以对现场的运行设备进行监视和控制。
SCADA系统涉及组态软件、数据传输链路(如数传电台、GPRS等)、工业隔离安全网关,其中工业隔离安全网关用于保证工业信息网络的安全,工业上大多要用到这种安全防护性网关,防止病毒入侵,以保证工业数据、信息的安全。
SCADA系统的应用领域很广,可以应用于电力、冶金、安防、水利、污水处理、石油天然气、化工、交通运输、制药,以及大型制造等领域的数据采集与监视控制及过程控制等。
这些应用领域对SCADA的要求不同,由此导致这些不同应用领域的SCADA系统的发展也不完全相同。
在电力系统领域中,SCADA系统的应用最广泛,技术发展也最成熟。SCADA作为能量管理系统(Energy Management System,EMS)的一个最主要的子系统,有着信息完整、效率提高、正确掌握系统运行状态、加快决策、能帮助快速诊断出系统故障状态等优势,现已经成为电力调度不可缺少的工具。同时,SCADA在对提高电网运行的可靠性、安全性与经济效益,减轻调度员的负担,实现电力调度自动化与现代化,提高调度的效率和水平方面有着不可替代的作用。
在交通运输系统领域中,SCADA在铁道电气化远动系统上的应用较早,在保证电气化铁路的安全可靠供电、提高铁路运输的调度管理水平方面发挥了很大作用。在铁道电气化SCADA系统的发展过程中,随着计算机的发展,不同时期有不同的产品,同时我国也从国外引进了大量SCADA产品与设备,这些都带动了铁道电气化远动系统向更高的目标发展。
SCADA系统一般为客户/服务器体系结构。在这个体系结构中,服务器与硬件设备通信,进行数据处理和运算,而客户用于人机交互,如用文字、动画显示现场的状态,并可以对现场的开关、泵、阀门等进行操作。
2.分散型控制系统(DCS)
分散型控制系统(Distributed Control System,DCS)是由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机(Computer)、通信(Communication)、显示(CRT)和控制(Control)4C技术,其基本设计思路是分散控制、集中操作、分级管理、配置灵活、组态方便。
该系统主要由现场控制站(I/O站)、数据通信系统、人机接口单元、操作员站、工程师站、机柜、电源等组成。系统具备开放的体系结构,可以提供多层开放数据接口。
硬件系统在恶劣的工业现场具有高度的可靠性,维修方便,工艺先进。多数DCS提供底层汉化的软件平台,具备强大的处理功能,并提供方便组态复杂控制系统的能力与用户自主开发专用高级控制算法的支持能力,易于组态,易于使用,支持多种现场总线标准以便适应未来的扩充需要。
系统的主要特点如下:
(1)系统的参数、报警、自诊断及其他管理功能高度集中在CRT上显示和在打印机上打印,控制系统在功能和物理上实现真正分散。
(2)系统的设计采用合适的冗余配置和诊断至模件级的自诊断功能,具有高度的可靠性。系统内任一组件发生故障,均不会影响整个系统的工作。
(3)整个系统的可利用率至少为99.9%;系统平均无故障时间为10万小时,实现了对核电、火电、热电、石化、化工、冶金、建材等诸多领域的完整监控。
(4)采用“域”的概念,把大型控制系统用高速实时冗余网络分成若干相对独立的分系统,一个分系统构成一个域,各域共享管理和操作数据,而每个域内又是一个功能完整的DCS,以便更好地满足用户的使用。
(5)网络结构具有很好的可靠性、开放性及先进性。在系统操作层,采用冗余的100Mbps工业以太网;在控制层,采用冗余的100Mbps工业以太网,保证系统的可靠性;在现场信号处理层,采用专用控制总线或采用12Mbps的Profibus总线连接中央控制单元和各现场信号处理模块。
(6)采用标准的Client/Server结构。有些DCS的操作层采用Client/Server结构。
(7)采用开放且可靠的操作系统。系统的操作层采用Windows NT操作系统;控制站采用成熟的嵌入式实时多任务操作系统QNS,以确保控制系统的实时性、安全性和可靠性。
(8)采用标准的控制组态软件。系统采用标准的控制组态工具,可以实现任何监测及控制要求。
(9)系统具有可扩展性和可裁剪性,并可以保证经济性。
3.安全仪表系统(SIS)
安全仪表系统(Safety Instrumented System,SIS)有时称为安全联锁系统(Safety Interlocking System,SIS),主要是为了实现工厂控制系统中报警和安全联锁,对控制系统中检测的结果实施报警动作、调节或停机控制,是工厂企业自动化控制中的重要组成部分。
安全仪表系统(SIS)的主要特点如下:
(1)基于IEC 61508标准,符合国际安全协会规定仪表的安全标准规定。
(2)采用容错性的多重冗余系统。SIS一般采用多重冗余结构以提高系统的硬件故障裕度,单一故障不会导致SIS的安全功能丧失。
(3)覆盖面广、安全性高、有自诊断功能,能够检测并预防潜在的危险。
(4)自诊断覆盖率高,工人维修时需要检查的点数比较少。
(5)应用程序容易修改,可根据实际需要对软件进行修改。
(6)实现从传感器到执行元件所组成的整个回路的安全性设计,具有I/O短路、断线等监测功能。
(7)响应速度快。从输入变化到输出变化的响应时间一般在10~50ms之间,一些小型SIS的响应时间更短。
SIS的主流系统结构主要有三重化(TMR)和四重化(2004D)两种,下面对这两种结构简单介绍如下。
(1)TMR结构:这种结构将三路隔离、并行的控制系统(每路称为一个分电路)和广泛的诊断集成在一个系统中,用三取二表决提供高度完善、无差错、不会中断的控制。
目前,市场上常见的TRICON、ICS等SIS均采用TMR结构。
(2)2004D结构:这种结构由两套独立并行运行的系统组成,通信模块负责其同步运行,当系统自诊断发现一个模块发生故障时,CPU将强制其失效,确保其输出的正确性。同时,安全输出模块中的SMOD功能(辅助去磁方法)可确保在两套系统同时故障或电源故障时,系统输出一个故障安全信号。一个输出电路实际上是通过4个输出电路及自诊断功能实现的,从而确保了系统的高可靠性、高安全性及高可用性。
目前,市场上常见的HONEYWELL、HIMA等SIS均采用2004D结构。
安全仪表系统(SIS)的基本功能和要求如下:
(1)实现安全联锁报警,对于一般的工艺操作参数均有设定的报警值和联锁值。
(2)保证生产的正常运转、事故的安全联锁,控制系统CPU的扫描时间一定要达到毫秒等级。
(3)联锁动作和投运显示。
安全联锁系统的附加功能和要求如下。
(1)安全联锁延时。
(2)安全联锁的预报警功能。
(3)安全联锁系统的投入和切换。
(4)第一事故原因区别。
(5)手动紧急停车。
(6)分级安全联锁。
(7)安全联锁复位。
4. 可编程逻辑控制器(PLC)
可编程逻辑控制器(Programmable Logic Controller,PLC)是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程的控制设备。
从实质上来看,可编程逻辑控制器是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,外形如图2-2所示。
图2-2 可编程逻辑控制器外形
1)PLC的基本构成
(1)电源部分。
可编程逻辑控制器的电源部分在整个系统中起着十分重要的作用。没有一个良好的、可靠的电源,系统是无法正常工作的,因此,可编程逻辑控制器的制造商对电源部分的设计和制造非常重视。一般交流电压波动在+10%~+15%范围内时,可以不采取其他措施而将PLC直接连接到交流电网中。
(2)中央处理单元(CPU)部分。
中央处理单元(CPU)部分是可编程逻辑控制器的控制中枢。
CPU按照可编程逻辑控制器系统程序赋予的功能接收并存储从编程器输入的用户程序和数据,检查电源、存储器、I/O,以及警戒定时器的状态,并能诊断用户程序中的语法错误。当可编程逻辑控制器投入运行时,首先以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映像区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算术运算,将结果送入I/O映像区或数据寄存器内。等到所有的用户程序执行完毕之后,将I/O映像区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环,直到停止运行为止。
此外,为了进一步提高可编程逻辑控制器的可靠性,对大型可编程逻辑控制器采用双CPU构成冗余系统,或采用三CPU的表决式系统,从而即使某个CPU出现故障,整个系统仍能正常运行。
(3)存储器部分。
存储器部分分为两种,存放系统软件的存储器称为系统程序存储器,存放应用软件的存储器称为用户程序存储器。
(4)输入/输出接口电路部分。
现场输入接口电路部分通常由光耦合电路和微机的输入接口电路组成,其作用是作为可编程逻辑控制器与现场控制接口界面的输入通道。
现场输出接口电路部分通常由输出数据寄存器、选通电路和中断请求电路组成,其作用是可编程逻辑控制器通过现场输出接口电路向现场的执行部件输出相应的控制信号。
(5)功能模块部分。
功能模块部分是为适应现场某些特殊控制需要而设计的相应智能模块,如高速计数模块、定位模块、PID调节模块等。
(6)通信模块部分。
通信模块部分是基于计算机技术和通信技术的发展要求而设计的模块,通常用于包括上位机和PLC之间、PLC和PLC之间、PLC和远程I/O之间及PLC和传动设备之间的通信。
2)PLC的工作原理
当可编程逻辑控制器投入运行后,其工作过程一般分为输入采样、用户程序执行和输出刷新三个阶段。可编程逻辑控制器完成上述三个阶段的过程称为一个扫描周期。在整个运行期间,可编程逻辑控制器的CPU以一定的扫描速度重复执行上述三个阶段。
(1)输入采样阶段。
在输入采样阶段,可编程逻辑控制器通过扫描方式依次读入所有输入状态和数据,并将它们存入I/O映像区中的相应单元内。在输入采样结束后,转入用户程序执行阶段和输出刷新阶段。在用户程序执行阶段和输出刷新阶段,即使输入状态和数据发生变化,I/O映像区中相应单元的状态和数据也不会改变。因此,对于输入信号是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,以保证在任何情况下,该输入信号均能被读入。
(2)用户程序执行阶段。
在用户程序执行阶段,可编程逻辑控制器总是按由上而下的顺序依次扫描用户程序,如梯形图、STL语言等。以梯形图为例,在扫描每一条梯形图时,又总是先扫描梯形图左边由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态,或者刷新该输出线圈在I/O映像区中对应位的状态,或者确定是否要执行该梯形图所规定的特殊功能指令。
在用户程序执行过程中,输入点在I/O映像区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映像区或系统RAM存储区内的状态和数据都有可能发生变化,并且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
在用户程序执行过程中,如果使用立即I/O指令,则可以直接存取I/O点,但是输入过程映像寄存器的值不会被更新,因为程序直接从I/O模块取值,而输出过程映像寄存器会被立即更新,这与立即输入是有区别的。
(3)输出刷新阶段。
在扫描用户程序结束后,可编程逻辑控制器就进入输出刷新阶段。在此期间,CPU按照I/O映像区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外部设备。此时,才是可编程逻辑控制器的真正输出。
5.OPC服务器
OPC的全称是Object Linking and Embeding(OLE)for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。过去为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。现场设备的种类繁多且产品不断升级,给用户和软件开发商带来了巨大的工作负担且不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。
通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。OPC采用客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,从而解决了软硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性。
2.1.4 现场控制层
现场控制层包括数据采集与监控(SCADA)系统、分散型控制系统(DCS)、安全仪表控制系统(SIS)、可编程逻辑控制系统的控制器或控制站。
这些控制器或控制站已在上一节中详细介绍,在此不做介绍。
2.1.5 现场设备层
现场设备层包括现场仪表和其他控制设备。
现场仪表通常包括温度、压力、流量、液位、电量、位移等仪表,特种检测仪表如成分分析仪,以及控制阀、电动阀等执行机构。
远程终端装置(Remote Terminal Unit,RTU)是用于监视、控制与数据采集的应用控制设备,具有遥测、遥信、遥调、遥控等功能。
目前,远程终端装置尚无统一的行业标准,一般来说符合下列技术特征的控制设备均称为RT U,其主要特点如下。
(1)标准的编程语言环境。
(2)极强的环境适应能力,工作温度为-40~70℃,环境湿度为5%~95%RH。
(3)丰富的通信接口,支持多种通信方式,通信距离长。
(4)多种标准通信协议。
(5)大容量存储能力。
(6)实时多任务操作系统。
(7)灵活且互相兼容的开放式接口。
(8)极强的抗电磁干扰能力。
RT U的主要功能如下:
(1)直接采集系统工频电量,实现对电压、电流、有功、无功的测量并向远方发送,可计算正/反向电度。
(2)采集脉冲电度量并向远方发送,带有光电隔离。
(3)采集状态量并向远方发送,带有光电隔离,遥信变位优先传送。
(4)接收并执行遥控及返校。
(5)程序自恢复。
(6)设备自诊断,故障诊断到插件级。
(7)接收并执行遥调。
(8)接收并执行校时命令。
(9)与两个及两个以上的主站通信。
(10)采集事件顺序记录并向远方发送。
(11)提供多个数字接口及多个模拟接口。
(12)可对每个接口特性进行远方/当地设置。
(13)提供若干种通信规约,每个接口可以根据远方/当地设置传输不同规约的数据。
(14)接收远方命令,选择发送各类信息。
(15)支持与扩频、微波、卫星、载波等设备的通信。
(16)选配及多规约同时运行。
(17)可通过电信网和电力系统通道进行远方设置。
(18)设备自调。
(19)通道监视。
(20)可转发多个子站远程信息。
(21)当地显示功能,当地接口有隔离器。
与常用的PLC相比,RTU通常具有优良的通信能力和更大的存储容量,适用于更恶劣的温度和湿度环境,可提供更多的计算功能。
经过几代产品的开发和应用,RT U产品在核设施、钢铁、化工、石油石化、电力、天然气、水利枢纽、环境保护、铁路、交通运输、民航、城市供水供气供热、市政调度等领域的控制系统中已获得广泛应用。