1.2 组态软件的功能和特点
1.2.1 组态软件的功能
组态软件通常有以下几方面的功能。
1.强大的界面显示组态功能
目前,工控组态软件大都运行于Windows环境下,充分利用Windows操作系统的图形功能完善、界面美观的特点,其可视化的IE风格界面、丰富的工具栏,使操作人员可以直接进入开发状态,节省时间。丰富的图形控件和工况图库,提供了大量的工业设备图符、仪表图符,还提供趋势图、历史曲线、组数据分析图等,使它既有所需的组件,又是界面制作向导。它提供给用户丰富的作图工具。用户可随心所欲地绘制出各种工业界面,并可任意编辑,从而从繁重的界面设计中解放出来。它还提供了丰富的动画连接方式,如隐含、闪烁、移动等,使界面生动、直观,画面丰富多彩,为设备的正常运行、操作人员的集中控制提供了极大的方便。
2.良好的开放性
社会化大生产,使得系统构成的全部软硬件不可能出自一家公司,“异构”是当今控制系统的主要特点之一。开放性是指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。
组态软件向下应能与低层的数据采集设备通信,向上通过TCP/IP可与高层管理网互联,从而实现上位机与下位机的双向通信。
3.丰富的功能模块
组态软件提供了丰富的控制功能库,可满足用户的控制要求和现场要求。利用各种功能模块,完成实时监控、产生功能报表、显示历史曲线和实时曲线、提供报警等功能,使系统具有良好的人机界面,易于操作。系统既可用于单机集中式控制、DCS(分布式控制系统),也可用于具有远程通信能力的远程控制系统。
4.强大的数据库
组态软件具有实时数据库,可存储各种数据,如模拟量、离散量、字符等,实现与外部设备的数据交换。
5.可编程的命令语言
组态软件有可编程的命令语言,使用户可根据自己的需要编写程序,增强图形界面功能。
6.周密的系统安全防范
对不同的操作者赋予不同的操作权限,以保证整个系统的安全可靠运行。
7.仿真功能
组态软件提供强大的仿真功能,使系统可并行设计,从而缩短开发周期。
1.2.2 组态软件的特点
通用组态软件的主要特点如下。
1.封装性
通用组态软件所能完成的功能用一种方便用户使用的方法包装起来,对于用户,不需要掌握太多的编程语言(甚至不需要编程技术),就能很好地完成一个复杂工程所需要的所有功能,因此易学易用。
2.开放性
组态软件大量采用“标准化技术”,如OPC(Object Link and Embedding for Process Control,一种软件标准)、DDE(动态数据交换)、ActiveX控件等。在实际应用中,用户可以根据自己的需要进行二次开发,例如可以很方便地使用Visual Basic或C++等编程工具自行编制所需的设备构件,装入设备工具箱,从而不断充实设备工具箱。很多组态软件提供了一个高级开发向导,可以自动生成设备驱动程序的框架,为用户开发设备驱动程序提供帮助,用户甚至可以采用通过I/O自行编写动态链接库(DLL)的方法在策略编辑器中挂接自己的应用程序模块。
3.通用性
每个用户根据工程实际情况,利用通用组态软件提供的底层设备(PLC、智能仪表、智能模块、板卡和变频器等)的I/O Driver、开放式的数据库和界面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。
4.方便性
由于组态软件的使用者是自动化工程设计人员,组态软件的主要目的是,确保使用者在生成适合自己需要的应用系统时不需要或者尽可能少地编制软件程序的源代码,因此,在设计组态软件时,应充分了解自动化工程设计人员的基本需求,并加以总结提炼,重点、集中解决共性问题。
下面是组态软件主要解决的共性问题。
1)如何与数据采集、控制设备间进行数据交换。
2)使来自设备的数据与计算机图形画面上的各元素关联起来。
3)处理数据报警及系统报警。
4)存储历史数据并支持历史数据的查询。
5)各类报表的生成和打印输出。
6)为使用者提供灵活、多变的组态工具,可以满足不同应用领域的需求。
7)最终生成的应用系统运行稳定可靠。
8)具有与第三方程序的接口,方便数据共享。
在很好地解决了上述问题后,自动化工程设计人员在组态软件中只需填写一些事先设计好的表格,再利用图形功能就把被控对象(如反应罐、温度计、锅炉、趋势曲线和报表等)形象地画出来,通过内部数据变量连接把被控对象的属性与I/O设备的实时数据进行逻辑连接。当由组态软件生成的应用系统投入运行后,与被控对象相连的I/O设备数据发生的变化会直接带动被控对象的属性变化,并同时在界面上显示。若要对应用系统进行修改,也十分方便,这就是组态软件的方便性。
5.组态性
组态控制技术是计算机控制技术发展的结果,采用组态控制技术的计算机控制系统最大的特点是从硬件到软件开发都具有组态性,设计者的主要任务是分析控制对象,在平台基础上按照使用说明进行系统级第二次开发即可构成针对不同控制对象的控制系统,免去了程序代码、图形图表、通信协议、数字统计等诸多具体内容细节的设计和调试,因此系统的可靠性和开发速率提高了,开发难度却下降了。