论文部分内容阅读
EPICS(Experimental and Physics Industrial Control System)[1]是目前世界上许多大型物理实验装置的控制系统普遍采用的软件系统,它提供了一个标准的分布式控制系统结构、通信协议、运行数据库及各种软件工具,并支持多种I/O硬件。EPICS由世界各个大型同步辐射实验室的控制工程师们共同进行开发设计、维护和发展。在中国使用EPICS的有NSRL(中科大国家同步辐射实验室)、BEPC(北京正负电子对撞机)、SSRF(上海光源)以及CSNS(中国散裂中子源)等装置的控制系统。
EPICS软件系统的核心运行在IOC(Input and Output Controller)层,以至在许多情况下,“EPICS软件”成为了“EPICS的IOC软件”的代名词。传统上,EPICS软件在LINIX操作系统下开发,在vxWorks实时操作系统下运行。近年来,Linux操作系统逐渐成为EPICS的主流开发环境;而IOC的运行环境,也从单一的vxWorks,发展到其他操作系统,如RTEMS实时操作系统和Linux操作系统。本文第一章和第二章概括介绍了控制系统的发展历史及现状,EPICS的系统结构,同时也介绍了与EPICS接口的上层应用软件开发环境及开发工具的进展。
一个大型工程的控制系统软件系统的开发,通常需要一个开发团队,而从设计到投入运行,也需要相当长的开发历程,而物理实验装置对控制系统需求的变化、版本的更新,以及人员的变动等,都将影响系统最终的实现以及运行的稳定性。因此,建立一个能够满足对大量的软件和文档的管理需求、对开发进程的管理和同步需求以及对开源共享需求的良好的开发环境,是开发和维护大型控制系统的重要工作。本文的第三章专门研究了EPICS软件开发环境,包括开发平台设计、目录树设计、版本控制和账号管理等。本项研究的结果已经部分应用于上海光源光束线控制系统中。这是国内使用EPICS软件系统的实验室首次针对EPICS开发环境所做的系统性研究,是本文的创新内容之一。
传统上,EPICS的IOC层采用vxWorks实时操作系统,这是一种具有强实时性和高可靠性的商业实时操作系统,但是价格包括后续的维护费用都极其昂贵。于是,国外许多实验室都致力于将一些开源操作系统用于EPICS的IOC,其中主要的两个开源操作系统是RTEMS实时操作系统和Linux通用操作系统。使用Linux作为IOC的运行环境,有两个重要的理由,其一是Linux作为最广泛使用的开源操作系统,所能得到的入门培训和技术支持都具有无可比拟的优越性;其二是Linux即作为EPICS的开发环境,又作为EPICS的运行环境,使得系统的维护简单化。在本文的第四章中,以一个数据采集系统的实例,详细分析了VME/PCI的总线桥接技术,研究了将Linux操作系统用于VME单板计算机MVME5500,并且对这个EPICS实现的数据采集系统在vxWorks和Linux两种操作系统下的性能做了比较,首次在MVME5500+Linux平台下实现了IOC,这是本文的另一个创新之处。