基于PLC的紧凑型回旋加速器联锁保护系统
2010-06-21胡啸熊永前李冬杨军胡桐宁万里涛
胡啸 ,熊永前,李冬 ,杨军 ,胡桐宁,万里涛
(1.华中科技大学 电气与电子工程学院,湖北 武汉 430074;2.孝感生物工程学校,湖北 孝感 432100)
1 引言
本课题组研究设计的CYCHU-10紧凑型低能强流回旋加速器主要通过引导束流击打液态靶完成PET成像所需短寿命同位素的生产。该回旋加速器日常主要由一般医护人员操作,需要有效的联锁保护系统提供支持。在加速器控制领域,测控任务既有与普通工业控制相似之处,比如需要面对高频高压强磁场的恶劣环境,又有其显著特点,比如高精度的小信号测量,相关设备庞杂,测控信号对象繁复等。
另外,由于加速器的最终控制对象是在真空中高速运行的带电粒子,因此控制系统需要有很高的可靠性、控制精度和实时响应速度[1],而设备及人身安全联锁保护系统正是其重要的组成部分。考虑到PLC成熟可靠的技术以及在加速器控制领域,特别是在联锁保护系统构建中的广泛运用[2-5],建立了以PLC为核心,以网络总线为构架,辅之以IPC实现上位监控的分布式联锁保护系统,具体完成屏蔽防护与警示,自动模式顺序联锁,手动模式子系统互锁和系统急停4部分功能。在不同的运行模式下确保系统的正确运行,及时发现系统异常,采取相应措施并发出警示信号,保障人身和设备安全。
2 联锁保护系统硬件
目前国际加速器界在控制系统设计和建造方面已经达成共识,即控制系统应该采用分布式体系结构,使用系统集成工具进行开发,尽可能多的采用标准化的商业硬件产品和先进成熟的技术,另外还要考虑到系统扩充的可能性[1],这些理念对于联锁保护系统的构建同样适用。
2.1 总体结构
从总体硬件结构上说,由于控制对象的特殊性,恶劣的电磁工作环境以及系统自身的高可靠性要求,选择以PLC为核心的系统构建方案,具体采用3层分布式结构,即监控层、总线控制层和现场层,如图1所示。
图1 联锁保护系统结构Fig.1 Structure of interlock protection system
监控层即上位机采用研华IPC-610系列工控机,能够抗冲击、振荡,并且可以在高温下稳定运行,适用于加速器周围复杂恶劣的工作环境,主要用于动态监控加速器运行,故障报警以及记录工作日志;总线控制层选用西门子模块化中型PLC系统SIMATIC S7-300,利用其较快的运算速度和较强的输入输出能力,通过合适的硬件选择组成基于网络总线的分布式结构,运行程序完成数据采集、运算,实现回旋加速器的联锁功能。之所以选用S7-300这一中端系列PLC作为系统构架是考虑到将来系统扩充的可能性,保证硬件除了能够完成小型回旋加速器联锁保护系统的自动化控制外,还足以在系统升级时承担其它控制任务。
2.2 I/O模块
联锁信号分为联锁故障信号(输入)和联锁控制信号(输出),部分见表1所示。经统计,整个联锁保护系统需要数字输入(DI)44点,数字输出(DO)30点,模拟输入(AI)8点,分别需要采用SM321DI(DC 24 V)模块,SM322DO(DC 24 V 2 A继电器输出)模块和SM331AI(4~20 mA)模块。数字输出模块采用继电器输出是考虑到其负载电压范围宽、导通压降小、承受瞬时过电压和过电流能力强的优点以及加速器负载设备并不需要频繁动作的实际情况。
表1 子系统部分联锁保护信号Tab.1 Interlock protection signals of subsystems
2.3 CPU模块
存储器容量是选择CPU模块的重要依据。许多文献资料中给出了不同的内存估算公式,大体上都是按数字量I/O点数的10~15倍,加上模拟I/O点数的100倍,以此数为内存的总字数(16位为一个字),另外再按此数的25%考虑裕量[6]。按照这种算法,S7-300系列所有型号的CPU都能满足基本要求,但考虑到系统将来的扩展以及综合对比了处理时间、I/O能力、内存、通讯连接、价格等因素,决定采用 CPU 317-2DP,这是S7-300高端CPU系列的低端产品,性价比高,具有大容量程序存储器,可用于大规模的I/O配置和建立分布式I/O结构以及0.05 μ s的最小位指令处理时间。
2.4 网络模块
在网络通信方面,加速器控制领域广泛使用现场总线技术,它具有以下优点:可靠性高,兼容性好,组态灵活,节约导线、维护和安装费用。PROFIBUS是目前国际上通用的现场总线标准之一,以其独特的技术特点、严格的认证规范、开放的标准、众多厂商的支持和不断发展的应用行规,已成为最重要的现场总线标准[7]。但是要求所有现场设备都具备PROFIBUS接口是高成本的,所以本系统采用分布式I/O作为总线接口与现场设备连接,这种形式适用于现场总线的应用初期,实施方便,在目前加速器现场设备已经分组,且组内设备相对集中的实际情况下可以更好地发挥现场总线技术的优势。具体实现方法是CPU317-2DP通过DP接口连接 ET200系列远程分布I/O站,其中ET 200B自带I/O点,适合在远程站点I/O点数不太多的情况下使用,符合联锁保护系统对水冷和高频等为数不多的几个位置比较分散的子系统的信号采集需要。通过远程I/O硬件,在增加少量成本的前提下,充分利用了成熟的PROFIBUS总线技术的优点,方便了接线,减少了可能出现的大量信号干扰,同时为将来的系统扩充升级建立了开放的网络构架。
考虑到上位机在系统中只是起辅助监控作用,只选择PLC作为一类主站,而工控机作为监控站通过串口与PLC一对一连接,可以在不失效率的前提下尽量减少成本。在这种结构中,监控站不在PROFIBUS网上,不是二类主站,不能直接读取从站数据和完成远程参数化工作,监控站所需的从站数据只能从PLC控制器中读取。但是在将来系统升级时,仍可以方便地将工控机通过PROFIBUS网卡并入主网络,成为二类主站,完成更加实时可靠的测控任务。
2.5 通讯模块
系统选用CP341通讯模块执行点到点高速串行通讯功能(RS232),便于PLC和底层智能设备,比如磁铁电源进行联锁故障和控制信号的交换。
3 联锁保护系统软件
3.1 程序结构
本程序在STEP7软件平台上编写,主要运用了以下几个逻辑块:组织块(OB),功能块(FB),功能(FC),系统功能块(SFB)及数据块(DB)。程序逻辑结构如图2所示。
联锁保护系统主程序OB1循环扫描执行,主要完成紧急停机、模式选择及相关功能块调用、系统运行故障处理、辐射屏蔽与警示4个功能。系统分为自动运行和手动运行两种模式,自动模式通过调用由S7-Graph语言编写的功能块FB1实现CYCHU-10回旋加速器按图3流程顺序启动。
手动模式通过功能FC3保证对用户的错误操作做出正确的响应,防止造成不可预料的后果。OB1循环调用故障互锁FB7,实时监控系统运行中可能出现的各种异常,及时进行处理。
图2 联锁保护程序结构Fig.2 Structure of interlock protection program
图3 顺序启动流程图Fig.3 Sequence start-up flow chart
3.2 程序结构
3.2.1 主程序
主程序OB1由ST L语言编写,循环调用,部分程序如下:
Network1是配电系统急停开关的PLC控制子程序,Network2是选择自动模式后,主程序调用功能块“auto-mode”实现顺序启动功能,正确执行后指示灯亮。另外还包括Network3调用故障检测联锁,Network4调用手动模式互锁以及Network5实现辐射安全保护。总之,主程序OB1主要承担模式判断、最基本的安全保护和功能块调用的任务,具体功能实现由各子程序完成,这是符合结构化程序设计基本要求的。
3.2.2 顺序启动子程序
应用S7-Graph可以实现快捷的顺序控制编程,部分程序如图4所示。
控制程序由若干步(step)组成,step处于活动状态时,相应的动作被执行,另外,对于标准动作可以设置互锁,仅在step处于活动状态和互锁条件满足时,有互锁的动作才被执行,为了保证加速器设备顺序启动的可靠性,程序中大量使用了此类互锁命令,比如对于Magnet-remote这一步(见图5),由于加速器系统的磁铁电源需要通过RS232通讯口与PLC通讯模块CP341连接,以ASCII形式接受指令和传递参数,所以程序通过FC2(Magnet-remote)调用ASCII数据收发系统功能块SFB60,SFB61来完成对磁铁电源的远程控制。但是,出于安全方面的考虑,只有在磁铁温度和磁铁线圈水流联锁满足时,远程控制信号才会发送,并且需要电源稳定运行15 min仍无异常联锁的情况下才能继续顺序启动过程。上述功能主要就是运用S7-Graph的互锁命令实现的。
图4 顺序启动S7-Graph子程序Fig.4 Sequence start-up S7-Graph subprogram
图5 磁铁电源远程控制S7-Graph步Fig.5 S7-Graph step of magnet power remote control
3.2.3 真空控制子程序
在自启动过程中,真空系统的两级抽真空序列控制流程比较复杂,程序设计在功能FC1(Vaccum-auto)中独立实现。PLC程序需要读取真空计的模拟信号,逐级控制泵和阀的动作。首先是机械泵开,几秒后预抽阀开,当压力达到20 Pa,扩散泵电源开,指示灯在机械泵抽扩散泵时一直闪烁,大约30 min后,进入初级抽真空序列,前级阀开启,当腔体压力到达7 Pa时,初级抽真空序列结束。接着,高真空阀打开,扩散泵开始抽真空,进入次级抽真空序列。图6是LAD语言编写的扩散泵控制程序的一部分,程序调用了系统功能块完成真空度模拟量的读取和比较,在满足条件后执行扩散泵开启动作。
图6 扩散泵控制子程序Fig.6 Diffusion pump control subprogram
3.2.4 故障处理子程序
主程序循环调用故障处理子程序确保能正确处理加速器运行过程中可能出现的各种异常情况。图7是故障处理子程序的一部分,包含3个部分:故障检测、延时和处理方法。故障检测通过并联的6路位逻辑指令常开或常闭触点watererror,vaccum-error,magnet-error,Dee-volt-OK,IS-OK,radiation-high组成的转化条件实现,一旦任意子系统出现疑似故障,程序进入延时步,发出警告,等待工作人员干预,如果延时完毕故障依然存在,系统进入故障处理步,针对不同系统故障执行相应的动作。
图7 故障处理子程序Fig.7 Erro r process subprogram
4 结论
目前,该联锁保护系统正在与包括高精度磁铁电源,二级水分布系统,配电控制系统在内的CYCHU-10紧凑型回旋加速器各子系统进行连接,并将在近期运用到磁场测量和垫补工作中。实际结果表明,该系统运行情况良好,自动化程度高,抗干扰能力强,能够满足加速器系统需求。本设计采用的PLC为核心、PROFIBUS现场总线为网络构架、STEP7为编程工具、S7-Graph为主要编程语言是对各类加速器测控普遍适用的技术路线,可以得到以下结论。
1)PLC以其技术成熟、稳定可靠的特点,适用于回旋加速器这类复杂电磁装置的联锁保护系统构建。
2)基于网络总线的分布式结构可以使系统更加便捷有效的实现,灵活性和可扩充性更强。
3)运用结构化的编程方法和STEP7中的S7-Graph图形化编程语言对于顺序控制以及联锁逻辑的程序编写效率提高很有帮助。
[1]曾自强,张立锋,吕卫星,等.10 MeV辐照电子直线加速器控制系统[J].原子能科学技术,2005,39(2):114-117.
[2]仇文君,周大勇,陈建锋,等.基于PLC的直线加速器连锁保护系统[J].核技术,2008,7(31):506-510.
[3]Kadokura E,Suwada T,Satoh M,et al.PLC-based Beam Charge Interlock System for Radiation Safety in the KEKB Injector LINAC[C]//Proceeding s of International Conference on Accelerator and Large Ex perimental Physics Control Systen.Knoxville:IEEE,2007:149-151.
[4]Tang J Y,Smith J D,DeVan W R,et al.A Distributed and Collaborative PLC Lab for the Spallation Neutron Source[C]//Proceedings of International Conference on Accelerator and Large Experimental Physics Control System.T rieste:IEEE,1999:370-372.
[5]赵籍九.加速器控制系统及其进展[J].中国物理C,2008,32(S1):139-141.
[6]白新庄.PLC的选型探讨[J].石油化工自动化,2005,22(5):22-24.
[7]潘振华,刘海江.基于现场总线的油库监控系统研发[J].电气传动,2006,36(11):50-53.