首页 > 其他分享 >EPICS 的介绍和安装

EPICS 的介绍和安装

时间:2024-10-11 11:22:06浏览次数:7  
标签:machine EPICS temperature lrj 介绍 water virtual 安装

EPICS平台的介绍和安装方法

EPICS的学习网址

https://epics-controls.org/
https://controlssoftware.sns.ornl.gov/training/2022_USPAS/

EPICS是什么

简介

EPICS(Experimental Physics and Industrial Control System)是一套开源的软件工具和应用程序,专门为构建分布式控制系统提供软件基础设施。它广泛应用于粒子加速器、大型实验设施、望远镜等需要高精度控制的领域。

EPICS 的核心优势在于:

  • 分布式架构: 可以有效管理大型复杂系统,各个组件之间通过网络通信。
  • 可扩展性: 能够适应不断变化的实验需求,灵活添加新的设备和功能。
  • 开放性: 基于开源协议,具有活跃的社区支持。
  • 跨平台: 支持多种操作系统,包括 Linux、Windows 和 macOS。

EPICS 的架构

EPICS 的架构主要由以下几个组件组成:

  • Channel Access(CA): EPICS 的核心通信协议,用于在不同设备和应用程序之间交换数据。
  • Archiver: 用于记录和存储系统中的数据,便于后续分析和故障诊断。
  • Alarm system: 提供报警功能,及时通知用户系统异常情况。
  • Sequence: 用于定义和执行复杂的控制序列。
  • Database: 用于存储系统的配置信息。

EPICS 的应用

EPICS 在以下领域有着广泛的应用:

  • 粒子加速器: 控制加速器中的各种设备,如磁铁、射频腔等。
  • 同步辐射光源: 控制光束线站的各种设备,如单色器、探测器等。
  • 核物理实验: 控制实验设备,如探测器、靶等。
  • 天文学: 控制望远镜和相关设备,如光谱仪、相机等。
  • 工业自动化: 用于控制生产线上的各种设备。

EPICS 的优势

EPCIS的安装

采用的环境是Linux的Ubuntu系统21
以下的安装步骤的基于官方的文档内容安装的

https://docs.epics-controls.org/en/latest/getting-started/installation-linux.html

系统的准备

需要在Ubuntu上安装了make,C++,libreadline,在Linux上使用apt-get-install

sudo apt install build-essential
sudo apt install libreadline-dev

sudo apt install build-essential 命令的主要作用是:

安装构建软件所需的必需工具包:这个命令会安装一系列用于编译和构建其他软件的工具,包括:
GCC(GNU Compiler Collection):一个功能强大的编译器集合,支持多种编程语言,如 C、C++。
make:一个自动化构建工具,根据 Makefile 中的规则来编译程序。
其他开发工具和库:一些其他的开发工具和库,为软件的构建提供支持。

libreadline-dev 是什么?
它是一个开发库,提供了丰富的函数和数据结构,可以帮助程序员轻松实现命令行接口的功能。
这些功能包括:
命令行历史记录: 能够记录用户输入过的命令,方便用户快速查找和重新执行。
命令行补全: 可以根据用户输入的命令提示可能的选项,提高输入效率。
行编辑: 支持行编辑功能,方便用户修改命令。

EPICS的参考手册的路径

https://epics.anl.gov/base/R3-15/7-docs/CAref.html#CommandTools

安装EPICS

命令如下

mkdir $HOME/EPICS
cd $HOME/EPICS
wget https://epics-controls.org/download/base/base-7.0.8.1.tar.gz
tar -xvf base-7.0.8.1.tar.gz
cd base-7.0.8.1
make

上面编译完成后,将路径加入到环境变量中:

sudo vim /etc/profile

加入路径

export PATH=$PATH:/home/lrj/EPICS/base-7.0.8.1/bin/linux-x86_64

测试EPICS简单使用

在终端中输入

softIoc

输出

epics> 

然后你输入exit退出,或者是按快捷键ctrl+C.这样就代表了你的EPICS安装正确了

接下来我们继续测试。准备一个test.db的文件

record(ai, "temperature:water")
{
    field(DESC, "Water temperature in the fish tank")
}

解释一下上面的内容:一个描述了水温的记录record,是一个ai(analog input) record ,
Desc作用是负责描述。

我们继续测试test.db

softIoc -d test.db

输出内容

Starting iocInit
############################################################################
## EPICS R7.0.8.1
## Rev. 2024-09-27T15:54+0800
## Rev. Date build date/time: 
############################################################################
iocRun: All initialization complete
epics>

我们输入一个命令 dbl ,作用是列出可用的记录

epics> dbl
temperature:water
epics> 

我们这个终端别关闭,我们开一个新终端,在上面测试一下工具caget和caput.
caget作用:是获取一个 PV(Process Variable)的值。这是 EPICS 中用于获取 PV 值的标准命令。
caput作用:是设置一个 PV新值。这是 EPICS 中用于设置PV 值的标准命令。
使用例子如下:

lrj@lrj-virtual-machine:~$ caget temperature:water
temperature:water              0
lrj@lrj-virtual-machine:~$ caget temperature:water.DESC
temperature:water.DESC         Water temperature in the fish tank
lrj@lrj-virtual-machine:~$ caput temperature:water 21
Old : temperature:water              0
New : temperature:water              21
lrj@lrj-virtual-machine:~$ caput temperature:water 24
Old : temperature:water              21
New : temperature:water              24
lrj@lrj-virtual-machine:~$ caget temperature:water
temperature:water              24
lrj@lrj-virtual-machine:~$ caget temperature:water
temperature:water              24

我们再打开第三个终端,输入命令camonitor,
camonitor temperature:water

camonitor temperature:water

输出

temperature:water              <undefined> 0 UDF INVALID
CA.Client.Exception...............................................
    Warning: "Identical process variable names on multiple servers"
    Context: "Channel: "temperature:water", Connecting to: 192.168.61.130:35413, Ignored: lrj-virtual-machine:5064"
    Source File: ../cac.cpp line 1321
    Current Time: Mon Sep 30 2024 13:38:29.156639644
..................................................................

此时你第二个终端改变一下温度
输入以下命令

lrj@lrj-virtual-machine:~$ caput temperature:water 22.1
Old : temperature:water              0
New : temperature:water              22.1
lrj@lrj-virtual-machine:~$ caput temperature:water 22.0002
Old : temperature:water              22.1
New : temperature:water              22.0002
lrj@lrj-virtual-machine:~$ caput temperature:water 23.1
Old : temperature:water              22.0002
New : temperature:water              23.1
lrj@lrj-virtual-machine:~$ caput temperature:water 23.2
Old : temperature:water              23.1
New : temperature:water              23.2

这个时候第三个终端实时输出了数据
内容如下

lrj@lrj-virtual-machine:~$ camonitor -g8 temperature:water
temperature:water              <undefined> 0 UDF INVALID
temperature:water              2024-09-30 14:08:04.339130 22.1  
temperature:water              2024-09-30 14:08:17.152787 22.0002  
^C
lrj@lrj-virtual-machine:~$ camonitor temperature:water
temperature:water              2024-09-30 14:08:17.152787 22.0002  
temperature:water              2024-09-30 14:09:24.805279 23.1  
temperature:water              2024-09-30 14:09:32.034575 23.2 

如果你执行到现在也没出什么问题,说明你EPICS基本上没问题了。

标签:machine,EPICS,temperature,lrj,介绍,water,virtual,安装
From: https://www.cnblogs.com/AndreaDO/p/18441803

相关文章

  • 第一篇博客(2024级新生的简单自我介绍及学习编程经历)
    亲爱的读者: 大家好!先来谈谈我写这篇博客的目的吧,写这篇博客的目的便是:1.做一个自我介绍。2.讲一讲我了解编程学习以及大学的经历。3.谈谈我对于我自己编程学习的看法。(学习目标,学习方法,花费时间)4.锻炼我的写作能力。(1)首先,本人网名为“尘饰”,来自于江西某个大学的2024级新......
  • Ubuntu系统 用docker安装jenkins
    1.1.1服务器准备如果刚买的服务器是ubuntu一开始默认用户是ubuntu需要在Ubuntu云服务器上使用root用户登录实例1.设置root密码sudopasswdroot输入两次密码返回一下内容表示密码设置成功passwd:passwordupdatedsuccessfully执行以下命令,打开sshd_config配置文件......
  • 魔力宝贝6.0+单机版安装教程+无需虚拟机
    今天给大家带来一款单机游戏的架设:魔力宝贝6.0。官方任务无任何bug优化的很完美,添加了半山系列;系列系列;砍狗系列;暗流系列;炼金系列等。另外:本人承接各种游戏架设(单机+联网)本人为了学习和研究软件内含的设计思想和原理,带了架设教程仅供娱乐。教程是本人亲自搭建成功的,绝对是完整......
  • Linux安装Jenkins指南
    Linux安装Jenkins指南Jenkins,作为一款开源的自动化服务器,广泛用于持续集成和持续部署(CI/CD)流程中。它提供了强大的插件生态系统,使得集成各种开发工具、版本控制系统和构建工具变得简单高效。本文将详细介绍如何在Linux系统上安装和配置Jenkins。一、准备工作机器要求:内存不少......
  • 简便安装,零要求高度,一体化设计!SD202型拉线地表位移监测设备
    简便安装,零要求高度,一体化设计!SD202型拉线地表位移监测设备SD202型拉线地表位移是一种具有一体化密封设计的监测设备。其外观线条流畅美观,安装简便,无需打开机壳,对安装高度没有任何要求。该设备具备无线收发能力,并内置电池和SIM卡,无需额外连接采发模块。因此,它适用于测点较为分散、......
  • SketchUp Pro 2024 for Mac 3D建模 草图设计大师软件安装【保姆级教程,简单小白轻松上
    Mac分享吧文章目录SketchUpPro3D建模草图设计大师软件安装完成,软件打开效果一、Mac中安装SketchUpPro3D建模草图设计大师软件——v241️⃣:下载软件2️⃣:安装软件,将安装包从左侧拖入右侧文件夹中3️⃣:应用程序,打开安装的应用软件文件夹,运行SketchUp.app4️⃣:任选示例模型,......
  • OmniPlan Pro for Mac 项目管理流程软件安装教程【保姆级教程,简单小白轻松上手】
    Mac分享吧文章目录OmniPlanPro项目管理流程软件安装完成,软件打开效果一、Mac中安装OmniPlanPro项目管理流程软件——v4.91️⃣:下载软件2️⃣:安装软件,将安装包从左侧拖入右侧文件夹中,并等待安装完成3️⃣:运行安装好的软件,显示下图后,Command+Q键退出软件4️⃣:打开下图软件,根......
  • 宝塔面板安装流程
    宝塔面板是一款集成了服务器管理、网站管理、数据库管理等功能的图形化操作面板,适用于Linux和Windows操作系统。下面是宝塔面板的基本安装流程:1.系统准备选择系统:根据服务器的操作系统类型(如CentOS、Ubuntu、Debian等)选择合适的宝塔版本。环境检查:确保服务器能够访问互联网,并......
  • 关于 PyCharm 2024安装使用 (附加激活码、补丁)
    第一步:下载安装包访问IDEA官网,下载安装包,下载链接如下:https://www.jetbrains.com.cn/pycharm/第二步,安装完成之后,下载补丁下载地址(里面包含激活码)补丁下载成功后,打开标注的文件文件夹,进入到文件夹/jetbra,目录如下:注意:补丁所属文件夹需单独存放,且放置的路径不......
  • 计算机毕业设计 医院预约挂号系统的设计与实现 Python毕业设计 Python毕业设计选题【
    博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌......