等离子体控制系统用户界面与参数管理.pdf
《等离子体控制系统用户界面与参数管理.pdf》由会员分享,可在线阅读,更多相关《等离子体控制系统用户界面与参数管理.pdf(8页珍藏版)》请在文库网上搜索。
1、等离子体控制系统用户界面与参数管理谢文静1,2,张睿瑞1,肖炳甲1,袁旗平1,徐根1,2,严玲玲11(中国科学院合肥物质科学研究院等离子体物理研究所,合肥230031)2(中国科学技术大学,合肥230026)通信作者:张睿瑞,E-mail:摘要:等离子体控制系统是聚变实验中重要的系统之一,用于对等离子体的各项参数进行实时的反馈控制.目前自主研发的等离子体控制系统基于组件模型开发,其核心控制功能通过算法组件执行各种等离子体控制算法来实现,需要提供图形界面编辑算法的预设参数,并对参数进行管理,因此基于 PyQt5 实现图形界面,并开发参数配置组件负责参数存储回调,通过发布订阅通讯机制完成两者的数据
2、传输.采用可扩展标记语言定义控制算法预设参数信息使得用户界面与控制算法解耦,通过接口描述语言统一定义参数数据结构,设计 MySQL 数据库存储历史参数数据,并基于发布/订阅通讯机制完成数据通讯.关键词:用户界面;可扩展标记语言;接口描述语言;发布/订阅引用格式:谢文静,张睿瑞,肖炳甲,袁旗平,徐根,严玲玲.等离子体控制系统用户界面与参数管理.计算机系统应用,2023,32(10):115122.http:/www.c-s- Interface and Parameter Management of Plasma Control SystemXIEWen-Jing1,2,ZHANGRui-Rui
3、1,XIAOBing-Jia1,YUANQi-Ping1,XUGen1,2,YANLing-Ling11(InstituteofPlasmaPhysics,HefeiInstitutesofPhysicalScience,ChineseAcademyofSciences,Hefei230031,China)2(UniversityofScienceandTechnologyofChina,Hefei230026,China)Abstract:Plasmacontrolsystemisoneofthecriticalsystemsinfusionexperiments,responsiblefo
4、rreal-timefeedbackcontrolofvariousplasmaparameters.Theexistingindependentlydevelopedplasmacontrolsystemadoptsacomponent-basedmodel,withitscorecontrolfunctionimplementedbyexecutingvariousplasmacontrolalgorithmsthroughalgorithmcomponents.Itrequirespresetparametersofthegraphicalinterfaceeditingalgorith
5、mandwillmanagethem.Therefore,thegraphicalinterfaceisimplementedbyusingPyQt5,andaparameterconfigurationcomponentisdevelopedtoprocessparameterstorageandretrieval.Datatransmissionbetweenthemisachievedthroughpublish/subscribemessagingmechanism.Extensiblemarkuplanguageisusedtodefinethepresetalgorithmpara
6、meterinformation,soastodecoupletheuserinterfaceandcontrolalgorithm.Theparameterdatastructureisuniformlydefinedthroughinterfacedescriptionlanguage,andMySQLdatabaseisdesignedtostorehistoricalparameterdata.Datacommunicationiscompletedbasedonpublish/subscribemessagingmechanism.Key words:userinterface;ex
7、tensiblemarkuplanguage;interfacedescriptionlanguage;publish/subscribe托卡马克装置是目前最有希望实现受控核聚变从而解决能源危机的实验装置,其物理实验的开展依赖于高效稳定的等离子体控制系统(plasmacontrolsystem,PCS)1.正在设计的下一代 PCS 是面向中国聚变工程实验堆(Chinafusionengineeringtestreactor,CFETR)开发的2,基于组件架构设计,对控制系统的核心部分计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&A
8、pplications,2023,32(10):115122doi:10.15888/ki.csa.009242http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:国家磁约束核聚变能发展研究专项(2018YFE0302100);国家自然科学基金(12075285,U1867222)收稿时间:2023-01-29;修改时间:2023-04-10;采用时间:2023-04-23;csa 在线出版时间:2023-07-14CNKI 网络首发时间:2023-07-17SystemConstruction系统建设115进行抽象和分离,形成等离子体控制
9、框架.控制框架有丰富的应用组件,如工作流组件用于协调各个组件之间工作流程,参数配置组件用于管理 PCS 的预设参数,日志组件用于记录系统及实验日志等.同时,框架提供任务分配、进程同步、数据通讯等功能,根据装置运行需求,需要依托等离子控制框架发展更多的控制算法来实现 PCS 对等离子体的控制.随着诊断手段和激励系统的增加,更多的控制算法会被集成到控制系统中,因此需要开发用户界面作为系统前端,实现算法预设参数的有效输入,并开发参数配置组件负责预设参数的高效管理.1研究现状与需求分析 1.1 研究现状韩国 KSTAR 装置针对常用操作,开发了 KWT 控件库以实现对 EPICS 数据系统的不同访问通
10、道3,开发人员基于 KWT 复用编程,可灵活实现不同的操作界面,对实验数据进行处理与查看.华中科技大学主研的 J-TEXT 装置基于模型-视图-控制器(model-view-controller,MVC)模式开发模块化框架4,将与 EPICS 的数据交互操作定义为模型,在此基础上复用功能相似的视图类,开发程序界面时可复用功能相似的视图类,并要求尽可能继承或实现特定的类或接口,最大程度地避免冗余和独立的代码.中科院等离子体物理研究所研制的 EAST 装置,其等离子体控制系统继承发展自美国的 DIII-D 装置等离子体控制系统5,主要模块通过 C 语言编写,用户界面使用交互式数据语言(intera
11、ctivedatalanguage)实现.当控制算法更新时,既需要修改 C 语言文件,也可能需要 IDL 编写其独立界面框,对算法开发人员来说学习门槛较高,使用体验不佳.1.2 需求分析PCS 用户界面与参数管理的功能性需求主要包括以下 3 个部分.(1)用户界面需要与具体算法解耦.用户使用用户界面选择参与当前实验的控制算法及设置算法具体的预设参数.用户界面的布局和生成方式不应随着算法的更新而改变.因此界面的设计需要与具体算法解耦,使得算法开发人员专注于具体的算法逻辑实现,而无需担心界面生成的方便与否.(2)多用户模式.控制系统在实验时会有多个终端同时设置数据的情况,需要考虑界面与等离子体框架
12、之间有良好的通信机制,能够及时将用户的修改通知其他用户,并且快速同步数据.(3)存储并回调功能.每次实验中控制系统需要设置上千条参数,逐一设置会给操作人员带来很大的工作量.因此需要有设置历史数据存储及回调功能,在用户界面上以历史设置为基础进行修改,形成下一次实验的参数预设.1.3 技术选型Qt 是一个易用高效的图形用户界面(graphicaluserinterface,GUI)框架,通过 QtDesigner 可以设计 GUI程序界面,大大提高开发效率6.控制算法开发人员大多是物理研究人员,了解和使用 Python 语言.基于此我们采用了 Python 和 PyQt5 设计开发了控制系统的用户
13、界面,使用接口描述语言(interfacedescriptionlangu-age,IDL)定义统一的数据接口,基于 ZeroMQ 开发订阅/发布的消息通讯模式,采用 MySQL 数据库存储预设参数,并通过参数配置组件统一管理参数的存取与传输.整体设计如图 1,主要包括用户界面(userinterface,UI)、参数配置组件(configurationserver,CS)以及数据库(database,DB)这 3 部分功能.在实验准备阶段,用户通过 UI 与 CS 通信实现对算法预设参数(algorithmparameters)的编辑,实验开始时通过 CS 将当前所有算法预设参数写入数据库进
14、行存储,并发往实时(realtime,RT)组件,供实时工作结点进行算法执行.UICSDBRTAlgorithmparametersAlgorithmparametersAlgorithmparameters图 1系统架构计 算 机 系 统 应 用http:/www.c-s-2023年第32卷第10期116系统建设SystemConstruction2界面设计与实现 2.1 控制算法介绍PCS 按照被控对象的不同,将等离子体电流、位形、密度等控制内容划分为不同的控制目录(category).每个控制目录有多个控制算法(algorithm),在实验中被用于不同放电阶段(phase),因此一个 p
15、hase 包含了指定的控制算法以及该算法执行过程中各时刻所需的数据7.并且同一个控制算法在整个放电过程中可能会被多次使用,需要设置控制算法参与的执行序列,即放电时序(sequence).用户界面中需要组织、呈现的算法结构大致如图 2 所示,每个控制目录下包含多个放电时序,放电时序则由多个放电阶段构成.并且由于控制算法的数据项较多,根据其间的关联性划分为不同的子集(subset),子集内的预设参数则具体分为两类:一类是随时间变化的波形数据,由一组顶点组成;一类是不随时间变化的静态数据,如运行模式、采集信号标定系数设置等.Cat 1PCSPhase 1.1.1Phase 1.1.NPhase 1.
16、N.1Phase 1.N.NPhase N.1.1Phase N.1.NPhase N.N.1Phase N.N.NSeq N.1Seq N.NSeq 1.1Seq 1.NCat N图 2PCS 控制算法结构 2.2 算法呈现与解析可扩展标记语言(extensiblemarkuplanguage,XML),利用自我描述的方式定义数据结构,描述信息包括各类数据及数据间的关联关系.选择 XML 配置控制算法,因为其能够有效解决类别繁多、控制过程复杂的问题8,并且其结构性可以显著降低算法人员开发算法的门槛.此外,XML 的自我描述性使得其可以作为控制系统的数据源之一,同时又作为版本文件供存档查阅,保
17、持完整的一致性,其作为模型和数据存储的文件,已经得到了广泛的应用913.图 3 所示,是一个控制算法的定义片段.首先是算法的描述信息,包括名称、功能描述、别名、算法数据类名,其次是子集划分信息,子集内包含一系列波形(waveform)以及静态数据(staticdata).此处为节省篇幅,只列出一段波形定义.每个波形统一由描述字段、值范围、显示范围、默认值组成.算法描述段落波形名称变量名横纵坐标标签波形值范围波形显示范围默认顶点值波形描述波形类型图 3波形 XML 示例静态数据则相对繁琐,其包含的数据类型不统一,界面呈现方式也不完全一致.综合考虑后,将静态数据分为两大类,一类提供通用的模板化开发
18、方式,一类提供自定义的开发方式.针对现有的需求,开发了 3 类模板,分别为 Para-meter、Filter、Matrix.以 Parameter 为例,图 4 是一段Parameter 数据项的 XML 示例,表 1 详细说明了其编写规则,算法开发人员依据实际需求设计数据项中各项属性的类型、默认值等,界面通过通用程序来读取,即可解析数据生成弹出窗口.以图 5 的窗口为例,XML 中 staticdata 的“name”字段值作为基础设置窗口标题,然后以“item”中的内容添加参数控件.一个参数控件由一个编辑控件以及一个标签控件组成.XML 中 type 为“int”或“float”时,添加
19、2023年第32卷第10期http:/www.c-s-计 算 机 系 统 应 用SystemConstruction系统建设117文本编辑框;为“enum”,使用下拉框来选择项;为“bool”,则使用复选框来标识是否勾选14.右侧的标签控件用来标识该项所编辑的数据含义.“rowlayout”字段是指示界面每行展示的参数控件个数,图 5 中每行仅有一个参数控件.参数控件下方是每个弹出窗口共同的按钮,控制数据的发送、加载、更新等功能.数据名称变量名算法类别布局描述信息子项描述信息:数据类型界面标签默认值实际值图 4ParameterXML 示例表 1ParameterXML 描述XML节点XML标
20、签说明Parametername算法数据项名称,作为弹出窗口的标题step标识staticdata类型,1-Parameter,2-Filter,3-Matrix,4-自定义editordescr该算法数据项的功能说明rowlayout界面每行展示的item个数item每个子数据的具体信息itemname该项名称type子数据项数据类型,依据数据类型选择不同的界面控件呈现label子数据项描述内容,界面中以标签控件呈现default子数据项数据值value子数据项数据可选值,枚举类型时使用图 5Parameter界面开发示例对于无法通过模板开发的静态数据,提供另一套方法.算法设计人员可以使用
21、PyQt 提供的 QtDesigner,通过拖拽控件的方式绘制合适的操作界面,并生成Python 文件.这些自定义的界面文件统一存放在自定义包 Editor 中,并在包目录的“_init_.py”中引入界面模块,随后只需在 XML 中记录该文件中界面模块的classname 即可.执行过程如代码 1 所示,主界面读取 XML 时,根据 step 的值判断为自定义界面,便利用 Python 的动态引入特性15,实时引入 Editor 包.之后从 XML 中读取自定义编辑器的类名字段值,依据类名,对 Editor 调用对象反射函数16,得到窗口的实例化并进行展示.便可以完成根据类名字符串得到该类实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 等离子体 控制系统 用户界面 参数 管理