基于EPICS的motor模块的应用_第1页
基于EPICS的motor模块的应用_第2页
基于EPICS的motor模块的应用_第3页
基于EPICS的motor模块的应用_第4页
基于EPICS的motor模块的应用_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于EPICS的motor模块的应用张招红束线工程部控制组运动控制在光源光束线站的作用控制系统是神经系统运动控制系统是运动神经元上海光源运动控制软件模块概况基于EPICS体系结构APSsynApp模块包(/bcda/synApps/)

Motor模块bus、ethernetChannelAccess体系结构简述和internet做比较局域网:EPICS:Motor:ClientcomputerIE浏览器IPaddressWeb服务器ApacheTCP/IPClientcomputerOPI界面PVnameIOCEPICSmodulesI/OdriverChannelAccessVME机箱MotorR-2-2MotordriverbusClientcomputerOPI界面PVname运动控制编程思想在搭建好的EPICS和Motor模块环境下,运动控制编程主要是进行数据库编程。一个数据记录对应一个Motor实体,记录的域和Motor的属性参量一一对应,数据库动态运行在IOC中,记录通过底层驱动程序同相应的硬件通信,OPI通过通道访问机制查看或者修改记录的域,从而实现各种控制功能。Motor记录record(motor,“white-slit-x1"){

field(DESC,"BeamlineSlit1-X1")

field(DTYP,"OMS

MAXv")field(VELO,"1000.0")field(VBAS,"500.0")field(ACCL,"0.1")field(SREV,"1600")field(MRES,"3.125")field(TWV,"50")field(OUT,"#C0S4@")field(PREC,"3")

field(EGU,"um")field(DHLM,"8000")field(DLLM,"-8000")…………}Db文件OPI界面---编辑状态OPI界面---执行状态PV:ProcessvariablePV=recordname.fieldnameExample:white-slit-x1.VELOMotor记录---基本设置Motor记录有一些基本的域,这些域由电机类型和运动机构唯一确定;

MRES:运动分辨率

SREV:丝杠旋转360度需要的脉冲数

2相电机:200*细分数*减速比

5相电机:500*细分数*减速比

UREV:丝杠旋转360度横向位移

MRES=SREV*UREVMotor记录---两种坐标系:USER和DIALDIAL坐标系零点是机械零点,相关的域有:DVAL、DRBV、DHLM、DLLM;USER坐标系的零点由用户自己设定,相关的域有:VAL、RBV、HLM、LLM;两种坐标系间的关系:VAL=DVAL*DIR+OFF工程师比较关心DIAL坐标科学家比较关心USER坐标脉冲数:RRBV、RVALMotor记录---三种运动一般运动,位置控制:改变VAL、DVAL或RLV的值

VELO、VBAS、ACCL…Home运动,寻找机械零点:

HOMR或HOMF HEVLJOG运动,连续运动,速度控制:

JOGR或JOGF JVEL、JAR运动曲线:

Motor记录---软限位HLM、LLM、DHLM、DLLM当电机运动到软限位时会自动停止;当输入目标位置值超出软限位时,输入无效,电机不会运动;当电机碰到硬限位后,电机停止运动,界面上会给出报警信息。Motor记录---Backlash运动轴是丝杠,来回运动时会有齿隙误差,Backlash功能可消除齿隙误差;

BDST、BVEL、BVELMotor记录---两种模式工作模式和校准模式点击Cal按钮的Use进入工作模式,点击Set进入校准模式;校准模式用于校准USER坐标系下电机位置读数;用户可以修改VAL的值而电机不会动作,此时,DVAL保持不变。

VAL=DVAL*DIR+OFFMotor记录---电机组合电机不带编码器,UEIP=“No”

RBV=RVAL*MRES (开环)电机带编码器,UEIP=“YeS”

RBV=RRBV*ERES(闭环)

Retry功能:当DVAL-DRBV<RDBD时,电机会继续往前走,至到DVAL-DRBV>=RDBD或者RCNT>RTRY伺服电机(PID控制)

PCOF、ICOF、DCOFMotor记录---其他常用域STOP、SPMG、PREM、POST ATHM、DMOV、PREC EUG、DESC

复杂运动1---软闭环以压弯机构垂直方向运动为例三个电机实现三种运动:

Y、Pitch、RollPitch和Roll是角度,需要转换成电机直线运动的位移位移量;公式如下:

Y1=Y–970/2*tg(P);

Y2=Y+970/2*tg(P)–220/2*tg(R);

Y3=Y+970/2*tg(P)+220/2*tg(R);复杂运动1---软闭环EPICS可以实现压弯机构垂直方向的复杂运动;我们选用了SoftMotor和Transform两个记录配合Motor来实现各种复杂运动;SoftMotor对应Y、Roll和Pitch三个模拟电机;SoftMotor的域和OPI界面跟Motor记录基本上完全一样,只是SoftMotor的VAL值输出给Transform记录,Motor的VAL值输出给电机;Transform记录中有A~P共16个数字变量,最多可以接收16路数字输入和16路数字输出;Transform接收SoftMotor的VAL值,然后按照公式计算后输出给Motor记录;电机运动的过程中,三个Motor的readback值经过Transform计算后作为SoftMotor的readback源。复杂运动1---软闭环SoftmotorYPitchRoll

Transformy1=Y–970/2*tg(P);y2=Y+970/2*tg(P)–220/2*tg(R);y3=Y+970/2*tg(P)+220/2*tg(R);y、p、rMotorY1Y2Y3y、p、r

TransformY=(Y2+Y3+2*Y1)/4R=arctg[Y3-Y2)/220]P=arctg[(Y2+Y3-2Y1)/1940]Y1、Y2、Y3Y、P、RY、P、R绿色反馈通道使软电机可以正常的工作红色反馈通道使用户可以操作软电机也可以操作硬电机图示两种反馈在软件中形成一种闭环关系,称为软闭环利用这种软闭环技术几乎可以实现所有类似的联动.复杂运动1---智能运动OPI制作工具EDM的shellcommand控件可以触发执行脚本程序,事先把一个复杂的运动过程写成一个脚本程序,就可使电机自动完成一个复杂的运动过程.L-L0L+PI滑台homesignal1homesignal2#!/usr/bin/python……ifmotor.get(‘ATHM’)==1: motor.put(‘JOGF’,1) whilemotor.get(‘ATHM’)==1: PASS motor.put(‘STOP’,1) motor.put(‘HOMR’,1)

sys.exit(())else: motor.put(‘HOMR’,1) sys.exit(0)电机位置自动保存和恢复EPICS的数据库文件运行在内存中,当掉电以后,所有动态域的信息就会丢失,比如电机位置域VAL,当掉电重启后读数会清零.所以需要把电机位置读数实时保存下来,掉电重启后再把保存的位置恢复.synApp包中有AUTOSAVE模块可以实现此功能!电机位置自动保存和恢复auto_postitions.req文件文本文件,记录需要保存的位置域,比如:X13W1:OP:SLIT1:TRX1.DVALAutosave模块会根据*.req文件自动生成auto_positions.sav文件.auto_positions.sav

文本文件,记录保存下来的位置信息,

比如:X13W1:OP:SLIT1:TRX1.DVAL1000

在IOC掉电重启后,autosave模块会从auto_positions.sav文件中恢复保存的位置信息.

电机位置自动保存和恢复Setrequest-filepath

set_requestfile_p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论