白话组态软件

下面我来讲一下监控组态软件,首先声明我不算是这方面的专家,也只是略知一二。监控组态软件主要是以下几方面组成。

1、实时数据库
实时数据库,顾名思义就是一种处理和存储实时数据的数据库,它分为两种构成模式,第一种就是利用开发工具直接开发二进制文件模式,自己开发sql引擎,建立索引以及配置文件等机制,例如IFIX;另外一种就是依托于成熟的关系数据库,把实时数据放在二进制文件中但sql引擎,索引,以及配置文件都利用关系数据库等机制,例如WINCC。
2、内核通讯
说起内核通讯一般谈及组态软件很少涉及,因为它是一种根本看不见摸不着但具有决定组态软件的构架。市面上比较流行就是两种通讯框架,一种是与实时数据库通讯为核心框架,图形界面、脚本、通讯驱动等都是围绕实时数据库来完成相应功能,另一种就是消息通讯为核心框架的,这种框架就是类似SOA构架,首先建立通信数据元素,把所有用于访问的数据格式包含在其中,然后通过消息发布出去,是那个组件接受那个组件完成相应的指令,消息通讯在今天的组态软件行业里也分为内存消息型和端口消息型,内存消息性就是利用MFC的在内存中消息来同志别的组件,其优点就是快速和稳定缺点就是所有组件不能脱离一台机器,这也是国内很多组态软件厂商最初的手法,而端口消息型,就是利用sock的端口进行消息通讯,不管是不是在本机一概采用端口通讯,这样的优点就是把可以把很多组件分布到每台机器上,其中CS和BS构架就用利用这种机制,缺点就是消息元素复杂,指令繁多,需要谨慎考虑其健壮性。
3、图形界面
图形界面其实没有什么好说,就是图形显示,图形绘制、报警、曲线,报表等,但是从市面上来说它们分为基于VC6中MFC开发的和.net fm开发的,从界面来说mfc开发的速度快,稳定性高,但界面简单,画质不是很绚丽,.net开发的界面绚丽,3d动感性强再结合GDI+,那就是界面中利器,而他的确定就是运行速度慢,另外对于安装机器的配置要求较高。
4、脚本
脚本算是组态软件中的灵魂,多数组态软件一看脚本就可以分辨出来高中底端产品,脚本分为编译型和解释性,编译型需要在组态软件没有运行之前,就把语句编译一边,然后嵌套在框架的函数和事件中,例如WINCC的C脚本,另外一种就是解释型,它是在组态软件运行之中被语法解释器边解释边运行,例如IFIX的VBA脚本。对于市面上可以看到脚本分为自定义、VB类、C类和其他类,自定义脚本例如intouch、组态王、力控;VB类例如IFIX的VBA、RSVIEW的VBA、杰控的VBS;C类例如WINCC的ASCI c、九易思的C#;其他有一些组态软件利用开源的脚本引擎例如TCL LUA等。底端脚本多数是采用自定义脚本,它的可扩展性很有限而且依赖于厂商自己的开发能力,中端脚本就是采用c脚本和开源脚本,它的成熟技术应该很广当时不方便普及和掌握,对于一些常用访问技巧,例如访问关系数据库,API以及DLL和控件不是很方便,而高端脚本则首推VBA系列,高效的访问工具、成熟的控件资源以及强大的API调用。
5、通讯驱动
通讯驱动则相应发展比较缓慢,这也是因为它实在是太成熟了,先说说它的框架结构都是采用封装通讯框架和开发数据流方式结合,也就是说开发人员不需要懂得组态软件的框架结构以及如何把数据对应数据库变量,只需要安装给出的框架,把数据流拆包解包和打包放入指定的结构缓冲区内就可以了。再说说驱动,一提到驱动它应该是两部分组成第一部分就是接口另外一部分就是协议,先说第一部分接口对于组态软件的生存平台PC来说,接口其实就是RS232/485/422,USB,TCP/IP(wifi)和板卡这几个种类,而对于另一部分的协议来说,那就太多了我就简单些介绍几种modbus rtu/asci/tcp,profibus,opc,s7等太多了,因为设备厂商的增多就以为协议的增多。
6、接口开发工具
接口开发工具其实就是组件开发工具,它是一种开发工具包,是寄宿在组态软件本身开发工具(vc/VS。net)上的一个框架向导,利用这些框架或者向导可以通过开发工具开发出来基于组态软件的扩展组件,方便组态软件的功能扩展和客户订制,例如关系数据库和实时数据库的导入导出的组件等,另外也可以开发局基于图形界面的图形组件。
7、WEB发布
WEB发布算是一种近年来十分流行的一个组态软件功能,因为SCADA市场和MES市场的扩大,使得厂级化管理越来越流行,也成为组态软件厂商热炒概念中的一部分,因为web的使用,可以让用户利用普通PC的IE浏览器就可以看到组态软件的图形界面和实时数据而让大多数的业主得到认同。web的发布技术基本上是三种方式,第一种activeX方式,一般这种WEB方式多数组态软件是采用vc6开发的,它直接封装一个图形浏览exe在com组件中,当用户ie浏览的时候会提示安装一个插件,然后这个exe就安装在客户pc上,通过IE调用exe,用就可以看到组态界面,这种也就是被称为准WEB方式它的优点就是速度快因为它使用cs模式缺点就是必须开用户指定端口一旦遇到路由器就不能看到,另外一种就是通过java方式,就是把用户组态的工程通过java重新转换一边,这种技术的优点就是无论你使用什么网络设备管理网络只要能开发80端口就可以看到数据,缺点数据刷新较慢但是可以接受的那种另外就是它需要重新编写一边组态软件比较耗时,然后发布出去。最后一种就是.net的web service技术,毋庸置疑他当然是最强大的,但是你的框架开发工具就必须使用.net。