EPICS 在win10 和 linux上的安裝與測試

2020-09-22 13:00:45

EPICS簡介

Experimental Physics and Industrial Control System(EPICS)是上世紀90年代初由美國洛斯阿拉莫斯國家實驗室(LANL)和阿貢國家實驗室(ANL)等聯合開發的大型控制軟體系統,具有分散式,開放,多平臺,可延伸等特點,提供豐富的控制系統軟體開發工具,可用於建立分散式的控制系統,並進行系統整合。EPICS多用於粒子加速器、天文望遠鏡等大型實驗系統中,目前已成為國際上同步輻射實驗室所廣泛採用的控制系統平臺。
阿貢國家實驗室EPICS官網
EPICS新主頁

系統環境與安裝包

Win10 64位元 和 Win10自帶Linux子系統
Epics base 7.04.1 或者3.15.8(stable)安裝包
Strawberry Perl for windows 安裝包

Windows環境下安裝

EPICS官網的說明
可以通過Strawberry Perl或VS community設定所需的編譯環境,本文通過Strawberry Perl 自帶的 MinGW來進行C/C++編譯。

編譯環境和路徑設定

Strawberry Perl安裝位置 E:\Strawberry
Epics base 檔案路徑 E:\EPICS\base-7.0.4.1
1、進入E:\EPICS\base-7.0.4.1\base-R7.0.4.1\startup下修改windows.bat指令碼來統一設定編譯的環境變數,需要修改的如下:

set _auto=yes
set _strawberry_perl_home=E:\Strawberry
set _epics_host_arch=windows-x64-mingw
set _epics_base=E:\EPICS\base-7.0.4.1

同時把 設定VS community環境的兩行程式碼註釋掉
在前面加rem

set _visual_studio_home=C:\Program Files (x86)\Microsoft Visual Studio 14.0
call "%_visual_studio_home%\VC\vcvarsall.bat" x64

2、檢查Win10的環境變數是否有下圖選中的ComSpec,如有刪除之不然編譯會報錯。
系統變數cmd3、Strawberry 路徑新增

把 Strawberry perl 安裝路徑下C的bin檔案路徑加入到windows系統變數 E:\Strawberry\c\bin
臨時新增

set path=E:\Strawberry\c\bin

編譯Epics base

Win+R開啟cmd視窗進入E:\EPICS\base-7.0.4.1\base-R7.0.4.1\startup執行修改後的windows.bat指令碼,來設定編譯環境變數,每次重新啟動都需要重新執行這個指令碼。退出到\base-R7.0.4.1路徑下gmake,如果之前有編譯過或者失敗過用gmake clean install清理後在gmake編譯,10-30min後完成。順利編譯好介面如下:
Epics-gmake同時在路徑E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw下會出現一系列編譯好的exe檔案和perl指令碼,說明編譯成功了。

測試與輔助工具安裝

1、Windows 環境變數新增
把路徑E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw加到系統變數裡,這樣就能直接呼叫路徑下的執行檔案和perl指令碼
臨時性的

set path=E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw

2、執行makeBaseApp.pl指令碼測試

makeBaseApp.pl

Epics-makeBaseApp3、IOC建立與測試

#建立test目錄
mkdir test
cd test
# 建立testApp的目錄
makeBaseApp.pl -t example T01
# 建立IOC boot目錄,命名程式名T01
makeBaseApp.pl -i -t example T01
#gmake編譯,可能需要再執行一次windows.bat 指令碼
gmake
#新增編譯好的test\bin\windows-x64-mingw\T01.exe到環境變數裡
#外加之前編譯的Epic相關和E:\Strawberry\c\bin路徑
set path=E:\EPICS\test\bin\windows-x64-mingw;E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw;E:\Strawberry\c\bin
# 進入前面test目錄下的\icoBoot\iocT01\執行T01 st.cmd指令碼
T01 st.cmd
#dbl 檢視已有的PV變數 
dbl

Test_T01

Linux子系統環境下安裝

Epics7.0 官網說明
Epics3.15 官網說明
官方檔案介面
Linux系統下簡單多了,裝了git,直接git clone就好

git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
cd base-7.0
make

或者解壓base-7.0.4.1.tar.gz,進入目錄make也行
然後把安裝路徑${HOME}/EPICS/epics-base新增到bashrc檔案裡

export EPICS_BASE=${HOME}/EPICS/epics-base
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}

測試

輸入softIoc,出現epics>,說明安裝成功,exit退出
IOC範例test和常用命令caget/caput/camonitor 參考連結

參考連結

1、在windows x64系統安裝EPICS
2、Ubuntu下安裝EPICS及建立IOC範例
3、CentOS7安裝EPICS Base與建立IOC範例
4、EPICS Linux/Unbuntu 的安裝說明(入門級)