准备:

Centos7ministall的系统:

root权限下:

yum install -y epel-release

yum install -y git wget gcc gcc-c++ autoconf libtool libX11-devel  libXext-devel libnet-devel libpcap-devel libusbx-devel libusb-devel  intltool  glibmm24-devel procServ re2c

yum install -y ninja-build meson glib2-devel libxml2-devel gtk3-devel gstreamer1 gstreamer1-devel gstreamer1-plugins-base-devel libnotify-devel gtk-doc gobject-introspection-devel

##需要的包参考: https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/linux-packages.html

adduser ioc

mkdir /half          #以合肥先进光源为例

chown -R ioc:ioc /half

cd /half

su ioc

mkdir epics

cd epics

############下载和编译epics base#################################

git clone -b 3.15 https://git.launchpad.net/epics-base

cd epics-base

make

来自 <https://epics-controls.org/resources-and-support/base/series-3-15/>

或者:

git clone --recursive -b 7.0 https://git.launchpad.net/epics-base base-7.0
cd base-7.0

make

来自 <https://epics-controls.org/resources-and-support/base/epics-7/>

选择3.15或7编译,或者分别编译,再把某一个ln -s 到base

After compiling you should put the path into $HOME/.profile or into $HOME/.bashrc by adding the following to either one of those files:

export EPICS_BASE=${HOME}/EPICS/epics-base
export EPICS_HOST_ARCH=$(${EPICS_BASE}/startup/EpicsHostArch)
export PATH=${EPICS_BASE}/bin/${EPICS_HOST_ARCH}:${PATH}

EpicsHostArch is a program provided by EPICS that returns the architecture of your system. Thus the code above should be fine for every architecture.

来自 <https://docs.epics-controls.org/projects/how-tos/en/latest/getting-started/installation.html>

之后按上面配好环境变量

############上面是下载和编译base##########################

没有意外的话,上面应该把base编译通过了。

############下载和编译synApps(当前最新版是6.1 --2020.7.15)#############

# 1. download the installer script
wget https://raw.githubusercontent.com/EPICS-synApps/support/master/assemble_synApps.sh

# 2. edit assemble_synApps.sh for your version of EPICS base and local directory paths

# 3. (optional) Specify the (new) directory name where synApps will be installed.
#    This is the default:
#    export SYNAPPS_DIR=synApps
#    This directory will be created when assemble_synApps.sh is run.

# 4. download & install the synApps source files:
bash ./assemble_synApps.sh           #一次可能不能把所有的包抓下来,多运行几次

之后进入support目录:

make release

make

来自 <https://github.com/EPICS-synApps/support>

之后下载aravisGigE:

wget https://github.com/areaDetector/aravisGigE/archive/R3-0.tar.gz

解压到areadetector 目录下

之后进入aravisGigE:

./install.sh

make

至此aravisGigE应该编译通过了,下面就可以添加摄像头了:

Adding a new camera

  • Run bin/linux-x86/arv-tool-0.2 -n "<device_name>" genicam > "<camera_model>.xml" to download the genicam xml data from the selected device cameras

    • E.g. bin/linux-x86/arv-tool-0.2 -n "Allied Vision Technologies-50-0503318719" genicam > AVT_Manta_G125B.xml
  • Make sure the generated file doesn't have a space at the start of it
  • Run aravisGigEApp/src/makeDbAndEdl.py <genicam_xml> <camera_name>
    • E.g. aravisGigEApp/src/makeDbAndEdl.py AVT_Manta_G125B.xml AVT_Manta
  • This should then create:
    • aravisGigEApp/Db/<camera_name>.template
    • aravisGigEApp/opi/edl/<camera_name>.edl
    • aravisGigEApp/opi/edl/<camera_name>-features.edl
  • Once you have decided on the most useful features, copy them from <camera_name>-features.edl and paste them into <camera_name>.edl in order to create a useful summary screen
  • If you are using medm, or want to generate CSS-Boy or caQtDM screens from medm screens then run aravisGigEApp/src/makeAdl.py <genicam_xml> <camera_name>. This will generate <camera_name>-features_1.adl through <camera_name>-features_N.adl, where N depends on the number of features and the maximum screen width and height set in makeAdl.py.
  • Once you have decided on the most useful features, copy them from <camera_name>-features_*.adl into a new file called <camera_name>-features.adl in order to create a useful summary screen.

来自 <https://github.com/areaDetector/aravisGigE>

cd /half/epics/synApps/support/areaDetector-master/aravisGigE/bin/linux-x86_64

没发现设备,需要关闭防火墙:

systemctl disable firewalld

systemctl stop firewalld 之后:

之后:

[ioc@localhost linux-x86_64]$ pwd

/half/epics/synApps/support/areaDetector-master/aravisGigE/bin/linux-x86_64

[ioc@localhost linux-x86_64]$ ../../aravisGigEApp/src/makeDbAndEdl.py HIK-MV-CA004-10GM.xml HIK720

More than 16 enum entries for PixelFormat mbbi record, discarding additional options.

If needed, edit the Enumeration tag for PixelFormat to select the 16 you want.

More than 16 enum entries for TestPattern mbbi record, discarding additional options.

If needed, edit the Enumeration tag for TestPattern to select the 16 you want.

Don't know what to do with Register

More than 16 enum entries for GevSupportedOptionSelector mbbi record, discarding additional options.

If needed, edit the Enumeration tag for GevSupportedOptionSelector to select the 16 you want.

More than 16 enum entries for ISPawbDebugSelector mbbi record, discarding additional options.

If needed, edit the Enumeration tag for ISPawbDebugSelector to select the 16 you want.

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

[ioc@localhost linux-x86_64]$ ../../aravisGigEApp/src/makeAdl.py HIK-MV-CA004-10GM.xml HIK720

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

Don't know what to do with Register

[ioc@localhost linux-x86_64]$

会在/half/epics/synApps/support/areaDetector-master/aravisGigE/aravisGigEApp/Db生成template文件,copy至/half/epics/synApps/support/areaDetector-master/aravisGigE/db

之后修改:/half/epics/synApps/support/areaDetector-master/aravisGigE/iocs/aravisGigEIOC/iocBoot/iocAravisGigE/st.cmd:

aravisCameraConfig("$(PORT)", "Hikvision-00D22036189")

dbLoadRecords("$(ARAVISGIGE)/db/HIK720.template","P=$(PREFIX),R=cam1:,PORT=$(PORT),ADDR=0,TIMEOUT=1")

load相应摄像头的template和摄像头代号,之后./start_epics就可以运行起IOC了。

以上过程在Centos7下都通过了。尝试过在centos8下做,但是在tirpc那卡住了,有空的可以在8上试试。

Centos7下areaDetector IOC的编译相关推荐

  1. Centos7下areaDetector IOC的编译后记

    https://github.com/EPICS-synApps/support/releases synApps出新版了,本文发文时的最新版为:R6-2 Centos7下areaDetector I ...

  2. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解

    说实话,本人编译hadoop的过程比较曲折,但收获也很多,下面系统介绍一下CentOS7下编译hadoop-2.7.1的全过程吧. 先说明,32位Linux操作系统可以直接下载编译好的hadoop使用 ...

  3. centos7 访问php页面显示源码_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)...

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  4. 7.1 pdo 宝塔面板php_运维干货分享:centos7下源码编译安装php-7.1.5(脚本)

    PHP简介: PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP是目前动态网页开发中使用最为广泛的语言之一.PHP能运行在包括Windows.Linux等在内的绝大多数操作系统环境中. ...

  5. 【第一性原理】Centos7下编译并行lammps-7Aug19

    LAMMPS即Large-scale Atomic/Molecular Massively Parallel Simulator,可以翻译为大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和 ...

  6. Centos7下RTL8188eu USB无线网卡(TP WN725N) 驱动源码下载和编译步骤

    Centos7下RTL8188eu USB无线网卡TP WN725N 驱动源码下载和编译步骤 一 准备编译环境 二 下载源代码 三 编译和安装 四 启用8188euko Centos7下RTL8188 ...

  7. CentOS7下源码编译安装MySQL5.6.4

    CentOS7下源码编译安装MySQL5.6.4 写这篇博客的主要原因是:请看上一篇博客:CentOS7下更改MySQL5.6.4默认的数据存储位置.对,当初通过rpm安装的mysql5.6.4,一切 ...

  8. CentOS7下编译安装libmodbus库

    CentOS7下编译安装libmodbus库 下载libdmodbus源代码 编译安装lidmodbus 测试 参考资料 下载libdmodbus源代码 libmodbus官网下载页面如下图所示: 可 ...

  9. linux 安装redis2.8.3,centos7下安装Redis2.8版本步骤

    Redis 简介 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zs ...

最新文章

  1. hibernate的native sql查询
  2. cannot import name 'get_all_providers'
  3. 你也能与AlphaGo谈笑风生:AlphaGo教学工具上线,2万多变化,37万多步棋
  4. python最佳实践指南试题_Python最佳实践指南 阅读笔记
  5. 时间固定效应和个体固定效应的选择_互助问答第31期:固定效应与随机效应选择和面板数据处理...
  6. curl java_如何将curl -X post转换为java
  7. Console-算法[for]-穷举法:百钱买百鸡
  8. 【转】ABP源码分析十二:本地化
  9. 线程同步-事件内核对象
  10. 文件上传(Vue+Springboot)
  11. Python字符串isprintable()
  12. jquery中has方法
  13. # 杂谈偶感 × 基于QFD方法的质量屋构建
  14. 2018 新年快乐 万事如意
  15. 锁子甲 bulid+sim
  16. Linux signal()
  17. 错误提示——0x0FE1E63C (ucrtbased.dll)处(位于 liaoabiao _2019.12.21.exe 中)引发的异常: 0xC0000005: 写入位置 0x005FA000
  18. Kaggle时间序列(Time Series)教程 6-使用机器学习预测(forecasting-with-machine-learning)
  19. Sophos XG Firewall:如何使用Windows Server 2012为企业无线身份验证配置RADIUS
  20. IC设计中时钟偏斜对延时的影响

热门文章

  1. 计算机取证论文结论,计算机取证论文.doc
  2. 万王之王 列王记 ikok 全职业挂机代码
  3. 一款简单易用的开源 Git 仓库管理平台
  4. 第八周项目3-顺序串算法
  5. NYOJ 2355: 点兵点将 (脑洞题)
  6. H2 7-3 作品评分 (10分)
  7. 深圳xx区xx考场科目三2号线考试 手把手教学
  8. 15个变革者团队入围新加坡国际基金会2021青年社会企业家计划下一阶段
  9. C#按比例缩放窗体控件及字体
  10. 【华为OJ_004】字符串分割