张 璟,张 明,郑 玮,何 泱,彭燕源,庄 革,丁同海,于克训
(1.华中科技大学 强电磁工程与新技术国家重点实验室,湖北 武汉 430074;2.华中科技大学 电气与电子工程学院,湖北 武汉 430074)
J-TEXT装置原为德克萨斯大学(奥斯丁)的TEXT-U聚变实验装置,2005年在华中科技大学恢复重建,2007年放电运行,是一中型托卡马克装置[1]。托卡马克装置由主机和多个子系统组成,需一套中央控制系统来协调各子系统工作、控制装置运行状态和保障设备及人员安全。J-TEXT装置原有的中央控制系统[2]是由1台PC机和1台工业控制计算机组成。PC机为上位机,通过以太网使用TCP、UDP协议传输数据,设置各子系统的控制参数,控制装置的运行状态;工业控制计算机为下位机,使用I/O卡通过同轴电缆传输信号,输出时序触发,监控各子系统状态和处理故障。该系统满足了J-TEXT装置放电实验的基本要求,但其功能较简单,随装置放电实验的深入,暴露出一些不足,主要表现在:1) 原系统模块化程度不高,各子系统间无统一的设计模型,也未制定统一的软硬件标准,维护升级较繁杂;2) 各子系统间直接使用TCP/IP协议和UDP协议传输信息,各自使用了不同的通讯格式,导致增加新子系统时需要支持新的通讯格式,系统扩展性较差;3) 原时序控制和联锁保护功能由基于QNX实时操作系统的程序控制I/O卡完成,采用软件计时,抖动明显,并缺少同步时钟信号,同时采用集中式结构,不便于扩展。
国际热核聚变实验堆(ITER)是目前全球规模最大、影响最深远的国际科研合作项目之一,也是目前人类正在建造的最大的超导托卡马克装置。为确保各方参与研制的子系统能在长达几十年的建设和运行过程中顺利地实现系统集成、维护和更新,在ITER中设计了CODAC系统[3-5]。本文参考ITER CODAC的设计思路,结合J-TEXT装置的需求设计J-TEXT CODAC系统,对整个控制系统进行一系列升级改造工作。
J-TEXT CODAC系统包含了J-TEXT装置上所有参与控制任务的软、硬件,集成了常规控制功能和保护设备、人员安全的功能。该系统是一分布式控制系统,由中央CODAC系统(CCS)和多个子系统构成,CCS实现控制功能的集成,子系统实现具体的控制功能,如实验流程控制、联锁保护、等离子体实时控制等。J-TEXT CODAC系统内的通讯使用基于EPICS[6]CA协议的EPICS控制网络,系统总体设计如图1所示。
图1 J-TEXT CODAC系统总体设计
CCS是J-TEXT CODAC系统的中央控制部分,实现控制功能的集成,由与各子系统通讯的OPI组成。CCS监视子系统状态和发布指令,同时还记录和处理警报及通过网络服务提供远程控制接口。OPI可由任意支持EPICS CA协议的界面开发软件来设计,如MEDM[7]、Control System Studio[8]等。
在CCS中,大部分OPI采用了MVC构架,使用EPICS库和C#语言开发。MVC构架可实现面向设备的开发模式,子系统中的每个设备对应一个Model,通过CA协议与各设备通讯,并将设备的状态和功能以属性和方法提供给Controller调用。View提供显示和操作的图形界面。Controller连接各Model和View,View通过Controller直接操作相应设备的Model,无需考虑EPICS通讯的问题。这样,Model代表具体的设备,Model和View可实现代码分离。各OPI在显示方式上差异很大,可根据需要开发相应的View,而Model的功能相近,大部分情况下无需修改代码。Model采用XML文件来配置相关EPICS通讯的信息,只需加载各自的XML文件即可实现与相应的设备通讯,提高了Model的代码利用率。
J-TEXT CODAC系统内的通讯通过以太网由EPICS CA协议实现,称为EPICS控制网络,统一的通讯接口提高了集成、维护和更新的效率。EPICS包括两部分:IOC层和OPI层。IOC对应设备中的I/O及本地的控制任务,并将设备信息通过CA协议以PV的形式发布;OPI通过CA协议可订阅PV,访问EPICS控制网络中IOC发布的PV,监测和修改各PV。
图2 J-TEXT EPICS IOC结构
J-TEXT CODAC系统中未使用原版EPICS IOC,而是使用C#语言开发了J-TEXT EPICS IOC, 并通过Mono[9]技术实现了跨平台移植,可运行于Windows、Linux、Mac操作系统上。J-TEXT EPICS IOC与原版EPICS IOC功能类似,支持CA协议,兼容基于原版EPICS的各种软件,可与MEDM、原版EPICS IOC等通讯。J-TEXT EPICS IOC的结构如图2所示,其通过接口技术支持驱动和插件。驱动完成与硬件的通讯,将设备中I/O输入的物理量以PV发布,及将PV通过I/O输出;插件可用于处理IOC中发布的PV,扩展IOC的功能。J-TEXT EPICS IOC使用XML作为配置文件,J-TEXT SDD数据库提供了创建该XML文件的工具。J-TEXT EPICS IOC加载该文件即可实现各种所需的功能。J-TEXT SDD 数据库是一基于XML的设备描述系统。每个新接入的设备均要通过SDD生成相应的、统一标准的配置文件,这样J-TEXT CODAC系统即可像运行其他已有设备一样运行新加入的设备。
J-TEXT CODAC系统中各子系统需完成的具体控制任务不同,内部的软、硬件也各不相同。为了提高模块化和标准化程度,J-TEXT CODAC系统定义了统一的设计模型,基本结构如图3所示。控制器完成具体的控制任务,并运行J-TEXT EPICS IOC,通过EPICS控制网络与CCS和其他子系统通讯。部分控制器无法运行J-TEXT EPICS IOC,需通过PSH连接EPICS控制网络。PSH运行J-TEXT EPICS IOC和一系列插件,将PV转换为指定格式的消息通过UDP、RS-232串口等与这些控制器通讯。PSH还需监视子系统内各控制器的状态,综合得出整个子系统的状态。子系统实现基于状态转换设计模式和发布/订阅设计模式的状态机模型,通过EPICS控制网络发布自己的状态,订阅CCS发送的指令和当前放电实验的状态,并据此改变自己的状态。
图3 子系统结构
子系统可通过时序节点接收时序和同步控制系统发出的时钟、触发信号,通过本地联锁保护节点,发出内部故障信号和接收全局故障信号。由于EPICS控制网络的实时性不高,时序节点和联锁保护节点通过专有网络连接。
J-TEXT装置中有很多子系统,其中全局控制系统、时序和同步控制系统和全局联锁保护系统提供了J-TEXT CODAC系统的必要功能,本文按照J-TEXT CODAC标准中的子系统模型设计了这3个关键的子系统。
全局控制系统(GCPS)负责控制J-TEXT装置的实验流程,对其他子系统进行集中管理,协调各子系统的工作。GCPS通过EPICS控制网络发布J-TEXT装置放电实验当前的状态(包括空闲、准备、就绪、放电、结束、错误),其他子系统将订阅该状态并据此改变自己的状态(包括空闲、就绪、运行、结束、错误),GCPS再根据这些子系统的状态改变放电实验状态,放电实验状态的装换过程如图4所示。由于子系统间有可能存在依赖关系,例如MDSPlus数据存储系统在MDSPlus数据库中创建新炮号后,其他系统才能存储数据,因此Prepare状态分为多个阶段,工作人员通过CCS发出开始指令后依次进入准备1、准备2、准备3……,子系统分先后进行准备。出现故障后放电实验状态转入错误,需CCS发出复位指令,再转入结束状态。
图4 放电实验状态转换示意图
这种基于状态转换和发布/订阅的状态机模型减少了子系统间的耦合,提高了J-TEXT CODAC系统的集成、维护和更新工作的效率。当某个子系统需集成到J-TEXT CODAC系统时,只需订阅放电实验状态,并在合适的准备阶段进行准备工作,不需将其状态分别通知原有的子系统,原有的子系统也不需修改。
GCPS由一套运行于服务器上的软件构成,包括J-TEXT EPICS IOC和状态机插件等。J-TEXT EPICS IOC通过CA协议发布自己的状态,获取其他子系统的状态和CCS的指令。状态机插件的状态转换规则是由XML描述的,状态机可读取不同规则的XML、实现不同的状态转换。GCPS同时提供了一个软件来修改和测试这些XML,需要时可用于更改实验流程。
全局联锁保护系统(GIPS)负责故障信号,保障J-TEXT装置安全运行。当子系统内部的Plant联锁保护节点检测到内部故障时,将内部故障信息通过联锁保护网络告知GIPS,GIPS分析处理后通过联锁保护网络将全局故障信息发送给受影响的子系统内的Plant联锁保护节点。子系统间不直接传递故障信号,以减少相互间的耦合。
全局联锁保护系统和Plant联锁保护节点使用了NI的CompactRIO控制器[10]。CompactRIO由FPGA模块和嵌入式处理器模块构成。联锁保护的功能在FPGA上通过硬件实现,保证故障信号处理的实时性和可靠性,嵌入式处理器模块负责管理FPGA和通讯功能。CompactRIO间的故障信息的传递使用基于EtherCAT技术的联锁保护网络完成。CompactRIO支持EPICS CA协议,可直接连入EPICS控制网络,工作人员可通过CCS监控GIPS的状态、配置联锁保护的运行规则。
时序和同步控制系统(TSPS)为其他子系统提供触发信号和同步时钟信号。当实验状态转为Discharging时,TSPS转为运行状态,按CCS的设置发出触发信号,其他子系统接收到触发信号后开始运行,转为运行状态。TSPS采用树形的分布式网络结构,由多个时序节点组成,根时序节点通过光纤向第1级时序节点发送触发和时钟信号,再依次发送至下一级。
时序节点使用FPGA实现,所有功能均通过硬件完成,保障定时的精度和可靠性。FPGA不能运行EPICS软件,需通过RS-232串口与PSH相连,再接入EPICS控制网络。工作人员可通过CCS监控TSPS的状态、配置各时序节点的触发和时钟。
对J-TEXT装置原控制系统按照子系统标准进行改造,使其集成到J-TEXT CODAC系统中,以下以等离子体控制系统为例简单介绍改造过程。
等离子体控制系统的功能是在实验过程中实时控制等离子体位形等参数。原等离子体控制系统中的各控制器采用工业控制计算机和I/O卡,运行QNX实时操作系统[11],没有相应版本的EPICS软件,无法直接连入EPICS控制网络。J-TEXT CODAC通过使用PSH连接工业控制计算机,实现EPICS通讯、状态机模型,使其符合J-TEXT CODAC的标准,顺利将其集成到J-TEXT CODAC系统中。PSH与工业控制计算机上的控制程序通过UDP通讯,PSH定时对其发出回应指令,控制程序返回等离子体控制系统当前状态,PSH将状态通过EPICS控制网络发布。工作人员通过CCS配置等离子体控制系统的运行波形和参数后,CCS将波形和参数以PV传递给PSH。PSH订阅了实验状态PV,当实验状态改变时,PSH根据波形和参数自动生成指令,然后通过UDP发送给工业控制计算机上的控制程序。工业控制计算机上原有的基于QNX的控制程序无需进行修改,即可按照接收的波形和参数运行。
J-TEXT CODAC系统由CCS和子系统两层构成,之间使用基于CA协议的EPICS控制网络连接。J-TEXT CODAC系统为各子系统提供了统一的设计模型和设计标准,同时,按照统一的模型重新设计了关键子系统,改造了原有子系统,提高了系统的模块化程度和扩展性。目前,该系统已在J-TEXT装置上完成部署,经2012年春季以来的多轮实验测试,取得了良好的控制效果,在实际托卡马克环境中验证了ITER CODAC的相关设计。
参考文献:
[1]ZHUANG G, PAN Y, HU X W, et al. The reconstruction and research progress of the TEXT-U Tokamak in China[J]. Nuclear Fusion, 2011, 51(9): 094020.
[2]杨州军,庄革,胡希伟,等. J-TEXT装置中央控制系统的设计与实现[J]. 核聚变与等离子体物理,2009,29(2):161-165.
YANG Zhoujun, ZHUANG Ge, HU Xiwei, et al. Design and realization of centra control system for J-TEXT Tokamak[J]. Nuclear Fusion and Plasma Physics, 2009, 29(2): 161-165(in Chinese).
[3]LISTER J B, FARTHING J W, GREENWALD M, et al. The ITER CODAC conceptual design[J]. Fusion Engineering Design, 2007, 82: 1 167-1 173.
[4]JOURNEAUX J Y, JOONEKINDT D, KLOTZ W D, et al. Instrumentation and control standardization in the ITER project[J]. Fusion Engineering Design, 2011, 86: 1 157-1 162.
[5]WALLANDER A, ABADIE L, DAVE H, et al. ITER instrumentation and control-status and plans[J]. Fusion Engineering Design, 2010, 85: 529-534.
[6]The Experimental Physics and Industrial Control System home page[DB/OL]. [2013-6-13]. http:∥www.aps.anl.gov/epics/.
[7]The Motif Editor and Display Manager home page[DB/OL]. [2013-6-13]. http:∥www.aps.anl.gov/epics/extensions/medm/index.php.
[8]The Control System Studio home page[DB/OL]. [2013-6-13]. http:∥www.aps.anl.gov/epics/eclipse/.
[9]The Mono Project home page[DB/OL]. [2013-6-13]. http:∥www.mono-project.com/Main_Page.
[10] The CompactRIO home page[DB/OL]. [2013-6-13]. http:∥www.ni.com/compactrio/.
[11] 邱胜顺,张明,庄革. J-TEXT托卡马克等离子体电流及位移反馈控制系统[C]∥中国核学会2009年学术年会论文集. 北京:原子能出版社,2009:102-107.