今天我们来聊一聊国际上比较认可的自动化组态软件,在我国自动化控制领域应用较广泛的工业自动化组态软件有Wonderware公司InTouch、西门子公司Wincc、GE公司iFix和悉雅特公司Citet组态软件。
InTouch
InTouch组态软件是英国Invensys公司的子公司Wonderware公司的产品。Wonderware公司成立于1987年,是在制造运营系统率先推出基于Microsoft Windows平台的人机界面(HMI)自动化软件的先锋。世界第一家推出组态软件的公司。
InTouch包括三个主要程序,它们是InTouch应用程序管理器、Win-dowMaker和Window Viewer。此外,InTouch还包括诊断程序Wonder-ware Logger。
InTouch应用程序管理器用于组织您所创建的应用程序,也可以用于将Window Viewer配置成一个NT服务程序,为基于客户机和基于服务器的结构(C/S结构)。
WindowMaker是lnTouch的开发环境,在这个开发环境中可以使用面向对象的图形来创建富于动画感的触控式显示窗口。这些显示窗口可以连接到工业I/0系统和其他Microsoft Windows应用程序。
WindowMaker图形用户界面符合Windows 2000和Windows NT GUI标准。支持浮动和固定工具栏,遍布整个程序的鼠标右键菜单可快速访问常用命令,可提供1670万种颜色支持的可自定义调色板(颜色支持仅受显卡性能的限制)。
WindowMaker的应用程序浏览器,能提供了一种强有力的图形方法来浏览和配置InTouch应用程序。可以轻易地访问WindowMaker最常用的命令和功能,例如所有的Windows命令、所有的配置命令和所有的InTouchQuickScript编辑器。
此外,应用程序浏览器会显示所有安装的附加程序,例如SQL访问管理器、SPC Pro和配方管理器,并提供了一种可自定义的应用程序启动工具。
为了在HMI配置、I/0服务器配置和控制配置之间快速切换,可以配置应用程序浏览器来启动任何其他Factorysuite程序或者Windows程序。
Window Viewer是用来显示在WindowMaker中创建的图形窗口的运行环境。Window Viewer执行InTouch Quickscript执行历史数据的记录和报告、处理报警记录和报告,并且可以充当DDE和SuiteLink通信协议的客户机和服务器。
通过运用InTouch系统软件,您还可以创建强大的、功能齐全的应用理序,充分利用Microsoft Windows平台的关键功能,包括通用的ActiveX控件、OLE图形和网络等,InTouch软件可以通过添加自定义ActiveX控件、向导、常规对象以及创建InTouch Quickscript(开发语言)等来进行功能上的充分扩展。
WinCC
WinCC组态软件是德国西门子公司的产品,它具有如下特点开放性和系统的稳定性,WinCC具有强大的脚本编程范围,包括从图形对象上单个的动作到完整的功能以及独立于单个组件的全局动作脚本。WinCC甚至在使用Windows API函数时,都可以在动作脚本中完成调用。
此外,集成的脚本编程包含了C翻译器和大量的ANSI-C标准函数。脚本的应用使得WinCC软件具有很强的开放性,但这也可能由于不正确的初始化指针或无休止的循环导致系统死锁和运行崩溃。
在使用的时候,请注意释放所分配的存储器,否则系统运行会越来越慢。从WinCC V6.0以上版本起,使用SQL Server2000作为运行系统的数据库。
最新版本的WinCC具有如下新特点:
①基本系统中的WinCC历史数据归档和长期归档服务器以很高的压缩比进行长期数据归档,具备数据导出功能和备份机制。
②对IT和商业集成进行了优化,集成了MicrosoftsQLServer2000数据库,增加了客户端的数据评估工具,增加了用于业务集成的开放式接口。
③系统中可以多达12台服务器和32个客户端,每台服务器都可以有自己的冗余服务器。
④提供了新的开放性标准,VBA、VisualBasic脚本、OPC、HAD、OPC A&E、OLE-DB等。
⑤增强了Web功能,可以在客户端上安装WebNavigator服务器。
⑥增加了新的可选件,WinCC/Dat@Monitor Web Edition(历史数据归档工具,支持报表发布和网页定制功能),WinCC/Connectivitypack(通过OPC、HAD、OPC A&E和OLE-DB访问WinCC数据库,使任何一台安装了Windows操作系统的计算机都可以通过Connectivity Station访问分布式系统的数据),Wincc/Industrial Data Bridge(通过标准接口交换WinCC数据),WinCC/SIMATIC Logon, WinCC/Audit和WincC/Electronic Signiture。
⑦改进了报表系统,具有更高的灵活性和开放性。
WinCC系统也是以实时数据库为核心,各种功能性数据存储都是围绕实时数据库展开的,比如历史数据库系统、报警系统、画面系统及组态数据库系统等。实时数据库通过通信驱动程序接口来与硬件设备进行通信,形成了功能强大的WinCC组态软件。
工程师通过组态编辑器把系统中的各种标签信息整理到数据库中,配置好每个标签的各种属性,如是否是报警点、是否是趋势点等。
该数据库与实时数据库建立对应关系,实时数据库通过通信驱动接口读取需要的数据并产生记录信息,当系统在线运行时,各种服务进入工作状态,报警服务从实时数据库中取得报警信息,然后记录到消息库中,趋势服务从实时数据库中取得趋势标签信息记录到趋势库中,监控画面通过图形系统取得实时数据库中对应标签的信息,人机交互设备通过图形系统把控制指令发送到实时数据库中,再通过通信驱动接口传送到硬件设备,完成控制操作目的。报表服务是建立在报警服务和趋势服务之上的,某些功能也允许直接从实时数据库中取得信息。
iFix
iFix软件是GE公司的产品。iFix软件包=iFix PDB+iFix Workspace,数据库和监控的画面可以分开,一个数据库可供多个iClient连接,一个iClient可连接多个数据库。
iFix软件的一般特性:
①PLUG&SLOVE结构及COM组件技术,方便第三方软件集成应用;
②安全容器的专利技术保证第三方ActiveX控件稳定运行;
③内置微软的Visual Basic for Application作为脚本程序;
④真正的分布式Client/Server结构
⑤标准SQL/0DBC的接口
⑥65656654完整的OPC的客户服务器模式的支持。
系统软件结构分五部分,外设驱动、实时数据库、报警服务、历史数据服务和图形服务。软件系统提供丰富的DLL(动态链接库)形式驱动,这是一种基于文件管理的驱动方式,函数留有外部接口,供其他应用序访问使用,只要拥有设备厂家的DLL驱动文件,就可以很方便地访问设备的数据。
另外还支持OPC模式访问外界数据,它既可以读取数据,也可以作为OPCServer供其他OPC客户端使用。通过设备驱动镜像表,实时数据库系统把数据存储在实时数据库内,供上一层的历史库和图形界面使用,为了增强报警功能的时效性,专门设置了报警队列,直接与设备驱动镜像表建立连接,这样就保障了系统报警的快速。
iFix软件支持强大的第三方ActiveX控件技术,具有独立的“安全容器技术”,保证系统的容错性能。内置的VBA脚本语言可以支持任意数据源的访问,如DLL、ActiveX、OLE DB/0DBC数据源、应用程序对象、Fix数据库等,更加方便地嵌入到图形组态的任意控件、系统对象、各种变量当中,使系统具有更加灵活的功能。
可以应用AD0/ODBC方式访问外界数据库系统,如ACCESS、SQLServer、Informix、Sybase、Oracle等。提供了两种调度管理模式,时间调度和事件调度。也就是说可以按时问触发某事件的发生,也可以应用其他事件的发生来触发特定的事件。提供冗余服务解决模式,画面创建向导可以提供画面的布局和分区,还可以直接将监控画面转换成WEB文档,支持浏览器浏览功能。
Citect
原属澳大利亚悉雅特公司(现已被施耐德公司收购),但独立运营的Citect是较早进入中国市场的产品,但其操作方式更多地是面向程序员,而不是工控用户。Citect提供了类似C语言的脚本语言进行二次开发,但与iFix不同的是,Citect的脚本语言并非是面向对象的,而是类似于C语言,这无疑为用户进行二次开发增加了难度。
Citect软件分为工程浏览器、工程编辑器和图形编辑器三部分。工程浏览器主要完成工程文件的备份、恢复、新工程的建立和删除等工作。
还可以通过它来打开其他两个编辑器。也可以把外部数据库文件导入到工程里面或者把工程内部的数据库文件导出,生成其他数据库文件。
图形编辑器完成的是画面的组态及各种动态特性的组态,可以新建画面、模板、符号、精灵、超级精灵等,首先在Citect软件中可以建立模板,有点像画面的底框,比如我们为了统一界面风格,希望在每个页面中固定的位置显示固定的内容,比如公司标准、功能菜单、报警信息等,这样我们就可以把这些内容事先做到模板里面,然后在新建其他普通页面时就可以以它为模板来生成新的页面,这个页面就包含了模板中的所有功能及内容,方便了我们批量生成组态画面的工作。
如果对公用部分内容需要修改,那么我们只需要修改模板里面的内容,然后再进行页面更新,就可以使所有应用该模板的页面同步完成更新。
在这样的思路基础上,Citect又引入了符号、精灵及超级精灵的功能。对于符号可以建立符号库,应用方便的画图工具绘出特色的符号,每次使用它时就可以从符号库里面调用出来,这个符号也可以作为一个整体元素来完成平移、缩放、填充、输入、滑尺等动态特性。
在每种动态特性里面还可以加入事先写好的函数,函数的变量可以通过标签变量或内存变量引入。通过固定的格式把标签变量放在符号或者普通图形中,就可以做成精灵,有点类似面向对象编程里面的类的概念,每次使用它时就从精灵库中生成一个对象,填入标签变量的名称等预定好的属性,这样就很容易地批量生产出具有共同特性的动态内容。
超级精灵可以看成是一个特殊的页面,可以通过精灵把特定的参数传入进去,当运行界面调用精灵特性时,会把相关参数传入到超级精灵里面,显示出更加丰富的动态特性。
Citect软件的这些高级功能更适合系统开发人员应用,他们会根据行业特色或用户的使用要求,事先开发好一些特定功能的精灵及超级精灵或者模板文件,然后教会系统实施人员或者客户来应用,这样就使得工程人员有更多的精力专注于其他工作。
工程编辑器是完成数据库组态及工程编译的工具,悉雅特软件的数据库功能比较强大,同样,用起来也相对复杂。从它的功能莱单上可以找到很多项目数字量报警、模拟量报警、高级报警、时标报警、多位开关报警和报警分类,系统菜单里面的功能分类为报表、事件、用户、设备、参数等,通信功能里面有I/0服务器设置、主板设置、端口设置等。
这里面的每一个功能对应一个dbf数据库文件(可以使用Excel打开),每一个功能里面又有不同设置或分类,这样就构成了Citect的强大数据库管理系统,几乎涵盖了我们工程应用中所有需要的功能设置,我们可以使用其中的一部分适合的功能作为自己项目工程中的一部分。
国内公司组态软件情况及发展
国内的软件各方面特点都差不多,从软件的结构布局、功能划分等,都十分类似,因此对大部分用户来讲,学会一种,其他的也都差不多了。
未来组态技术的发展方向组态技术是一种配置技术,它是建立在硬件基础上的一种设置方法,因此它的复杂程度取决于硬件的功能,也随着硬件设备的发展而发展。
目前组态技术更偏向于传统软件的使用思路,也就是说,它的交互性和易用性受到很大阻碍,组态的基础是数据库,与硬件设备之间的联系需要一种思维上的转换,现在的方式不直观,比如,我们要把某个给水泵加入到组态数据库里面,要分清楚哪些是输入信号,哪些是输出信号,哪些是逻辑内的变量,哪些信号需要长脉冲控制,还需要给它们命名,命名的时候要考虑规则等,这无疑增加了组态的难度,倘若我们以面向对象的思路出发,在组态初期把所有不同类型的设备配置好,相当于用计算机描述出设备的各种功能,然后需要的时候“拽”一个设备出来,配置到控制方案里,这样就会减少很多工作量,也不必把精力浪费在数据库整理上了。
再进一步大胆地展望一下,把控制组态与前期设计院的设计联系在一起,这样是否能实现更多的功能呢?
比如系统图绘制完成之后,关于控制系统的设备就已经整理完成,至于电缆的走向、电缆的长度就已经完成了,其实只要我们善于总结,就可以简化很多重复性工作,减少中间环节,提高效率。游戏的发展是计算机编程前沿技术的体现,把这些技术引入到控制系统软件组态中是否可行呢?非常期待组态技术的突破。
楼主最近还看过