工控网首页
>

应用设计

>

中间件技术在大型分布式SCADA系统中的应用

中间件技术在大型分布式SCADA系统中的应用

2004/8/16 14:53:00
1 引言   网络技术的出现,使计算机的应用范围更为广阔,许多应用需要在网络环境下的异构平台上实现。在分布式异构环境中,存在多种操作平台、多种网络协议及网络体系结构,中间件技术就是为了解决分布异构问题而提出的。中间件将网络上传统的客户机/服务器体系结构扩展为三层的体系结构模式,即客户机—中间件—服务器体系模式。   中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件、系统软件或服务软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。 本文以北京城市轻轨铁路综合自动化系统工程为依托,在自主开发的一个高性能、高可靠性的大型实时分布式综合监控系统中采用中间件技术,使得系统软件架构灵活,可扩展性强,同时满足了工业监控软件的实时性和可靠性两大要求。 1.1 实现中间件的必要性   分布式SCADA系统数据分布在多级服务器上。中央服务器处理重要的和带有统计性质的数据,并提供全局实时数据服务、重要参数的历史数据服务和全局报警服务;各子服务器集中处理本子系统的数据,并提供本子系统的全部实时数据、事件信息和全历史库访问服务;I/O通信控制器处理本采集站的实时数据。   多重数据源的存在以及系统网络架构的特点,子系统监视站和中央监控站的功能差异,系统异构的操作平台,都增加了上层HMI软件处理的复杂性。鉴于此,系统在HMI软件和服务任务之间引入了中间件。中间件为上层HMI应用屏蔽了异构平台的差异,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。 1.2 中间件在系统中的位置   系统数据访问中间件采用分布式应用技术,位于服务任务和HMI任务之间,通过提供给上层HMI任务一组统一的接口,透明地给应用任务提供对系统各级数据方便、统一的访问。中间件所处的位置如图1所示。
1.3 中间件的作用 系统中数据访问中间件的主要作用在于:   1) 屏蔽数据来源:中间件通过给上层HMI应用提供统一的数据访问接口屏蔽了数据的多重来源(服务任务或I/O采集站),实现了应用任务对数据访问的透明性。   2) 屏蔽网络细节:为增加系统的可靠性和实时响应速度,SCADA系统多采用双网冗余结构,所有服务器均为冗余配置,中间件的存在在网络一级给上层显示软件提供了数据源位置的透明性。   3) 增加系统的实时响应性:系统中人机交互的控制命令通过中间件直接发送到IO采集站,而不是经过各级服务器逐层下发,提高了系统的实时响应能力和控制命令可靠性。   4) 增加系统的可配置性和扩展性:数据访问中间件的实现使得服务任务和上层HMI任务之间的耦合程度大大减小,给整个系统的可配置性和后续的扩展性带来了好处。 2 中间件的设计与实现   SCADA系统数据类型一般都有以下几种:实时数据、历史数据、日志和报警、事故追忆、装置报告等事件记录。网络上的远程数据服务常有3种模式:“同步请求—应答”模式、“数据订阅”模式、“事件变化通知”模式。在数据的服务过程中,HMI始终是服务的接收方(客户),服务任务始终是服务的提供方,中间件负责屏蔽数据的多重来源。对于上层显示而言,不用关心面对的是哪个服务任务以及任务运行在何处。 2.1 中间件的技术方案   中间件在一台计算机上只存在一个,但可以为一个或者多个HMI应用任务提供数据服务功能,如图2所示。
  对应于SCADA系统提供的三种数据访问模式,中间件在组成上由多个COM组件构成,相应的包容器包括:实时数据远程服务组件、历史数据远程服务组件、事件信息远程服务组件。包容器除了支持基于DCOM的组件外,还包含SOCKET网络连接等其它功能,以便于和运行在QNX平台的I/O采集站进行数据通讯。中间件只向上层应用任务公开访问接口。包容器之间相互完全独立,只是在历史数据服务组件和事件信息服务组件中将调用实时数据服务组件提供的某些功能,但调用方式与上层应用任务完全相同。   中间件的开发环境为Windows NT/2000平台,采用的开发工具是Microsoft Visual C++ 6.0,实现为DCOM组件。由于整个中间件基本没有显示功能,故采用ATL(Active Template Library,活动模板库)框架结构,它提供了实现基于COM组件内核的支持。 2.2 中间件提供的接口   HMI应用任务通过中间件提供的访问数据接口进行数据的访问操作,中间件提供的数据接口包括:   1) 订阅管理接口和实时数据访问接口:由实时数据远程服务组件实现;   2) 事件信息远程访问接口:由事件信息远程服务组件实现;   3) 历史数据远程访问接口:由历史数据远程服务组件实现。 各接口示意图如图3所示。
2.3 中间件和服务任务的通讯   给中间件提供数据服务的任务中,历史数据服务任务和事件信息服务任务都运行在中央服务器和子服务器上,实时数据服务任务还运行在I/O采集站上。系统中央服务器和子服务器运行平台为Windows NT/2000,而I/O采集站运行平台为QNX。中间件和数据服务任务之间的通讯采用以下两种方式:   1) DCOM:用于中间件和运行在Windows NT/2000平台上的服务任务之间的通讯,其实现完全依靠DCOM底层实现。   2) SOCKET通讯:用于中间件和运行在QNX平台的I/O采集站之间的通讯。 3 结论   总的来说,中间件的实现增强了SCADA系统的开放性和可配置性,具有以下特点:   1) 技术成熟性:数据访问中间件的实现采用比较成熟的软件组件技术(DCOM),不仅实现了整个系统配置的灵活性,同时,也由于技术的成熟性而一定保证了整个系统的稳定性能。   2) 实时响应性:传统的SCADA中,系统控制命令是经由服务器转发。在该系统的多级体系结构中,如果采用这种方式,则控制命令最多要经由三级服务器转发,系统的实时响应性很明显要受到影响。中间件的实现,使得控制命令直接可以由HMI到I/O采集站,提高了系统的控制命令的实时响应性。   3) 系统扩展性:中间件的实现给系统带来的灵活的配置性,保证了整个系统的柔韧性和灵活性,也给系统后期良好的扩展性带来了可能。   4) HMI应用的实现:中间件的实现屏蔽了网络细节和数据来源,使得上层HMI应用可以只专注于数据的处理,给上层HMI任务的实现带来了很大的方便。 参考资料 [1] 何克忠,李伟,《计算机控制系统》,清华大学出版社 [2] 潘爱民,《COM原理与应用》,清华大学出版社 [3] Guy Eddon,Henry Eddon,《Inside COM+ Base Services》,希望电子出版社 [4] Corry Mayfield,Cadmen,《COM/DCOM编程指南》,清华大学出版社 [5] David J.Kruglinski,George Shepherd,Scot Wingo,《Visual C++6.0技术内幕0》,清华大学出版社
投诉建议

提交

查看更多评论
其他资讯

查看更多

PLC一体机之EK温度修正使用技巧

S7-300CPU存储器介绍及存储卡使用

0.05级超高精度互感器

DC-DC转换器(电源模块)应用指南——外接滤波电容选配

施罗德最小流量阀的应用范围及优点