组态软件,又称监控组态软件,译自英文SCADA,即 Supervision,Control and Data Acquisition(数据采集与监视控制),组态软件的应用领域很广,它可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。在电力系统以及电气化铁道上又称远动系统(RTU System,Remote Terminal Unit)。
简单的讲,组态就是用应用软件中提供的工具、方法、完成工程中某一具体任务的过程。
与硬件生产相对照,组态与组装类似。如要组装一台电脑,事先提供了各种型号的主板、机箱、电源、CPU、显示器、硬盘、光驱等,我们的工作就是用这些部件拼凑成自己需要的电脑。当然软件中的组态要比硬件的组装有更大的发挥空间,因为它一般要比硬件中的“部件”更多,而且每个 “部件” 都很灵活,因为软部件都有内部属性,通过改变属性可以改变其规格(如大小、性状、颜色等)。
在组态概念出现之前,要实现某一任务,都是通过编写程序(如使用BASIC,C,FORTRAN等)来实现的。编写程序不但工作量大、周期长,而且容易犯错误,不能保证工期。组态软件的出现,解决了这个问题。对于过去需要几个月的工作,通过组态几天就可以完成。
组态软件是有专业性的。一种组态软件只能适合某种领域的应用。组态的概念最早出现在工业计算机控制中。如DCS(集散控制系统)组态,PLC(可编程控制器)梯形图组态。人机界面生成软件就叫工控组态软件。其实在其他行业也有组态的概念,人们只是不这么叫而已。如AutoCAD,PhotoShop,办公软件(PowerPoint)都存在相似的操作,即用软件提供的工具来形成自己的作品,并以数据文件保存作品,而不是执行程序。组态形成的数据只有其制造工具或其他专用工具才能识别。但是不同之处在于,工业控制中形成的组态结果是用在实时监控的。组态工具的解释引擎,要根据这些组态结果实时运行。从表面上看,组态工具的运行程序就是执行自己特定的任务。
虽然说组态就是不需要编写程序就能完成特定的应用。但是为了提供一些灵活性,组态软件也提供了编程手段,一般都是内置编译系统,提供类BASIC语言,有的甚至支持VB。
组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI(人机接口软件,Human Machine Interface)的概念,组态软件应该是一个使用户能快速建立自己的HMI的软件工具或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。