孫 江,夏 凡,吳 豪,李 波,王 碩
(核工業西南物理研究院,成都 610041)
HL-2A托卡馬克裝置主機大廳是開展核聚變物理研究和工程實踐的最重要的場所。在主機大廳里面,主機周圍分布著各個子系統的上百件套不同設備,實驗人員在實驗期間根據實驗目的不同需要出入主機大廳對其所負責的設備進行相關的調試調整。考慮到HL-2A主機大廳里面存在許多危險因素,比如上萬伏特的高壓、零下一兩百多度液氮液氦、中性束注入期間產生大量的中子輻射、大功率的微波輻射等等,都是對人體有害的[1]。這些危險因素一般出現在等離子體放電期間,所以放電期間實驗人員必須全部離開主機大廳,才能保證人員和設備的安全。
在之前的HL-2A放電實驗中,采用放電前打鈴60秒的方式通知主機大廳里面的實驗人員立即離開。但是這種方式存在的弊端是主機大廳空間大、噪音大,有些角落聽不清鈴聲。因此有必要重新設計一套人身安全聯鎖系統,確保實驗人員在等離子體放電前全部離開主機大廳,且等離子體放電期間不會有人誤入主機大廳,及時制止各種可能的安全事故發生。
人身安全聯鎖系統是HL-2A托卡馬克裝置中央安全控制系統的重要組成部分,主要用于主機大廳的人身和設備安全聯鎖保護。參考ITER CODAC并根據當前時代背景下的技術條件和控制運行理念,有效地結合裝置的運行狀態及保障設備和人員安全的需求,設計了一套人身安全聯鎖系統。
人身安全聯鎖系統的開發設計,主要針對實驗人員人身安全及儀器設備財產安全而展開,是一個以保護概念為核心的專用系統。它分為兩個部分:中央安全控制系統和門禁訪問控制系統。本文從總體結構,系統框架,通訊網絡等方面介紹了人身安全聯鎖系統的設計和實現。
中央安全控制系統(central safety system,CSS)需要對門禁訪問控制系統(access control system,ACS)進行實時監視和安全控制[2-4]。圖1是ITER門禁訪問控制系統的接口關系圖,深灰色為門,淺灰色為CSS部分,無色為ACS部分。

圖1 ITER典型的門禁訪問監視控制框架圖
ITER的門禁訪問安全控制系統主要對進出受保護的區域提供安全聯鎖。根據安全級別和裝置運行狀態等綜合因素考慮,通過使用令牌進出控制門來實現門禁訪問。當進入的該區域處于“限制”狀態時,每個人都應使用令牌通過控制門進入。直到真正離開受限制的區域后,將令牌返還給分配箱。每個令牌的狀態(插入或移出的狀態)應被監控,并發送給CSS。
ITER CODAC對人員安全保護(Safety)和設備聯鎖保護(Interlock)作出劃分。但是,由于HL-2A裝置與ITER有一定差異,所以我們不完全照搬CODAC相關設計標準。對于較復雜的涉及人員安全的子系統,我們對其設立安全和聯鎖保護,而對于一些較為單一的診斷設備等子系統,我們僅對其設立聯鎖保護,不加入人員安全保護功能。
CSS是一個中央協調器,通過中央安全網絡(CSN,central safety network)接收各個子系統的布爾事件,并向這些子系統發出指令,也需要處理一些模擬量信號。CSS控制邏輯不受人工干預和手動控制,但某些人工功能(比如急停)要放到中控[5-6]。CSS具體負責的任務有:
1)處理來自現場設備的警報和事件;
2)將訪問控制警報和事件推送到大屏顯示;
3)跟蹤和記錄存儲事件。

圖2 中央安全控制系統框架圖
ACS主要包括門閘設備和控制終端、視頻拍照和紅外探測功能等[7-9]。門禁系統的安全設計通過雙門互鎖、防尾隨功能以及對人進出行為的嚴密邏輯控制程序實現安全性更高、可靠性更強的門禁控制管理,有效地監測托卡馬克裝置大廳是否有人逗留或者闖入[10-15]。門禁訪問控制系統負責的任務有:
1)獲取實驗人員身份和配置他們的訪問權限,并將身份和訪問權限下載到門閘控制器中;
2)授予/拒絕來自門閘控制器的訪問請求,保存訪問記錄;
3)根據每個實驗人員的身份和當前裝置運行狀態來確定是否允許當前人員對安全控制區的訪問。
中央安全控制系統由一套西門子冗余400系列PLC、ET200分布式IO采集、千兆交換機組成并裝配到EMC屏蔽機柜,用來處理與裝置和人員安全有關的事件,同時具有機柜狀態監控功能,主要監視機柜前后門狀態和機柜溫度。如果機柜內溫度超過25度,則自動啟動風扇。機柜內部正面從上往下的布局依次是供電,冗余PLC和ET200設備,交換機和溫控顯示和接地,背面是端子排用來接外部信號。
EPICS是用于實驗物理和工業控制平臺的一套開源軟件框架。EPICS的軟件包主要包括Base、各種模塊(Module)和擴展(Extension)。其中Base是EPICS軟件的主體部分,而模塊和擴展則是在Base的基礎上為EPICS提供軟硬件支持和其他輔助功能[16]。
EPICS采用了客戶端/服務器架構實現不同主機之間的通信。在EPICS中扮演服務器角色的是IOC,它們負責完成具體的輸入/輸出動作及本地控制任務,并利用CA協議從網絡中接收來自客戶端的信息或向客戶端發布自身狀態信息。EPICS IOC的基本結構如圖3所示。

圖3 EPICS IOC的結構示意圖
EPICS使用各種類型的記錄(Record)來表示輸入/輸出量,而IOC內存中所有Record的集合則被稱為IOC數據庫(Database)。局域網內通常包含多個IOC,它們的IOC數據庫便組成了一個分布式數據庫。當Record需要與硬件交互時,則需要調用相應的Device Support實現和硬件之間的通訊。IOC數據庫中的Record通過CA協議發布到網絡中,成為能夠被CA客戶端訪問的過程變量(process variable,PV)。
中央安全控制系統擁有自己的IOC,將門禁訪問控制系統的變量通過CA協議發布到PON網絡中。CSN采用千兆光纖星型網實現各系統之間的通訊,在中央機房放置一臺西門子交換機XR528-6M,VLAN設有2個網段,一個屬于CIN網,一個屬于CSS網。
PON(Plant Operation Network)網絡對應于ITER的裝置運行網。所有與EPICS相關的機器均在此網段內。所有連接CIN和CSN的子系統中的控制器、數據服務器和上位機操作終端均接入PON網絡。PON網絡承載所有子系統常規控制和安全聯鎖的監視數據流。
這節主要詳細說明門禁訪問控制系統在HL-2A現場是如何布置和運行的。
人身安全聯鎖系統的總體設計結構圖如圖4所示。在現有的設備和網絡基礎上,新安裝了門禁設備和門禁軟件。

圖4 HL-2A人身安全聯鎖系統的總體設計圖
在主機大廳的兩個出入口分別安裝了門閘設備,其通電由PLC驅動繼電器完成。實驗人員需要刷員工卡才能開閘通過,且一次只能通過一個人??刂崎T閘設備的屏蔽(非使能)和激活(使能)功能實現多門互鎖。門閘設備具有反潛回功能,當同一個人刷卡進去后需要刷卡出來后才具有再次刷卡進去的權限,不允許進去時刷卡,出來時卻不刷卡。
門禁管理系統一般為門閘自帶工具,負責登記用戶進出權限并將刷卡進出的人員信息記錄存儲到SQL Server數據庫中。沒有登記授權的人員不允許刷卡進入主機大廳。只有具有訪問權限,門閘才解鎖允許通過。
每天第一炮放電前,由專人對主機大廳區域進行巡邏檢查,確定大廳沒有逗留任何人的情況下,開啟門閘設備。門禁訪問控制系統與中央安全控制系統有互鎖保護,門禁系統會實時監測、統計和顯示主機大廳內的人數,并將計算結果發送到中央安全控制系統,確保在放電過程中主機大廳無任何人員。若主機大廳內部的人數不為0,那么中控臺就不能發出開始放電的指令。放電期間禁止刷卡進入主機大廳,門禁刷卡開閘功能無效。
同時,在大廳的兩個出入口上方均安裝有一個顯示屏,用來顯示進入到主機大廳的實驗人員的名字、進去時間、當前人數和實驗狀態等信息。此外,還在主機大廳內放置了4個大功率喇叭,在準備開始放電之前,喇叭會不斷廣播停留在主機大廳內的實驗人員的名字,催促他們迅速刷卡離開主機大廳。
在門禁訪問控制系統硬件的基礎上,還需要軟件編程完成進出人員的記錄、顯示、廣播等功能。所以門禁控制上位機還需要運行兩個程序,其中一個程序Alarm負責廣播,另一個程序Display負責顯示進出人員信息。都采用C#編程,使用EpicsSharp庫,利用CA協議對PV進行讀寫。
中央安全控制系統搭建有一臺EPICS軟IOC,利用s7nodave驅動包將與門禁控制有關的PLC變量和PV對應起來,網頁配置好PV生成DB文件并應用配置[17-18]。軟IOC就能與PLC通訊,并通過Archiver Appliance實現PV的歸檔存儲。PLC中5個與門禁控制有關的變量如圖5所示。

圖5 門禁控制PLC變量
這5個變量表示的含義分別是:
CCO-CSS-IOC:MJ-BELL 打開廣播喊人;
CCO-CSS-IOC:MJ-BELL1 每天第一炮廣播喊人;
CCO-CSS-IOC:MJ-STOP-BELL 關閉廣播喊人;
CCO-CSS-IOC:MJ-RESET 門禁顯示屏信息清零;
CCO-CSS-IOC:MJ-PEOPLE-IN 主機大廳里面有人。
用C#編寫的Alarm和Display程序要一直監聽前4個PLC變量的變化而觸發相應的動作。實驗運行人員在中控WINCC界面點擊不同的指令,Alarm和Display程序監聽到對應的PV有變化后,觸發不同的動作。下面是C#利用CA協議定義PV通道和監聽PV的實時值。
channel_FirstCall =client.CreateChannel
channel_FirstCall.MonitorChanged+=new EpicsDelegate
channel_StopCall =client.CreateChannel
channel_StopCall.MonitorChanged+=new EpicsDelegate
channel3 =client.CreateChannel
channel3.MonitorChanged +=new EpicsDelegate
channel4 =client.CreateChannel
channel4.MonitorChanged +=new EpicsDelegate
Alarm程序每2秒從SQL Server數據庫中讀取當前進出入大廳的人員記錄。門禁系統在每次有效進入后,增加當前大廳內的人員數量,在有效退出后,抵消刷卡進去的記錄,減少人員數量,從而判斷主機大廳里的剩余人數。
門禁系統的Display程序也是C#編寫,程序任務和結構跟Alarm程序類似,也是需要配置PV通道并監聽它們。這里由于顯示內容更多,所以需要監聽的PV更多。
channel1 =client.CreateChannel
channel2 =client.CreateChannel
channel3 =client.CreateChannel
channel4 =client.CreateChannel
channel5 =client.CreateChannel
channel6 =client.CreateChannel
channel7 =client.CreateChannel
Display程序也是每2秒從SQL數據庫讀取進出人員的姓名、進去時間,并按刷卡時間的先后順序將每個人的姓名、進去時間顯示在屏幕上。屏幕顯示還包括門禁狀態、實驗狀態、當前人數、當前炮號。門禁系統的狀態顯示屏如圖6所示。主機大廳當前人數為0的時候顯示背景為綠色,有人時顯示背景為紅色,并顯示總人數。實驗人員能清晰的看到當前主機大廳的訪問狀態。

圖6 主機大廳門禁訪問控制系統顯示屏
每天實驗前試驗運行人員開啟門禁系統并將之前的人員記錄清除復位。每天第一炮放電前,播報第一炮的語音對主機大廳進行清場,清場完畢后開始第一炮放電。從第二炮放電開始,根據門禁系統記錄的進入主機大廳的人員信息,播報對應人員的姓名,催促他們盡快離開。
中控WINCC監控界面如圖7所示。中控實驗人員在每天第一炮放電前按下“第一炮喇叭喊人”按鈕(對應變量CCO-CSS-IOC:MJ-BELL1),Alarm程序收到指令后觸發主機大廳里面的喇叭開始循環播放語音“即將開始第一炮放電,請盡快離開主機大廳,放電結束之前不要返回主機大廳”。除開每天第一炮放電以外的其他炮放電,開始放電前都是點擊“喇叭”按鈕(對應變量CCO-CSS-IOC:MJ-BELL),喇叭開始廣播“即將開始放電,請[名字1],[名字2],[名字3]等迅速離開主機大廳”,直到主機大廳里面的人全部刷卡出來后,喇叭播報一遍“大廳已清空,準備放電”,才可以啟動放電。當中控人員按下“停止喊人”按鈕(對應變量CCO-CSS-IOC:MJ-STOP-BELL),喇叭停止廣播。當按下“門禁復位”按鈕(對應變量CCO-CSS-IOC:MJ-RESET),門禁顯示屏的進出人員信息全部清空。

圖7 中控WINCC監控界面
門禁系統與中控互鎖,在主機大廳內有人時,不能啟動放電。Alarm程序判斷主機大廳里面有人時,變量CCO-CSS-IOC:MJ-PEOPLE-IN的值為1,中控WINCC界面閃爍提示此時主機大廳里面有人,禁止啟動放電。
門禁系統在實際運行中會遇到各種突發情況,比如需要外來人員協助修理設備時,需要持臨時卡進入。有設備突發故障需要讓出通道方便進出時,需要將門禁系統斷電并停止工作,門禁系統再次投入前需由專人巡邏清場,再采用第一炮放電前清人的方式,然后啟動放電。
基于CODAC框架下的人身安全聯鎖系統改善了硬件架構和網絡結構,更好地集成了各個與安全相關的系統,實現了毫秒級的錯誤互鎖,提供了友好的可視化界面,也降低了以后的改造花費和時間成本。人身安全聯鎖系統已經應用在HL-2A的放電實驗中,保證了在放電期間,主機大廳不會有人逗留,通過門禁系統的區域人數計算功能,能準確計算進入區域的有效持卡人的數量。經過多輪實驗運行測試,取得了較好的安全保障效果,解決了以前主機大廳存在的安全隱患。即保證了放電期間的人員安全,又提高了HL-2A的放電效率。
本系統目前正在進行改造升級,未來考慮采用生物識別設備(指紋儀、人臉識別)代替讀卡器,提高身份認證的可靠性,減少卡片丟失的風險。