複製鏈接
請複製以下鏈接發送給好友

EPICS

鎖定
控制系統中,設備的每個模擬或數字的輸入/輸出量稱為一個流程變量。一個流程變量在數據庫中對應為一個記錄(record)。一條光束線控制系統是小規模的系統,流程變量約在600數量級。
中文名
實驗物理及工業控制系統
外文名
EPICS
開發者
美國洛斯阿拉莫斯國家實驗室
開發時間
上世紀90年代初

EPICS簡介

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

EPICS結構

基於分佈式標準的EPICS結構包括兩部分:IOC層和OPI層。IOC層又可以細分為6層:通道訪問(CA)服務器接口、數據庫訪問接口、動態數據庫、記錄支持模塊、設備支持模塊、設備驅動器。OPI層可以細分為兩層:通道訪問(CA)客户接口和應用軟件。
EPICS軟件系統中的兩個基本機制是通道訪問和分佈式動態數據庫

EPICS通道訪問

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

EPICS動態數據庫

控制系統的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報告。