# 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 脚本来统一设置编译的环境变量,需要修改的如下:

1
2
3
4
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

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

2、检查 Win10 的环境变量是否有下图选中的 ComSpec,如有删除之不然编译会报错。

系统变量cmd

3、Strawberry 路径添加

把 Strawberry perl 安装路径下 C 的 bin 文件路径加入到 windows 系统变量
E:\Strawberry\c\bin

临时添加路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

set path=%path%;E:\Strawberry\c\bin

```

### <font color=#f85dcd > 编译Epics base </font>

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](https://img-blog.csdnimg.cn/20200921164240525.JPG#pic_center)

同时在<font color=#f85dcd >[EPICS编译文件的路径](#jump) </font> :**E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw**下会出现一系列编译好的exe文件和perl脚本,说明编译成功了。

<font color=#3296e3 > <span id="jump"> **EPICS编译文件的路径**</span> </font>

| 路径名称 | 路径位置 |
| ------------------ | --------------------------------------------------------- |
| EPICS base编译文件 | E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw |

### <font color=#f85dcd > 测试与辅助工具安装 </font>

<font color=#00CACA > 1、Windows 环境变量添加 </font>

把<font color=#f85dcd >[EPICS编译文件的路径](#jump)</font> **E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw**加到系统变量里,这样就能直接调用路径下的执行文件和perl脚本

临时添加路径

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

2、执行 makeBaseApp.pl 脚本测试

1
makeBaseApp.pl

Epics-makeBaseApp

3、IOC 创建

1
2
3
4
5
6
7
8
9
#建立test目录
mkdir test
cd test
# 创建testApp的目录
makeBaseApp.pl -t example T01
# 创建IOC boot目录,命名程序名T01
makeBaseApp.pl -i -t example T01
#gmake编译,可能需要再运行一次windows.bat 脚本
gmake

编译文件的路径

路径名称 路径位置
EPICS base 编译文件 E:\EPICS\base-7.0.4.1\base-R7.0.4.1\bin\windows-x64-mingw
测试用编译文件 E:\EPICS\test\bin\windows-x64-mingw

添加上面两个路径到系统环境变量中

临时添加路径

1
2
3
4
5
#添加编译好的test\bin\windows-x64-mingw\T01.exe到环境变量里
set path=%path%;E:\EPICS\test\bin\windows-x64-mingw\T01.exe
#外加之前编译的Epic相关和E:\Strawberry\c\bin路径
set path=%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

检查下环境变量里是否包含这两项
在这里插入图片描述

4、IOC 测试

测试 ioc 启动文件的路径

路径名称 路径位置
测试的 ioc 启动文件 E:\EPICS\test\iocBoot\iocT01
1
2
3
4
# 进入前面test目录下的\icoBoot\iocT01\运行T01 st.cmd脚本
T01 st.cmd
#dbl 查看已有的PV变量
dbl

Test_T01

# Linux 子系统环境下安装

Epics7.0 官网说明
Epics3.15 官网说明
官方文档界面
Linux 系统下简单多了,装了 git,直接 git clone 就好

1
2
3
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 文件里

1
2
3
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 的安装说明(入门级)