EPICS
上世纪90年代初由美国洛斯阿拉莫斯国家实验室和阿贡国家实验室等联合开发的大型控制软件系统
控制系统中,设备的每个模拟或数字的输入/输出量称为一个流程变量。一个流程变量在数据库中对应为一个记录(record)。一条光束线控制系统是小规模的系统,流程变量约在600数量级。
简介
EPICS即“实验物理及工业控制系统”(Experimental Physics and Industrial Control System),是上世纪90年代初由美国洛斯阿拉莫斯国家实验室(LANL)和阿贡国家实验室(ANL)等联合开发的大型控制软件系统
结构
基于分布式标准的EPICS结构包括两部分:IOC层和OPI层。IOC层又可以细分为6层:通道访问(CA)服务器接口、数据库访问接口、动态数据库、记录支持模块、设备支持模块、设备驱动器。OPI层可以细分为两层:通道访问(CA)客户接口和应用软件。
EPICS软件系统中的两个基本机制是通道访问和分布式动态数据库
通道访问
EPICS系统依据客户-服务者模型,在TCP/IP协议之上建立了称为Channel Access(简称CA)的通道访问机制,并为客户(主要是OPI)和服务器(主要是IOC)分别提供了应用接口子程序库。CA是EPICS系统的最基本机制,它所能提供的服务包括动态通道定位,数据读写,访问监控,连接监控和自动重接等,CA客户可以根据通道名直接访问系统中的任一个通道,通道具有回叫(callback)机制,根据客户的预先指定发送监控所得的信息,这样便无须依靠巡回检测来监控系统,可以极大地减轻网络负荷。
基于通道访问机制,可以开发出与上层应用工具,上层语言的接口,如EPICS与MATLAB的接口MCA、EPICS与JAVA的接口JCA等等。
动态数据库
控制系统的I/O数据时频繁变动的数据,为了响应来自操作台的命令、控制算法和各种操作状态,必须采用现场运行的动态数据库(run-time database)来记录数据。动态数据库的基本特点是:(1)为了便于访问,数据结构采用简单的表,(2)数据库存放在内存中,(3)对于分布式数据库,数据库分布在系统的各个节点中,供操作员提取。
分布式动态数据库是EPICS系统的另一个最基本的特点,在EPICS系统中,数据库分布在各个输入输出控制机(IOC)中,每个通道都作为数据库的一个记录存放在控制该通道的IOC中,每个记录中的值可以来自硬件设备输出、操作员命令或者其它记录的输出。
EPICS动态数据库不仅用于存放当前的通道数据,而且,所有的过程控制功能也基本上在动态数据库中实现。因此,EPICS的数据库记录又被称为过程模块。
在EPICS的3.13版及其以前的版本,IOC只能运行VxWorks实时操作系统。由于VxWorks非常昂贵,从3.14版本开始,IOC可支持VxWorks、RTEMS、Linux、Windows等多种操作系统。OPI与IOC也由原来必须运行在不同的CPU上,发到到可以集成在同一台PC上,为软件仿真、系统集成提供了极大的方便。
IOC启动时从主机上下载操作系统内核、应用软件和分布式数据库,然后开始运行。数据库中每个记录的I/O操作时通过epicsCore中的扫描器(scanner)对数据库的扫描来实现的。iocCore提供以下扫描机制:
(1)周期扫描,IOC以指定的时间周期扫描指定的记录;
(2)时间触发扫描,包括由外部I/O硬中断触发引起的和由用户设计的事件(即软中断)触发引起的对指定记录的扫描;
(3)被动扫描,来自OPI的对指定记录的I/O操作,或者来自另一个与之链接的记录处理后,引起对指定被动扫描的记录的I/O操作
iocCore提供的另一个重要机制是监控器(monitor),用来监控指定通道的制定变化并通过callback机制向OPI报告。
参考资料
最新修订时间:2022-07-29 09:40
目录
概述
简介
结构
参考资料