论文部分内容阅读
SCADA (Supervisory Control And Data Acquisition,监控和数据采集)系统是基于计算机过程控制与调度的自动化系统。它负责对现场设备进行监视与控制,采集设备实时数据,进行分析处理,控制现场设备的运行并进行异常状态的报警。其强大的功能使得它在电力系统等领域有着广泛的应用。互联网的发展给人们的生活带来了翻天覆地的变化,其发展使得信息的获取越来越方便。对于只能在监控室内进行监控的SCADA系统来说,其信息的来源比较单一,已经不能满足人们的需求。因此,实现SCADA系统的远程监控功能尤为重要。Web发布为SCADA实现其远程监控提供了一个可行的解决方案。本文在SCADA系统的研究现状和互联网发展状况的基础上,对Web发布进行了需求分析并将其分为三个模块:ActiveX控件,实时数据传输以及网站。三个模块有机结合,共同完成SCADA系统的Web发布功能。ActiveX是一组使用COM (Component Object Model,部件对象模型)软件部件在网络环境中进行交互的技术集。它可以使用多种编程语言来实现,在本文中采用的是C++语言来进行ActiveX控件的实现。它主要实现两个最主要的功能:流程画面的显示和实时数据的刷新。文中利用多线程技术来实现画面显示和实时数据刷新功能。流程画面的显示采用双缓冲方式实现,在内存中绘制完成整个画面,将该画面一次性显示到计算机屏幕上,防止其在刷新过程中产生的闪烁问题。而实时数据线程则通过脚本在共享内存中获取实时数据,更改图元属性中动态数据属性,实现实时数据的更新。当实时数据被更改后,画面在进行刷新时,其会在画面中显示最新的数据。实时数据的传输采用客户端/服务器模式实现。数据服务器在SCADA系统的数据库中获取实时数据,通过TCP/IP通信发送到浏览器所在的数据客户端。数据客户端接收到实时数据后,将其存储到共享内存中,以供ActiveX控件利用脚本获取实时数据。数据客户端还能够获取ActiveX控件的远程控制消息,并传输给数据服务器,数据服务器将该消息通过消息响应机制传递给驱动,驱动与硬件设备进行通信,进而实现开关量等变量的控制。网站设计主要包括网页的编写以及网站的创建。利用HTML, PHP, CSS来实现网页框架的设计,并将ActiveX控件嵌入其中。网站则利用C++中的DOM接口,通过智能指针来创建其虚拟目录,实现网站的创建。在完成Web发布基本功能的基础上,采用应用案例的方式,分别在WindowsXP和Windows 7系统上进行了交叉测试。通过测试发现Web发布能够很好的在Windows XP和Windows 7上运行,并且其实时性能够满足用户的需求。