论文部分内容阅读
摘要:Web技术的飞速发展,为实现远程监控系统提供了一个新的思路,本文从系统集成的角度出发,探讨将Web技术应用于实时的远程监控系统实现方案和软件设计。
关键词:Web;Socket;远程监控
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2010) 11-0000-02
Web-based Software Design of Process Control SystemWang Hongmeng(Sixth Design and Research Institute of Machinery Industry,Zhengzhou450007,China)
Abstract:Web technology rapid development,to provide a new way of thinking for remote monitoring system,this article from the perspective of system integration,to explore the Web technology for real-time remote monitoring and control system implementation and software design.
Keywords:Web;Socket;Remote monitoring
一、引言
网络技术和Web技术的飞速发展、Internet的迅速普及与它的开放性密切相关,而正是基于Web的B/S结构实现了这种特性,此项技术目前在电子商务、办公信息系统等领域已得到广泛的应用。目前,Intranet企业网中的信息网络已较好地实现了开放性策略,控制网络体系结构正沿着开放性方向发展,这些都为信息网络和控制网络的集成提供了有力的支持。采用何种集成技术方便地将企业内部的信息网络层和控制网络层集成起来实现信息的沟通汇集与数据共享已成为当今控制系统集成发展方向。随着Internet/Intranet向社会各个领域迅速渗透发展,给人们提供了一个基于Web的信息平台,于是人们将目光投向了构建Internet的Web技术。将实时监视与控制系统构筑于Internet之上,通过Internet实现对工业生产过程的实时远程监控、远程设备调试、远程实验、远程设备故障诊断,将实时生产数据、实验数据与ERP系统以及实时的用户需求结合起来,使生产不只是面向定单的生产,而是直接面向市场的“电子制造”,从而使企业能够适应经济全球化的要求,基于Web的远程网络监控就是在这样的背景下提出的。
本文以过程控制系统中经常需要控制的液位信号为例从系统集成与实现角度来研究基于Web的过程控制系统的软件设计。
二、基于Web的过程控制系统的组成
基于Web的过程控制系统设计采用了多层结构,各部分的功能如下:
(一)设备服务器模块
设备服务器即现场监控站,接受来自网络服务器验证的远方客户端请求,并且负责执行远方用户的操作代理请求,并且把工业现场数据历史数据存储到数据库中,允许远方用户通过动态网页查询历史数据。由于设备服务器直接与现场实验装置相连,所以在网络通信稳定的基础上,要求实现对现场装置控制的高效性和安全性。
(二)网络服务器模块
管理登录用户,负责对现场数据进行发布更新。
(三)远程用户模块
远程用户模块采用ActiveX或Java Applet嵌入到网页中的形式,实现远程用户同工业现场信息的交互,所有的用户操作都将在这个模块中完成,通过与设备服务器的通信实现实验过程,同时与网络服务器通过动态网页交互实现用户注册、登录。
三、基于Web的过程控制系统的软件设计
在远程网络监控软件系统设计中,应用层数据传输协议的设计是一项很重要的工作。只有采用统一的数据传输协议,远程客户端和本地监控站才能“理解”对方发送数据的含义,从而进行有效的数据传输。对于监控代理程序而言,主要是设备状态数据传输的设计。
(一)设备状态数据传输的设计
设备状态数据传输主要是指把设备状态数据信息以何种数据形式发送给远程客户端使其能够识别不同设备的工作状况。
设备状态数据传输在设计时应尽量满足如下要求:
准确性:在扫描到设备的状态信息,必须能够准确的将这些设备状态参数准确地传输到监控端。
完整性:扫描的状态数据能够提供足够的信息,使远方用户对设备有一个充分了解,这样才能使远方用户对设备工况作出正确判断。
简单性:设备状态数据结构不应太复杂,这样在远程监控代理程序中比较容易实现数据封装,以及远程客户端程序的解封装。
(二)设备服务器模块的软件设计
设备服务器模块的软件设计主要包括三部分内容:设备服务器与PLC站的通信、远程监控代理设计。
本地水位监控系统采用Omron公司的C200HG系列的PLC为下位机,用RS-232型电缆将HOST LINK模块直接连到作为设备服务器的计算机串口上。在此我们采用C++Builder6.0作为开发设备服务器与PLC的串口通信程序。编程时采用Visual Basic提供的MSComm32控件来实现。本文不再赘述。
远程监控代理程序是实现远程客户和现场设备进行信息交换的“桥梁”,远程监控代理程序跟远方客户的通信采用Socket技术来实现,监控代理程序作为Socket的服务器端,通过与远程Socket客户端的通信,实现在Internet上传输数据。同时把用户设定的操作参数和现场实时数据存入数据库中,供用户进行本地和远方查询。
实现Socket的服务器端主要是利用C++Bulider提供的TServerSocket组件,采用非阻塞模式进行通信,当客户端进行读写时,服务器端就会得到通知。
…
ServerSocket1->Port=1024;//确定Socket服务器的监视端口
ServerSocket1->ThreadCacheSize=5;//确定创建服务器线程的最大数目
ServerSocket1->ServerType=stNonBlocking;
//采用非阻塞模式进行通信,当客户端进行读写时,服务器端就会得到通知
ServerSocket1->Active=true;//服务器端进入侦听状态
ServerSocket1->Socket->Connections[0]->SendText(s);//s为发送给客户端的信息
本地监控站主监控界面如图1所示。
图1本地监控站主监控界面
(三)基于Web的远程客户端模块的设计
远程客户端模块的软件设计通过嵌入在Web页面中的ActiveX或Java Applet提供HMI实现远程HMI与现场设备的交互,客户端程序的设计包括控制数据传输的设计、采用Socket客户端实现与监控代理程序通信的设计、HMI界面的设计、用户管理的设计。
我们在设计中采用C++Builder开发ActiveX Form,C++Builder将会自动生成一个ActiveForm的模板程序。该模板程序经过编译后将成为一个.OCX形式的控件,可以嵌入到Web网页中。
ActiveForm主要实现Socket客户端和远程监控界面,监控界面的设计同开发普通的Windows应用程序类似,下面主要讨论Socket客户端的实现。
实现Socket的客户端主要是利用C++Bulider提供的TClientSocket组件,首先对TClientSocket对象进行初始化,其部分源程序如下:Socket客户端接向远程监控代理发送控制指令的程序如下:
ClientSocket1->Socket->SendText(s);
当远程监控代理程序发送控制系统状态信息给Socket客户端时将响应OnRead事件,我们在此事件中对控制系统状态信息进行读取。
void__fastcall TLabClientX::ClientSocket1Read
(TObject*Sender,TCustomWinSocket*Socket)
{…
ReceiveServerData=Socket->ReceiveText();
…}
以ActiveX控件形式的远程客户端Web网页如图2所示。
图2以ActiveX控件形式的远程客户端Web网页
四、总结
远程监控技术是一门综合性技术,涉及控制、网络、计算机、数据库等多个领域,本文从系统集成的角度深入研究了基于Web的远程监控系统设计中的软件设计,在企业要求各个生产部门信息共享的今天,将现场监控级的数据以B/S方式传送到企业信息层具有一定的指导意义。
参考文献:
[1]唐鸿儒.基于Internet的远程监控系统开发技术研究[J].测控技术,2003
[2]邢航,刘清等.基于网络的远程监控系统研究[J].广东自动化与信息工程,2004
[3]陈灿煌.C++Builder6彻底研究[M].中国铁道出版社,2003,2
关键词:Web;Socket;远程监控
中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2010) 11-0000-02
Web-based Software Design of Process Control SystemWang Hongmeng(Sixth Design and Research Institute of Machinery Industry,Zhengzhou450007,China)
Abstract:Web technology rapid development,to provide a new way of thinking for remote monitoring system,this article from the perspective of system integration,to explore the Web technology for real-time remote monitoring and control system implementation and software design.
Keywords:Web;Socket;Remote monitoring
一、引言
网络技术和Web技术的飞速发展、Internet的迅速普及与它的开放性密切相关,而正是基于Web的B/S结构实现了这种特性,此项技术目前在电子商务、办公信息系统等领域已得到广泛的应用。目前,Intranet企业网中的信息网络已较好地实现了开放性策略,控制网络体系结构正沿着开放性方向发展,这些都为信息网络和控制网络的集成提供了有力的支持。采用何种集成技术方便地将企业内部的信息网络层和控制网络层集成起来实现信息的沟通汇集与数据共享已成为当今控制系统集成发展方向。随着Internet/Intranet向社会各个领域迅速渗透发展,给人们提供了一个基于Web的信息平台,于是人们将目光投向了构建Internet的Web技术。将实时监视与控制系统构筑于Internet之上,通过Internet实现对工业生产过程的实时远程监控、远程设备调试、远程实验、远程设备故障诊断,将实时生产数据、实验数据与ERP系统以及实时的用户需求结合起来,使生产不只是面向定单的生产,而是直接面向市场的“电子制造”,从而使企业能够适应经济全球化的要求,基于Web的远程网络监控就是在这样的背景下提出的。
本文以过程控制系统中经常需要控制的液位信号为例从系统集成与实现角度来研究基于Web的过程控制系统的软件设计。
二、基于Web的过程控制系统的组成
基于Web的过程控制系统设计采用了多层结构,各部分的功能如下:
(一)设备服务器模块
设备服务器即现场监控站,接受来自网络服务器验证的远方客户端请求,并且负责执行远方用户的操作代理请求,并且把工业现场数据历史数据存储到数据库中,允许远方用户通过动态网页查询历史数据。由于设备服务器直接与现场实验装置相连,所以在网络通信稳定的基础上,要求实现对现场装置控制的高效性和安全性。
(二)网络服务器模块
管理登录用户,负责对现场数据进行发布更新。
(三)远程用户模块
远程用户模块采用ActiveX或Java Applet嵌入到网页中的形式,实现远程用户同工业现场信息的交互,所有的用户操作都将在这个模块中完成,通过与设备服务器的通信实现实验过程,同时与网络服务器通过动态网页交互实现用户注册、登录。
三、基于Web的过程控制系统的软件设计
在远程网络监控软件系统设计中,应用层数据传输协议的设计是一项很重要的工作。只有采用统一的数据传输协议,远程客户端和本地监控站才能“理解”对方发送数据的含义,从而进行有效的数据传输。对于监控代理程序而言,主要是设备状态数据传输的设计。
(一)设备状态数据传输的设计
设备状态数据传输主要是指把设备状态数据信息以何种数据形式发送给远程客户端使其能够识别不同设备的工作状况。
设备状态数据传输在设计时应尽量满足如下要求:
准确性:在扫描到设备的状态信息,必须能够准确的将这些设备状态参数准确地传输到监控端。
完整性:扫描的状态数据能够提供足够的信息,使远方用户对设备有一个充分了解,这样才能使远方用户对设备工况作出正确判断。
简单性:设备状态数据结构不应太复杂,这样在远程监控代理程序中比较容易实现数据封装,以及远程客户端程序的解封装。
(二)设备服务器模块的软件设计
设备服务器模块的软件设计主要包括三部分内容:设备服务器与PLC站的通信、远程监控代理设计。
本地水位监控系统采用Omron公司的C200HG系列的PLC为下位机,用RS-232型电缆将HOST LINK模块直接连到作为设备服务器的计算机串口上。在此我们采用C++Builder6.0作为开发设备服务器与PLC的串口通信程序。编程时采用Visual Basic提供的MSComm32控件来实现。本文不再赘述。
远程监控代理程序是实现远程客户和现场设备进行信息交换的“桥梁”,远程监控代理程序跟远方客户的通信采用Socket技术来实现,监控代理程序作为Socket的服务器端,通过与远程Socket客户端的通信,实现在Internet上传输数据。同时把用户设定的操作参数和现场实时数据存入数据库中,供用户进行本地和远方查询。
实现Socket的服务器端主要是利用C++Bulider提供的TServerSocket组件,采用非阻塞模式进行通信,当客户端进行读写时,服务器端就会得到通知。
…
ServerSocket1->Port=1024;//确定Socket服务器的监视端口
ServerSocket1->ThreadCacheSize=5;//确定创建服务器线程的最大数目
ServerSocket1->ServerType=stNonBlocking;
//采用非阻塞模式进行通信,当客户端进行读写时,服务器端就会得到通知
ServerSocket1->Active=true;//服务器端进入侦听状态
ServerSocket1->Socket->Connections[0]->SendText(s);//s为发送给客户端的信息
本地监控站主监控界面如图1所示。
图1本地监控站主监控界面
(三)基于Web的远程客户端模块的设计
远程客户端模块的软件设计通过嵌入在Web页面中的ActiveX或Java Applet提供HMI实现远程HMI与现场设备的交互,客户端程序的设计包括控制数据传输的设计、采用Socket客户端实现与监控代理程序通信的设计、HMI界面的设计、用户管理的设计。
我们在设计中采用C++Builder开发ActiveX Form,C++Builder将会自动生成一个ActiveForm的模板程序。该模板程序经过编译后将成为一个.OCX形式的控件,可以嵌入到Web网页中。
ActiveForm主要实现Socket客户端和远程监控界面,监控界面的设计同开发普通的Windows应用程序类似,下面主要讨论Socket客户端的实现。
实现Socket的客户端主要是利用C++Bulider提供的TClientSocket组件,首先对TClientSocket对象进行初始化,其部分源程序如下:Socket客户端接向远程监控代理发送控制指令的程序如下:
ClientSocket1->Socket->SendText(s);
当远程监控代理程序发送控制系统状态信息给Socket客户端时将响应OnRead事件,我们在此事件中对控制系统状态信息进行读取。
void__fastcall TLabClientX::ClientSocket1Read
(TObject*Sender,TCustomWinSocket*Socket)
{…
ReceiveServerData=Socket->ReceiveText();
…}
以ActiveX控件形式的远程客户端Web网页如图2所示。
图2以ActiveX控件形式的远程客户端Web网页
四、总结
远程监控技术是一门综合性技术,涉及控制、网络、计算机、数据库等多个领域,本文从系统集成的角度深入研究了基于Web的远程监控系统设计中的软件设计,在企业要求各个生产部门信息共享的今天,将现场监控级的数据以B/S方式传送到企业信息层具有一定的指导意义。
参考文献:
[1]唐鸿儒.基于Internet的远程监控系统开发技术研究[J].测控技术,2003
[2]邢航,刘清等.基于网络的远程监控系统研究[J].广东自动化与信息工程,2004
[3]陈灿煌.C++Builder6彻底研究[M].中国铁道出版社,2003,2