组态软件通常有以下几方面功能。
目前,工控组态软件大都运行于Windows环境下,充分利用Windows的图形功能完善、界面美观的特点,可视化的IE风格界面,丰富的工具栏,操作人员可以直接进入开发状态,节省时间。丰富的图形控件和工况图库提供了大量的工业设备图符、仪表图符,还提供趋势图、历史曲线、组数据分析图等,既提供所需的组件,又是界面制作向导。提供给用户丰富的作图工具,可随心所欲地绘制出各种工业界面,并可任意编辑,从而将开发人员从繁重的界面设计中解放出来,丰富的动画连接方式,如隐含、闪烁、移动等,使界面生动、直观。画面丰富多彩,为设备的正常运行、操作人员的集中控制提供了极大的方便。
社会化大生产使得系统构成的全部软硬件不可能出自一家公司的产品,“异构”是当今控制系统的主要特点之一。开放性是指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。
组态软件向下应能与低层的数据采集设备通信,向上通过TCP/IP可与高层管理网互联,实现上位机与下位机的双向通信。
组态软件提供丰富的控制功能库,满足用户的测控要求和现场要求。利用各种功能模块,完成实时监控,产生功能报表,显示历史曲线、实时曲线,提供报警等功能,使系统具有良好的人机界面,易于操作。系统既可适用于单机集中式控制、DCS分布式控制,也可以是带远程通信能力的远程测控系统。
组态软件配有实时数据库,可存储各种数据,如模拟量、离散量、字符型等,实现与外部设备的数据交换。
组态软件有可编程的命令语言,使用户可根据自己的需要编写程序,增强图形界面。
组态软件对不同的操作者赋予不同的操作权限,保证整个系统的安全、可靠运行。
组态软件提供强大的仿真功能使系统并行设计,从而缩短了开发周期。
通用组态软件的主要特点如下。
通用组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户来说,不需掌握太多的编程语言技术(甚至不需要编程技术)就能很好地完成一个复杂工程所要求的所有功能,因此易学易用。
组态软件大量采用“标准化技术”,如OPC、DDE、ActiveX控件等,在实际应用中,用户可以根据自己的需要进行二次开发,例如,可以很方便地使用VB或C++等编程工具自行编制所需的设备构件装入设备工具箱,不断充实设备工具箱。很多组态软件提供了一个高级开发向导,自动生成设备驱动程序的框架,为用户开发设备驱动程序提供帮助,用户甚至可以采用I/O自行编写动态链接库(DLL)的方法在策略编辑器中挂接自己的应用程序模块。
每个用户根据工程实际情况,利用通用组态软件提供的底层设备(PLC、智能仪表、智能模块、板卡、变频器等)的I/O Driver、开放式的数据库和界面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。
由于组态软件的使用者是自动化工程设计人员,组态软件的主要目的是确保使用者在生成适合自己需要的应用系统时不需要或者尽可能少地编制软件程序的源代码。因此,在设计组态软件时,应充分了解自动化工程设计人员的基本需求,并加以总结提炼,重点、集中解决共性问题。
下面是组态软件主要解决的共性问题:
(1)如何与采集、控制设备间进行数据交换;
(2)使来自设备的数据与计算机图形画面上的各元素关联起来;
(3)处理数据报警及系统报警;
(4)存储历史数据并支持历史数据的查询;
(5)各类报表的生成和打印输出;
(6)为使用者提供灵活、多变的组态工具,可以适应不同应用领域的需求;
(7)最终生成的应用系统运行稳定、可靠;
(8)具有与第三方程序的接口,方便数据共享。
在很好地解决了上述问题后,自动化工程设计人员在组态软件中只需填写一些事先设计好的表格,再利用图形功能把被控对象(如反应罐、温度计、锅炉、趋势曲线、报表等)形象地画出来,通过内部数据变量连接把被控对象的属性与I/O设备的实时数据进行逻辑连接。当由组态软件生成的应用系统投入运行后,与被控对象相连的I/O设备数据发生变化会直接带动被控对象的属性变化,同时在界面上显示。若要对应用系统进行修改也十分方便,这就是组态软件的方便性。
组态控制技术是计算机控制技术发展的结果,采用组态控制技术的计算机控制系统的最大特点是从硬件到软件开发都具有组态性,设计者的主要任务是分析控制对象,在平台基础上按照使用说明进行系统级二次开发即可构成针对不同控制对象的控制系统,免去了程序代码、图形图表、通信协议、数字统计等诸多具体内容细节的设计和调试,从而系统的可靠性和开发速率提高了,开发难度却下降了。
实时性是指工业控制计算机系统应该具有能够在限定时间内对外来事件做出反应的特性。在具体确定限定时间时,主要考虑两个要素:其一,工业生产过程出现的事件能够保持多长时间;其二,该事件要求计算机在多长时间内必须做出反应,否则,将对生产过程造成影响甚至造成损害。可见,实时性是相对的。工业控制计算机及监控组态软件具有时间驱动能力和事件驱动能力,即在按一定的时间周期对所有事件进行巡检扫描的同时,可以随时响应事件的中断请求。
实时性一般都要求计算机具有多任务处理能力,以便将测控任务分解成若干个并行执行的任务,加速程序执行速度。可以把那些变化并不显著,即使不立即做出反应也不至于造成影响或损害的事件,作为顺序执行的任务,按照一定的巡检周期有规律地执行,而把那些保持时间很短且需要计算机立即做出反应的事件作为中断请求源或事件触发信号,为其专门编写程序,以便在该类事件一旦出现时计算机能够立即响应。如果由于测控范围庞大,变量繁多,从而分配仍然不能保证所要求的实时性时,则表明计算机的资源已经不够使用,只得对结构进行重新设计,或者提高计算机的档次。
实时性是组态软件的重要特点。在实际工业控制中,同一台计算机往往需要同时进行实时数据的采集,信号数据处理,实时数据存储,历史数据查询、检索管理、输出,算法的调用,实现图形图表的显示,完成报警输出,实时通信及人机对话等多个任务。
基于Windows系统的组态软件,充分利用面向对象的技术和ActiveX动态链接库技术,极大地丰富了控制系统的显示画面和编程环境,从而方便、灵活地实现多任务操作。
在计算机、数据采集控制设备正常工作的情况下,如果供电系统正常,当监控组态软件的目标应用系统所占的系统资源不超负荷时,则要求软件系统稳定、可靠地运行。
如果对系统的可靠性要求更高,就要利用冗余技术构成双机乃至多机备用系统。冗余技术是利用冗余资源来克服故障影响从而增加系统可靠性的技术,冗余资源是指在系统完成正常工作所需资源以外的附加资源。说得通俗和直接一些,冗余技术就是用更多的经济投入和技术投入来获取系统可能具有的更高的可靠性指标。
双机热备一般是指两台计算机同时运行几乎相同功能的软件。可以指定一台机器为主机,另一台作为从机,从机内容与主机内容实时同步,主机、从机可同时操作。从机实时监视主机状态,一旦发现主机停止响应便接管控制,从而提高系统的可靠性。
组态软件提供了一套较完善的安全机制,为用户提供能够自由组态控制菜单、按钮和退出系统的操作权限,只允许有操作权限的操作员对某些功能进行操作,防止意外或非法关闭系统、进入研发系统修改参数。
尽管目前尚没有一个明确的国际、国内标准用来规范组态软件,但国际电工委员会的IEC61131—3开放型国际编程标准在组态软件中起着越来越重要的作用。IEC61131—3提供了用于规范DCS和PLC中的控制用编程语言,规定了4种编程语言标准(梯形图、结构化高级语言、方框图、指令助记符)。
此外,OLE、OPC是微软公司的编程技术标准,目前也被广泛使用。TCP/IP是网络通信的标准协议,被广泛应用于现场测控设备之间及测控设备与操作站之间的通信。
组态软件本身的标准尚难统一,其本身就是创新的产物,处于不断发展变化之中。由于使用习惯的原因,早一些进入市场的软件在用户意识中已形成一些不成文的标准,成为某些用户判断另一种产品的“标准”。