龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 931|回复: 1

EPICS Qt安装

[复制链接]

3

主题

4

帖子

527

积分

版主

Rank: 7Rank: 7Rank: 7

积分
527
发表于 2023-5-4 16:20:16 | 显示全部楼层 |阅读模式
本帖最后由 kira 于 2023-5-4 16:20 编辑

前言
本文主要记录了EPICS Qt在Linux上的安装步骤。这里以loongnix操作系统为例,Ubuntu系统上编译安装步骤类似。
EPICS Qt是一个基于Qt的分层框架,使用Channel Access (CA) and PV Access(PVA)访问EPICS数据。它是为快速开发控制系统图形界面而设计的,最初是在澳大利亚同步加速器开发的。
安装EPICS
这里不再写具体步骤了,总之就是非常简单,下载、解压、编译即可。具体步骤可以参考以前的文章
安装Qt
直接使用终端安装Qt
  1. sudo apt update
  2. sudo apt install qtbase5-dev qt5-qmake qtcreator
  3. sudo apt install qtdeclarative5-dev qttools5-dev
  4. # 安装Qt Svg库,编译QWT时需要用到
  5. sudo apt install libqt5svg5-dev
复制代码
安装QWT
Qt EPICS推荐使用Qwt 6.1.4,如果在Ubuntu 20.04上直接通过终端安装也是这个版本。我使用Qwt 6.2.0编译,也是没有问题的,这里以Qwt 6.2.0为例。
先下载Qwt的源码下载Qwt-6.2.0。 下载完成后解压
  1. # 解压tar.bz2
  2. tar -jxvf qwt-6.2.0.tar.bz2
  3. # 解压zip
  4. unzip qwt-6.2.0.zip
复制代码
解压完成后编译Qwt,使用QtCreator或者在终端使用qmake都可以。
然后手动将编译生成的文件复制到以下位置,例:
  1. # 复制编译生成的qwt
  2. sudo cp -r build-qwt-unknown-Release/lib/* /usr/lib/loongarch64-linux-gnu/
  3. # 复制编译生成的designer插件
  4. sudo cp build-qwt-unknown-Release/designer/plugins/designer/libqwt_designer_plugin.so /usr/lib/loongarch64-linux-gnu/qt5/plugins/designer/
  5. # 复制qwt头文件
  6. sudo mkdir /usr/include/qwt
  7. sudo cp qwt-6.2.0/src/*.h /usr/include/qwt
复制代码
安装ACAI
EPICS Qt依赖ACAI提供的Channel Access接口。
  1. cd /usr/local/epics/modules/
  2. git clone https://github.com/andrewstarritt/acai.git
  3. cd acai
  4. vi configure/RELEASE.local
  5. # 修改EPICS_BASE路径,例:
  6. # EPICS_BASE=/usr/local/epics/base-7.0.7
  7. make -j8
  8. # 等待编译完成
复制代码
安装google protobuf
如果需要EPICS Qt支持EPICS Archiver Appliance,需要安装google protobuf。
  1. sudo apt install protobuf-compiler libprotobuf-dev
复制代码
EPICS Qt
首先克隆EPICS Qt的两个代码仓库。
  1. # framework and support libraries
  2. git clone https://github.com/qtepics/qeframework.git
  3. # QEGui display manager
  4. git clone https://github.com/qtepics/qegui.git
复制代码
这里我将代码都放在~/QtEpics目录。
在开始编译前,需要先配置一些环境变量(根据自己的实际情况设置)。具体可以参考 EPICS Qt Environment Variables
  1. export EPICS_HOST_ARCH=linux-loongarch64
  2. export EPICS_BASE=/usr/local/epics/base-7.0.7
  3. export ACAI=/usr/local/epics/modules/acai
  4. export QWT_INCLUDE_PATH=/usr/include/qwt
  5. export QWT_ROOT=/usr/lib/loongarch64-linux-gnu
  6. export QE_FRAMEWORK="$HOME/QtEpics/qeframework"
  7. # 支持PV Access
  8. export QE_PVACCESS_SUPPORT=YES
  9. # 支持Archiver Appliance
  10. export QE_ARCHAPPL_SUPPORT=YES
  11. export PROTOBUF_INCLUDE_PATH=/usr/include/google/protobuf
  12. export PROTOBUF_LIB_DIR=/usr/lib/loongarch64-linux-gnu
复制代码
如果环境变量设置了支持Archiver Appliance,需要先编译archapplDataSup。
  1. cd ~/QtEpics/qeframework/archapplDataSup/
  2. make
复制代码
编译完成后,可以看到~/QtEpics/qeframework/lib/linux-loongarch64目录下有libarchapplData.a、libarchapplData.so两个文件。
然后依次编译 qeframework qeplugin qegui。EPICS Qt文档说明需要修改configure/RELEASE文件,但我这里修改后似乎没有生效,可能是使用了Qt Creator的原因,只能通过上面的环境变量设置。
注意:这里设置完环境变量,需要直接通过终端打开Qt Creator。
  • 编译qeframework ~/QtEpics/qeframework/qeframeworkSup/project/framework.pro
  • 编译qeplugin ~/QtEpics/qeframework/qepluginApp/project/qeplugin.pro
  • 编译qegui ~/QtEpics/qegui/qeguiApp/project/QEGuiApp.pro
编译过程中可能会遇到一些问题,汇总如下:
  • 找不到Qwt的头文件
    解决办法: 修改qeframework/qeframeworkSup/project/common/common.pri
    1. INCLUDEPATH += $$(QWT_INCLUDE_PATH)
    复制代码

  • 找不到QEFramework的头文件
    解决办法: 修改对应项目的项目文件
    1. +INCLUDEPATH += $$(QE_FRAMEWORK)/include
    复制代码

最后将编译生成的文件复制到以下位置,例:
  1. sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/libarchapplData.so /usr/lib/loongarch64-linux-gnu/
  2. sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/libQEFramework.so /usr/lib/loongarch64-linux-gnu/
  3. sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/designer/libQEPlugin.so /usr/lib/loongarch64-linux-gnu/qt5/plugins/designer/
复制代码
运行QEGuiApp
  1. cd ~/epics/qtepics/qegui/bin/linux-loongarch64
  2. ./qegui
复制代码
运行测试
运行时环境变量设置,例:
  1. export QE_ARCHIVE_TYPE=ARCHAPPL
  2. export QE_ARCHIVE_LIST="http://192.168.1.2:17665/mgmt/bpl"
  3. export EPICS_CA_ADDR_LIST="192.168.1.2:5732 192.168.1.3:6666"
复制代码

关于QEGui

QE Framework控件


为了更好的阅读体验,建议您阅读原文

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

84

主题

465

帖子

44万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
440441
发表于 2023-7-4 18:37:17 | 显示全部楼层
很好,这个目前是免费的吧!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-3-29 19:32 , Processed in 0.109266 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表