一种基于epics的控制系统跨平台数据传输实现方法

文档序号:10723764阅读:745来源:国知局
一种基于epics的控制系统跨平台数据传输实现方法
【专利摘要】本发明公开了一种基于EPICS的控制系统跨平台数据传输实现方法,实现将底层控制器上传的设备信号转换为有效的EPICS软件的过程变量PV(Process Variable),通过通道访问协议CA(Channel Access)与操作员接口计算机OPI(Operator Interface)客户端建立一个连接通道;也可以将EPICS软件的过程变量PV转换为底层控制器能够识别的信号类型,实现对现场层设备的控制;方便实验人员通过人机交互界面实现对现场设备的监控,报警和数据存档等。
【专利说明】
一种基于EPI CS的控制系统跨平台数据传输实现方法
技术领域
[0001 ]本发明涉及EPICS控制系统领域,具体是一种基于EPICS的控制系统跨平台数据传输实现方法。
【背景技术】
[0002]实验物理和工业控制系统软件EPICS(ExperimentalPhysics and IndustrialControl System)是用于大型科学装置控制系统的开发和运行的软件工具集;采用分布式结构,兼容多种硬件设备。目前已在大型的实验物理和加速器装置中得到广泛的应用,如加速器,北京正负电子对撞机,射电天文望远镜等,采用EPICS软件应用的控制系统平台具有可扩展性,可重用性,可移植性等特点。
[0003]EPICS软件体系结构共有三层:
1.输入输出控制器10C(InputOutput Controller),它的核心是一个常驻内存的分布式数据库,以记录的形式存在,存放设备间的实时数据,通过记录的名称来访问记录的值和属性;
2.通道访问协议CA(ChanneIAccess),建立在TCP/IP协议基础上的一种访问机制。为OPI和1C提供应用接口。提供通道定位,数据读写,访问监控,连接监测和自动重接,主要为数据库提供网络透明访问服务。
[0004]3.0PI(0perator Interface):操作员接口计算机,主要包括用户界面/运行工具、报警管理工具、数据存档工具等,利用通道访问协议访问1C中的运行数据库,实现监测等功能的运行工具。
[0005]目前,EPICS控制系统存在不同操作系统和不同软件之间不同数据格式的信号传输和转换的问题。
[0006]
【发明内容】
本发明的目的是提供一种基于EPICS的控制系统跨平台数据传输实现方法,以解决现有技术不同操作系统和不同软件之间不同数据格式的信号传输和转换的问题。
[0007]为了达到上述目的,本发明所采用的技术方案为:
一种基于EPICS的控制系统跨平台数据传输实现方法,其特征在于:在输入输出控制器1C中构建设备支持模块程序和设备驱动支持模块程序,实现将底层控制器上传的设备信号转换为有效的EPICS软件的过程变量PV(Process Variable),同时将基于EPICS软件的过程变量PV转换为底层控制器能够识别的信号类型,实现对现场层设备的控制;
设备支持模块程序定义了设备支持的入口表及注册信息,建立与EPISC软件控制系统中数据库的连接;设备支持模块程序根据设备支持的入口表里的设备支持初始化模块名和设备支持模块名,调用底层的设备驱动模块程序;根据数据库记录的DTYP字段初始化记录;根据记录的特定字段处理和调用记录,执行1/0操作,对于输入数据,将原始数据转换成PV;对于输出数据,将PV数据转换成原始数据;
设备驱动支持模块程序定义了设备驱动入口表,建立与EPI SC软件控制系统中数据库的连接;初始化和底层控制器连接的硬件接口,实现和底层控制器的数据输入输出操作;并行运行输出线程,建立和设备控制层相关的操作;并行运行输入线程,接收到应答后,调用I/O Intr中断请求,设备支持模块程序进行EPICS的记录处理,存入EPICS实时数据库;
客户端的人机操作界面通过EPICS的通道访问协议CA实现从1C中的数据库的过程变量PV的访问,方便操作人员直观监控设备现场。
[0008]本发明的有益效果为:
本发明公开了一种基于EPICS的控制系统跨平台数据传输实现的方法,有效地解决了基于EPICS软件的Linux操作系统和底层控制器之间数据传输的问题。本发明开发了一种支持控制系统跨平台的数据传输的通用EPICS设备/驱动支持程序,实现将底层控制器上传的设备信号转换为有效的EPICS软件的过程变量PV(Process Variable),通过通道访问协议CACChannel Access)与操作员接口计算机0PI(0perator Interface)客户端建立一个连接通道;同时将监控层基于EPICS软件的过程变量PV转换为底层控制器能够识别的信号类型,实现对现场层设备的控制;方便实验人员通过人机交互界面实现对现场设备的监控,报警和数据存档等。
【附图说明】
[0009]图1为基于EPICS控制系统结构图。
[0010]图2为基于EPICS的控制系统跨平台数据传输实现的程序软件结构图。
[0011]图3为设备支持记录调用入口。
【具体实施方式】
[0012]一种基于EPICS的控制系统跨平台数据传输实现的方法,有效地解决了基于EPICS软件的Linux操作系统和底层控制器之间数据传输的问题。
[0013]基于EPICS软件的控制系统是由监控层,过程控制层和设备控制层三个层次组成的。分别对应操作员接口计算机OPI(Operator Interface),输入输出控制器10C( InputOutput Controller),设备控制器(Device controller),如图1所不。
[0014]由于控制系统的基于不同的操作系统和软件的控制器采用了不同的数据包格式,为了实现在基于EPICS软件的监控层能够实时有效的显示和控制现场设备,根据EPICS系统的设备接口规范,开发了一个通用的EPICS设备/驱动支持程序,如图2所示,程序在基于EPICS软件的Linux系统的1C上开发运行,1C和底层控制器之间的数据交互采用多线程并发运行的端对端通讯方式。一个1C可以同时连接多台同种类型的底层控制器。
[0015]开发的通用的EPICS设备/驱动支持程序包括设备支持模块和驱动支持模块程序。上层是EPICS数据库记录支持模块,下层是和底层控制器的通讯接口模块。
[0016]建立设备支持模块与数据库的连接,设备支持模块头上有一个“设备支持入口表”,进行设备支持入口表的定义和注册,根据设备支持初始化模块名和设备支持模块名,调用底层的设备驱动程序;调用涉及到三个文件:数据库记录*.db文件,数据库定义*.dbd文件,设备支持源文件devXXX.c文件,。如图3所示。数据库定义文件*.dbd定义了设备支持模块与数据库的连接。
[0017]根据设备支持和设备驱动程序,初始化和底层控制器的硬件接口,建立设备驱动模块与数据库的连接,在设备驱动模块头上有一个“驱动入口表”,定义设备驱动入口表,从而建立了和数据库的联系。
[0018]1C初始化时,每个记录使用DTYP字段指定的设备支持的initRecord来初始化记录。该规则验证INP和OUTP字段,检查硬件地址是否存在,分配记录的存储空间,操作硬件寄存器,以及设定记录的特定字段来将记录中的原始值转换成工程数据,或工程数据转换成原始数据。
[0019]实现方法如下:
I.设备支持入口表定义和注册;
2.驱动程序的驱动入口表定义,建立和数据库的联系;
3.设备支持调用入口表指出的设备驱动程序;
4.记录初始化函数和记录读写函数;
5.对记录的连接域INP进行解析,建立输入输出控制器1C和底层控制器的连接;
6.记录处理时,根据记录名解析得到控制信号名和控制参数;
7.并行运行输出线程,建立和设备控制层相关的操作;
8.并行运行输入线程,接收到应答后,调用I/OIntr中断请求,进行EPICS的记录处理;
9.记录处理时,读是将硬件中的值并拷贝到precord->rval,转换成过程变量PV;写是将过程变量PV precord->rval中的值输出到硬件;
10.存入实时数据库;
11.操作员接口计算机OPI人机界面实时监视当前的过程变量PV。
[0020]本发明开发了一种支持控制系统跨平台的数据传输的通用EPICS设备/驱动支持程序,实现将底层控制器上传的设备信号转换为有效的EPICS软件的过程变量PV(Prc)cessVariable),通过通道访问协议CA(ChanneI Access)与操作员接口计算机OPI(OperatorInterf ace)客户端建立一个连接通道;也可以将EPICS软件的过程变量PV转换为底层控制器能够识别的信号类型,实现对现场层设备的控制;方便实验人员通过人机交互界面实现对现场设备的监控,报警和数据存档等。
【主权项】
1.一种基于EPICS的控制系统跨平台数据传输实现方法,其特征在于:在输入输出控制器1C中构建设备支持模块程序和设备驱动支持模块程序,实现将底层控制器上传的设备信号转换为有效的EPICS软件的过程变量PV,同时将基于EPICS软件的过程变量PV转换为底层控制器能够识别的信号类型,实现对现场层设备的控制; 设备支持模块程序定义了设备支持的入口表及注册信息,建立与EPISC软件控制系统中数据库的连接;设备支持模块程序根据设备支持的入口表里的设备支持初始化模块名和设备支持模块名,调用底层的设备驱动模块程序;根据数据库记录的DTYP字段初始化记录;根据记录的特定字段处理和调用记录,执行I/O操作,对于输入数据,将原始数据转换成PV;对于输出数据,将PV数据转换成原始数据; 设备驱动支持模块程序定义了设备驱动入口表,建立与EPI SC软件控制系统中数据库的连接;初始化和底层控制器连接的硬件接口,实现和底层控制器的数据输入输出操作;并行运行输出线程,建立和设备控制层相关的操作;并行运行输入线程,接收到应答后,调用I/O Intr中断请求,设备支持模块程序进行EPICS的记录处理,存入EPICS实时数据库;客户端的人机操作界面通过EPICS的通道访问协议CA实现从1C中的数据库的过程变量PV的访问,方便操作人员直观监控设备现场。
【文档编号】G05B19/04GK106094583SQ201610425083
【公开日】2016年11月9日
【申请日】2016年6月13日
【发明人】何诗英, 黄连生, 高格, 傅鹏, 王广红, 朱黎黎, 沈君, 王泽京, 李令鹏, 陈晓娇
【申请人】中国科学院等离子体物理研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1