EPICS motor模块

EPICSmotor模块提供了一个设备无关的接口,支持多种电机控制器,实现电机的透明化操作。模块包括用户窗口、数据库、设备驱动等组件,并具备绝对和增量移动、停止、反馈、重试及齿隙矫正等功能。配置涉及工程单位、电机分辨率和反馈源的选择。电机模块旨在简化不同设备的操作并统一用户界面。
摘要由CSDN通过智能技术生成

一、概要

1) 在EPICS motor模块中的是什么并且它为了什么?

2) 支持的电机控制器和模型

3)电机记录特性

4)配置示例

5)反馈

6) 重试

7) 回程差矫正

8)发行

二、术语

1) MM                <-->        电机模块发行

2) MR                <-->        电机记录

3) EGU              <-->        工程单位

4)RPS                <-->        每秒分辨率

5)步进电机步长和编码器刻度

6)回读                <-->        反馈

7)目标位置:用户请求的,静态的,绝对的位置(VAL)

8)  命令的位置:电机控制器的当前,动态,绝对参考位置(RMP)。

三、在Motor模块中的是什么?

1)用户窗口:medm, CSS/Boy, caQtDm(主要是调试,某些程序专用,例如:飞行扫描)(位置:<motor>/motorApp/op/*)

2)数据库:(被*.substitution文件引用的模板)(位置:<motor>/motorApp/Db)

3) MR(*.dbd和4000+.cc)和公共的设备/驱动代码,由所有设备/驱动共享(位置:<motor>/motorApp/MotorSrc)。

4) 厂家专用命令,设备/驱动代码和*.dbd(README docs)(位置:<motor>/motorApp/<vendor-name>Src)。

5) 保存/恢复*.req文件(位置:<motor>/motorApp/Db)。

6) 电机设备/驱动(构建选项)带的两个IOC构建示例(w/和w/o asyn)

7)iocBoot示例(控制器专用st.cmd和进行支持的*.cmd文件)(构建选项)(位置:<motor>/iocBoot/*)

8) 文档(发行注意,motor记录和设备/驱动信息)(位置:<motor>/documention)

四、Motor模块为了什么?

1) 设备无关--电机硬件对用户是透明的

2) 对于所有设备,相同的用户窗口和电机移动行为

从以上窗口可用操作:

  • 进行绝对或增量移动
  • 定义当前位置
  • 停止当前移动

没有任何控制器专用的信息。

3)对于所有支持的控制器,公共的设备和驱动层软件

4)不受支持的MR特性在设备/驱动被处理,一般,通过忽略这个请求。

五、支持的制造商 

 

六、特性

1)范围

MR的范围受限于单轴,非协调,点到点移动

2) 坐标系统

1) 某些控制器使用raw单位用于通信。

  • MR用raw单位与设备支持进行通信
  • 用step, steps/sec和steps/sec^2传递位置,速度和加速度MR命令给设备支持。

2) 其它控制控制器用工程单位(EGU's)进行通信;例如:英寸,毫米,角度。设备支持处理转换。

3) 电机分辨率字段(MRES)转换raw值为dial值。转换raw目标位置(RVAL)为dial目标(DVAL):

        DVAL[EGU's] = RVAL[steps] * MRES[EGU's/step]

4) 用户单位是基于dial单位,用户方向字段(DIR)和用户偏移字段(OFF)。

        转换dial目标位置(DVAL)为用户目标(VAL):

        VAL = (DVAL * DIR) + OFF; 此处DIR=+/-1。

3) 移动类型

1) 绝对(VAL, DVAL, RVAL)

2) 相对(RLV)

3) 增量(TWF, TWR, TWV)

 4) homing, jogging(归位,轻碰)

1) 归位搜索(HOMF, HOMR, HVEL)

2) 轻碰(JOGF, JOGR, JVEL, JAR)

3) 安全问题:

  • 执行第一阶段?首先检查硬件限位开关。
  • 加伤风险,远程操作,伺服系统

5) 设置位置,软行程限位

1) 定义当前位置(SET, OFF)

2) 软行程限位(HLM, LLM, DHLM, DLLM)(如果DHLM=DLLM=0,则禁用)

 

6) 其余特性

1) 在初始时,移动前和移动后,发送电机控制器命令原语(INIT, PREM, POST)。

2)通过设备指令驱动功率监视和电机同步DB Puts。

3) 通过状态更新字段(STUP)用户初始更新。

4) 一些字段是电机类型专用的:

  • PID参数(PCOF/ICOF/DCOF)用于伺服电机(倍归一化位0 -> 1)。
  • 对于步进电机的起始速度(VBAS)。
  • 对于软通道,结束移动输入链接(DINP)。

5) 来自一个EPICS PV链接或者一个电机控制器的位置反馈。

七、配置示例

1) 设置工程单位字段(EGU);inch,mm,degree

2) 设置电机分辨率(MERS)字段,以以下为单位:

  • 对于步进电机(EGU's / motor step)
  • 对于伺服电机(EGU's / encoder tick)

3) MRES应该被设置成说明?

4) 对于导杆直接被步进电机驱动的简单线性平台。

  1. UREV = EGU's / 1 leadscrew rev. 
  2. SREV = motor steps / 1 motor rev. > 0 
  3. MRES = UREV /SREV
  4. MRES和UREV允许负值,因而这个记录的坐标系统可以被设置为电机控制器的反向极性。
  5. 当电机移动时,不要更改MRES。

八、变速箱示例

传动比定义:一个传动链的动力齿轮和最后或者驱动齿轮的比率。因而,一个3:1传动比表示导杆每1个分辨率,电机产生3个分辨率。

对一个电机安装编码器的伺服电机, 更改电机步长为编码器刻度。

九、反馈

1) 输入位置反馈给电机记录的两种方式

  1. 从驱动支持,通过电机控制器
  2. 从一个EPICS PV,通过独立,反馈设备。

2) 对于来自驱动支持的反馈:

  1. 初始化时驱动层代码在电机状态字段(MSTA)设置编码器为存在位(EA_PRESENT)。
  2. Raw编码器位置字段(REP)有电机控制器的raw编码器值(ticks)。

3) 配置来自驱动支持的反馈:

  1.  设置编码器分辨率字段(ERES)转换编码器ticks为EGU's
  2.  如果使用编码器存在字段(UEIP)决定是否使用REP(Yes/No)。

4) 配置来自EPICS PV的反馈:

  1. 设置回读PV链接(RDBL)
  2. 设置回读分辨率(RRES)来转换RDBL PV单位为EGU's
  3. 使用恢复如果村扎起字段(URIP)确定是否使用RDBL PV链接[Yes/No]

5)  Raw电机位置(RMP)是从电机控制器读取的当前命令位置。如果电机记录闭环控制是off(UEIP和URIP都为No),则在每次移动后RVAL=RMP。

6) Raw回读值字段(RRBV)可以以steps或ticks为单位。

7) 反馈数据流

 

九、重试

1) 它不是什么。重试不是连续的,动态闭环。

2) 它是什么。重试尝试通过基于DIFF字段进行,一直性,相对移动来消除dial位置误差(DIFF)。

3) DIFF = DVAL - DRBV

4) 如果[RTRY != 0,并且((EA_PRESENT = True, 并且 UEIP == Yes )或者URIP=Yes)]是真,则所有电机记录移动是相对移动。

5) 设置重试:

  • 对于一个伺服电机,通常设置UEIP == No。
  • 设置重试死区(RDBD); 如果(DIFF>RDBD,重试)
  • 设置最大重试次数(RTRY) -- 重试的最大次数
  • 当前重试次数(RCNT) -- 在每次移动开始时被清除。

 

十、齿隙

1) 齿隙:由于机械缺陷,丢失运动

2) 齿隙配置:

  • 齿隙距离(BDST)确定齿隙移动的幅度和方向。
  • 齿隙有它自己的速度(BVEL)和加速度(BACC)参数。

3) 齿隙矫正算法:

  • 选择方向--BDST方向
  • 回转参数--回转速度(VELO)和加速度(ACCL)
  • 齿隙参数:BVEL和BACC

齿隙矫正逻辑

1) 考虑移动到一个称为目标的位置:

IF 禁用齿隙(0=|BDST| < |MRES|) 或者(移动是按选择方向,并且齿隙参数==回转参数),则跳过齿隙,使用回转参数移动到目标。

ELSE IF 增量距离 > |BDST| 或者移动不是选择方向,则使用回转参数移动到位置(Target - BDST),接着使用齿隙参数移动到目标。

ELSE IF 增量距离 <= |BDST|, 并且移动是按照选择的方向,则认为齿隙已经被消除;使用齿隙参数移动到目标。

ENDIF

 

十一、motor模块发行和构建自定义

电机模块构建自定义

1) 要构建示例,取消注释在<motor>/Makefile中一"#!"开始的三行。

2) <motor>/configure/RELEASE:

  • 如果仅定义了EPICS_BASE,仅OMS和软通道模型#1 设备/驱动被构建。
  • 别的其它所有东西,需要Asyn

3) <motor>/motorApp/Makefile:定义构建哪些设备/驱动模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值