|||
对PCS基本结构的理解
Outline
一、什么是PCS
二、PCS的系统组成(基础结构+安装、应用的定制代码)
三、PCS的相关软件技术(内存管理、进程调度、实时进程通讯)
四、PCS的硬件架构(主节点+计算节点)
五、PCS软件控制模块(主节点:时序、消息服务,用户界面,波形服务,主机实时进程;计算节点:实时控制进程)
六、等离子体控制要求(电磁、密度控制等)和反馈控制算法
七、PCS中的主要控制算法
八、如何在PCS中集成新的算法
九、PCS与模拟器闭环模拟运行
正文
一、什么是PCS
以带低通滤波PID反馈控制方法为主的等离子体实时控制系统,界面由IDL编写,控制代码由C编写,数据存储主要采用MDSPLUS
二、PCS的系统组成(基础结构;安装、应用的定制代码)
1、 基础结构:提供常规和通用的功能,并可在此之上建立定制功能
2、 定制代码:应用用户所需的控制算法
3、 安装定制代码:定义输入输出信号、控制算法以及控制系统中实时节点计算机的安装
三、PCS的相关软件技术(内存管理、进程调度、实时进程通讯)
1、 内存管理:采用了锁内存技术,提高了系统的实时性
2、 进程调度:由PCS基础结构代码通过硬亲和性设置各项控任务在确定的物理CPU上运行,保证了任务执行的实时性
3、 实时进程通讯:采用共享内存方式提高系统的实时性和安全性
四、PCS的硬件架构(主节点+计算节点)
1、 主节点:用户管理,用户界面,为计算节点提供基本网络服务、任务分配管理、监控功能等
2、 计算节点:实时控制计算
五、PCS软件控制模块(主节点:时序、消息服务,用户界面,波形服务,主机实时进程;计算节点:实时控制进程)
1、 用户界面:用于操作人员指定PCS的输入参数,如某放电方案下等离子体参数随时间演化的波形,相应的控制参数等;由IDL编写,对于控制内容进行静态(界面中的Ctgy)和动态(Phase和Sequnence)的组织
2、 波形服务:PCS的中心存储区,存放用户设置等等离子体参数和控制参数
3、 主机实时进程:与实时节点计算机控制进程一一对应,将实时控制代码和数据下载到实时节点计算机上,为放电作准备
4、 时序服务:协调PCS各部分的工作时序;一次放电周期中PCS的执行分为设置、执行、清除3个阶段
5、 消息服务:从其他进程接受日志消息,并显示到用户界面上,并监视其他进程是否正常;通过记录文件和消息窗口2种方式与操作人员和编程人员交互
6、 实时控制进程:计算节点上运行的程序,在放电过程中主要执行如等离子体电流、密度、位置位形等参数的反馈控制算法;涉及实时任务分配(可由PCS基础结构代码实现)、数据获取(来自界面设置、采集数据、计算结果)、实时进程间的通讯(节点内部主要采用锁存技术共享内存,节点间通过myrinet网络传输等方式)、实时控制进程的执行顺序
六、等离子体控制要求(电磁、密度控制等)和反馈控制算法
主要有电磁控制(等离子体电流、位置、位形控制)和密度控制,并广泛采用PID控制
七、PCS中的主要控制算法
PCS中主要有密度控制、线圈电流控制、等离子体电流位置、等磁通控制和实验结果分析、实时位形显示、系统保护等算法
八、如何在PCS中集成新的算法
PCS中用定制代码实现各种控制功能,针对不同的装置,所需的控制内容和方法不同。在PCS中增加新的控制内容,主要涉及目录、算法文件的而编写,确定分配的物理CPU及执行的顺序,数据存储三个方面。
1、 目录、算法文件的而编写
PCS中各控制目录和算法存放在<category>_master、< category >algorithms和<alg>_master命名形式的文件中。对应以下功能:
<category>_master.h:定义在PCS界面上显示的目录名字,及目录下默认的Phase名字和主要的sequence定义,如“primary,secondary”等;
< category >algorithms.h:指定了改目录下所有可选算法对应的文件名;
<alg>_master.h:具体控制算法的实现,一般包括了各种目标向量,PID控制参数、输出控制命令、各种参数内存块、算法的主函数名的定义,其他全局或静态变量的定义,以及算法的初始化代码、主函数代码、清除代码等;
要向PCS添加新的控制算法,需要先编写合适的<alg>_master文件,并把文件名添加到算法文件列表< category >algorithms.h,同时在PCS的Makefile文件添加这些文件。当重新编译PCS时,新的应用会集成到PCS中去。
要添加新的控制目录,还需编写相应的<category>_master.h文件,并将该文件和算法列表文件添加到总目录文件categories.h中
2、 执行位置和顺序
确定执行该算法的物理CPU及先后执行的顺序
3、 数据存储
算法中定义的一些向量,如存放界面预设各类目标向量(target vector),PID控制参数向量(P vector)、中间计算结果向量(shape vector)以及控制向量等,有些变量需要在放电后存入该次放电相应的Mdsplus中,以便后期数据分析和PCS历史炮的调用等。新实现的控制算法,有关变量只存在波形服务中,即计算机内存中,而没有在Mdsplus上自动创建相应节点,因此需要在PCS运行目录下手动调用函数实现新节点的添加。
九、PCS与模拟器闭环模拟运行
PCS有正常放电运行模、硬件测试、模拟等运行方式。模拟器分为数据模拟(data simserver)和模型模拟(simulation simserver)。PCS与模拟器的闭环运行可以充分验证算法的正确性和性能。2者间通过socket通讯实现数据交互。
参考文献:
1、《基于Linux集群架构的等离子体控制系统》袁旗平 博士论文
2、《Application Programmer’s Guide to the Plasma control system》美国通用原子能所 PCS系统应用程序员手册2008年版
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-2 10:20
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社