EPICS

控制系統中,設備的每個模擬或數字的輸入/輸出量稱為一個流程變數。一個流程變數在資料庫中對應為一個記錄(record)。一條光束線控制系統是小規模的系統,流程變數約在600數量級。

簡介

EPICS即“實驗物理及工業控制系統”(Experimental Physics and Industrial Control System),是上世紀90年代初由美國洛斯阿拉莫斯國家實驗室(LANL)和阿貢國家實驗室(ANL)等聯合開發的大型控制軟體系統。

結構

基於分散式標準的EPICS結構包括兩部分:IOC層和OPI層。IOC層又可以細分為6層:通道訪問(CA)伺服器接口、資料庫訪問接口、動態資料庫、記錄支持模組、設備支持模組、設備驅動器。OPI層可以細分為兩層:通道訪問(CA)客戶接口和套用軟體。

EPICS軟體系統中的兩個基本機制是通道訪問和分散式動態資料庫。

通道訪問

EPICS系統依據客戶-服務者模型,在TCP/IP協定之上建立了稱為Channel Access(簡稱CA)的通道訪問機制,並為客戶(主要是OPI)和伺服器(主要是IOC)分別提供了套用接口子程式庫。CA是EPICS系統的最基本機制,它所能提供的服務包括動態通道定位,數據讀寫,訪問監控,連線監控和自動重接等,CA客戶可以根據通道名直接訪問系統中的任一個通道,通道具有回叫(callback)機制,根據客戶的預先指定傳送監控所得的信息,這樣便無須依靠巡迴檢測來監控系統,可以極大地減輕網路負荷。

基於通道訪問機制,可以開發出與上層套用工具,上層語言的接口,如EPICS與MATLAB的接口MCA、EPICS與JAVA的接口JCA等等。

動態資料庫

控制系統的I/O數據時頻繁變動的數據,為了回響來自操作台的命令、控制算法和各種操作狀態,必須採用現場運行的動態資料庫(run-time database)來記錄數據。動態資料庫的基本特點是:(1)為了便於訪問,數據結構採用簡單的表,(2)資料庫存放在記憶體中,(3)對於分散式資料庫,資料庫分布在系統的各個節點中,供操作員提取。

分散式動態資料庫是EPICS系統的另一個最基本的特點,在EPICS系統中,資料庫分布在各個輸入輸出控制機(IOC)中,每個通道都作為資料庫的一個記錄存放在控制該通道的IOC中,每個記錄中的值可以來自硬體設備輸出、操作員命令或者其它記錄的輸出。

EPICS動態資料庫不僅用於存放當前的通道數據,而且,所有的過程控制功能也基本上在動態資料庫中實現。因此,EPICS的資料庫記錄又被稱為過程模組。

在EPICS的3.13版及其以前的版本,IOC只能運行VxWorks實時作業系統。由於VxWorks非常昂貴,從3.14版本開始,IOC可支持VxWorks、RTEMS、Linux、Windows等多種作業系統。OPI與IOC也由原來必須運行在不同的CPU上,發到到可以集成在同一台PC上,為軟體仿真、系統集成提供了極大的方便。

IOC啟動時從主機上下載作業系統核心、套用軟體和分散式資料庫,然後開始運行。資料庫中每個記錄的I/O操作時通過epicsCore中的掃描器(scanner)對資料庫的掃描來實現的。iocCore提供以下掃描機制:

(1)周期掃描,IOC以指定的時間周期掃描指定的記錄;

(2)時間觸發掃描,包括由外部I/O硬中斷觸發引起的和由用戶設計的事件(即軟中斷)觸發引起的對指定記錄的掃描;

(3)被動掃描,來自OPI的對指定記錄的I/O操作,或者來自另一個與之連結的記錄處理後,引起對指定被動掃描的記錄的I/O操作

iocCore提供的另一個重要機制是監控器(monitor),用來監控指定通道的制定變化並通過callback機制向OPI報告。

相關搜尋

熱門詞條

聯絡我們