SSC-Linac离子源及束运线真空度读取方法

2015-03-20 08:19刘小军常建军顾可伟
原子能科学技术 2015年2期
关键词:真空度机箱串口

刘小军,常建军,安 石,顾可伟

(中国科学院 近代物理研究所,甘肃 兰州 730000)

在兰州重离子研究装置(HIRFL)中,为了实现分离扇回旋加速器(SSC)的直线注入,以提高离子源的注入效率,研发了直线加速器(Linac),目前射频四极场(RFQ)已经出束,下一步工作正在进行中。在SSC-Linac调束过程中,真空度是束流环境的重要参考,及时为调束人员提供可靠的真空度非常必要。

NI公司生产的CompactRIO 不仅体积较小,且坚固耐用,有很好的抗干扰能力,特别适合在环境恶劣的现场使用,其搭载的Vxworks系统使得编程更加灵活,开发周期较短。

本工作研究采用CompactRIO 9022 控制器、NI 9114 机 箱 及NI 9870RS232 串 口 模 块来读取SSC-Linac离子源及束运线真空度。

1 真空计简介

SSC-Linac离子源真空计均采用INFICON 公司的TPG300,每台真空计共有4路压力测量通道(A1、A2、B1、B2),与上位机通过RS232串行接口进行通信,指令格式列于表1。

表1 真空计指令格式Table 1 Format of vacuum gauge instruction

表1中:xx表示压力测量通道,发送该指令后将测量该通道的压力,并返回“0000”作为确认指令,再次发送询问指令“〈ENQ〉”时,则返回测量通道的状态信息与压力;“,”之前的x表示测量通道的6种状态,当x 为0时表示测量数据正常,为1时表示测量值在变化,为2时表示测量值超出传感器测量范围,为3时表示测量回路错误,为4时表示测量回路关闭,为5时表示没有发现硬件;“,”之后是用科学计数法表示的压力[1]。以测量B1 通道的压力为例,首先发送PB1,并以回车符结尾,在收到确认信息后再发送ASCII字符“〈ENQ〉”或十六进制数“05”,返回“1,1.6E-3”,说明此时的压力是在变化中,当前压力为1.6×10-3,单位可在真空计前面板手动预先设置完成。

2 硬件系统

硬件系统采用NI公司生产的CompactRIO,它是一种小巧而坚固的工业化控制和采集系统,采用可重新配置I/O(RIO)FPGA 技术实现超高性能和可自定义功能。CompactRIO 包含一个实时控制器与可重新配置的FPGA 芯片,适用于可靠的独立嵌入式或分布式应用系统。CompactRIO 还包含热插拔工业I/O 模块,内置可直接与传感器/调节器连接的信号调理。因CompactRIO 具有低成本开放性架构,用户可轻松访问到底层的硬件设备,且Compact-RIO嵌入式系统可使用高效的Labview 图形化编程工具进行快速开发[2]。

本文采用的控制器为CompactRIO 9022,在此嵌入式控制器中运行Labview Real-Time,以实现确定性控制、数据记录和分析,此控制器具有533 MHz处理器,2GB 非易失性存储介质,256MB DDR2内存,双以太网端口,并具有嵌入式Web和文件服务器,可实现远程用户连接,工作温度范围为0~55 ℃。机箱采用NI 9114 8插槽可重配置嵌入式机箱,在满足现需功能的前提下为以后的升级或实现其他I/O功能留有空间。串口模块采用NI 9870,它带有4个全功能的独立RS232DTE端口,它们与系统中的其他模块相隔离。每个端口均与ANSI/EIA/TIA-232标准完全兼容。配置完成的硬件系统如图1所示。

图1 CompactRIO 硬件系统Fig.1 Hardware system of CompactRIO

图1中的机箱不仅插有串口模块,还有3块DI模块及1块DO 模块,用来实现对其他数字I/O 设备的控制与状态读取,留有的3个空插槽作为后期备用。

3 软件系统

本文所有程序均采用Labview 编写,机箱与控制器通过FPGA 模式通信,因此需编写FPGA 接口程序。Labview-FPGA 编程简单易懂,无需使用VHDL语言。

现场需连接多台真空计,因此串口模块的每个端口均被使用,为此必须采用中断模式实现4个串口的同时通信。以端口1通信为例:系统检测到中断1发生,在第1次循环时先发送指令PA1,表示将测量A1通道的压力,此时真空计返回确认信息,只要保证收到返回信息即可,无需将信息显示,再发送十六进制数“05”,此时返回的数据通过Index Vacuum.vi将通道A1 的压力解析出来并发送到显示面板,第2次循环时将测量通道A2 的压力。同理,可实现剩余3路端口与对应真空计的通信。1个串口模块共可连接4 台真空计,可同时测量16个通道的真空压力,程序流程图如图2所示。

图2 程序流程图Fig.2 Flow chart of program

由图2可见,首先需将CompactRIO 与串口模块建立连接并完成初始化,根据TPG300真空计的协议格式发送指令,如果接收到返回的数据,则将其转换为真空度并发送到用户界面,否则返回重新初始化。

在编写串口模块FPGA 接口程序时,主要用到FPGA 的两个方法节点,即写字节和读字节,并在每个端口设置不同的中断。所用VI如图3所示。

图3 FPGA 接口程序所用VIFig.3 VIs for FPGA interface program

SSC-Linac控制系统的统一架构为EPICS,CompactRIO 作为真空控制系统的IOC,需生成过程变量(PV),目前NI已经开发出EPICS模块,使得软件编写过程更加简单。IOC程序示意图如图4所示。

当建立起通道访问服务时,WRITE PV.vi将把解析出的真空度写入统一命名的PV 中,操作界面只需知道PV 名称即可读取真空压力。

图4 IOC程序示意图Fig.4 Sketch of IOC program

4 结束语

本文采取的真空度读取方法硬件结构简单,且稳定可靠,具有很强的抗干扰能力,机箱插槽较多,可与气动阀等其他真空设备硬件连锁,后期升级改造成本较低,Labview 程序与NI硬件完全兼容,且兼容EPICS架构,不用单独设计IOC,系统整体实时性、鲁棒性较好。

[1] DONDORF W.TPG300 operating instructions[M].Germany:[s.n.],2003.

[2] NI公 司.产 品 手 册[R/OL].(2011-01)[2014-10].http:∥www.ni.com/compactrio/whatis/zhs/#h11.

猜你喜欢
真空度机箱串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
真空度信号在启停系统中的应用
挤奶机集乳器真空度评估研究
挤奶机真空度对牛奶体细胞数和牛乳头末端壁厚的影响
船舶电子设备串口数据的软件共享方法
小而美——航嘉MVP MINI Ⅱ机箱
串口技术的实物调试和虚拟仿真联合教学模式
乙醇减压提取工艺中真空度影响因素研究
大学MM你爱谁迷你机箱Party Show