一、引言
随着网络化技术的飞速发展和现场总线技术的蓬勃兴起以及在工业控制领域的广泛应用,国内外的控制系统生产厂商纷纷推出自己的分布式控制新产品,促进了4C(Computer,Control,Communication,CRT)技术在工业控制领域更加紧密的结合,新型的控制系统功能更强大,运行更可靠。每一种新型控制系统的诞生通常总伴随着一种上位策略组态软件的设计实现。系统控制策略组态软件是分布式控制系统中的上位软件部分,是用户与系统的接口,完成控制系统中现场设备运行的逻辑组态,从而实现对系统的控制,是系统不可缺少的组成部分。面对这样一个种类繁多、特色各异的各种分布式控制系统和策略组态软件竞相存在的局面,在系统中担当着重要角色的策略组态软件向什么方向发展是一个值得探讨和仔细研究的问题。
二、历史的回顾
系统控制策略组态软件的开发是与分布式控制系统的产生及发展密切相关的。
早期的分布式控制系统是封闭的,各个系统生产厂家独立生产自己的产品组件,如I/O模块、控制站、操作员站及工程师站等,并完全独立设计开发系统网络和控制组态软件,用户使用中的每一个环节都要受到生产厂家的制约。各个厂商之间的硬件产品不能够相互替代,通信网络所采用的体系和协议也各不相同。
近年来,随着计算机技术的不断发展和系统软硬件功能的不断强大,这种情况有所改善。操作员站、工程师站大多采用了通用计算机,计算机系统的软硬件都具备了可互换性;同时,在通信网络方面,各大厂商也都开始纷纷采用兼容性强的通用计算机网络,如以太网、RS-232/484等。现场总线技术的诞生给分布式控制系统注入了新的活力,使分布式控制系统具有了真正意义上的全分布式体系。现场总线国际标准的制定进一步提高了控制系统的互操作性和互换性。
相对于分布式系统硬件及底层软件的快速发展,上位策略组态软件的开发在通用性、互换性上却相对落后了。各系统生产厂商在上位策略组态软件的开发上都是独立进行的,组态软件在设计风格和规范上也都迥然不同,在界面友好程度、易用性和组态效率上更是千差万别。由此造成的直接后果是:用户(如现场工程师)每接触到一种新的控制系统都要对其策略组态软件的体系结构、编程语言和使用方法进行重新学习,由此形成了提高生产效率的瓶颈;而对于厂商来说,则需要不断按照用户提出的各种需求改进软件产品,在组态软件的开发、维护、升级上将投入大量的人力物力。
基于微处理器的PLC控制系统自从1968年诞生以来取得了迅速的发展,成为工控领域广泛应用的控制设备。当形形色色的PLC产品涌入市场时,国际电工委员会及时地对PLC系统的健康发展进行了正确引导,1993年正式颁布了PLC的国际标准IEC61131,其中第3部分规范了PLC的5种编程语言及其基本元素,其中3种是图形化语言(功能块图、梯形图和顺序功能图),2种是文本化语言(指令表和结构化文本)。这一标准为PLC软件技术的发展,乃至整个工业控制软件的发展起到了举足轻重的推动作用。IEC61131-3标准的编程语言方便实用,标准化程度高,使用户很快就可以熟悉组态工作,可迅速地将原来所掌握的知识用于新的系统,免除了用户对不同的组态软件语言的重复学习,大大提高了工作效率;对厂商来说,则可以把人力、物力投到控制系统的硬件网络或其他方面。在IEC61131-3标准诞生以后,国内外的PLC控制系统生产厂商均相继采用其编程语言来规范自己的软件产品。在这一步上,PLC走在了各类分布式控制系统的前列。
三、国内外现状分析
目前,系统控制策略组态软件主要是针对FCS系统、DCS系统和PLC系统的。根据系统实现及其规模大小,组态软件的实现形式各不相同,但从功能上划分均可归纳为针对控制系统的物理组态和逻辑组态两个大部分。物理组态主要是对系统组成的软件配置,包括对现场设备及其功能块的选取等一些涉及系统组成的配置过程;逻辑组态则主要是对控制系统运行所采用的控制策略的规划和设计,包括对现场设备中各功能块的选取、连接、参数设定和通信配置,系统变量设置、读写等方面的工作。逻辑组态是一个系统控制策略程序的编写过程。
随着IEC61131-3标准在PLC系统组态软件应用中的逐步推广,国内外的一些分散控制系统(DCS)生产厂家也开始注意到该国际标准对DCS系统组态软件标准化的意义,陆续将IEC61131-3标准应用于其DCS系统的组态软件。
另一方面,随着现场总线技术的兴起和发展,国内的某些现场总线控制系统生产厂商也开始将IEC61131-3标准应用到其FCS的组态软件产品上来。
当前,分布式控制系统上位策略组态软件的开发存在如下特点。
(一)对IEC标准兼容的实现程度各异
对IEC标准兼容的实现程度上,其差别主要集中在两点:(1)在标准实现的深度上;(2)在标准所规范的编程语言的实现数量上。IEC61131-3标准不只是对编程语言元素的语法、语义、表达及显示的规则进行了规范,而且对控制程序整体的组织模式和构造形式、程序模块间要遵循的通信规则都作了具体的规定。对这些规范的部分和全部的实现就形成了对标准兼容的深度问题。目前,一些主要的PLC系统厂商的组态软件产品已经达到了对IEC标准的全面兼容,即符合IEC61131-3标准规定的几乎全部内容。而DCS系统对IEC标准的兼容性上则远不及PLC系统,一些产品只是在编程语言元素的某些方面如表达及显示的规则上兼容了IEC标准;另一些产品则在语言元素的语法、语义、表达及显示的规则上都达到了对IEC标准的兼容,但仍然没有取得对控制程序整体的组织模式和构造形式、程序模块间要遵循的通信规则等规范上的兼容,实现程度也大不相同。另一方面,在对标准所规范的编程语言的实现数量上,也都大有差异。虽然IEC标准并未规定一定要做到对5种编程语言的全部实现,但毕竟实现更多的编程语言意味着可以为用户提供更多的选择,使组态的方式更加灵活,效率更高,更加有利于工程师表达自己的面向控制的逻辑思维。
需要指出的是PLC和DCS的系统功能是有区别的。PLC系统通常用于离散逻辑控制和顺序控制,测量、控制都以数字信号为主,控制策略编程语言通常采用LD(梯形图)、IL(指令表)和SFC(顺序功能图);而DCS系统则主要用于连续控制,其对象信号主要为模拟量,控制策略编程语言通常采用FBD(功能块图)和ST(结构化文本)。当然,造成PLC系统和DCS系统对IEC标准的兼容性的差异是有历史原因的。IEC61131-3标准最初的制定是基于PLC系统的,许多地方都是针对PLC特点的,对早期的一些DCS系统不完全适用。但同时应当看到,当前PLC和DCS在系统结构和功能上明显的边界正在迅速消失,两种系统通常可以互相替代,因此DCS系统最终取得对IEC61131-3标准的完全兼容也只是一个时间问题。
(二)PLC、DCS系统占主流,FCS大有潜力可挖
目前,国内外生产厂商对系统控制策略组态软件的设计开发还主要集中在PLC系统和DCS系统上,FCS系统只占相当小的一部分。其主要原因是目前的过程控制系统仍然以PLC和DCS为主体,FCS仅仅作为现场级的数字化的全分布式控制体系而存在,在过程级以上的高层次的协调调度和管理上仍然需要DCS、MIS系统来完成。同时,为FCS系统所开发的上位策略组态软件所针对的系统主要还是采用基金会现场总线技术。基于FCS的控制系统将控制功能完全分布到底层的现场设备,实现了完全意义上的分布式控制,在体系结构上与传统的DCS有着质的差别。将逻辑组态中的各功能块分布到物理分散的各个现场设备中去执行,同时要实现各设备中不同功能块间的连接与通信,这与传统的由单处理器执行所有控制行为具有相当大的区别,而且在实现上也有更大的难度。目前在功能块图编程的标准化方面,还有待于IEC61499和IEC61804的正式颁布和推广使用。相应于FCS系统的上位策略组态软件的开发目前还很少,例如,目前还没有面向基于WorldFIP协议的FCS的控制策略组态软件。由此可见,在PLC、DCS系统控制策略组态软件占据主流地位的同时,对FCS系统控制策略组态软件的研制开发则有着巨大的潜力,在理论和实践上都有着非常现实和积极的意义。
(三)软件设计风格各异,功能实现各有短长
多种软件开发平台并存的现状决定了组态软件在设计风格上大相径庭,软件开发设计人员的思维模式、编程习惯甚至审美观念的不同则进一步加剧了这种差别的程度。同时,由于没有一个针对组态软件设计方面的规范,造成了对同一种功能的实现方法上也都各有其侧重点,在组态功能的实现上各有短长。例如,Smar公司SYSTEM302系统的SYSCON软件可以同时实现FCS系统的物理组态和逻辑组态双重功能,但其提供给用户的组态语言仅有FBD一种,且不符合IEC规范,在HMI的设计上也是简单粗糙,功能少;法国施耐德电气公司TSXQuantumPLC系统的组态软件Concept,虽然在逻辑组态的编程语言上实现了IEC61131-3规范的全部5种语言,各组态器功能较为完善,操作简便,但其策略组态的对象是PLC系统,且不支持多PLC系统协同控制的网络化分布式模式,没有物理组态功能,在HMI设计上缺乏系统整体的视觉效果,使用户对所从事组态工作容易产生混乱;ABB公司的Freelance2000具有丰富的算法库,所涵盖的控制范围较全面,但在GUI的设计上有很大的欠缺,HMI的设计有较多的不合理成分,组态操作复杂,造成用户工作效率不高;中科院沈阳自动化所针对其自主研制的控制系统SIACon设计开发的组态软件,在以上几个方面都有所改进,在目前国内外的FCS策略组态软件的研制开发上处于前列。
(四)设计模式不统一,互操作性和互换性有待改进
各家系统生产商在进行策略组态软件的开发上,由于其对系统所实现的控制功能的侧重有着不同的考虑,加之某些商业利益方面的原因,使他们采用的软件设计模式不尽相同。同时,软件设计所用语言元素的内部表征方式、组态功能实现的手段、存储时使用的文件格式等都没有统一的规范可以遵循,由此使各家策略组态软件之间缺乏协同,在互操作性和互换性上大有商榷之处。
四、对未来发展的展望
随着4C技术的进一步发展和日益紧密的结合,未来的分布式控制系统将朝着结构更复杂、规模更大、功能更强的方向发展;而作为系统运行的组织和构建核心的上位控制策略组态软件也必将发挥更加重要的作用,在工业控制领域扮演更加重要的角色。
(一)平台扩展
目前,工业控制系统的上位计算机基本上都是采用Windows操作系统,因而策略组态软件基本上是以Windows系统为平台开发的。近年来,Linux作为一种优秀的单机操作系统而异军突起,市场占有率不断扩大,技术不断更新和完善,越来越多的计算机厂商开始青睐Linux系统。Linux操作系统的日益完善和影响力的不断扩大势必会波及到工业控制领域,今后控制系统的上位计算机中也一定会逐渐出现Linux操作系统的身影。因此,在未来控制策略组态软件的开发上应当考虑对Linux平台的支持。
(二)跨平台能力的支持
软件跨平台操作的能力一直是对软件总体质量评价的重要指标,也是未来控制策略组态软件开发应当考虑的一个重要问题。从组态软件的编写、测试到现场运行是一个长期的复杂过程。一个能提供跨平台支持的、性能优良的组态软件,无论是从生产厂家的维护还是从客户运行的需要来讲,显然都是最佳的选择。具备了这种广泛的适应能力,就具有了旺盛的生命力。这正是每一个系统生产厂家希望得到的最好结果。Java技术的兴起和广泛应用为这一目标的实现提供了手段。未来的组态软件应当考虑使用Java技术实现对跨平台能力的支持,虽然目前Java技术在实际应用中还存在一些缺陷,如速度问题,但随着计算机硬件技术的进一步发展,这些问题也将不再成为组态软件实现跨平台操作的障碍。
(三)组件的通用性
组件的通用性一直是用户特别关心的一个重要问题。广泛采用的组件复用技术包括比较传统的动态连接库(DLL)技术,以及当前更为先进的COM、COM+技术乃至COBRA技术。目前,某些控制系统生产厂商的组态软件产品提供了对组件复用技术的支持,但大多还停留在DLL技术的水平上,且支持的程度不够高;而相当一部分则缺少对这种技术的支持,由此造成的功能封闭、适应性差的弱点就暴露无疑了。因此,未来策略组态软件的开发应当充分考虑对软件复用技术的支持,为今后的进一步发展、完善开辟更广阔的空间。
(四)功能的规范化
策略组态软件在功能上的各异是当前软件开发现状的一个典型标志。除了一些标准规范的和控制中必须要实现的基本功能外,其他功能的实现就完全由各软件生产厂商掌握和定夺了。如果能对策略组态软件开发所要实现的功能有一个规范化的引导,如确定哪些功能是必须实现的(如组态文件格式的统一),哪些功能是可选的(如交叉编译、上位仿真功能等),那么各组态软件之间的互操作性和互换性将大大增强,必将从根本上提高生产效率。
在此需要指出的是,控制策略组态和人机界面(HMI)组态是针对不同对象的两个范畴,前者以控制为主而后者则以监视为主,二者结合则构成了一个完备的监控体系。二者的共同之处可以合用一个动态数据库,从而可以大大减少信号(变量)在这两种组态中的变换,从整体上提高监控系统的实时性和运行效率。
以上提出了在组态软件进一步发展过程中值得考虑的四个方向问题,虽然在实现的过程中还会遇到各种困难,但标准化和通用性技术应当是未来发展的主流,逐步形成“一次开发、多次使用;一家开发、多家使用;资源共享、优势互补”的良性格局,从而进一步促成分布式控制系统上位策略组态软件发展的规范化、标准化和互操性、互换性是必然趋势。