第1章 概述
1.1 组态软件的产生与发展
1.1.1 工业过程控制系统的发展
工业过程是由一个或多个工业装备组成的生产工序,其功能是将进入的原料加工成为下道工序所需要的半成品材料,多个生产工序构成了全流程生产线。工业过程控制系统的最终目标是实现全流程生产线综合生产指标的优化。
20世纪40年代之前,多数工业生产过程处于手工操作状态,人们主要凭经验、用手工方式去控制生产过程。如生产过程中的关键参数靠人工观察,生产过程中的操作也靠人工去执行,劳动生产率是很低的。
自20世纪40年代以来,自动化技术获得了惊人的发展,在工业生产和科学发展中起着关键的作用。
20世纪50年代前后,一些工厂企业的生产过程实现了仪表化和局部自动化。此时,生产过程中的关键参数普遍采用基地式仪表和部分单元组合仪表(多数为气动仪表)等进行显示;进入20世纪60年代,随着工业生产和电子技术的不断发展,开始大量采用气动、电动单元组合仪表甚至组装仪表对关键参数进行显示,计算机控制系统开始应用于过程控制,实现直接数字控制和设定值控制等。
20世纪70年代,随着计算机的开发、应用和普及,对全厂或整个工艺流程的集中控制成为可能。20世纪70年代中期,集散控制系统(Distributed Control System,DCS)的开发问世受到了工业控制界的一致青睐。集散控制系统是把自动化技术、计算机技术、通信技术、故障诊断技术、冗余技术和图形显示技术融为一体的装置,其组成示意图如图1-1所示。结构上的分散使系统危险分散,监视、操作与管理通过操作计算机实现了集中。
图1-1 集散控制系统结构示意图
组态软件是伴随着DCS的出现走进工业自动化应用领域的,并逐渐发展成为第三方独立的自动化应用软件,尤其是Windows操作系统的广泛应用,有力地推动了基于个人计算机的组态软件的发展和普及。
目前,大量的工业过程控制系统采用上位计算机加可编程序控制器(SCADA-PLC)的方案以实现分散控制和集中管理。其中,安装了组态软件的上位计算机主要完成数据通信、网络管理、人机交互和数据处理的功能;数据的采集和设备的控制一般由PLC等完成。
21世纪以来,过程控制系统向着智慧优化控制的方向发展,具有自适应、自学习、安全可靠、优化运行的智能化控制系统理论与技术成为过程控制新的研究方向和研究内容。工业过程智慧优化控制将控制(控制、优化、故障诊断与自愈)、计算机(嵌入式软件、云计算)和工业互联网的计算资源与工业过程的物理资源紧密结合与协同,在控制、优化、故障诊断与自愈控制等功能、自适应、自学习、可靠性和可用性等方面远远超过今天的工业过程优化控制系统。
1.1.2 组态软件的产生及发展
在组态软件出现之前,大部分用户是通过第三方软件(如VB、VC、Delphi、PB甚至C语言等)编写人机交互界面(Human Machine Interface,HMI),这样做存在着开发周期长、工作量大、维护困难、容易出错、扩展性差等缺点。
世界上第一款组态软件InTouch在20世纪80年代中期由美国的Wonderware公司开发。80年代末,国外组态软件进入中国市场。90年代中后期,国产组态软件在市面出现。起初,人们对组态软件处于不认识、不了解阶段,项目中没有组态软件的预算,或宁愿投入人力物力针对具体项目做长周期的繁冗的编程开发,也不采用组态软件;此外,早期进口的组态软件价格都偏高,客观上制约了组态软件的发展。
随着经济的发展,人们对组态软件的观念有了重大改变,逐渐认识到组态软件的重要性,组态软件的市场需求增加;一些组态软件的生产商加大了推广力度,价格也做出了一定的调整;再加上微软Windows操作系统的推出为组态软件提供了一个更方便的操作平台,组态软件在国内获得认可,开始广泛应用。现在,组态软件已经成为工业过程控制中必不可少的组成部分之一。
组态软件类似于“自动化应用软件生成器”,根据其提供的各种软件模块可以积木式搭建人机监控界面,不仅提高了自动化系统的开发速度,也保证了自动化应用的成熟性和可靠性。
组态软件的主要特点表现为实时多任务、面向对象操作、在线组态配置、开放接口连接、功能丰富多样、操作方便灵活以及运行高效可靠等。数据采集和控制输出、数据处理和算法实现、图形显示和人机对话、数据储存和数据查询、数据通信和数据校正等任务在系统调度机制的管理下可有条不紊地进行。
组态软件的功能随着用户需求的变化在不断升级,由单一的人机界面向数据处理机方向发展,管理的数据量也越来越大。早期的组态软件主要用来支撑自动化系统的硬件,而现在实时数据库的作用进一步加强,实时数据库存储和检索的是连续变化的过程数据,故组态软件在一个自动化系统中发挥的作用越来越大。
1.1.3 组态软件的定义
组态软件是一种面向工业自动化的通用数据采集和监控软件,即SCADA(Supervisory Control And Data Acquisition)软件,亦称人机界面或HMI/MMI(Human Machine Interface/Man Machine Interface)软件,在国内通常称为“组态软件”。
“组态(Configuration)”的含义是“配置”、“设定”、“设置”等,是指用户通过类似“搭积木”的方式完成自己所需要的软件功能,通常不需要编写计算机程序,即通过“组态”的方式就可以实现各种功能。此“组态”过程可看做是“二次开发”过程,组态软件也称为“二次开发平台”。
“监控(Supervisory Control)”,即“监视和控制”,指通过计算机对自动化设备或过程进行监视、控制和管理。组态软件能够实现对自动化过程的监视和控制,能从自动化过程中采集各种信息,并将信息以图形化等更易于理解的方式进行显示,将重要的信息以各种手段传送给相关人员,对信息执行必要的分析、处理和存储,发出控制指令等。
组态软件提供了丰富的用于工业自动化监控的功能,根据工程的需要进行选择、配置建立需要的监控系统。组态软件广泛应用于机械、钢铁、汽车、包装、矿山、水泥、造纸、水处理、环保监测、石油化工、电力、纺织、冶金、智能建筑、交通、食品、智能楼宇等领域。
组态软件既可以完成对小型自动化设备的集中监控,也能由互相联网的多台计算机完成复杂的大型分布式监控,还可以和工厂的管理信息系统有机整合起来,实现工厂的综合自动化和信息化。
组态软件从总体结构上看一般都是由系统开发环境(或称组态环境)与系统运行环境两大部分组成。系统开发环境和系统运行环境之间的联系纽带是实时数据库,三者之间的关系如图1-2所示。
图1-2 系统组态环境、运行环境和实时数据库的关系示意图
1.1.4 组态软件的功能
作为通用的监控软件,所有的组态软件都能提供对工业自动化系统进行监视、控制、管理和集成等一系列的功能,同时也为用户实现这些功能的组态过程提供了丰富和易于使用的手段和工具。利用组态软件,可以完成的常见功能如下:
① 可以读写不同类型的PLC、仪表、智能模块和板卡,采集工业现场的各种信号,从而对工业现场进行监视和控制。
② 可以以图形和动画等直观形象的方式呈现工业现场信息,以方便对生产过程的监视;也可以直接对控制系统发出指令、设置参数干预工业现场的控制流程。
③ 可以将控制系统中的紧急工况(如报警等)通过软件界面、电子邮件、手机短信、即时消息软件、声音和计算机自动语音等多种手段及时通知给相关人员,使之及时掌控自动化系统的运行状况。
④ 可以对工业现场的数据进行逻辑运算和数字运算等处理,并将结果返回给控制系统。
⑤ 可以对从控制系统得到的以及自身产生的数据进行记录存储。在系统发生事故和故障的时候,利用记录的运行工况数据和历史数据,可以对系统故障原因等进行分析定位、责任追查等。通过对数据的质量统计分析,还可以提高自动化系统的运行效率,提升产品质量。
⑥ 可以将工程运行的状况、实时数据、历史数据、警告和外部数据库中的数据以及统计运算结果制作成报表,供运行和管理人员参考。
⑦ 可以提供多种手段让用户编写自己需要的特定功能,并与组态软件集成为一个整体运行。大部分组态软件提供通过C脚本、VBS脚本或C#等来完成此功能。
⑧ 可以为其他应用软件提供数据,也可以接收数据,从而将不同的系统关联和整合在一起。
⑨ 多个组态软件之间可以互相联系,提供客户端和服务器架构,通过网络实现分布式监控,实现复杂的大系统监控。
⑩ 可以将控制系统中的实时信息送入管理信息系统,也可以反之,接收来自管理系统的管理数据,根据需要干预生产现场或过程。
⑪ 可以对工程的运行实现安全级别、用户级别的管理设置。
⑫ 可以开发面向国际市场的,能适应多种语言界面的监控系统,实现工程在不同语言之间的自由灵活切换,是机电自动化和系统工程服务走向国际市场的有利武器。
⑬ 可以通过因特网发布监控系统的数据,实现远程监控。