朱海君 郭春龙 丁建国 刘亚娟
(中国科学院上海应用物理研究所 上海 201800)
上海光源(SSRF)储存环B(Binary)铁和S(Six)铁电源的故障信号很多:远程手动急停信号、远程手动复位信号、人身安全连锁故障、外部报警连锁、DCCT故障、DCCT零电流故障、磁铁断水故障、磁铁过温故障、整流变压器温度信号、本地手动急停故障、本地手动复位控制电故障、柜门打开故障、主断路器故障、主接触器故障、主电路接通/断开信号、运行/停机控制信号、功率柜输入电抗器过温故障、功率柜输入过压/欠压/缺相故障、输出电抗器过温故障、功率柜冷却水出水断水信号、功率柜整流桥温度信号等。
监控系统的设计要求是将储存环B铁和S铁电源故障连锁状态信息,经过PLC综合分析,提供给电源控制器。通过远程控制,在中央控制室实现对故障信息和运行状态的实时反馈,从而实现快速故障诊断;接收操作人员的控制指令,调整机器的工作状态,使上海光源处于理想运行状态。
上海光源工程选用实验物理及工业控制系统[1](Experimental Physics and Industrial Control System,EPICS)作为控制系统的软件开发平台。EPICS是由美国洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory)和阿贡国家实验室(Argonne National Laboratory)等联合开发的大型控制系统软件。它采用“标准模型”,在总体上为分布式结构,采用Client/Server模式进行计算机之间的通信,并且在上层操作员接口和下层设备接口都具有很强的可塑性和扩展性。已成为大型实验物理装置控制系统中最广泛使用的软件开发环境。
EPICS采用标准的三层结构,即操作员接口计算机(Operator Interface, OPI)、输入输出控制器(Input/Output Controller, IOC)和设备控制器(Device Controller, DC)。
OPI是整个控制系统的最顶层,负责提供人机交互界面,并完成机器参数的设置/回读、报警处理、数据存档、访问控制等基本功能。在进一步优化的控制系统中,监控层还应包括机器运行状态分析、运行参数优化、运行模式管理等专家系统。
IOC是控制系统的核心,通过现场总线或直接I/O方式控制前端设备控制器,实现数据的实时采集、控制量的设置、响应监控层或其他IOC的请求、处理来自设备控制层的外部事件等。IOC的硬件配置通常为VME、VXI、PCI等总线的工业控制计算机。过程控制层的操作系统通常为vxWorks、Linux等实时操作系统。
DC是控制系统的基础,与受控设备接口,负责模拟信号(包括电流、电压、温度等)和数字信号的输入输出及信号调理等。设备控制器一般为 I/O板卡、可编程控制器PLC等[2–4]。
根据储存环B铁和S铁电源系统的需求特点,选取以西门子PLC为核心的基于硬件的技术路线,系统连锁逻辑信号由PLC处理完成,以满足储存环1台B铁和9台S铁电源系统的高可靠性要求。
储存环B铁电源的信号直接输入西门子S7-300 PLC。储存环S铁电源共有9台,故障状态信息是通过9台西门子S7-200 PLC来进行集中整合,并通过以太网合并输入到S7-300 PLC,然后将所有电源的故障连锁状态信息由S7-300 PLC通过以太网与EPICS进行通信。
储存环B铁和S铁电源故障状态信息控制系统中,OPI置于SSRF中央控制室,作为操作员人机界面,使用基于Linux操作系统的PC机。另一台PC/Linux作为IOC服务器。
基于TCP/IP协议,OPI和IOC之间以及IOC和PLC之间均通过Ethernet进行连接和通讯。图1为储存环B铁和S铁电源系统故障信息监控结构。
图1 储存环B铁和S铁电源系统故障信息监控结构图Fig.1 Schematics of monitor and control system of fault interlock in B-PS & S-PS of the SSRF storage ring.
与EPICS体系结构相对应,本软件可分为OPI应用软件、IOC应用软件,以及在两者之间提供数据接口的通道访问(Channel Access)机制[5]。
OPI应用软件主要包括用户界面编辑/运行工具(Operator Interface)、报警管理工具(Alarm Manager)、数据存储工具(Channel Archiver)、用户自行开发应用程序(Custom design Application Program)、中间件(Middleware)、以及通过中间件与控制系统连接的其它应用软件包(Commercial Software Package)。提供物理学家或操作员访问控制加速器设备,利用人机界面对系统进行监控。
IOC应用软件的核心是分布式运行数据库(Distributed Runtime Database)以及相应的输入/输出支持模块(Input/Output Driver)。IOC软件中主要运行EPICS Base内核,包括文件系统和工具、公共操作系统接口库、通道访问客户和服务器共享库、静态和实时数据库访问机制、数据库处理代码、标准的记录、设备驱动支持程序等。IOC同时运行EPICS实时数据库,实现对底层设备的过程控制。
EPICS采用分层式的结构,其中IOC层可细分为7层,OPI层可细分为2层。每一层相对独立,只与其下一层进行通信。访问数据库记录不需要知道具体的记录类型,记录支持模块提供了对记录类型的解释,同样记录支持模块也不需要知道具体的设备类型,因为每一种记录类型都有很多种独立的设备支持模块,设备支持与驱动模块建立了I/O设备与IOC的连接。EPICS的应用实现都是围绕IOC数据库而展开。通道访问和分布式动态数据库(Distributed Runtime Database)是EPICS系统中的两个基本机制。图2是EPICS的软件结构[6]。
图2 EPICS软件结构Fig.2 EPICS software architecture.
控制系统中,设备的每个模拟或数字的输入/输出量称为一个通道,一个通道在IOC数据库中对应为一个记录实体。EPICS系统依据客户-服务者模型,在TCP/IP和UDP协议之上建立了通道访问机制,并为客户(主要是OPI)和服务器(主要是IOC)分别提供了应用接口子程序库。CA在EPICS中相当于一条软件总线,EPICS软件中的各个组件通过这一总线交换数据。OPI 应用程序(包括 IOC中的部分应用程序)则通过CA客户发送数据请求,IOC通过CA服务器响应CA客户的数据请求。
EPICS的分层式控制结构使客户程序可以在不知设备、通道的位置和I/O类型的情况下,根据通道名称,完全透明地访问分布于IOC中的动态数据库中的通道数据。
CA还具有回叫(callback)机制,服务器根据客户的预先指定发送监控所得的信息,如此便无须依靠巡回检测来监控IOC中的通道数据,极大地减轻了网络负荷。
EPICS还提供了对Java、Tcl/Tk、Matlab等的CA接口支持,用户可以使用这些支持开发的自己需要的应用软件。
控制系统的I/O量是频繁变动的数据,为了响应来自OPI的命令和设备控制器的各种数据及状态变化,EPICS采用动态数据库来记录I/O数据。IOC数据库以记录的形式存放在内存中。记录中的域(Field)值实时地反映 I/O量的控制与运行属性。数据库记录也被称为过程控制模块,EPICS系统中所有过程控制功能也基本上是通过动态数据库实现的。数据库有50余种记录类型,如模拟量的输入输出、数字量的输入输出、建立历史曲线、储存波形、步进电机和操作记录实现PID循环、驱动定时硬件等等。EPICS通过基础内核(IOC Core)中的扫描器(Scanner)对数据库记录的扫描激发记录的 I/O操作和记录处理,扫描机制包括:周期性扫描、事件触发扫描(I/O中断和事件触发)和被动性扫描。
IOC系统采用瑞士光源开发的 Siemens PLC EPICS设备驱动程序 drvS7plc[7]。其通过内存映像(Memory Map)的块传输方式进行数据交换。在IOC与 PLC端的内存中均分别设置了发送缓存区SendBuffer和接收缓存区 RecvBuffer。发送缓存区的任何状态改变都同步映射到对方接收缓存区中,从而产生中断,激活对数据的响应处理。
操作员界面OPI基于图形化的界面设计。在储存环B铁和S铁电源系统故障信息监控系统中,采用软件工具 EDM (Extensible Display Manager)实现。EDM具有图形化控件的界面编辑功能,直接将控件与控制变量关联,同时内置了通道访问功能以访问IOC中的过程变量,可直接启动进入运行模式。图3所示为储存环B铁和S铁电源系统故障信息监控界面。
图3 储存环B铁和S铁电源系统故障信息监控界面Fig.3 Interface of monitor and control system of fault interlock in B-PS & S-PS of the storage ring.
储存环有1台B铁和9台S铁,电源数量多、分布广,显然不可能同时显示所有B铁和S铁电源系统故障信息的监控界面。因此,在B铁和S铁电源系统故障信息监控界面设计时,采用了层次化的结构设计方案。在顶层仅显示总体状态,并用不同颜色指明。当异常情况发生时,会发生状态改变或报警,点击相应的B铁或S铁电源名称,对应的界面就会弹出,可以得到全面的联锁故障信息。
PLC作为本地控制器,主要用于监测储存环各个磁铁电源的工作状态。在出现故障时,能实时检测故障状态和可能的故障设备,给出故障报警和故障处理,供操作人员参考,并实现安全连锁保护,保证整个储存环磁铁电源系统安全可靠地运行。一旦影响设备的安全运行和人身安全,就会自动断开主回路设备或大功率电源,从而有效保护设备和人身安全。
储存环S铁电源共有9台。通过点数计算及性能分析,选择 SIEMENS S7-200[8]系列 PLC。系统选用处理器模块 CPU226,网络模块型号为CP243-1。该型号PLC本机集成24DI/16DO,扩展1个输入模块EM231 A14×12bit。所有控制程序都采用STEP 7-Micro/WIN 4.0编程软件进行编制。
储存环B铁电源的信号直接输入西门子S7-300 PLC[9]。SIMATIC S7-300是模块化小型 PLC系统,大范围的各种功能模块可以很好地满足和适应自动控制任务,各种单独的模块间也可进行广泛组合和扩展。系统选用处理器模块CPU313C,网络模块型号为CP343-1。该型号PLC本机集成 16DI/16DO/24V,扩展 1个输入模块EM321。图4为储存环B铁和S铁电源故障逻辑控制流程图。
图4 储存环B铁和S铁电源故障逻辑控制流程图Fig.4 Flowchart of logic control of fault interlock in B-PS&S-PS of the storage ring.
SMATIC STEP V5.4软件是用于 SMATIC S7-300创建可编程逻辑控制程序的标准软件,可使用LAD(梯形图逻辑)、FBD(功能块图)和STL(语句表)进行编程操作。在标准的 Windows操作系统中运行,本地控制中PLC程序采用模块化的编程设计思想,利用功能强大的梯形图进行程序编写,将不同的控制功能用不同的程序功能块来实现。
通过对SSRF储存环S铁和B铁电源系统故障连锁信号的分析,对实时运行数据库、控制台操作界面进行了合理的设计。系统结构科学、功能完整,操作方便,便于系统维护。通过西门子 S7-200和S7-300的PLC程序软件设计,完成了本地监控。基于EPICS的应用开发,实现了远程监控。该系统达到了SSRF作为用户装置对控制系统长期稳定运行的要求,也为SSRF顺利调束发挥了一定的作用。
1 http://www.aps.anl.gov/epics/ (August, 2009)
2 朱海君, 刘亚娟, 袁启兵. 基于EPICS的上海光源注入引出远控系统[J]. 核技术, 2012, 35(5): 342–345 ZHU Haijun, LIU Yajuan, YUAN Qibing. Remote control of injection&extration based on EPICS in SSRF[J]. Nucl Tech, 2012, 35(5): 342–345
3 丁建国, 郑丽芳, 胡守明, 等. EPICS环境下的LINAC控制系统[J]. 核电子学与探测技术, 2006, 26(1): 36–40 DING Jianguo, ZHENG Lifang, HU Shouming, et al. An EPICS-based LINAC control system[J]. Nuclear Electronics & Detection Technology, 2006, 26(1): 36–40
4 张德敏, 金晓, 黎明, 等. EPICS在加速器控制系统中的应用[J]. 强激光与粒子束, 2008, 20(4): 597–600 ZHANG Demin, JIN Xiao, LI Ming, et al. Application of EPICS to accelerator control system[J]. High Power Laser and Particle Beam, 2008, 20(4): 597–600
5 米清茹, 郑丽芳, 刘松强. EPICS控制系统软件开发环境[J]. 核技术, 2008, 31(1): 36–40 MI Qingru, ZHENG Lifang, LIU Songqiang. EPICS soft ware development environment[J]. Nucl Tech, 2008,31(1): 36–40
6 丁建国, 刘松强. EPICS系统中的网络技术[J]. 核技术,2006, 29(5): 380–383 DING Jianguo, LIU Songqiang. Network technologies applied in EPICS system[J]. Nucl Tech, 2006, 29(5):380–383
7 http://www.slac.stanford.edu/grp/ssrl/spear/epics/site/s7pl c/s7plc.html (September, 2010)
8 http://www.ad.siemens.com.cn/products/as/s7_200/cpu/de fault.asp (October, 2009)
9 http://www.mirautomation.com/series/s3.html (December,2009)