EPICS之乙個簡單的裝置支援程式

2021-06-19 21:16:18 字數 1788 閱讀 9023

最近看epics的開發手冊,因為手冊中是分模組介紹的,所以看了一段時間還是寫不出程式來,昨天去讓師兄給我以具體的裝置支援的例子講述了下(因為我們室主要用到的還是裝置支援),下面是構建裝置支援程式的步驟,類似於乙個hello world程式,給同樣在入門道路上的朋友乙個參考。

1.      像ai、bi等這些型別的記錄支援,epics已經提供,一般情況下不需要我們自己code,我們經常需要寫的是裝置支援即device support,下面是乙個device support 簡單程式的code和編譯過程,包括support、ioc和boot。

2.      步驟

說明:我的epics_base路徑為/root/myepics/base/

(1)       裝置支援模組

*5)可以新增自己的.c、.h檔案,需要在本目錄下的makefile中新增firstsupport_srcs +=×××.c來對其進行編譯。

(2)       ioc模組

返回到top,然後執行命令:

firstioc_dbd+= firstsupport.dbd

firstioc_libs+= firstsupport

修改此目錄下面的makefile,適當位置新增db:db += firstioc.db

(3)boot模組

返回到top,然後執行命令:

(這裡會提示要你輸入要啟動的ioc名字,這裡firstioc)

2) 到/root/work/epics/myfirst/iocboot/iocfirstboot下修改st.cmd

在適當位置新增載入記錄例項,dbloadrecords("db/firstioc.db"),然後將st.cmd新增執行許可權。

(4)回到top目錄(/root/work/epics/myfirst),make命令編譯,

(5)到/root/work/epics/myfirst/iocboot/iocfirstboot執行st.cmd,會迴圈輸出1,2,3….

上面的步驟中沒指名每步是具體是什麼意識,後面我在補充,當然最好是自己去檢視官方的開發手冊。

devfirstsupport.c

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int i;

static long init_bi(struct birecord *pbi);

static long read_bi(struct birecord *pbi);

struct devfirstsupportbi = ;

epic***portaddress(dset,devfirstsupportbi);

long init_bi(struct birecord *pbi)

long read_bi(struct birecord *pbi)

struct vmeio *pvmeio = (struct vmeio *) &(pbi->inp.value);

char *parm = pvmeio->parm;

if(!strcmp(parm, "first"))

return 2;

}

firstioc.db

record(bi, "firstrecord")

EPICS簡單的裝置支援程式

最近看epics的開發手冊,因為手冊中是分模組介紹的,所以看了一段時間還是寫不出程式來,昨天去讓師兄給我以具體的裝置支援的例子講述了下 因為我們室主要用到的還是裝置支援 下面是構建裝置支援程式的步驟,類似於乙個hello world程式,給同樣在入門道路上的朋友乙個參考。1.像ai bi等這些型別的...

乙個支援上傳的簡單http server

現在,很多人都知道,python裡有個 httpserver,可以拿來方便地共享檔案。比如,你要傳送某個檔案給區域網裡的同學,你只要cd到所在路徑,然後執行這麼一行 python m httpserver人家就可以訪問 http 你的ip 8000 來訪問你要共享的檔案了。像我早已把這個命令做了al...

ACM之乙個簡單的數學問題

乙個簡單的數學題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述zyc最近迷上了數學,一天,dj想出了一道數學題來難住他。算出1 n,但zyc一時答不上來希望大家能程式設計幫助他。輸入第一行整數t,表示測試組數。後面t行,每行乙個整數 n 1 n 10 5 輸出輸出1 n.是...