一种IOC远程控制系统的制作方法

文档序号:24415659发布日期:2021-03-26 21:04阅读:223来源:国知局
一种IOC远程控制系统的制作方法
一种ioc远程控制系统
技术领域
1.本发明涉及核聚变技术领域,尤其涉及一种ioc远程控制系统。


背景技术:

2.托卡马克是由数量众多的子系统共同构成的大型聚变实验装置。在托卡马克实验过程中,需要对不同的子系统进行有效地管理和调度,在此过程中涉及子系统之间数据和命令的交换,同时要求实验运行控制人员能够及时掌握各子系统的运行状态。如果为各个子系统单独定义通讯协议以获取其状态信息,后期维护和扩展的难度极大。
3.而实验物理和工业控制系统epics是一个开源的软件框架,它为实现分布式控制系统提供了一个可靠的平台。它采用客户端/服务器架构和发布/订阅模式来实现不同系统之间的通信,软件包中的ioc程序作为服务器,负责完成具体的输入/输出动作及本地控制任务,并利用通道访问协议向客户端发布自身状态信息或从网络中接收来自客户端的指令。对于聚变实验装置来说,使用ioc和通道访问协议可以比较方便的实现子系统的状态监控以及子系统之间运行数据的共享。
4.在默认情况下,用户都是直接通过脚本st.cmd启动ioc程序,但这样做并不方便,用户每次开机后还需要手动启动ioc程序。如果忘记运行ioc程序,实验人员就无法通过epics监控此系统的运行状态。


技术实现要素:

5.本发明的目的在于提供一种ioc远程控制系统,使得ioc程序在开机后能够自动在后台运行,并且为用户提供远程控制的接口,方便用户对ioc进行集中的控制和管理。
6.本发明通过下述技术方案实现:
7.一种ioc远程控制系统,其特征在于,包括安装有linux操作系统的终端,所述linux操作系统上设置有ioc程序、procserv工具和manage

procs工具,所述procserv工具和所述manage

procs工具用于实现对所述ioc程序的后台运行和进程管理;
8.工作时,用户访问所述ioc程序的shell,并根据所述manage

procs工具将所述ioc程序作为所述procserv工具的子进程添加到linux操作系统的systemd系统服务中,使得所述ioc程序能够在开机后自动启动;还利用所述manage

procs工具控制所述ioc程序的进程启动或停止。
9.优选地,还包括ioc

manager程序,所述ioc

manager程序运行在每个ioc服务器上,并跟随所述linux操作系统一同启动;当所述ioc

manager程序接收到http请求时,所述ioc

manager程序根据所述http请求对所述ioc程序的进程进行远程控制。
10.优选地,所述ioc

manager程序上设置有ioc管理模块,所述ioc管理模块设置有若干个子单元,当点击所述子单元时,程序后台会根据ioc主机的ip地址,向所述ioc主机发送相应的http请求。
11.优选地,所述子单元包括启动子单元,停止子单元和应用配置子单元。
12.优选地,当点击所述启动子单元时,程序后台向对应的所述ioc服务器发送get请求,所述ioc服务器上的所述ioc

manager程序接收到所述get请求后,利用所述procserv工具查看所述ioc程序的运行状态;若所述ioc程序未启动,则启动所述ioc程序;当所述ioc程序成功启动之后,用户收到相应的提示信息。
13.优选地,当点击所述应用配置子单元时,程序后台首先根据pv的archived属性,修改pv归档存储的状态;接着向对应的所述ioc主机发送请求,让所述ioc

manager程序将数据库中的sdd保存为本地的json配置文件;然后所述ioc

manager程序利用所述json配置文件,生成epics ioc的db文件、autosave模块的req文件以及所述ioc程序的命令脚本文件;最后重启所述ioc程序,使新的配置文件生效。
14.默认情况下,用户都是直接通过脚本st.cmd启动ioc程序,因此,用户每次开机后需要手动启动ioc程序。如果忘记运行ioc程序,实验人员就无法通过epics监控ioc程序的运行状态。因此,实验人员就特别希望ioc程序能够在开机的时候自行启动。基于此,发明人经过长时间研究后,设计了本申请的技术方案,不仅可以让ioc程序在开机后自动在后台运行,还可以为用户提供远程控制的接口,方便用户对ioc进行集中的控制和管理。
15.在方案的设计过程中,发明人考虑到ioc进程不支持直接通过nohup命令放在后台运行,因此增加一个procserv工具,通过使用procserv工具(procserv是一个开源的软件工具,它在后台以系统服务的方式运行一个进程服务器,并fork一个子进程启动ioc)在linux环境下实现ioc的后台运行和进程管理。同时还编写了web服务器应用程序ioc

manager,ioc

manager程序支持通过http协议对服务器上的ioc程序的进程进行远程控制,从而方便用户对ioc程序进行集中的控制和管理。
16.本发明与现有技术相比,具有如下的优点和有益效果:
17.在本方案中,设置有procserv工具,使得ioc程序可以在开机后自动在后台运行,同时还编写了web服务器应用程序ioc

managerr,为用户提供远程控制的接口,方便用户对ioc进行集中的控制和管理。
附图说明
18.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
19.图1为本发明的结构示意图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
21.一种ioc远程控制系统,如图1所示,包括安装有linux操作系统的终端,linux操作系统上安装有ioc程序、procserv工具和manage

procs工具,procserv工具和manage

procs工具用于实现对ioc程序的后台运行和进程管理。
22.procserv是一个开源的软件工具,它在后台以系统服务的方式运行一个进程服务器,并fork一个子进程启动ioc程序。工作时,用户访问ioc程序的shell,并结合python编写
的工具manage

procs,用户可以将procserv的实例(子进程)添加到linux的systemd系统服务,让ioc程序在开机后自动启动;利用manage

procs提供的一系列命令,用户还可以方便地控制ioc进程的启动和停止,其中,manage

procs提供的命令包括:
23.manage

procs add新建procserv实例,将其添加到系统服务中;
24.manage

procs remove从系统服务中移除procserv实例;
25.mange

procs start启动procserv实例;
26.manage

procs stop停止procserv实例;
27.manage

procs status查看所有procserv实例的状态。
28.进一步地,在本方案中,为了实现对ioc程序的远程控制,基于spring boot框架,使用java语言开发了一个web服务器应用程序ioc

manager,ioc

manager程序运行在每个ioc服务器上,并跟随操作系统一同启动。
29.在本方案中,ioc

manager程序用于监听某个特定的端口,该端口接收来自客户端的http请求,并根据请求的内容执行相应命令。例如更新ioc程序的配置文件,启动或停止ioc进程等,从而达到远程控制的目的。在linux操作系统下,ioc

manager程序利用procserv工具间接控制ioc程序的进程;而在windows操作系统下,则是通过进程名称直接操作ioc程序的进程。
30.值得说明的是,该端口并不唯一,可以根据实际需求进行指定。
31.ioc主机(以linux为例)端完整配置的基本架构如图1所示,在本实施例中,已经利用ioc

manager程序和procserv工具实现了ioc进程的远程控制接口,只需要向ioc主机上的ioc

manager程序发送http请求,即可对ioc程序进行远程控制。
32.另外,为了便于对ioc程序进行控制和管理,在ioc

manager程序上设置有ioc管理模块,ioc管理模块设置有三个子单元:启动子单元,停止子单元和应用配置子单元。当用户点击任意一个子单元时,程序后台会根据ioc主机的ip地址,向该ioc主机发送相应的http请求。
33.具体地,当用户点击启动子单元,程序后台向对应的ioc服务器发送get请求;ioc服务器上的ioc

manager接收到请求之后,利用procserv工具查看ioc程序的运行状态,若未启动ioc程序,则启动ioc程序;当ioc程序成功启动之后,用户会收到相应的提示信息。
34.当用户点击停止子单元,程序后台向对应的ioc服务器发送get请求,ioc服务器上的ioc

manager接收到请求之后,利用procserv工具查看ioc程序的运行状态,若未关闭ioc程序,则关闭ioc程序。
35.当用户点击应用配置子单元时,程序后台首先根据pv的archived属性,修改pv归档存储的状态;接着向对应的ioc主机发送请求,让ioc

manager程序将数据库中的sdd保存为本地的json配置文件;然后ioc

manager程序会利用json配置文件,生成epics ioc的db文件,autosave模块的req文件以及ioc程序的命令脚本文件;最后重启ioc程序,使新的配置文件生效。
36.其中,在本申请中,程序后台为用于管理ioc的网页后端程序。
37.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含
在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1