小型工业加速器远程监控系统
2015-12-13苏海军郭洪雷李德明
杨 君 苏海军 郭洪雷 李德明
1(中国科学院上海应用物理研究所 嘉定园区 上海 201800)
2(中国科学院大学 北京 100049)
小型工业加速器远程监控系统
杨 君1,2苏海军1郭洪雷1李德明1
1(中国科学院上海应用物理研究所 嘉定园区 上海 201800)
2(中国科学院大学 北京 100049)
根据小型工业电子加速器监控系统的特点及需求,采用VC++开发出一套远程监控系统。该系统实现了远程监测、远程控制、设备及权限管理等功能。测试结果表明,该系统具有较高的实时性、稳定性和扩展性,便于加速器的使用人员进行远程监测设备,且可以改变加速器制造企业的维修方式,降低维修成本。该系统具有广泛的应用前景。
小型加速器,远程监控,VC++
国内外大型加速器实验室多采用计算机远程监控系统,如国际直线对撞机(International Linear Collider, IL C)的全球加速器网络系统(Global Accelerator Network, GAN),国内基于Web的BEPCⅡ (Beijing Electron Positron Collider Ⅱ)磁铁电源的远程监控系统[1],而小型工业电子加速器领域的控制系统仍采用基于单台计算机的现场监控模式,所有数据和运行状态都在现场计算机上显示。随着互联网技术的飞速发展,对于加速器管理者来说,其对查看设备的运行情况提出了更高的需求;对于加速器制造商来说,数量众多的设备分布在不同的地点,维修任务量将越来越大,数据量也将成倍增加,而维修人员的数量却无法增加太多。
本文提出的小型工业加速器远程监控系统旨在通过网络远程监视、控制电子加速器,从而使管理或维修人员能随时随地通过网络监控加速器,及时了解加速器运行情况并能远程操作加速器,从而改变传统维修的模式,提高维修速度,节省人力成本。
1 系统描述
小型工业加速器监控系统采用Client/Server (C/S),实现现场和远程控制方式,具有加速器设备信息、运行状态的显示和控制功能。在系统的运行过程中,工作人员可以在现场通过组态程序监控实时数据流,也可选择远程控制方式即采用远控客户端进行远程监控。
系统具有服务器和客户端双重权限管理功能,按权限大小,从大到小依次分为5个等级:管理员级、系统级、组长级、组员级、客户级。服务器根据用户权限发送相应的变量数据,客户端根据用户权限访问自己被授权的资源。系统中用户和密码又紧密地与权限管理交互统一[2]。
在各个程序之间有大量数据需要交互,因此设计了统一的通信协议,通信内容包括报头、通信序号、源名称、目标名称、数据和结束符。
系统由PLC硬件平台、数据采集程序、服务器和远程客户端程序组成,如图1所示。
该系统的检测和控制对象是小型工业加速器,本身具备控制器和组态程序,可以满足现场操作的需求。组态程序直接获取电子加速器的所有运行数据;而远程监控系统需要从组态程序那里获取这些运行数据,并上传到远程服务器上。OLE for Process Control (OPC)通信协议的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁,通过OPC实现与电子加速器组态程序的数据交互,可实现对设备本地实时监测、控制及故障提示等功能[3]。
服务器采用高性能的计算机,能处理多个数据采集程序发来的命令请求并存储其上传的数据流,同时响应多个远控客户端的连接请求并发送实时数据流。
软件系统包括数据采集程序、服务器和远控客户端程序,其中数据采集程序通过OPC通信协议实现与多种组态程序通讯[4],数据采集程序、远控客户端程序都是通过TCP/IP (T ransmission Contr ol Protocol/Internet Pro tocol)和UDP (Us er Datag ram Protocol)等协议实现与服务器通讯,在整个软件系统中,远控客户端程序可实现对现场设备运行状态的在线远程监控以及运行状态的调整。
图1 远程监控系统网络示意图Fig.1 Network diagram of remote monitoring system.
2 系统结构
远程监控系统的重要组成结构包括数据采集程序、服务器和远控客户端程序。
传输过程中数据采取DES (Data Encr yption Standard)对称加密技术,其中数据采集端到服务器建立VPN (Virtual Private Network)通道(虚拟专用网络),并采用防火墙控制,保证数据传输的安全。
2.1 数据采集程序
数据采集程序在Visual S tudio 2008(简称VS 2008)开发环境下基于C++语言开发,随组态程序同时启动,采用OPC协议与本机上的组态程序实时通讯,获取实时变量值后存储在本地Access数据库,同时与服务器连接并接受时间校准,通过较可靠的基于UDP协议的Enet开发包将实时数据流上传给服务器[5]。
数据采集程序采用通用接口OPC技术,使得系统适用于不同类型的加速器,具有一定的扩展性。数据采集程序设计流程图如图2所示。
其中Socket通信采用的是非阻塞模式,本地数据变量表中储存电子加速器相关的开关量、模拟量。以1 s为时间间隔实时读取相关的变量值并上传给服务器。循环发送实时数据流程序伪代码见图3。
2.2 服务器
服务器在基于C/S模式的远程监控系统中尤为重要,要求运行性能稳定和高效,安装运行的操作系统采用Windows Server 2003企业版,数据库采用SQL Server;它接收的设备运行数据来自于现场加速器数据采集程序,要求满足数据实时接收,保存到数据库中,并响应客户端对实时数据流的请求;允许远控客户端的远程控制请求后,可以向现场加速器的组态程序监控界面发送参数修改指令,从而实现远程操作现场加速器的功能。
图2 数据采集程序流程图Fig.2 Flow chart of data acquisition program.
图3 实时数据采集处理程序伪代码图Fig.3 Pseudo-code chart of real-time data acqusition and processing.
服务器是在VS 2008开发环境下基于C++语言开发,采用多线程技术处理多个客户端同时访问请求,利用消息机制来处理相关命令,服务器的相关功能模块如图4所示。父类建立非阻塞套接字后,创建两类子线程分别管理UDP服务器线程和套接字TCP线程,并监测客户端的连接请求,当有新的客户端连接请求,创建子类,子类创建收、发线程,利用收线程获取数据采集程序上传的实时数据流,通过数据处理函数处理后,利用发线程,下载给已连接的客户端,从而实现数据流通信。
图4 服务器的基本功能模块图Fig.4 Block diagram basic function modules on server end.
通过Socket与数据采集程序和客户端进行数据交互和网络通信,其中操作命令采用TCP/IP协议通信[6],实时数据流传输采用UDP协议通信,实现如下功能:
(1) 数据同步和存储
通过连接认证后,可以接受现场加速器数据采集程序发送过来的运行参数、报警参数和状态参数等内容,并保存到SQL Server数据库中;同时响应客户端实时数据流的请求,将实时数据流发送给客户端。
(2) 数据补缺
在出现数据缺失的情况下,向指定现场加速器数据采集程序发送相关命令请求,要求上传缺失的数据。
(3) 数据查询
具有查询权限的技术人员通过远控客户端访问服务器,通过查询设备的历史数据参与分析普通加速器的运行情况和故障原理,做出维修方案。
(4) 权限管理
针对不同权限的用户,服务器授予相应的访问资源。
(5) 专家指导
针对普通客户端提出的意见请求,专家或维修人员利用远控客户端,提交反馈建议对其进行远程指导[7]。
实时数据流通信因为传输数据量大且要求一定的实时性,故采用Enet开发包,Enet是一个易用的、可移植的UDP网络开发包,主要功能包括连接和管理可靠的按顺序的多通道包传输机制、包分解和重新打包、避免堵塞机制等[8]。
2.3 远控客户端
远控客户端程序基于C++编写,采用TCP/IP协议与服务器实现通讯,同时采用Enet开发包从服务器获取现场的实时数据流。同时也将要修改的变量值发送给服务器,服务器发送给数据采集程序,从而实现对现场加速器设备变量的远程控制功能。设计流程图如图5所示。
远控客户端引入了权限管理功能,权限级别如上文所述,只有系统级及以上的用户才可以进行远控端的管理。
加速器设备管理中具有对加速器设备变量的实时检测和控制功能,引用多线程和消息机制,并结合Enet开发包进行数据流的实时更新显示和相关变量的远程控制。其中远程控制功能需要经过数据采集程序的手动确认后才可用。
网络地址转换(Network Address Translation, NAT)是一种把多个私网IP地址映射到一个或多个公网IP地址,使经过“伪装”后的私网IP可以顺利访问互联网的方法。为实现不同私网主机之间(端点到端点)通讯,采用穿透NAT技术[9]。实时监测功能设计流程见图6。
图5 远控客户端程序的基本功能模块图Fig.5 Block diagram of basic function modules on the remote client side.
图6 远控客户端实时监测模块流程图Fig.6 Flow chart of real-time monitor modules on the remote client side.
3 数据库设计
根据系统的功能,本文采用两种数据库:一种是Access数据库,用于数据采集程序存储本地实时数据流;另一种是微软SQL Server数据库[7],用于服务器存储实时数据流、客户端操作记录、故障和产能统计、设备管理、专家维修指导记录等。
数据采集程序将实时数据流存储在本地Access数据库,以便在断网等原因所造成的数据缺失的情况下,将指定时间内的缺失数据上传至服务器。由于Access数据库表单大小的限制,这里采用每一个月保存一个表单。
服务器需要存储大量数据,对数据库[10]可靠性和性能要求较高,故采用SQL Server数据库。根据服务器功能,数据库设计很多表,其中最重要的包括加速器实时数据流表和操作权限表。
对于实时数据流监测功能,主要用到加速器实时数据流表,每一台加速器都对应一张实时数据流表,为方便实时数据流的传输,数据流表包含时间和数据两个字段,分别代表实时数据流的采集时间和实时数据流的变量值串,实时数据流的变量值串格式为:变量值+变量值+…+变量值。
因权限不同,各级人员可操作不同资源。比如只有管理员级和系统级才可以远程操作加速器。
4 系统测试与结果
系统通过穿透NAT技术实现数据采集程序、服务器和远控客户端在广域网内的通信[9]。测试的网络结构拓扑图如图7所示。服务器程序放在商用的云服务器上,后台和客户端在实验室的局域网内。
图7 测试的网络结构拓扑图Fig.7 Network topological graph of test environment.
首先,连接好硬件设备后,给可编程逻辑控制器(Programmable Logic Controller, PLC)模拟仿真平台上电,准备就绪后,打开组态程序,运行如图8所示本地监控系统,同时打开数据采集程序,实时读取组态程序中的设备变量值,向服务器请求连接通过后,数据以统一的通信格式上传至服务器,服务器将取得的实时数据流存储在SQL Server数据库中,远控客户端向服务器请求连接登录后可选择监控对应的加速器设备,穿透NAT进行点对点连接后,即可实现对某台加速器设备的实时监控。远控客户端如图9所示。
图8 本地实时监控界面Fig.8 Local real-time monitor window.
图9 远控客户端远程实时监控界面Fig.9 Remote client’s real-time monitor window.
测试过程中,本地监控系统和远程监控系统对应的开关量和模拟量相同,说明两者具有一致性;更改本地监控系统上变量数据值,远程监控系统监测界面上相应变量也实时改变,平均响应时间小于1 s,说明对模拟量的远程监测功能实现成功;远程监控系统获得数据采集程序的远程控制允许后,更改远程监控系统界面上变量值,本地监控系统上变量数据值也随之改变,平均响应时间小于1 s,说明对模拟量的远程控制功能实现成功,体现系统较好的实时性。
改变远程监控系统中的开关量,PLC模拟平台中对应的指示灯也随之改变,说明对开关量的远程监控功能实现成功。
经过两次较长时间系统稳定性测试,服务器、数据采集程序和远控客户端三者测试结果见表1。
表1 系统稳定性测试结果Table 1 Test results of system stability.
测试次数1表示在服务器稳定运行时长为51 h内,数据采集程序上传时间为45 h,客户端登录次数为34次。从服务器正常运行时长可见系统具有较好的稳定性。
5 结语
本文提出了一种小型工业加速器远程监控系统的方法,在Windows环境下,利用C++的编程技术开发出远程监控系统,基于OPC协议使系统具有较好的扩展性。测试结果表明该系统具有较高的实时性和稳定性,将该系统应用于小型工业加速器后,可以改变传统维修的模式,提高维修速度,提升远控服务水平,节约成本。此外,随着“互联网+”时代的到来,移动互联化的远程监测系统是今后需努力的方向。
1 鲍春雷, 王春红. 基于Web的BEPCⅡ磁铁电源的远程监控系统[J]. 原子能科学技术, 2010, 44(5): 629–632
BAO ChunLei, W ANG Chun hong. BEPCⅡ magnet power supply remote monitoring system based on Web[J]. Atomic Ener gy Scien ce and Technology, 201 0, 44(5): 629–632
2 马淑栋. 基于VB的无损检测电子直线加速器控制程序设计[J]. 制造业自动化, 201 4, 36(6): 104–107. DOI: 10.3969/j.issn.1009-0134.2014.11.031
MA Shudong. NDT electron linear accelerator control program design based VB[J]. Manufacturing Automation, 2014, 36(6): 1 04–107. DOI: 10.3969/j.issn.1 009-0134. 2014.11.031
3 宋东亚. 电子加速器控制中工控机与PLC通信系统研究[D]. 南京: 南京理工大学, 2012
SONG Dongya. Research of IPC and PLC communication system in electronic accelerator control[D]. Nanjing: Nanjing University of Science and Technology, 2012
4 马志欣, 谭峰, 侯召龙, 等. 基于Android的农业生产远程监控系统[J]. 农机化研究, 2015, 3(3): 226-229
MA Zhixin, T AN Feng, HOU Zhaolong, et al. Re mote monitoring s ystem of agricultu ral production based on Android[J]. Agr icultural Mechanization Research, 2015, 3(3): 226-229
5 Sheng Q. PLC-based control s ystems for industrial production of fuel alcohol[J]. IEEE International Conrerence on Industrial Technology, 2002, 12: 631–634
6 Lee Salzman. Enetv 1.3.13[EB/OL]. http://enet.bespin.org/, 2002-2015
7 高贵刚. Li/MnO2电池生产线计算机集中监控与远程监控系统研究[D]. 天津: 天津工业大学, 2008
GAO Guigang. Computer centralized monitoring and remote monitoring system research for Li/MnO2battery production line[D]. Tianjin: Tianjin Polytechnic University, 2008
8 陈国彪. 基于网络媒介的远程客户端控制软件设计与实现[D]. 西安: 电子科技大学, 2013
CHEN Guobiao. Remote control softwar e d esign and implementation based network media[M]. Xi'an: University of Electronic Science and Technology o f China, 2013
9 梁武. 基于ACE的TCP穿透NAT技术原理及实现[J].计算机技术与发展, 201 1, 7(21): 224–2 28. DOI: 10.3969/j.issn.1673-629X.2011.07.058
LIANG Wu. Penetration TCP NAT technology principle and realization based on ACE[J]. Computer Technology and Development, 2011, 7(21): 224–228. DOI: 10.3969/j.issn.1673-629X.2011.07.058
10 张宁, 郭冰, 韩立欣, 等. T MSR硝酸盐自然循环回路控制系统设计[J]. 核技术, 20 15, 38(7): 0704 01. DOI: 10.11889/j.0253-3219.2015.hjs.38.070401
ZHANG Ning, GUO Bing, HAN Lixin, et al. Design of nitrate natural circulation loop control system in TMSR[J]. Nuclear T echniques, 2015, 38(7): 070401. DOI: 10.11889/j.0253-3219.2015.hjs.38.070401
CLC TL362+.5
Implementing remote monitor and control system for industrial small accelerator
YANG Jun1,2SU Haijun1GUO Honglei1LI Deming1
1(Shanghai Institute of Applied Physics, Chinese Academy of Sciences, Jiading Campus, Shanghai 201800, China)
2(University of Chinese Academy of Sciences, Beijing 100049, China)
Background: A small accelerator monitoring system based on local mode cannot meet the challenge of accelerator manufacturers and the accelerator users in the internet era. Purpose: This study aims to realize the remote monitoring by designing a remote monitor and control system for industrial small accelerato r. Methods: Under the client/server (C/S) framework, OLE fo r Process Control (OPC) protocol is ad opted for the d ata communication between client side and server end. Visual C++ programing is applied to implement functionalities such as remote monitor, rem ote control, equ ipment and autho rization m anagement and other s on both sides accor ing to th eir functional localization. Results: Testing results show the system has high real-time, stability and expansibility, which is convenient for user to monitor accelerators and change the service mode of accelerator. Conclusion: The system not only helps manufacturer to reduce the cost of accelerator maintantance, but also has a broad application prospects for industrial small accelerators.
Small accelerator, Remote monitor and control, VC++
TL362+.5
10.11889/j.0253-3219.2015.hjs.38.100402
杨君,男,1990年出生,2013年毕业于南华大学,现为硕士研究生,研究领域为加速器控制系统
苏海军,E-mail: suhaijun@sinap.ac.cn
2015-08-10,
2015-09-06