EPICS 设备驱动开发

来源:互联网 发布:c 语言 花指令 编辑:程序博客网 时间:2024/06/05 14:24

首先介绍下生成ITER提供的样列项目。

1、makeBaseApp.pl -t example

2、makeBaseApp.pl -i -t example

3、make生成IOC

4、转到iocboot/ioc**/路径 ,用命令chmod +x st.cmd 修改st.cmd的权限,然后用命令./st.cmd执行该文件,打开服务器

5、vi st.cmd 观察其内容,可以修改让其执行其他record。

6、用camonitor 或caget啥的观察pv


进入正题。

建立一个简单的epics驱动:https://pubweb.bnl.gov/~mdavidsaver/epics-doc/epics-devsup.html   

1、引用ioc框架

makeBaseApp.pl -t ioc prng

2、在prngApp/src/路径下添加IOC的设备定义prngdev.dbd和驱动程序devprng.c,并修改此路径下的makefile,加入两个新的文件

  完成后回到根目录make

  (1)设备定义prngdev.dbd:  

  device(ai,CONSTANT,devAiPrng,"Random")
  注意最后一项是设备类型,对应于record的DYTP!!

  (2)驱动程序devprng.c中有一句:  

   epicsExportAddress(dset,devAiPrng);
   这一句完成设备的注册,使得.dbd和.c对应起来

4、在路径prngApp/Db/下添加IOC的record定义 prng.db,并添加到此路径下的makefile,完成后回到根目录make

   这里定义record的名字等信息并与变量关联起来

5、回到根目录生成IOC

makeBaseApp.pl -a linux-x86 -i -t ioc -p prng prng1
6、修改iocBoot/iocprng1/st.cmd(即让其执行prng.db定义的record),回到根目录make

     注意其中的关键代码dbLoadRecord。

7、执行iocBoot/iocprng1/st.cmd(可以用chmod +x st.cmd修改权限)启动IOC.

8、使用camonitor检测PV。





http://epics.web.psi.ch/software/streamdevice/doc/index.html

https://pubweb.bnl.gov/~mdavidsaver/epics-doc/epics-ioc.html

http://www-linac.kek.jp/epics/second/




0 0