2. 中国科学院大学 北京 100049
2. University of Chinese Academy of Sciences, Beijing 100049, China
恶性肿瘤已逐渐成为威胁人类生命健康的第一要素[1]。质子治疗可以使其Bragg峰直接作用于肿瘤,相比传统的放射线治疗,质子治疗大大减少了治疗过程中对肿瘤周围正常组织的损伤,已成为世界各国肿瘤治疗的最新技术[2]。上海质子治疗示范装置是我国首台国产相关设备,其建成将填补我国在该领域的空白。该装置主要由质子注入器、同步加速器、束流运输线、治疗头等组成。其中,质子注入器产生持续稳定的高品质束流是该装置正常工作的前提条件。因此实现完善可靠控制系统的构建是其各系统稳定协调运行的基础[3]。
质子注入器自带的控制系统是基于LabVIEW的本地控制,无法进行远程控制。而构建质子注入器的远程控制系统可以实现对其实时远程监测和控制,实现质子治疗装置多系统联调和运行。因此,开发适用于质子注入器的远程控制及监测系统是提升该设备实用性与人性化的系列工作中的重要一环。当前,质子注入器自带的控制系统有两种工作模式(本地和远程)。在本地模式下,只能在质子注入器自带的控制系统界面上对质子注入器进行控制。在远程模式下,本地控制计算机通过以太网利用TCP/IP (Transmission Control Protocol/Internet Protocol)协议实现与远程控制计算机的通信,进而实现在远程控制界面上对质子注入器的工作状态进行实时显示及控制。但该远程控制系统需要自行开发,这也是本文需要完成的工作。
鉴于此,本文提出了基于实验物理和工业控制系统(Experimental Physics and Industrial Control System, EPICS)的质子注入器远程控制及监测系统。该系统可通过TCP/IP协议实现在线实时的对注入器运行状态量进行获取以及修改,及时地了解质子注入器的运行状况,实现稳定的束流输出[4]。
1 EPICS介绍EPICS是一个一整套的开源软件工具、库和应用程序。目前被广泛地应用于粒子加速器、望远镜以及大科学装置的分布式实时控制系统的开发[5-6]。
EPICS的图形界面绘制工具有EDM (Extensible Display Manager)、MEDM、DM2K以及EDD/DM[7]。本文中远程控制系统界面所采用的绘制工具为EDM,它是由美国橡树岭实验室(Oak Ridge National Laboratory, ORNL)负责开发的OPI软件工具,用来实现对IOC实时数据库中的数据进行控制和监测[8]。
2 系统描述质子注入器主要由离子源、射频四级场(Radio Frequency Quadrupole, RFQ)、漂移管直线加速器(Drift Tube Linac, DTL)、束散器(Debuncher, DEB)以及其中的真空系统、冷却系统等组成。离子源、RFQ、DTL和DEB由独立控制机柜进行控制(每个控制机柜内含三个Group3控制模块)。机柜负责状态参数采集,通过光纤传输到质子注入器本地控制计算机,实现设备工作状态实时显示及本地参数调整(图 1)[9]。
![]() |
图 1 质子注入器结构示意图 Figure 1 Schematic diagram for the structure of proton injector |
为了实现对质子治疗装置各个部分的整体控制,及时掌握系统的整体状态,根据质子注入器远程通信协议实现其本地控制计算机与远程控制计算机之间的通信,设计出远程控制系统,同时将远程控制计算机的控制系统接入到质子治疗装置自行开发的基于EPICS的控制系统内。图 2为质子注入器控制机柜、本地控制主机和远程控制主机三者之间的通信过程。
![]() |
图 2 质子注入器控制系统通信过程 Figure 2 Communication process of the proton injector control system |
上海质子治疗示范装置现有一套自行开发的基于EPICS的控制系统,该系统可实现质子治疗装置各个设备的控制。为了方便装置的整体调试,需要开发质子注入器远程控制系统,同时将其接入现有控制系统。
本远程控制系统采用C/S (Client/Server)架构,实现质子注入器本地控制计算机与远程控制计算机的一对一通信,进而实现远程控制计算机对质子注入器工作状态的获取及运行参数的修改。
本地控制系统与远程控制系统的交互利用Socket的两个端口(PERIODIC和EVENT端口)实现不同类型的数据发送。为实现在通信过程中消息的异步收发,减少对系统资源的占用,在Socket中嵌入Select模型。具体的发送数据类型以及发送端口见表 1。
![]() |
表 1 远程控制系统通信数据类型 Table 1 Remote control system communication data type |
其中Analog Data Packet和Digital Data Packet由本地控制系统通过PERIODIC端口每隔250 ms发送给远程控制系统;Setting Parameters Packet由远程控制系统在需要改变参数时通过EVENT端口发送给本地控制系统;Tube Condition Data Packet和Tube Fault Data Packet在远程控制系统需要的时候由本地控制系统通过EVENT端口发送给远程控制系统;Comm.Check Receiving Packet和Comm.Check Sending Packet通过EVENT端口实现本地控制系统和远程控制系统的交替发送实现检查本地和远程控制系统之间的连接状态。
此外,本地控制计算机与远程控制计算机在运行过程中有大量的数据需要交换,所有发送的数据包都采用统一的格式,方便接收数据的解析。具体的数据包格式见表 2。
![]() |
表 2 通信数据包格式 Table 2 Communication data packet format data type |
表 2中的每一行代表数据包中的一个字段,每一条字段的分别表示数据包的发送方和接收方的ID;第三个字长度都为4 Byte (32 bit)。其中第一和第二个字段实现对发送数据包的计数;第4-9个字段用来记录数据包发送的时间(年、月、日、时、分、秒);第10个字段对应于表 1中不同的通信数据类型;当传输的数据超过规定的长度时,需要对数据部分进行分块,第11、12个字段分别用来记录总的数据块数和当前是第几个数据块,第17到倒数第二个字段全部为传输的数据,其中通过PERIODIC端口传输的数据包,该部分最大长度为10 KB,通过EVENT端口的为250KB,最后一个字段为数据包的结束标识。
4 系统实现 4.1 系统开发环境的建立注入器远程控制系统的开发主机为运行Linux的PC机,安装系统为64位的CentOS 7系统,安装EPICS Base、extensionsTOP、EDM。
4.2 数据传输的实现远程控制计算机和本地控制计算机之间的数据传输采用Socket常见的面向连接的TCP协议的数据流套接字模型,确保数据传输的可靠性[10]。
图 3为利用Socket进行数据传输的示意图。
![]() |
图 3 通过SOCKET传输数据流程图 Figure 3 Flow chart of data transmission via SOCKET |
首先启动远程控制计算机,它通过调用Socket()建立一个流式套接字,然后调用Bind()为该套接字配置本地端口和IP,再调用Listen()监听和接收本地控制计算机的连接请求。当启动本地控制计算机后,本地控制计算机调用Connect()向其发出连接请求之后,其通过调用Accept()接受本地控制计算机的请求。一旦连接建立,本地控制计算机和远程控制计算机通过Recv()和Send()来完成数据收发[11]。
4.3 异步通信的实现套接字Select模式是一种比较常见的I/O模型,其能使Socket应用程序同时对多个套接字进行管理。通过调用select()函数检查当前各个套接字的状态,并根据该函数的返回值,判断该套接字可读可写性,然后调用Socket接口,完成数据的收发。该模型在消除了多线程I/O模型在多线程的创建、销毁和切换时效率低和内存消耗大的缺点同时实现了数据的异步收发。
Select多路复用单线程模型[12]比阻塞I/O多线程模型具有占用资源少、逻辑清晰、高效灵活等优点。因此为了实现异步I/O,本文采用Select多路复用单线程模型。
4.4 与EPICS控制系统对接Python的第三方工具包PCASpy提供了Python程序与EPICS的接口。PCASpy不仅提供了与EPICS便携式通道访问服务器的低级别Python连接,还提供了必要的高级抽象,以简化服务器工具编程[13]。
在程序中根据EPICS文档中提到的PV格式进行PV定义,在程序中继承PCASpy提供Driver()类实现重写write()、read()、setParam()和getParam()实现对PV赋值、读取当前值、设置当前值且更新PV值和返回当前值。同时在程序发主程序里写入如图 4所示的程序,实现程序与EPICS之间的交互,可以利用EPICS的指令对PV值进行设置、读取或监视。
![]() |
图 4 控制系统程序与EPICS之间交互代码 Figure 4 Interaction code between control system and EPICS |
注入器远程控制界面包括参数设置界面,RFQ、DTL、DEB和ICU的状态显示界面。利用参数设置界面,可以实现对注入器的灯丝电流、气压等对注入器状态影响较大的一些参数进行设置;通过RFQ、DTL、DEB和ICU的状态显示界面可以实现对注入器的300多个状态量进行实时监控。
EPICS提供了丰富的图形界面绘制工具,EDM自带的图形化的监视、控制和图表等控件,只需通过将控件的PV与和数据库中的记录名称相互绑定即可,不需要进行额外的编程,操作简单。
本文中的控制界面使用EDM绘制。利用将程序中定义的状态量名称与EDM控件的PV值进行绑定,实现控件的PV值随着状态值实时更新,通过EPICS定义的CA协议访问控件的PV值实现控制界面上注入器的状态值的实时变化。
图 5为质子注入器的参数设置界面。该界面显示当前设置值和系统实时返回值。通过该界面,用户可以实现对质子注入器Filament Current、Arc Voltage、Gas Pressure、Pierce Anode Voltage、Einzel Lens Voltage、DBC Relative Phase、Extraction Voltage、Magnet Current等参数进行远程设置与修改。当修改值超过系统规定范围时,系统自动对用户进行提醒。
![]() |
图 5 质子注入器参数设置界面 Figure 5 Interface of parameter setting for proton injector |
图 6为质子注入器中DEB参数状态显示界面,通过该界面,用户可获得DEB的S & H Delay等25个模拟量及Mux A3等48个状态量的实时情况。因此可实现DEB的全面实时状态监控。
![]() |
图 6 DEB状态显示界面 Figure 6 Interface of DEB parameter status |
本文实现了质子注入器的远程控制系统,在Linux环境下,利用Python编程技术及PCASpy工具包提供的接口接入到质子治疗装置自行开发的基于EPICS的控制系统内,实现了对质子注入器的远程控制。通过该系统可进行对注入器工作参数的远程获取与修改,为质子治疗装置的智能远程整体调试及在线监控提供了软件基础。
[1] |
戴旭东. 恶性肿瘤的危害及预防[J]. 实用肿瘤学杂志, 1994(3): 70-72. DAI Xudong. The harm and prevention of malignant tumor[J]. Journal of Practical Oncology, 1994(3): 70-72. |
[2] |
唐劲天, 左宗焕. 质子治疗肿瘤的现状与发展趋势[J]. 中华肿瘤杂志, 2001, 23(1): 7-10. TANG Jintian, ZUO Zonghuan. Current status and development trend of proton therapy for tumor[J]. Chinese Journal of Oncology, 2001, 23(1): 7-10. |
[3] |
于春蕾. ADS注入器Ⅱ强流质子RFQ加速器控制系统的研究[D]. 北京: 中国科学院大学, 2014. YU ChunLei. Study of the control system of the high intensity proton RFQ for ADS injector Ⅱ[D]. Beijing: University of Chinese Academy of Sciences, 2014. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y2747433 |
[4] |
赵籍九, 尹兆升. 粒子加速器技术[M]. 北京: 高等教育出版社, 2005, 429-430. ZHAO Jijiu, YIN Zhaosheng. Particle accelerator technology[M]. Beijing: Higher Education Press, 2005, 429-430. |
[5] |
EPICS homepage[ED/OL]. [2017-04-06]. http://www.aps.anl.gov/epics/.
|
[6] |
冯利文, 林林, 王芳, 等. 基于EPICS的ERL加速器控制系统[J]. 核电子与探测技术, 2013, 33(7): 787-790. FENG Liwen, LIN Lin, WANG Fang, et al. EPICS based computer system for ERL accelerator[J]. Nuclear Electronics & Detection Technology, 2013, 33(7): 787-790. |
[7] |
EDM homepage[ED/OL]. [2017-04-06]. http://ics-web.sns.ornl.gov/edm/.
|
[8] |
Sinclair J, Kasemir K, Johnson A. Extensible display manager for EPICS[ED/OL]. [2017-04-06]. http://www.aps.anl.gov/epics/docs/USPAS2007/lectures/EDM.pdf.
|
[9] |
PULSAR 7 radiotracer system description and specification[ED/OL]. [2017-05-10]. http://www.accsys.com/pulsar.html.
|
[10] |
郭东升, 田秀华. Linux环境下基于Socket的网络通信[J]. 软件导刊, 2009, 8(1): 116-118. GUO Dongsheng, TIAN Xiuhua. The Socket-based network communication in Linux environment[J]. Software Guide, 2009, 8(1): 116-118. |
[11] |
张允刚, 刘常春, 刘伟, 等. 基于Socket和多线程的远程监控系统[J]. 控制工程, 2006, 13(2): 175-177. ZHANG Yungang, LIU Changchun, LIU Wei, et al. Remote monitoring system based on Socket and multi threading[J]. Control Engineering of China, 2006, 13(2): 175-177. |
[12] |
王华伟. 基于异步多线程机制的实时通信研究[J]. 铁路通信信号工程技术, 2017, 14(3): 18-22. WANG Huawei. Study on asynchronous multithreading mechanism-based real time communication[J]. Railway Signalling & Communication Engineering, 2017, 14(3): 18-22. |
[13] |
PCASpy homepage[ED/OL]. [2017-05-10]. http://pcaspy.readthedocs.io/en/latest.
|