氘的故事分享 http://blog.sciencenet.cn/u/H2 氘的故事~~ 希望用普及科学促国民素质修养

博文

对PCS(等离子体控制系统)软件基本结构的理解

已有 6160 次阅读 2010-5-17 10:15 |个人分类:未分类|系统分类:科研笔记| PCS

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)和动态(PhaseSequnence)的组织

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,同时在PCSMakefile文件添加这些文件。当重新编译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年版

 



https://blog.sciencenet.cn/blog-434819-325325.html

上一篇:木桶理论和自创的梯子理论-N久前写的了
下一篇:科岛谍影-小说情节简介--本故事纯属虚构
收藏 IP: .*| 热度|

1 陈印政

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-2 13:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部