数据采集系统(Data Acquisition System,DAS)是计算机应用于生产过程控制最早、最基本的一种系统,其原理图如图2.9所示。生产过程中的大量参数经仪表发送和A/D通道或DI通道巡回采集后送入计算机,由计算机对这些数据进行分析和处理,并按操作要求进行屏幕显示、制表打印和越限报警等。该系统可以代替大量的常规显示、记录和报警仪表,对整个生产过程进行集中监视。因此,该系统对于指导生产及建立或改善生产过程的数学模型是有重要作用的。
图2.9 数据采集系统原理图
操作指导控制(Operation Guide Control,OGC)系统是基于数据采集系统的一种开环系统,其原理图如图2.10所示。计算机根据采集到的数据及工艺要求进行最优化计算,计算出的最优操作条件并不直接输出以控制生产过程,而是显示或打印出来,操作人员据此去改变各个控制器的给定值或操作执行器输出,从而起到操作指导的作用,这是计算机离线最优控制的一种形式。操作指导控制系统的优点是结构简单、控制灵活和安全,缺点是要由人工操作、速度受到限制、不能同时控制多个回路。因此,操作指导控制系统常常用于计算机控制系统操作的初级阶段,或者用于试验新的数学模型、调试新的控制程序等场合。
图2.10 操作指导控制系统原理图
直接数字控制(Direct Digital Control,DDC)系统是指用一台计算机不仅完成对多个被控参数的数据采集,而且能按一定的控制规律进行实时决策,并通过过程输出通道发出控制信号,实现对生产过程的闭环控制,其原理图如图2.11所示。为了操作方便,DDC系统还配置一个具有给定、显示、报警等功能的操作控制台。1962年,英国的帝国化学公司(ICI)开发了一套DDC系统,它取代了原来的常规仪表控制系统,控制计算机直接检测224个变量,控制129个阀门。
DDC系统中的一台计算机不仅完全取代了多个模拟调节器,而且在各个回路的控制方案上,不改变硬件只通过改变程序就能有效地实现各种各样的复杂控制,因此,DDC控制方式在理论上有其合理性和优越性。但是,由于这种控制方式属于集中控制与管理,因此,风险的集中会对安全生产带来威胁,特别是早期的计算机可靠性较差,从而使这种控制方式的推广受到了一定的限制。
图2.11 直接数字控制系统原理图
计算机监督控制(Supervisory Computer Control,SCC)系统是OGC系统与常规仪表控制系统或DDC系统综合而成的两级系统,其原理图如图2.12所示。SCC系统有两种不同的结构形式,一种是SCC+模拟调节器系统(也称为计算机设定值控制系统,即SPC系统),另一种是SCC+DDC控制系统。其中,作为上位机的SCC计算机按照描述生产过程的数学模型,根据原始工艺数据与实时采集的现场变量计算出最佳动态给定值,送给作为下位机的模拟调节器或DDC计算机,由下位机控制生产过程。这样,系统就可以根据生产工况的变化,不断地修正给定值,使生产过程始终处于最优工况,这是计算机在线最优控制的一种实现形式。
图2.12 计算机监督控制系统原理图
另外,当上位机出现故障时,下位机可以独立完成控制。下位机直接参与生产过程控制,其具有实时性好、可靠性高和抗干扰能力强等特点;而上位机承担高级控制与管理任务,应配置数据处理能力强、存储容量大的高档计算机。
PLC作为传统主流控制器,具有抗恶劣环境、稳定性好、可靠性高、顺序控制能力强等优点,在自动化控制领域中具有不可替代的优势。但PLC也有明显的不足,如封闭式架构、封闭式软硬件系统、产品兼容性差、编程语言不统一等。这些都造成了PLC的应用壁垒,也增加了用户维修的难度和集成成本。而脱胎于商用PC的工业控制计算机IPC具有价格相对低廉、结构简单、开放性好、软硬件资源丰富、环境适应能力强等特点。因此,IPC除了可以用于监控系统作人机界面主机,还可以分出部分资源来模拟现场控制站中CPU模块的功能,即同时具有实时控制功能,因而产生了所谓软PLC(Soft PLC,也称为软逻辑Soft Logic)的概念,其基本原理如图2.13所示。
图2.13 软PLC的基本原理(从PLC控制到软PLC控制)
软PLC利用PC的部分资源来模拟PLC中CPU模块的功能,从而在PC上运行PLC程序。软PLC综合了计算机和PLC的开关量控制、模拟量控制、数学运算、数值处理、网络通信、PID调节等功能,通过一个多任务控制内核,提供强大的指令集,快速而准确地执行控制任务。随着对软PLC的认识的深入及控制技术的发展,进一步产生了基于PC(PCBased)的控制系统。目前,常用的两种基于PC的控制解决方案分别是软PLC解决方案和基于PLC技术的解决方案。后一种方案针对软PLC解决方案的控制与监控功能因集中而导致可靠性下降的问题,采用独立的硬件CPU模块。这两种基于PC的控制解决方案及相关的产品具有各自的特点和应用领域。特别是近年来,西门子、研华、倍福等公司都针对运动控制领域的应用推出了基于PC的控制解决方案,以充分发挥PC在运算、速度、存储等方面的功能,以及整合机器视觉、CAD文档、数据库的便捷性。
西门子公司推出了非常完善的基于PC的自动化控制产品,该产品系统称作SIMATICWinAC,与其他基于PC的控制产品相比,其功能和产品系统均有所差别。WinAC不是简单地将PLC替换为PC,而是将PLC和PC的功能完美结合,包括控制功能、通信功能、可视化功能、网络功能及工艺技术等功能,WinAC产品包括WinAC插槽型、WinAC实时型、WinAC基本型和WinAC嵌入型等。
德国倍福公司(Beckhoff)的基于 PC 的控制产品使用高性能的现代处理器,将PLC、可视化、运动控制、机器人技术、安全技术、状态监测和测量技术集成在同一个控制平台上,可提供具有良好开放性、高度灵活性、模块化和可升级的自动化系统,全面提升智慧工厂的智能水平。当独立使用PLC或PC不能提供很好的解决方案时,使用该类产品是一个较好的选择。
随着生产规模的扩大,控制系统不仅对I/O处理能力的要求更高,而且随着信息量的增多,对集中管理的要求也越来越高,控制和管理的关系也日趋密切。从可靠性要求角度来看,大型企业对生产过程的控制和管理不可能只用一台计算机来完成。另外,随着计算机技术、通信技术和控制技术的发展,开发大型分布式计算机控制系统成为可能。通信网络连接管理计算机和现场控制站的集散控制系统(Distributed Control System,DCS)在1975年被研制出来。DCS采用分散控制、集中操作、分级管理、分而自治和综合协调的设计原则,自下而上可以分为若干级,如过程控制级、控制管理级、生产管理级和经营管理级等,满足了大规模工业生产过程对工业控制系统的需求,成为主流的工业过程控制系统。
计算机集成制造系统(Computer Integrated Manufacturing System,CIMS)是指通过计算机硬软件并综合运用现代管理技术、制造技术、信息技术、自动化技术、系统工程技术,将企业生产全部过程中有关的人、技术、经营管理三要素及其信息与物流有机集成并优化运行的复杂的大系统。从功能层方面分析,CIMS大致可以分为六层:生产/制造系统、硬事务处理系统、技术设计系统、软事务处理系统、信息服务系统和决策管理系统。从生产工艺方面分析,CIMS大致可以分为离散型制造业、连续型制造业和混合型制造业三种。从体系结构方面分析,CIMS也可以分为集中型、分散型和混合型三种类型。
CIMS是自动化程度不同的多个子系统的集成,如管理信息系统(MIS)、制造资源计划系统(MRPⅡ)、计算机辅助设计(CAD)系统、计算机辅助工艺设计(CAPP)系统、计算机辅助制造(CAM)系统、柔性制造系统(FMS),以及数控机床(CNC)、机器人等。CIMS是在这些自动化系统的基础上发展起来的,它根据企业的需求和经济实力,把各种自动化系统通过计算机实现信息集成和功能集成。
作为新一代信息通信技术与现代工业技术深度融合的产物,工业互联网成为全球新一轮产业竞争的制高点。当前,随着工业互联网的快速发展和推进,传统的自动化公司都在加强业务转型,如西门子、通用电气、ABB、施耐德等公司面向智能制造需求,充分利用物联网、人工智能、大数据、云计算等当代先进技术,重点推进工业互联网平台的建设和应用。目前众多自动化公司、传统制造业公司和软件公司等都推出了自己的工业互联网云平台。受此影响,传统的工业自动化系统的结构和业务模式正在快速转型和升级。
工业互联网平台是指面向制造业数字化、网络化、智能化需求,构建基于海量数据的采集、汇聚、分析和服务体系,支撑制造资源泛在连接、弹性供给、高效配置的开放式云平台。其本质是通过人、机器、产品、业务系统的泛在连接,建立面向工业大数据、管理、建模、分析的赋能和使能开发环境,将工业研发设计、生产制造、经营管理等领域的知识显性化、模型化、标准化,并封装为面向监测、诊断、预测、优化、决策的各类应用服务,实现制造资源在生产制造全过程、全价值链、全生命周期中的全局优化,打造泛在连接、数据驱动、软件定义、平台支撑的制造业新体系。
图2.14所示是和利时公司的HiaCloud工业互联网PaaS云平台架构。该架构是基于PaaS的工业互联网平台,通过HiaCloud工业互联网,用户可以构建基于数据自动流动的状态感知、实时分析、科学决策、精准执行的闭环赋能体系,打通产品需求设计、生产制造、应用服务之间的“数字鸿沟”,实现生产资源高效配置、软件敏捷开发,支撑企业持续改进和创新。HiaCloud工业互联网以模型为核心,采用事件驱动服务的方式,实现物理空间与信息空间的双向映射和交互,提供开放的工业数据、应用开发和业务运行的云平台。
图2.14 和利时公司的HiaCloud工业互联网PaaS云平台架构图
可编程调节器(Programmable Controller,PC)又称单回路调节器(Single Loop Controller,SLC)、智能调节器、数字调节器等。它主要由微处理器单元、过程I/O单元、面板单元、通信单元、硬手操单元和编程单元等组成,在过程工业特别是单元级设备控制中广泛使用,常用的可编程调节器如图2.15所示。
图2.15 常用的可编程调节器
可编程调节器实际上是一种仪表化了的微型控制计算机,它既保留了仪表面板的传统操作方式,易于被现场人员接受,又发挥了计算机软件编程的优点,可以方便灵活地构成各种过程控制系统。与一般的控制计算机不同,可编程调节器在软件编程上使用一种面向问题的语言(Problem Oriented Language,POL)。这种POL组态语言为用户提供了几十种常用的运算和控制模块,其中,运算模块不仅能实现各种组合的四则运算,还能完成函数运算;而控制模块的系统组态编程也能实现各种复杂的控制算法,如PID、串级、比值、前馈、选择、非线性、程序控制等。由于这种系统组态方式简单易学,便于修改与调试,因此,它极大地提高了系统设计的效率。用户在使用可编程调节器时在硬件上无须考虑接口问题、信号传输和转换等问题。为了满足集中管理和监控的需求,可编程调节器配置的通信接口可以与上位机通信。可编程调节器具有的断电保护和自诊断等功能提高了其可靠性。因此,利用可编程调节器的现场回路控制功能,结合上位管理和监控计算机,可以构成集散控制系统。对于一些规模较小的生产过程控制而言,这种方案具有较高的性价比。
近年来,不少传统的无纸记录仪在显示和记录的基础上增加了调节功能,构成了功能更加强大的新型自动化产品,其使用也越来越广泛,而传统的可编程调节器的市场急剧萎缩。
智能仪表可以看作功能简化的可编程调节器,它主要由微处理器、过程I/O单元、面板单元、通信单元、硬手操单元等组成,常用的智能仪表如图2.16所示。与可编程调节器相比,智能仪表不具有编程功能,只有内嵌的几种控制算法供用户选择,典型的控制算法有PID、模糊PID和位式控制。用户可以通过按键设置调节有关的各种参数,如输入通道类型及量程、输出通道类型、调节算法及具体的参数、报警设置、通信设置等。智能仪表也可以选配通信接口,从而与上位计算机构成分布式监控系统。智能仪表由于价格低廉,在单体设备或小型系统中还在广泛使用。
图2.16 常用的智能仪表
可编程控制器(Programmable Logic Controller,PLC)是指以计算机技术为基础的新型数字化工业控制装置,是计算机技术和继电逻辑控制概念相结合的产物,其低端产品为常规继电逻辑控制的替代装置,而高端产品为一种高性能的工业控制计算机。1987年2月,国际电工委员会(International Electrical Committee,IEC)在其颁布的《可编程控制器标准草案》的第三稿中对可编程控制器做了如下定义。
可编程控制器是一种专门为在工业环境下应用而设计的数字运算操作的电子装置,它采用一类可编程的存储器,用于存储其内部程序,执行逻辑运算、顺序运算、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式的输入/输出控制各种类型的机械或生产过程。可编程控制器及其有关外部设备都应该按易于与工业控制系统形成一个整体、易于扩展其功能的原则而设计。
由于可编程控制器是一类数字化的智能控制设备,因此相对于传统的模拟式控制器,它有了软件系统,该软件系统包括系统软件与应用软件。系统软件是由可编程控制器生产厂家编写并固化到只读式存储器ROM中的,用户不能访问,它主要是指控制可编程控制器完成各种功能的程序。而应用软件是用户根据设备或生产过程的控制要求编写的程序。该程序可以写入可编程控制器的随机存储器RAM中,用户可以通过在线或离线方式修改、补充该程序,并且可以启停应用程序。
与现有的数字控制设备或系统如集中式计算机控制系统、集散控制系统及新型嵌入式控制系统相比,可编程控制器具有如下特点。
(1)产品类型更加丰富
可编程控制器可覆盖从几个I/O点的微型系统到具有上万个I/O点的大型控制系统,这种特性决定了可编程控制器应用领域的广泛性,从单体设备到大型流水线的控制都可以采用可编程控制器。特别是各种经济的超小型、微型可编程控制器,其配置的8~16个I/O点可以很好地满足小型设备的控制需要,这是其他类型控制器很难做到的。在实际应用中,微型、小型可编程控制器的使用量也远远超过中型产品。采用各种板卡+计算机的控制系统的I/O点数量通常较少,不适用于大系统,且其可靠性也比可编程控制器的控制系统差。而集散控制系统只有在中大型应用中才能体现其性价比,通常I/O点数小于300的生产过程较少使用集散控制系统。
(2)主要应用在制造业上
由于可编程控制器产生于制造业,因此,其主要的应用领域是在生产线及机械设备上。集散控制系统主要用于流程工业的非安全控制,但其安全控制(联锁控制、紧急停车系统)等主要的控制设备通常是可编程控制器。近年来,虽然可编程控制器与DCS都在扩展它们的模拟量控制能力和逻辑控制功能,但是由于历史的传承,目前这两类控制装置的主流应用领域与它们产生时的应用领域还是没有太大区别。
(3)开放性比较差
开放性差是可编程控制器控制系统的“软肋”,即使同一个厂家的不同系列的可编程控制器产品,其软硬件也不是直接兼容的。而在计算机控制系统中,操作系统软件以Windows系列为主,有大量的应用软件资源,系统的硬件设备也是通用的。当然,集散控制系统的开放性也较差。
(4)编程语言不同
可编程控制器是要替代继电器-接触器控制等传统控制系统而产生的,这就要求可编程控制器的编程语言也要被广大的电气工程师接受,因而与电气控制原理图有一定相似性的梯形图编程语言成为可编程控制器应用程序开发主要的编程语言。此外,还有一些图形或文本编程语言是专为可编程控制器编程而开发的,这些编程语言相对来说比较容易学习和使用,但其灵活性不如高级编程语言。而在计算机控制系统中,常使用诸如C语言之类的高级程序语言,虽然这类程序语言更容易实现复杂功能,但对编程人员的要求也更高,而且应用软件的稳定性与编程人员的水平密切相关。DCS的组态主要采用图形化的编程语言,如连续功能块图等。
(5)软硬件资源具有局限性
与计算机控制系统相比,可编程控制器采用的CPU及存储设备等的速度和处理能力要远远低于工控机等通用计算机系统。不同的可编程控制器产品的操作系统的各异性决定了可编程控制器中应用软件的局限性,因为专门为一款可编程控制器开发的应用软件是没有办法被其他的可编程控制器用户所共享的,其他的可编程控制器用户只能根据该软件的开发思想用其支持的编程语言来重新开发。
可编程控制器是使用量较大的一类现场控制器。目前可编程控制器的生产厂家众多,我国在可编程控制器的生产制造方面也取得了长足的进步。按照可编程控制器的结构特点,可编程控制器可分成一体式与模块式两种类型。图2.17所示是几种典型的可编程控制器产品,包括一体式和模块式两类。
(a)一体式PLC (b)A-B公司的模块式PLC (c)西门子公司的模块式PLC
图2.17 几种典型的可编程控制器产品
一体式可编程控制器是指把实现可编程控制器所有功能所需要的硬件模块,包括电源、CPU、存储器、I/O点及通信接口等组合在一起,物理上形成一个整体。这类产品的一个显著特点是结构非常紧凑,功能相对较弱,特别是模拟量处理能力较弱。这类产品主要应用于一些小型设备或单台设备如注塑机等的控制。由于受制于尺寸,这类产品的I/O点比较少。典型的一体化产品有A-B公司的Micro800、MicroLogix系列,西门子公司的S7-200Smart、S7-1200系列,三菱公司的FX2N、FX3U、FX5U等。
模块式可编程控制器,顾名思义,是指把可编程控制器的各个功能组件单独封装成具有总线接口的模块,如CPU模块、电源模块、输入模块、输出模块、输入/输出模块、通信模块、特殊功能模块等,然后通过底板把模块组合在一起构成一个完整的可编程控制器系统。这类系统的典型特点是系统构建灵活、扩展性好、功能性较强,典型的产品包括罗克韦尔公司的CompactLogix和ControlLogix、西门子公司的S7-300和新型的S7-1500系列、施耐德公司的Quantum和M850系列、通用电气公司的Rx3i及三菱公司的Q和iQ-R系列等。
可编程自动化控制器(Programmable Automation Controller,PAC)是将PLC强大的实时控制、可靠、坚固、易于使用等特性与PC强大的计算能力、通信处理、广泛的第三方软件支持等结合在一起而形成的一种新型的控制系统。PAC可以看作一类基于PC控制技术的产品。一般认为PAC产品应该具备以下一些主要的特征和性能。
提供通用开发平台和单一数据库,以满足多领域自动化系统设计和集成的需求。
一个轻便的控制引擎可以实现多领域的功能,包括逻辑控制、过程控制、运动控制和人机界面等。
允许用户根据系统实施的要求在同一平台上运行多个不同功能的应用程序,并根据控制系统的设计要求,在各程序间进行系统资源的分配。
采用开放的模块化的硬件架构以实现不同功能的自由组合与搭配,减少系统升级带来的开销。
支持IEC 61158现场总线规范,可以实现基于现场总线的高度分散性的工厂自动化环境。
支持事实上的工业以太网标准,可以与工厂的MES、ERP等系统集成。
使用既定的网络协议、IEC 61131-3程序语言标准来保障用户的投资及多供应商网络的数据交换。
近年来,主要的工业控制厂家都推出了一系列PAC产品,这些产品有罗克韦尔公司的ControlLogix5000系统,通用电气公司的PACSystems RX3i/7i,施耐德公司的Modicon系列高端PAC和ePAC,美国国家仪器公司的Compact FieldPoint,倍福公司的CX系列,泓格科技公司的WinCon/LinCon系列、PAC-7186EX,以及研华公司的ADAM-5510EKW等。然而,美国国家仪器公司的PAC不支持IEC 61131-3的编程方式,因此,严格来说其不是典型的PAC。其他在传统PLC和基于PC控制的设备基础上衍生而来的产品总体上更符合PAC的特点,常用的一些PAC产品如图2.18所示。
图2.18 常用的一些PAC产品
PLC、PAC和基于PC的控制设备是目前常用的几种典型的工业控制设备,PLC和PAC在坚固性和可靠性上要高于PC,但PC的软件功能更强。一般认为,PAC是高端的工控设备,其综合功能更强,当然价格也比较贵。例如,倍福公司的基于PC控制技术的PAC产品使用高性能的现代处理器,将 PLC、可视化、运动控制、机器人技术、安全技术、状态监测和测量技术集成在同一个控制平台上,可提供具有良好开放性、高度灵活性、模块化和可升级等特点的自动化系统,全面提升智慧工厂的智能水平。当独立使用PLC或PC不能提供很好的解决方案时,使用该类产品是一个较好的选择。
远程终端单元(Remote Terminal Unit,RTU)是安装在远程现场用来监测和控制远程现场设备的智能单元。RTU将测得的状态或信号转换成数字信号后向远方发送,同时还将从中央计算机发送来的数据转换成命令,实现对设备的远程监控。许多工业控制厂家生产各种形式的RTU,不同厂家的RTU通常自成体系,即有自己的组网方式和编程软件,开放性较差。
RTU作为体现“测控分散、管理集中”思想的产品在20世纪80年代被引进我国并迅速得到广泛的应用。它在提高信号传输可靠性、减轻主机负担、减少信号电缆用量、节省安装费用等方面的优势也得到了用户的肯定。
与常用的工业控制设备PLC相比,RTU具有如下特点。
提供多种通信端口和通信机制。RTU产品往往在设计之初就预先集成了多个通信端口,包括以太网和串口(RS-232/RS-485)。这些端口满足远程和本地的不同通信要求,包括与中心站建立通信,与智能设备(流量计、报警设备等)、就地显示单元和终端调试设备建立通信。通信协议多采用Modbus RTU、Modbus ASCⅡ、Modbus TCP/IP、DNP3等标准协议,具有广泛的兼容性。同时通信端口具有可编程特性,支持对非标准协议的通信定制。
提供大容量程序和数据存储空间。从产品配置角度来看,早期PLC提供的程序和数据存储空间往往只有6~13KB,而RTU可提供1~32MB的大容量存储空间。RTU的一个重要的产品特征是能够在特定的存储空间连续存储/记录数据,这些数据可标记时间标签。当通信中断时RTU能就地记录数据,通信恢复后也可以补传和恢复数据。
高度集成的、更紧凑的模块化结构设计。紧凑的、小型化的产品设计简化了系统集成工作,适合无人值守站或室外应用。高度集成的电路设计增加了产品的可靠性,同时具有低功耗特性,简化了备用供电电路的设计。
具有更适应恶劣环境应用的品质。PLC要求环境温度为0℃~55℃,安装时不能放在发热量大的元件下面,四周通风散热的空间应足够大。为了保证PLC的绝缘性能,空气的相对湿度应小于85%(无凝露),否则会导致PLC部件的故障率提高,甚至损坏。RTU产品是为适应恶劣环境而设计的,通常RTU产品的设计工作环境温度为40℃~60℃。某些RTU产品具有DNV(船级社)等认证,适合船舶、海上平台等潮湿环境应用。
RTU产品有鲜明的行业特性,不同行业的RTU产品在功能和配置上有很大的不同。RTU产品主要应用在电力系统上,在其他需要遥测、遥控的应用领域也有应用,如在油田、油气输送、水利等行业,RTU产品也有应用。图2.19(a)所示为油田监控领域常用的RTU产品,图2.19(b)所示为电力系统常用的RTU产品。
随着计算机设计的日益科学化、标准化与模块化,一种总线系统和开放式体系结构的概念应运而生。总线即一组信号线的集合,一种传送规定信息的公共通道,它定义了各引线的信号特性、电气特性和机械特性。按照这种统一的总线标准,计算机厂家可以设计制造出若干具有某种通用功能的模板,而系统设计人员则根据不同的生产过程,选用相应的功能模板组合成自己所需的计算机控制系统。
(a)油田监控领域常用的RTU产品
(b)电力系统常用的RTU产品
图2.19 油田监控领域和电力系统常用的RTU产品
采用总线技术研制生产的计算机控制系统称为总线式工控机。图2.20所示为典型工业控制计算机的主板和主机,主板为在一块无电源的并行底板总线上插接多个功能模块,除了构成计算机基本系统的CPU、RAM/ROM和人机接口模块,还有A/D、D/A、DI、DO等种类繁多的工业I/O,用户可以从这些通信接口模块和I/O中选择所需要的模块,构成工业控制系统。总线式工控机的各个模块彼此通过总线相连,由CPU通过总线直接控制数据的传送和处理。
图2.20 典型工业控制计算机主板与主机
总线式工控机的系统结构具有的开放性方便了用户的选用,从而大大提高了系统的通用性、灵活性和扩展性。而模板结构的小型化,使之机械强度好,抗振动能力强;模板的功能单一,便于对系统故障进行诊断与维修;模板的线路设计布局合理,即由总线缓冲模块到功能模块,再到I/O驱动输出模块,使信号流向基本为直线,这大大提高了系统的可靠性和可维护性。另外,总线式工控机的系统结构在结构配置上还采取了许多措施,如密封机箱正压送风、使用工业电源、带有Watchdog系统的支持板等。
总线式工控机具有小型化、模板化、组合化、标准化等设计特点,既能满足不同层次、不同控制对象的需要,又能在恶劣的工业环境中可靠地运行,因此,其应用极为广泛。我国工控领域的总线式工控机主要有3种系列:Z80系列、8088/86系列和单片机系列。
随着微电子技术与超大规模集成技术的发展,计算机技术的另一个分支—超小型化的单片微型计算机(Single Chip Microcomputer,简称单片机)诞生了。它抛开了以通用微处理器为核心构成计算机的模式,充分考虑到控制的需要,将CPU、存储器、串并行I/O接口、定时/计数器,甚至A/D转换器、脉宽调制器、图形控制器等功能部件全都集成在一块大规模集成电路芯片上,构成了一个完整的具有相当控制功能的微控制器,也称片上系统(SoC)。
由于单片机具有体积小、功耗低、性能可靠、价格低廉、功能扩展容易、使用方便灵活、易于产品化等诸多优点,特别是强大的面向控制的能力,它在工业控制、智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了极为广泛的应用。
以往单片机的应用软件大多采用面向机器的汇编语言,随着高效率结构化语言的发展,其软件开发环境在逐步改善,现在大量单片机支持C语言开发。单片机的应用从4位机开始,历经8位、16位、32位。但在小型测控系统与智能化仪器仪表的应用领域里,8位和16位单片机因其品种多、功能强、价格低廉,目前仍然是单片机系列的主流机种。
近年来,以ARM(Advanced RISC Machine)架构为代表的精简指令集(RISC)处理器架构被大量使用。它除了在消费电子领域,如移动电话、多媒体播放器、掌上型电子游戏机等设备上使用,在工控设备中的ARM处理器上也广泛使用。各种基于ARM的专用控制器被大量开发,如电力系统的继电保护设备就大量使用ARM处理器。ARM家族占所有32位嵌入式处理器的比例为75%,成为占全世界最多数的32位架构。
此外,DSP、FPGA等也被广泛用于各种专用控制器及相关的各类卡件中。
不同的应用场合发生事故后的后果不一样,一般通过对所有事故发生的可能性与后果的严重程度及其他安全措施的有效性进行定性的评估,从而确定安全完整性等级。目前IEC 61508将过程安全所需要的安全完整性等级划分为4级,从低到高为SIL1~SIL4。为了实现一定的安全完整性等级,生产过程需要使用安全仪表系统(Safety InstrumentationSystem,SIS),该系统也称为安全联锁系统(Safety Interlocking System)。该系统是常规控制系统之外的侧重功能安全的系统,保证生产的正常运转、事故安全联锁。SIS可以监测生产过程中出现的或潜伏的危险,发出告警信息或直接执行预定程序,防止事故的发生,降低事故带来的危害及其影响。安全仪表系统的核心是安全控制器,在实际应用中,可以采用独立的安全控制单元,也可以采用集成的安全控制单元。
罗克韦尔公司的GuardLogix 集成安全控制系统具有标准 ControlLogix系统的优点,并提供了支持SIL3安全应用项目的安全功能,如图2.21所示。GuardLogix集成安全控制系统的安全控制器提供了集成安全控制、离散控制、运动控制、驱动控制和过程控制,并且可以无缝连接到工厂范围的信息系统中,所有这些都在同一个控制器中完成。
图2.21 罗克韦尔公司的GuardLogix集成安全控制系统(图中深色为安全控制器)
根据目前国内外文献介绍,我们可以把工业控制系统分为两大类,即集散控制系统(DCS)、监督控制与数据采集(SCADA)系统。这两类工业控制系统虽然应用领域有所不同,各自存在一定的不足之处,但从本质上看,它们存在许多共性。
不论上述哪种类型的工业控制系统,上位机/操作员站主要运行的软件是人机界面软件。人机界面是操作员对工业过程进行直接监控和管理的主要界面,工业自动化领域主要有两种类型的人机界面,分别是用于现场的以触摸屏为代表的终端及用于中央控制室的以PC为代表的终端。
在制造业中流水线及机床等单体设备大多采用PLC作为控制设备,但是PLC自身没有显示、键盘输入等人机交互功能,因此,通常需要配置触摸屏或嵌入式工业计算机作为人机界面,它们通过与PLC通信,实现对生产过程的现场监视和控制,同时还具有参数设置、参数显示、报警、打印等功能。图2.22所示为某应用的终端操作界面。
图2.22 某应用的终端操作界面
触摸屏式人机界面又称操作员终端面板,通常需要在PC机上利用设备配套的人机界面开发软件,按照系统的功能要求进行组态,并形成工程文件,对该文件进行功能测试后,将工程文件下载到触摸屏存储器中,即可实现监控功能。为了与位于控制室的人机界面应用相区别,这种类型的人机界面也常称作终端(以下用此名称)。
由于PLC与终端的组合是标配,因此,几乎所有的主流PLC厂家都生产该类终端设备(如著名的PLC制造商施耐德公司通过收购Proface来填补其终端产品的空白),同时,还有大量的第三方厂家生产终端。通常,这些厂家生产的终端设备支持市面上主流的PLC产品和多种通信协议,因此能和各种厂家的PLC配套使用。一般而言,第三方厂家生产的终端设备在价格上有较大优势,支持的PLC产品种类也较多;而PLC厂家配套的终端设备与软硬件的结合更好,更加有利于软件开发和系统集成。
工业控制系统通常是分布式控制系统,在现场设备附近安装各种控制器。为了实现全厂的集中监控和管理,工业控制系统需要设立一个统一监视、监控和管理整个生产过程的中央监控系统,中央监控系统的服务器与现场控制站进行通信,工程师站、操作员站等需要安装对生产过程具有监视、控制、报警、记录、报表功能的工控应用软件,具有这种功能的工控应用软件称为人机界面,这类人机界面通常是用工控组态软件(以下简称组态软件)开发的。与触摸屏终端相比,这类人机界面不存在工程下装问题,工控应用软件直接运行在工作站(通常是商用机器、工控机或工作站)上。图2.23所示为FactoryTalk View Studio人机界面应用。前面介绍的配置嵌入式工控机的应用也属于此类,只是在这类应用中工控机是安装在设备配套的控制柜中,而不是放在中控室中。
图2.23 FactoryTalk View Studio人机界面应用
SCADA系统的人机界面组态和DCS的人机界面组态有所不同,主要原因是SCADA系统的人机界面与现场控制器之间是一种松散组合,其人机界面通常是通用的组态软件产品;而DCS的人机界面与现场控制器的集成度高,人机界面和现场控制器是一家公司生产的。相对而言,DCS的人机界面组态更为简单。
目前,主要的通用组态软件有罗克韦尔公司的FactoryTalk View Studio和RSView32(逐步淘汰)、通用电气公司的Proficy iFIX(收购的产品)和 Proficy Cimplicity、西门子公司的WinCC、施耐德公司的Wonderware Intouch(从Invensys收购)与Vijeo Citect(从澳大利亚西雅特公司收购)及法国彩虹计算机公司的PcVue等。国产产品主要有北京亚控科技公司的组态王、力控元通科技公司的ForceControl和大庆紫金桥软件公司的紫金桥等。目前,组态软件的功能总体比较完善,产品升级明显变慢,整个组态软件市场也比较平稳。
目前主流的组态软件由开发环境与运行环境组成,如图2.24所示。系统开发环境是自动化工程设计师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必需依赖的工作环境,通过建立一系列用户文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。
图2.24 组态软件的组成
系统运行环境由若干个运行程序支持,如图形界面运行程序、实时数据库运行程序等。系统运行环境将目标应用程序装入计算机内存并投入实时运行。大多数组态软件都支持在线组态,即在不退出系统运行环境下修改组态,使修改后的组态在系统运行环境中直接生效。当然,如果修改了图形界面,必须刷新该界面才能显示新的组态。维系开发环境与运行环境的纽带是实时数据库。
在工业控制系统中,控制器的运行直接决定工业设备和工业生产过程的连续、安全和稳定运行。因此,控制器中的应用软件的质量对整个工业控制系统起至关重要的作用。PLC的编程与DCS中现场控制站的编程有较大差别,两者的编程方式的趋同甚至统一一直是工业控制系统开发人员的期盼。
以PLC为代表的各类控制器随着应用场合的不断扩大,使用数量不断增加,但是随着PLC硬件价格的不断降低,PLC中的应用软件的开发和维护成本却越来越高。造成这一问题的主要原因是PLC产品的标准化太差及传统编程语言的局限性较大。因此,国际电工技术委员会(IEC)开展了PLC标准化的工作,制定了IEC 61131国际标准(我国采用了该标准,并发布了GB/T15963国家推荐标准)。其中该标准的第三部分是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。该标准是IEC工作组在合理地吸收、借鉴世界范围内的各PLC厂家的技术和编程语言等的基础上,形成的一套编程语言国际标准。
在IEC 61131-3国际标准中编程语言部分规范了5种编程语言,并定义了这些编程语言的语法和句法。这5种编程语言是:文本化语言2种,即指令表语言(IL)和结构化文本语言(ST);图形化语言3种,即梯形图语言(LD)、功能块图语言(FBD)和连续功能图语言(CFC)。其中CFC是IEC 61131-3国际标准修订后新加入的,是西门子公司的PCS7过程控制系统主要的控制程序组态语言,也是其他一些DCS常用的编程语言。由于控制设备完整地支持这5种编程语言并非易事,所以该标准允许部分实现,即不要求每种PLC都同时具备这些编程语言。虽然这些编程语言最初是用于编制PLC逻辑控制程序的,但是由于PLC open及专业化软件公司的努力,这些编程语言也支持编写过程控制、运动控制等其他应用系统的控制任务。
在IEC 61131-3国际标准中,顺序功能图语言(SFC)是作为编程语言的公用元素被定义的。因此,许多文献也认为IEC 61131-3国际标准中含有6种编程语言规范,而SFC是其中的第4种图形编程语言。实际上,我们还可以把SFC看作一种顺控程序设计技术。
一般而言,即使一个很复杂的任务,采用这6种编程语言的组合也能够编写出满足控制任务功能要求的程序。因此,IEC 61131-3国际标准的6种编程语言充分满足了控制系统应用程序开发的需要。
自IEC 61131-3国际标准正式公布后,它被广泛接受和支持。首先,国际上各大PLC厂家都宣布其产品符合该标准,在推出编程软件新产品时,遵循该标准的各项规定。其次,许多稍晚推出的DCS产品或DCS的更新换代产品也按照IEC 61131-3国际标准的规范,提供编程语言,而不像以前每个DCS厂家都搞自己的一套编程软件产品。再次,以PC为基础的控制技术作为一种新兴的控制技术迅速发展,大多数基于PC的控制软件开发商都按照IEC 61131-3国际标准的编程语言标准规范其软件产品的特性。最后,正因为有了IEC61131-3国际标准,才真正出现了一种开放式的可编程控制器的编程软件包,它不具体地依赖于特定的PLC硬件产品,这就为PLC的程序在不同机型之间的移植提供了可能。
IEC 61131-3标准的出台对PLC制造商、集成商和终端用户都有许多益处。技术人员不再为某一种PLC的特定编程语言花费大量的时间学习培训,也减少了对编程语言本身的误解。对于相同的控制逻辑而言,不管控制设备如何,只需要相同的程序代码。为一种PLC家族开发的软件,理论上可以运行在任何兼容IEC 61131国际标准的系统上。用户可以集中精力解决具体的问题,消除了对单一生产商的依赖。当系统硬件或软件功能需要升级时,用户可以选用对特定应用更好的工具。PLC厂家提供了符合IEC 61131-3国际标准的编程语言后,不再需要组织专门的编程语言培训,只需要将注意力集中到PLC自身功能的改进和提高上,也不用花费时间、精力和财力考虑与其他PLC的编程兼容问题。
IEC 61131-3国际标准得到了包括罗克韦尔公司、西门子公司等世界知名公司在内的众多厂家的共同推动和支持,它极大地提高了工业控制系统的编程软件质量,从而也提高了采用符合该标准的编程软件编写的应用软件的可靠性、可重用性和可读性,提高了应用软件的开发效率。目前该标准在过程控制、运动控制、基于PC的控制和SCADA系统等领域也得到了越来越多的应用。总之,IEC 61131-3国际标准的推出创造了一个控制系统的软件制造商、硬件制造商、系统集成商和最终用户等多赢的局面。
需要说明的是,IEC 61131-3国际标准也有不完善之处。另外,虽然许多PLC制造商都宣称其产品支持IEC 61131-3国际标准,但这种支持只是部分的,特别是对于一些低端的PLC产品而言,这种支持程度就更弱了。因此,IEC 61131-3国际标准的改进和推广还有许多工作要做。
IEC 61131-3国际标准允许在同一个PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序的不同的软件模块中用不同的编程语言,以充分发挥不同编程语言的特点。该标准中的多语言包容性很好地正视了PLC发展历史中形成的编程语言多样化的现实,为PLC软件技术的进一步发展提供了足够的技术空间和自由度。
IEC 61131-3国际标准的优势还在于它成功地将现代软件的概念及现代软件工程的机制和成果用于传统的PLC编程语言中。IEC 61131-3国际标准的优势具体表现在以下几方面。
采用现代软件模块化原则,主要内容包括编程语言支持模块化,将常用的程序功能划分为若干单元,并加以封装,构成编程的基础;模块化时,只设置必要的、尽可能少的输入和输出参数,尽量减少交互作用和内部数据交换;模块化接口之间的交互作用均采用显性定义;将信息隐藏于模块内,对使用者来讲只需要了解该模块的外部特性(功能、输入和输出参数),而无须了解模块内算法的具体实现方法。
IEC 61131-3国际标准支持自顶而下和自底而上的程序开发方法。自顶而下的开发过程是用户首先进行系统总体设计,将控制任务划分为若干个模块,然后定义变量和进行模块设计,编写各个模块的程序;自底而上的开发过程是用户先从底部开始编程,如先导出函数和功能块,再按照控制要求编写程序。无论选择何种开发方法,IEC 61131-3国际标准所创建的开发环境均会在整个编程过程中给予强有力的支持。
IEC 61131-3国际标准所规范的编程系统独立于任意一个具体的目标系统,它可以最大限度地在不同的PLC目标系统中运行。这样不仅创造了一种具有良好开放性的氛围,奠定了PLC编程的开放性基础,而且可以有效地规避标准与具体目标系统关联而引起的利益纠葛,体现该标准的公正性。
将现代软件概念浓缩,并加以运用。例如,数据使用DATATYPE_声明机制;功能(函数)使用FUNCTION声明机制;数据和功能的组合使用FUNCTIONBLOCK声_明机制。在IEC 61131-3国际标准中,功能块并不只是FBD语言的编程机制,还是面向对象组件的结构基础。一旦完成了某个功能块的编程,并通过调试和验证证明了它能正确执行所规定的功能,那么,就不允许用户再改变其算法。即使一个功能块因为其执行效率有必要再提高,或者在一定的条件下其功能执行的正确性存在问题,需要重新编程,只要保持该功能块的外部接口(输入/输出定义)不变,仍可照常使用。同时,许多原始设备制造厂(OEM)将其专有的控制技术压缩在用户自定义的功能块中,既可以保护知识产权,又可以反复使用,不必一再地为同一个目的而编写和调试程序。
完善的数据类型定义和运算限制。软件工程师很早就认识到许多编程错误往往发生在程序的不同部分,其数据的表达和处理方式不同。IEC 61131-3国际标准从源头上注意防止这类低级的错误,虽然采用的方法可能会导致效率略有降低,但换来的却是程序的可靠性、可读性和可维护性。IEC 61131-3国际标准采用以下方法防止这类错误。
限制函数与功能块之间互联的范围,只允许兼容的数据类型与功能块之间的互联。
限制运算。只允许在其数据类型已明确定义的变量上进行。
禁止隐含的数据类型变换。例如,实型数不可执行按位运算,若执行按位运算,编程者必须先通过显式变换函数(REAL-TO-WORD),把实型数变换为WORD型位串变量。IEC 61131-3国际标准规定了多种标准固定字长的数据类型,包括位串、带符号位和不带符号位的整数型(8位、16位、32位和64位字长)。
对程序执行具有完全的控制能力。传统的PLC只能按扫描方式顺序执行程序,对程序执行的其他要求,如由事件驱动某一段程序的执行、程序的并行处理等均无能为力。IEC 61131-3国际标准允许程序的不同部分、在不同的条件(包括时间条件)下、以不同的比例并行执行。
结构化编程。循环执行的程序、中断执行的程序、初始化执行的程序等可以分开设计。此外,循环执行的程序还可以根据执行的周期分开设计。
随着嵌入式技术、计算机技术、网络技术、通信技术等在工业自动化系统中广泛应用,工业自动化仪表和系统也逐步向数字化、智能化、网络化方向发展,即不仅各类控制设备是数字化的,而且测控信号也由模拟化向数字化方向发展,并通过控制网络将分散的控制装置和各类智能仪表连接起来,实现生产过程的集中管理、分散或就地控制。在这类控制系统中,关键技术之一就是各类仪表与控制装置及监控计算机之间的数字化通信,只有解决了这个问题,才能推进企业信息的集成,并为IT(信息技术)与OT(操作技术)的融合打下基础。
目前,工业自动化系统的通信网络是多层次的。现场层主要采用各类现场总线,不易布线的工业现场逐步采用短距离无线通信,监控层主要采用各类工业以太网;企业管理层主要采用商用以太网。目前,各类智能检测仪表除了4~20mA模拟信号传输,一般还配置有串行通信接口,并支持HART通信协议。此外,具有现场总线接口的检测仪表的用量也在不断增加。各类控制仪表主要配置串行通信接口及以太网接口。
然而,现场总线技术的发展也不是一帆风顺的,现场总线的标准之争制约了其应用,而且也增加了不同厂家的产品之间集成的难度。作为目前应用最为广泛的局域网技术,以太网具有高开放性、低成本和大量的软硬件支持等明显优势,它在工业自动化领域的应用越来越多,已经有多种工业以太网协议及实时以太网成为IEC标准,具有以太网接口的I/O设备也越来越多。在制造业中,传统工业控制系统的“现场层-控制层-管理层”三层网络架构体系已经逐步过渡到由工业以太网来实现现场层到管理层的设备互联。由于流程工业具有与制造业不同的特点,总的来说,在流程工业等领域,目前大量的现场仪表和执行器还是以基金会现场总线(FF)和Profibus-PA现场总线接口为主。
目前,在各类控制系统中有线通信仍然占据主导地位。有线通信虽然有优点,但对通信线路的依赖无疑限制了其应用。无线通信正在快速发展和广泛使用,无线通信技术在工业系统中的应用主要体现在两个层级,即系统级和设备级。系统级的应用主要体现在各种大型的分布式监控系统,如对分布极其广泛和分散的大量油田设备的监控,以及对城市煤气、污水泵站等公用设施的监控等,这类应用主要是长距离无线通信,因此,广泛采用移动运营商的3G/4G无线网络。设备级主要采用各种短程无线通信技术,在流程工业中,典型的无线通信协议是WirelessHART。
近年来,由于物联网的发展,对低功耗、长距离通信的需求导致NB-IoT和LoRa等技术涌现,相关的应用也快速增加。这类广域网主要由内置通信模块终端、无线网关和服务器等组成,已在城市远程抄表、污染源监控、城市停车服务等领域得到了应用。
由于工业界存在众多不同的工业通信协议,它们在各自的细分市场得到了应用。随着工业互联网的推进,各类设备间的互联与互通也变得越来越重要。然而,多种以太网协议并存使得在进行系统集成时存在通信协议的兼容性与互操作性等问题,严重影响了通信效率,增加了用户的成本。同样,用户也不可能为了解决通信问题而在生产现场只使用来自某一家或某一个组织的产品和解决方案。所以,工业界迫切需要一种具备时间确定性的通用以太网技术,而时间敏感网络(Time Sensitive Networking,TSN)能较好地满足这一诉求。时间敏感网络是指IEEE 802.1工作组中的TSN任务组对IEEE 802.1以太网进行扩展而开发的一套兼容性扩展协议标准。TSN的工作原理是优先适用机制,即在传输中优先处理关键数据包。该机制赋予以太网数据传输的时间敏感特性,使标准以太网增加了确定性和可靠性,以确保以太网能够为关键数据的传输提供稳定一致的服务。
TSN的实质是在IEEE 802.1标准框架下,基于特定应用需求而制定的一组“子标准”。由于TSN属于IEEE 802.1下的协议标准,因此TSN仅是关于以太网通信协议模型中的第2层,即数据链路层(更确切地说是MAC层)的协议标准。TSN能在协议第2层提供一套通用的时间敏感机制,在确保以太网数据通信的时间确定性的同时,为不同协议网络之间的互操作性提供了可能性,以帮助实现真正意义上的网络融合。TSN可以应用于现有的工业以太网协议,如ProfiNet、EtherNet/IP、Sercos、Powerlink等。TSN+OPC UA通信解决方案已被认为是工业物联网时代最有效的通信集成解决方案。由于该协议在数据链路层与标准以太网不同,因此,TSN需要专门的以太网交换机。
工业现场存在高温、电击、雷击、辐射、爆炸、机械危险等恶劣环境,往往会导致控制系统的通信短时中断、电磁不兼容、电源不稳定、通信设备软硬件失效等状况,从而使网络通信过程出现报文破坏、非预期的重传、乱序、丢失、延时、插入、伪装、寻址出错等故障,影响控制系统的可靠性。为了适应安全相关领域对工业通信安全性的需要,IEC在其发布的IEC 61158(GB/T 20438)功能安全基础标准上,又配套了IEC 61784-3系列标准,定义了实现GB/T 20438系列标准关于安全相关数据通信要求的基本原则,包括可能的传输故障、补救措施和影响数据完整性的因素等。IEC 61784-3-x(其中x为通信行规族编号)各部分标准为技术相关部分,IEC 61784-1和IEC 61784-2通信行规族分别定义了功能安全通信行规,包括对IEC 61158系列标准中通信服务和协议部分的安全层扩展。目前,一些使用现场总线技术进行数据通信并构成通信系统的自动化厂家或组织,已经在现场总线原有通信协议的基础上添加了安全通信层,定义了与功能安全相关的通信行规等,使其达到一定的安全完整性等级。目前主要的功能安全通信行规有EPASafety、FF-SIS、ProfiSafe、CIPSafety等。
IEC 61784-3 规定通信功能的失效率不超过SIS安全功能的最大总失效率的 1%。安全通信的可靠性由残余错误率参数进行度量,也就是说,通信功能的残余错误率不超过 SIS安全功能的最大PFD(要求时间的平均危险失效概率)或最大PFH(每小时的平均危险失效频率)的1%。为了实现上述功能安全通信需求,在通信系统中,功能安全通信模型如图2.25所示,面向安全的应用和标准的应用通常使用同一条通信链路,往往在原有黑色通道(安全非相关)的基础上增加安全通信层,并通过对安全通信层的定义形成功能安全通信行规,以实现一系列的安全措施。与IEC 61508相一致的安全数据传输所需的安全措施都在安全通信层实现。显然,安全层协议是实现通信安全完整性的核心。在安全层,系统可以通过数据对比、CRC校验、时间戳检查、设备标识符校验等手段,检查出数据包中由硬件随机故障、现场干扰、伪装攻击、软件逻辑等问题产生的大部分数据错误。数据包内容包括请求标志、功能码、冗余标志、物理地址、数据长度、有效数据、时间戳、CRC校验码等。
图2.25 功能安全通信模型
在工业控制系统中,应用软件与大量硬件设备最初的通信方式是通过专用驱动程序实现的,工业控制系统传统的实时数据交换原理如图2.26所示。然而,这种通信方式存在许多问题。首先,服务器必须分别为不同的硬件设备开发不同的驱动程序;其次,各个应用程序(客户机)分别为不同的服务器开发不同的接口程序。因此,对于由多种硬件和软件系统构成的复杂系统而言,这种模型的缺点是显而易见的,如用户应用程序开发商需处理大量与接口有关的任务,不利于系统开发、维护和移植,因此这类系统的可靠性、稳定性及扩展性较差;硬件开发商要为不同的用户应用程序开发不同的硬件驱动程序。解决该问题的一个有效方法是采用OPC(OLE for Process Control)规范,从而形成如图2.27所示的OPC数据交换规范原理。
图2.26工业控制系统传统的实时数据交换原理
图2.27OPC数据交换规范原理
OPC用于过程控制的对象链接与嵌入。OPC规范定义了一个工业标准接口,它基于微软的OLE/COM(Component Object Model,COM)技术,使控制系统、现场设备与工厂管理层应用程序之间具有更大的互操作性。OLE/COM是一种客户机/服务器模式,具有语言无关性、代码重用性、易于集成性等优点。OPC规范了接口函数,不管现场设备以何种形式存在,用户都以统一的方式访问,从而保证软件对用户的透明性,使得用户完全从底层的开发中脱离出来。由于OPC规范基于OLE/COM技术,同时OLE/COM的扩展远程OLE自动化与DCOM技术支持TCP/IP等多种网络协议,因此可以将OPC客户机、服务器在物理上分开,使其分布于网络的不同节点上。
采用该规范后,设备开发者、系统集成商和用户都可以实现各自的好处,具体表现在以下几方面。
设备开发者:可以使设备驱动程序开发更加简单,即只要开发一套OPC服务器即可,而不用为不同的用户程序开发不同的设备驱动程序。这样设备开发者可以更加专注于设备自身的开发,当设备升级时,只要修改OPC服务器的底层接口就可以。
采用该规范后,设备开发者可以从驱动程序的开发中解放出来。
系统集成商:可以从繁杂的应用程序接口中解脱出来,更加专注于应用程序功能的开发和实现。另外,应用程序的升级也更加容易,不再受制于设备驱动程序。
用户:可以选用各种各样的商业软件包,使得系统构成的成本降低,性能更加优化,同时可以更加容易地实现由不同供应厂家提供的设备来构成混合的工业控制系统。
正是因为OPC技术的标准化和适用性,OPC规范及新的OPC统一架构(OPC UA)规范得到了工业控制领域硬件和软件制造商的承认和支持,成为工业控制界公认的标准。目前,大量设备开发者开发了自己设备的OPC服务器,一些第三方公司如凯谱华(Kepware)也专门开发了市场上主流设备的OPC服务器。
由于采用OPC规范给工业系统相关各方都带来了好处,因此,该规范得到了广泛使用。目前使用的OPC规范包括OPC数据存取(Data Access,DA)规范、OPC报警与事件(Alarm and Event,A&E)规范、OPC历史数据存取规范、OPC批量服务器规范等。其中OPC DA的使用最广泛,它也是其他OPC规范的基础;而OPC A&E在安全仪表系统中用得比较多。
OPC数据访问提供数据源读取和写入特定数据的手段。OPC数据访问对象是由如图2.28所示的分层结构构成的,一个OPC服务器(OPCServer)对象具有一个作为子对象的OPC组集合(OPCGroups)对象,在这个OPC组集合对象里可以添加多个OPC组(OPCGroup)对象,各个OPC组对象具有一个作为子对象的OPC项集合(OPCItems)对象,在这个OPC项集合对象里可以添加多个OPC项(OPCItem)对象。此外,作为选用功能,OPC服务器对象还包含一个OPC浏览器(OPCBrowser)对象。
OPC数据访问对象的最上层对象是OPC服务器。一个OPC服务器可以设置一个以上的OPC组。OPC服务器经常对应某种特定的控制设备,如某种DCS控制系统或某种PLC控制装置。
图2.28 OPC分层模型
OPC组是可以进行某种目的数据访问的多个OPC项的集合,如某监视画面里所有需要更新的变量,或者与某个监控设备相关的所有变量等。正因为有了OPC组,OPC应用程序才可以以同时需要的数据为一批进行数据访问,也才可以以OPC组为单位启动或停止数据访问。此外,OPC组还提供组内任何OPC项的数值变化时向OPC应用程序通知的数据变化事件,从而把数据变化及时反馈给上位机。
OPC数据访问对象中最基本的对象是OPC项。OPC项是OPC服务器可识别的数据定义,通常相当于下位机的某个变量标签,并和数据源(如SCADA系统中下位机的I/O)相连接。OPC项具有多重属性,其中最重要的属性是OPC项标识符。OPC项标识符是在控制系统中可识别OPC项的字符串。
OPC通信标准的核心是互通性(Interoperability)和标准化(Standardization)。传统OPC规范在控制级别上很好地解决了监控软件与硬件设备的互通性问题,并且在一定程度上支持了软件之间的实时数据交换。然而,传统OPC规范在面向更大规模的企业级应用软件互联对数据通信的要求时还存在不足,具体表现在以下几个方面。
分布式控制系统要实现DCOM功能,需要对计算机系统进行一定的设置,但这种设置会比较烦琐,而且会带来较为严重的安全隐患。此外,由于在2002年微软发布了新的.NET框架并且宣布停止COM技术的研发,这影响了传统OPC规范的应用前景。
例如,如果用户需要获取一个压力的当前值、一个压力超过限定值的事件和一个压力的历史平均值,那么他必须发送3个请求,访问传统的数据存取服务器、报警与事件服务器和历史数据访问服务器3个OPC服务器。这不仅导致用户使用不便,还影响了访问效率。
由于COM 技术对Microsoft平台的依赖性,其平台可移植性较差,使得基于COM/DCOM 的OPC 接口很难被应用到其他系统的平台上。
由于OPC是基于二进制数据传输的,这一点令其很难穿过网络防火墙,因此基于COM/DCOM 的OPC 接口无法与Internet应用程序进行正常的交互。虽然基于Web Service技术,OPC XML 技术已经较好地实现了数据在互联网上的通信,但其单位时间内所读取的数据项个数要大大少于基于COM/DCOM技术的,导致这种技术很难被推广。
OPC统一架构(Unified Architecture,UA)规范是在传统OPC规范取得巨大成功之后的又一个突破。它有统一的架构与模式,既可以实现设备底层的数据采集、设备互操作等的横向信息集成,也可以实现设备到SCADA、SCADA到MES、设备与云端的垂直信息集成,让数据采集、信息模型化及工厂底层与企业层面之间的通信更加安全、可靠。图2.29所示为OPC UA目标应用结构。
图2.29 OPC UA目标应用结构
相对于传统OPC规范,OPC UA规范的改进主要体现在以下几个方面。
OPC UA规范使用一种优化的基于TCP的二进制协议完成数据交换,还支持Web服务和HTTP,允许在防火墙中打开一个端口,而集成的安保机制确保了通过因特网也能安全通信,即OPC UA规范实现了通过因特网和通过防火墙的标准化和安全通信。
OPC UA规范采用一种成熟的安保理念,防止非授权访问和过程数据损坏,以及由于误操作带来的错误。OPC UA规范的安保理念基于World Wide Web 标准,通过用户鉴权、签名和加密传输等项目来实现。
OPC UA规范使用可靠的通信机制,可配置的超时、自动错误检查和自动恢复等机制,定义一种可靠坚固的架构。该构架对客户机与服务器之间的物理连接进行监视,随时发现通信中的问题。OPC UA规范具有冗余特性,可以在服务器和客户机应用中实施,防止数据丢失,实现系统的高可用性。
OPC UA规范基于消息传递,消息采用WSDL定义,而非二进制数据传输,从而实现了平台无关性。由于使用了基于面向服务的技术,OPC UA规范具有平台独立的属性,可以实施全新的、节省成本的自动化理念。嵌入式现场设备、过程控制系统、可编程逻辑控制器、网关或操作员面板(HMI)可以通过OPC UA服务器直接连到各种类型的操作系统,如嵌入的Windows、Linux、VxWorks、QNX、RTOS等。当然,OPC UA组件也可以在Unix操作系统中使用,如Solaris、HPUX、AIX、Linux等。OPC UA组件的功能是可伸缩的:小到一个嵌入式设备的瘦应用,大到公司级别的大型计算机的数据管理系统。
OPC UA规范定义了全新的API,它是一个服务集,可以在同一个OPC 服务器下更方便地访问实时数据、历史数据、报警信息等,避免了通过不同OPC服务器各自的API 访问不同的数据,同时也简化了服务器开发时API 重叠的问题。与传统OPC规范相比,OPCUA规范仅用一个组件就非常容易地完成了对一个压力的当前值、一个压力超过限定值的事件和一个压力的历史平均值的访问。
OPC UA可以方便地从OPC DA服务器和客户端升级到OPC UA服务器和客户端,这样大大降低了OPC UA的推广和部署难度。