关关难过关关过——EPICS base 安装和利用makeBaseApp.pl建立一个IOC实例

参考了很多这个文章https://blog.csdn.net/u013963632/article/details/78138217?locationNum=8&fps=1

这里安装的版本是3.14.12.7,系统是centos7

关于文件夹的选择,我一开始在home里,后来还是选择了和一篇论文里《上海质子治疗装置注入器远程控制系统的构建》一样的usr/local/,如果是小白(比如我),论文里怎么设置你就怎么设置,省去很多错误。

首先,在EPICS官网下了压缩包,解压到你的文件夹里

tar -zxvf ******.tar.gz

然后进入解压后的文件夹,找到startup里的一个EPICSHOSTARCH.pl,

./EPICSHOSTARCH

因为我是小白,这个版本里用就可以直接设置环境变量,但是后期我又用了

vim .bashrc,

参考论文的做法,在后面加了一串:

EPICS_HOST_ARCH=linux-x86_64
export EPICS_HOST_ARCH
PATH=$PATH:/usr/local/epics/base/bin/linux-x86_64/
export PATH
EPICS_BASE=/usr/local/epics/base/
export EPICS_BASE

这里设置的.bashrc只对当前登录的用户有用,关于环境变量的设置可以在https://blog.csdn.net/heiyueya/article/details/70247194里看到,也可以随便搜索一下,有很多。

然后回到base的文件夹,make编译就可以了

出啥问题就看缺啥包,不过在centos7 里还是不缺啥的,主要是之前用Ubuntu和Redhat,缺了一堆,编译很费劲。

万一,编译失败了,就是出现了error了,重新编译之前要

make distclean

make clean 不删除编译产生的文件,distclean就可以。

接下来就是建立ioc实例了。这个可以用base里的一个makeBaseAPP.pl 完成。

首先,来到base的文件夹下,

mkdir top
cd top
cd 
echo $PATH

这步看的是当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成。如:/usr/local/bin:/bin:/usr/bin。当我们执行程序时,shell自动跟据PATH变量的值去搜索该程序。shell在搜索时先搜索PATH环境变量中的第一个目录,没找到再接着搜索,如果找到则执行它,不会再继续搜索。

然后我复制了/sbin:/usr/local/epics/base/bin/linux-x86_64:(这里是看别人这么做的,也不知道为啥。。)

vim .profile

或者vim .bash_profile(没有profile的话)

在结尾粘贴。

然后cd到top,first和second都是我自己起的,可以变

<base>/bin/<arch>/makeBaseApp.pl −t example first
#Create application directories.创建应用文件夹,
<base>/bin/<arch>/makeBaseApp.pl −i -t example second 
#Create ioc boot directories.创建IOC启动文件夹

cd 到top目录下,make 一下,这里来自手册,说最好看一下top里的文件有啥,如果多了一堆东西,就是对的,两三个是肯定不对的,我这里边多了一堆东西,还有exampleAPP不知道是怎么来的~

然后cd 到 iocBoot/iocexample 里,看到st.cmd 是黑色的,这个是个关键的文件,因为之后要运行这个文件,如果失败了就得从头找毛病,我就卡在这很久。

chmod是为了把它的权限变大,变成绿色会可以运行,./运行

这里边有个envPaths,如果没有这个文件,运行就会失败,当然有了也可能会失败。

运行成功的画面是这样:

输入dbl就会出现下面的ai1........

到此为止啦

这篇文章的目的就是备忘,省的以后再按的时候忘记了 

猜你喜欢

转载自blog.csdn.net/weixin_41965702/article/details/82177561