软件包
- epics-base/epics-base: The C/C++ core of the EPICS Base control system toolkit
- epics-modules/ecmc: EPICS Support for EtherCAT Motion Controller (ECMC) and Generic IO Controller
- paulscherrerinstitute/exprtk-ecmc: ESS Customized exprtk : C++ Mathematical Expression Parsing And Evaluation Library
- paulscherrerinstitute/ecmccfg: Module to handle configuration scripts for EtherCATMotion Controller (ECMC)
- epics-modules/asyn: EPICS module for driver and device support
- EuropeanSpallationSource/motor: APS BCDA synApps module: motor
- pantor/ruckig: Motion Generation for Robots and Machines.
- EtherLab / EtherCAT Master · GitLab
构建顺序
- epics-base
- asyn
- motor
- etherlab
- ruckig
- ecmc
epics-base
正常交叉编译。
asyn
正常交叉编译。
motor
配置如下:
|
|
|
|
etherlab
需要内核源码头文件才能编译,和EPICS不相关。
ruckig 编译
机器人运动控制库。
配置交叉编译工具链
|
|
编译步骤
|
|
ecmc
把下载的exprtk
解压到exprtkSupport
目录下(也可以用git
pull下来)。
配置如下:
|
|
修改devEcmcSup/Makefile
|
|
修改devEcmcSup/motion/ecmcTrajectoryS.h
|
|
修改ecmcExampleTop/configure/RELEASE.local
|
|
修改ecmcExampleTop/ecmcIocApp/src/Makefile
|
|
编译的时候需要指定使用c++17
的标准,不然有一些语法不支持,应该是ruckig
库比较新。
添加CPPFLAGS=-std=c++17
|
|
使用方法
主要使用ecmccfg
软件包提供的预编写脚本进行EtherCAT
主站、从站配置。
修改IOC环境变量配置iocBoot/iocExample/envPaths
:
|
|
修改启动脚本iocBoot/iocExample/st.cmd
:
|
|
ecmcXXxxxx.cmd
:从站配置脚本ecmcXXxxxx.substitutions
:记录(records)
参考链接