2. 中国科学院大学 北京 100049
2. University of Chinese Academy of Sciences, Beijing 100049, China
上海光源(Shanghai Synchrotron Radiation Facility,SSRF)是第三代中能同步辐射装置,它使用的实验物理及控制系统(Experimental Physics and Industrial Control System,EPICS)采用分布式控制系统的标准结构,包括:操作员接口层(Operator Interface,OPI)、输入/输出控制器(Input/output Controller,IOC)、设备控制器(Device Controller),数据存储在Archive数据库中[1]。SSRF已建光束线的控制系统也采用了EPICS软件,实现了各种设备的控制调节和运行参数的记录,但使用中发现其记录在数据分析或故障后状态查询等方面不太令人满意,为此,开始尝试用MATLAB软件来处理其运行数据。MATLAB是由MathWorks出品的商业数学软件,它将数值分析、矩阵计算、科学数据可视化以及非线性系统的建模和仿真等功能集成在一个易于使用的视窗环境中,并且MATLAB界面友好、易于操作、拥有大量的工具箱[2-3]。在进行MATLAB与Archive数据库连接时需使用开放数据库互连的ODBC (Open Database Connectivity)程序,ODBC本身提供了对SQL (Structured Query Language)语言的支持,MATLAB可通过输入SQL语句直接送给ODBC,达到对运行数据操作的目的[4]。
一旦建立起MySQL数据库,就可以对光束线的运行参量进行更多的数据分析,如光斑中心位置的变化情况分析等,以便及时了解各光束线站的运行状况,还可进一步开展设备故障预警方法的研究,有助于提高光束线站的运行效率。
1 数据库连接和数据筛选EPICS的软件结构如图 1所示,当用户通过OPI模块请求数据时,主机将通过CA (Channel access)通信从IOC模块获取数据;Channel archiver是基于CA协议的一个数据存档工具集,主要由一个数据存档引擎Archive engine和数据检索工具两部分组成,负责将运行参数存入Archive数据库中,其核心是Archive engine[5-6]。
|
图 1 EPICS的软件结构 Figure 1 Software structure of EPICS. |
MATLAB通过ODBC与该数据库连接,需要在数据源中创建数据源名称和选择数据库文件,配置成功后就可以通过ODBC提取数据库里的数据;MATLAB拥有应用程序database explorer,可据此查看获取的数据,只需要输入设定的username和password即可。图 2是MATLAB应用程序database explorer的界面,直接点击左侧需要查看的选项,就能在其右侧预览所要观察的数据[2],还可在采样表sample中查看数据的各项属性。
|
图 2 Database explorer界面 Figure 2 Database explorer interface. |
Database explorer可实现数据可视化,且操作简单,但由于本身界面有限,对数据进行多语句的SQL操作时有局限,若进行数据分析,建议通过编写MATLAB语句来调用所需要的数据,并可通过prompt语句设置“弹窗”式输入,方便使用。
数据是对事实的数字化表示,SSRF光束线的数据量庞大,光束线站需要记录很多设备的数据,有前端区的、实验站的等,如液氮冷却单色器的温度记录就有十多个。这些记录数据中,有些是连续的模拟数据,有些是开关状态的记录数据。另外,为更好地运行SSRF,需要有短时间的停机维护,这就使该时间段的记录数据中除了有用的数据(如设备的真空)外,还会出现一些NaN数据和0数据,它们通常是无效数据。这就要求进行数据筛选,找出所需要的数据进行存储和分析。可以通过语句d= d(~isnan(d));find(d==0) )=[]进行无效数据的删除,其中d是要进行筛选的数据矩阵,筛选后的数据仍然存于d中。
据此,提取SSRF BL13W光束线站液氮冷却单色器的温度记录数据X13W1:OP:MO:PT:TC10:AI,如图 3所示。该数据在2015年4月发生过异常,已进行筛选并删除了NaN值和0值,经过筛选后的数据就可以应用于下面的数据分析。
2 数据分析和预警设置通过观察图 3可以看出,单色器在开始出现问题时,有一定幅度的温度跳变,但这时还能继续实现单色化功能,在数据后期跳变幅度加大,跳变也变得频繁,这时的单色化功能会受到影响,应该提醒操作人注意,即给出预警提示。
|
图 3 X13W1:OP:MO:PT:TC10:AI记录数据(4-5月)的曲线图 Figure 3 Graph of the record data for X13W1:OP:MO:PT:TC10:AI from Aril to May. |
MATLAB可以进行神经网络设置,神经网络具有自学习的能力,其结构可分为输入层、隐藏层、输出层。如图 4所示,将输入信号传递给网络内隐藏层的每个神经元进行分析,每个神经元通过内部函数处理后输出。有时,为满足误差要求,再将输出反馈到神经网络,调整权值,并将误差值变小,以达到最终的要求[2, 4, 7-9]。
|
图 4 神经网络结构示意图 Figure 4 Diagram of the neural network structure. |
MATLAB的神经网络可进行有监督和无监督的各种学习,并可选择模式识别的方法进行数据知识的训练[2]。为此,可将数据分为三类:平稳数据、小幅度的跳变、大幅度的跳变。将三类数据输入神经网络进行训练,就能得到相应的输出,亦为分类中的类别数据。神经网络分类采用该时间段数据的变化来表示,在图 3所示的一个月的记录数据中,可提取85组数据,每组含有连续的301个数据。并根据这301个数据的幅度变化进行分类:将温度变化小于5 ℃的视为第一类,进行神经网络验证时,MATLAB对这一类不做任何反应;当温度跳变在5-10 ℃、且数据跳变率在35%以上时作为小幅度跳变,分为第二类,神经网络验证时给出“1warn”的预警提示;当温度跳变在10 ℃以上、且数据跳变率在35%以上时为大幅度跳变,设为第三类,神经网络验证时给出“2warn”的预警提示。
MATLAB神经网络原则上不要求数据归一化,但是归一化的数据训练可以减少时间开支,并且由于温度的跳变幅度很大时,非归一化的数据会使得神经网络学习困难,建议先将输入数据进行归一化处理,再用于神经网络训练。MATLAB中可采用归一化函数[y,ps]=mapminmax(x,ymin,ymax)进行归一化。其中:x是原矩阵;y是归一化的矩阵;ymin是归一化区间的最小值;ymax是归一化区间的最大值;ymax是1;ymin为-1。将归一化后的数据输入到神经网络,进行神经网络训练,可得到相应的类别输出。训练过程中满足非过拟合的情况,还需要强调误差尽量小的要求,并调节隐藏层节点。产生的预警提示可通过MATLAB的msgbox()函数实现警视窗输出,同时通过设置该函数,将出现跳变所在的数据位置给出,如数据在第45 组处发生一级预警,则给出弹窗,显示“1warn”和“x=45”的结果。
通过MATLAB对所提取的X13W1:OP:MO: PT:TC10:AI数据进行分析和训练,神经网络对数据知识的学习率达到90%以上。为验证训练结果的正确性,还需要对MATLAB的数据分析进行测试。为此,在已训练的上述85组数据之外,再提取10组数据进行测试,该数据中含有正常数据5组,一级预警3组,二级预警2组,输入到所设置的神经网络中。给出的结果如图 5,图 5中共有三种模式,其中列向量1 0 0代表正常,0 1 0代表一级预警,0 0 1代表二级预警。可以看出,该网络给出了全部弹窗,并且弹窗给出了出现跳变的数据位置,说明MATLAB实现了神经网络对SSRF的运行数据的分析和预警提示,显示的结果与实际情况完全吻合。
|
图 5 MATLAB给出的温度预警结果显示截图 Figure 5 MATLAB plot results for pre-alarm of the temperature. |
在完成了MATLAB神经网络对已提取的运行数据进行学习和训练后,测试的结果也证明了MATLAB对SSRF光束线设备运行数据分析的可实现性和正确性。在此基础上,还需要通过在线检测的方式来检验MATLAB对SSRF光束线运行数据处理的普适性。为此,将上述的方法应用于SSRF的另一条BL17U光束线站,提取2015年11月1日-15日的液氮冷却单色器温度的运行数据如图 6(a)、(b)所示。通过MATLAB的分析处理,从图 6(a)可以看出,BL17U单色器中处于同样位置的X17U1: OP:MO:PT:TC10:AI信号完全没有报警提示,只给出了数据的曲线图形。进一步观察数据的曲线图,可以看出在该时间段数据没有明显跳变,上下温度最大差值3 ℃左右,和之前选择的BL13W光束线站的X13W1:OP:MO:PT:TC10:AI信号特征相似,该信号处于神经网络训练的安全平稳区域内,说明前述的数据处理对上海光源BL17U单色器的温度信号TC10是可以正常预警的。
|
图 6 BL17U单色器温度信号的MATLAB分析结果 (a) X17U1:OP:MO:PT:TC10:AI,(b) X17U1:OP:MO:PT:TC2:AI Figure 6 Analysis result of the X17U1:OP:MO:PT:TC10:AI (a) and X17U1:OP:MO:PT:TC2:AI (b) in BL17U with MATLAB. |
再将MATLAB神经网络分析方法应用于BL17U的另一个温度信号X17U1:OP:MO:PT: TC2:AI进行数据处理,运行的结果如图 6(b)所示。MATLAB给出了较多的一级预警(1warn),同时也给出了预警数据所在的位置,但这样的结果是不符合实际情况(不应该有预警)。深入分析其数据曲线图,可以看出TC2的温度跳变趋势与TC10不同,有较大幅度的跳变。若将之前训练X13W1:OP:MO: PT:TC10:AI所获取的知识应用于各条光束线站同类型单色器在TC10位置上的数据处理,所得到的结果基本一致。一旦改变了信号点的位置,信号的特征会发生变化,所适用的规律也将变化,为了测试TC2处的结果,需要进行新的学习和训练,从而得到与之相对应的知识。若用TC2处的数据知识去检验BL13W光束线站单色器TC2的运行情况,则能得到同样正确的分类结果。因此,可以说MATLAB能正确处理SSRF光束线运行数据中具有相同特征的数据分析,并给出准确的预警提示,不同特征的数据需要与之相对应的学习和训练知识。
4 结语SSRF光束线站设备运行状态的数据分析内容较多,但本文只采用了MATLAB神经网络来处理其运行数据的预警分析。此外,MATLAB还可用于运行数据的稳定性分析和运行状态的统计分析等,MATLAB的数据处理功能强大,非常有利于提高光束线站运行数据的分析处理能力。在数据获取方面,本文采用ODBC连接SSRF Archive数据库,并使用MATLAB的神经网络处理其运行数据,较好地发现了数据中的知识,还推广到同类型数据的分析处理中。这种学习和训练只是初步的尝试,后续还需要进行更多方面的研究,如针对不同类型数据进行多条神经网络的信息挖掘;给出弹窗时,同时给出发生该弹窗现象的时间和信号当时的参数值;以及利用MATLAB的GUI (Graphical User Interface)功能实现界面友好的、操作简便的光束线站运行数据的可视化分析和显示等。采用MATLAB神经网络方法进行SSRF光束线站设备的预警设置,可减少因为设备故障而产生的停止供光的时间,进一步提高SSRF光束线站设备安全运行的效率。
| [1] |
祝晴. 分布式EPICS系统数据存档引擎[D]. 上海:中国科学院上海应用物理研究所, 2007.
ZHU Qing. Distributed archive engine for EPICS system data[D]. Shanghai:Shanghai Institute of Applied Physics, Chinese Academy of Sciences, 2007 ( 0)
|
| [2] |
杨建强, 罗先香. MATLAB软件工具箱简介[J].
水科学进展, 2001, 12 (2) : 287 –242.
YANG Jianqiang, LUO Xianxiang. MATLAB sofeware toolbox[J]. Advances in Water Science, 2001, 12 (2) : 287 –242. ( 0)
|
| [3] |
钟敏芸. 基于MATLAB的时间序列预测[J].
电脑知识与技术, 2015, 11 (29) : 206 –208.
ZHONG Minyun. The prediction of time series based on MATLAB[J]. Computer Knowledge and Technology, 2015, 11 (29) : 206 –208. ( 0)
|
| [4] |
Godman. MATLAB数据库编程指南[EB/OL]. 2009-3-30[2010-9-28]. http://www.Matlabsky.com/forum.php?mod=viewthread&tid=10302
( 0)
|
| [5] |
李林. 基于Web Service的SSRF存档数据服务系统[D]. 上海:中国科学院上海应用物理研究所, 2007:15-17.
LI Lin. SSRF archive data analysis system based on Web Service[D]. Shanghai:Shanghai Institute of Applied Physics, Chinese Academy of Sciences, 2007:15-17 ( 0)
|
| [6] |
Hu Z, Mi Q R, Zhen L F, et al. EPICS data archiver at SSRF beamlines[J].
Nuclear Science and Techniques, 2014, 25 : 020103 .
DOI: 10.13538/j.1001-8042/nst.25.020103 ( 0)
|
| [7] |
Li B J, Cheng C T. Monthly discharge forecasting using wavelet neural networks with extreme learning machine[J].
Science China (Technological Sciences), 2014, 57 (12) : 2441 –2452.
( 0)
|
| [8] |
利昌, 郭向勇, 傅国强. 基于反向传播神经网络的无线火灾预警系统[J].
现代电子技术, 2012, 35 (13) : 53 –55.
LI Chang, GUO Xiangyong, FU Guoqiang. Fire disaster wireless early warning system based on BP neural network[J]. Modern Electronics Technique, 2012, 35 (13) : 53 –55. ( 0)
|
| [9] |
Zhou M H, Wang F D, Zhang H H. Study of enterprises marketing risk early warning system based on BP neural network model[J].
Journal of China University of Mining &Technology, 2006, 16 (3) : 371 –375.
( 0)
|


0)