1.1 组态与组态软件
1.1.1 组态与组态软件的含义
在使用工控软件时,人们经常提到“组态”一词。与硬件生产相对照,组态与组装类似。如要组装一台计算机,事先提供了各种型号的主板、机箱、电源、CPU(中央处理器)、显示器、硬盘、光驱等,需要完成的工作就是用这些部件拼凑成自己需要的计算机。当然软件中的组态要比硬件的组装有更大的发挥空间,因为它一般要比硬件中的“部件”多,而且每个“部件”都很灵活,可以通过改变软件的内部属性进而改变其规格(如大小、形状、颜色等)。
组态(Configuration)有设置、配置等含义,就是模块的任意组合。在软件领域内,是指操作人员根据应用对象及控制任务的要求,配置用户应用软件的过程(包括对象的定义、制作和编辑,对象状态特征属性参数的设定等),即使用软件工具对计算机及软件的各种资源进行配置,达到让计算机或软件按照预先的设置自动执行特定任务、满足使用者要求的目的,也就是把组态软件视为“应用程序生成器”。
组态软件是数据采集与过程控制的专用软件,它们是在自动控制系统控制层一级的软件平台和开发环境下,使用灵活的组态方式(而不是编程方式)为用户提供良好的用户开发界面和便捷的使用方法,它解决了控制系统通用性问题。其预设置的各种软件模块可以非常容易地实现和完成控制层的各项功能,并能同时支持各种硬件厂家的计算机和I/O(输入/输出)产品,与工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,从而完成系统集成。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机界面)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具或开发环境。
在工业控制中,组态一般通过对软件采用非编程的操作方式,主要有参数填写、图形连接、文件生成等,使得软件乃至整个系统具有某种指定的功能。由于用户对计算机控制系统的要求千差万别(包括流程画面、系统结构、报表格式、报警要求等),而开发商又不可能专门为每个用户去进行开发,所以只能是事先开发好一套具有一定通用性的软件开发平台,生产(或者选择)若干种规格的硬件模块(如I/O模块、通信模块和现场控制模块),然后根据用户的要求在软件开发平台上进行二次开发,以及进行硬件模块的连接。这种软件的二次开发工作就称为组态。相应的软件开发平台就称为控制组态软件,简称组态软件。计算机控制系统在完成组态之前只是一些硬件和软件的集合体,只有通过组态,才能使其成为一个具体的满足特定生产过程需要的应用系统。
随着计算机软件技术的快速发展,以及用户对计算机控制系统功能要求的增加,实时数据库、实时控制、通信及联网、开放数据接口、对I/O设备的广泛支持已经成为组态软件的主要工作内容。随着计算机控制技术的发展,组态软件将会不断被赋予新的内涵。
1.1.2 采用组态软件的意义
在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用软件,常会出现开发时间长、效率低、可靠性差的状况,或者购买专用的工控系统,通常它是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,使用户从这些困境中解脱出来,用户可以利用组态软件的功能,构建一套最适合自己的应用系统。
组态软件是标准化、规模化、商品化的通用工业控制开发软件,只需进行标准功能模块的软件组态和简单的编程,就可设计出标准化、专业化、通用性强、可靠性高的上位机人机界面控制程序,且工作量较小,开发调试周期短,对程序设计人员要求也较低,因此,控制组态软件是性能优良的软件产品,已成为开发上位机控制程序的主流开发工具。
在实时工业控制应用系统中,为了实现特定的应用目标,需要进行应用程序的设计和开发。过去,由于技术发展水平的限制,没有相应的软件可供利用,应用程序一般都需要应用单位自行开发或委托专业单位开发,这就影响了整个工程的进度,系统的可靠性和其他性能指标也难以得到保证。为了解决这个问题,不少厂商在开发系统的同时,也致力于控制软件产品的开发。工业控制系统的复杂性,对软件产品提出了很高的要求。要想成功开发一个较好的通用的控制系统软件产品,需要投入大量的人力、物力,并需经实际系统检验,代价是很高昂的,特别是功能较全、应用领域较广的软件系统,投入的费用更是惊人。
对于应用系统的使用者而言,虽然购买一套适合自己系统应用的控制软件产品要付出一定的费用,但相对于自己开发所花费的各项费用总和还是比较合算的。况且,一个成熟的控制软件产品一般都已在多个项目中得到了成功的应用,各方面的性能指标都在实际运行中得到了检验,能保证较好地实现应用单位控制系统的目标。同时,整个系统的工程周期也可相应缩短,便于更早地为生产现场服务,并创造出相应的经济效益。因此,近年来有不少应用单位也开始购买现成的控制软件产品来为自己的应用系统服务。
采用组态技术构成的计算机控制系统在硬件设计上,除采用工业PC外,还大量采用各种成熟通用的I/O接口设备和现场设备,基本不再需要单独进行具体电路设计。这不仅节约了硬件开发时间,更提高了工控系统的可靠性。组态软件实际上是一个专为工控开发的工具软件。它为用户提供了多种通用工具模块,用户不需要掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能。系统设计人员可以把更多的注意力集中在如何选择最优的控制方法、设计合理的控制系统结构、选择合适的控制算法等这些提高控制品质的关键问题上。另一方面,从管理的角度来看,用组态软件开发的系统具有与Windows操作系统一致的图形化操作界面,非常便于生产的组织与管理。
由于组态软件都是由专门的软件开发人员按照软件工程的规范来开发的,使用前又经过了较长时间的工程运行考验,其质量是有充分保证的。因此,只要开发成本允许,采用组态软件是一种比较稳妥、快速和可靠的办法。
由IPC(进程间通信)、通用接口部件和组态软件构成的组态控制系统是计算机控制技术综合发展的结果,是技术成熟化的标志。由于组态技术的介入,计算机控制系统的应用速度大大提高了。