ACS螺距补偿手册
西门子与fanuc螺距补偿

数控设备调试与维护----数控系统参数调整一、实验的性质与任务数控机床的性能在很大程度上是由系统软件的运行性能决定,在系统中对参数设置不同的值可以改变系统的运行状态。
为了使数控机床运行良好,在数控机床生产过程中、生产完成以后都会根据机床以及系统的配置和测试性能对系统参数进行调试。
通过该实验期望通过该实验对数控系统及其调试有更为深刻的了解。
二、实验的目的和要求在完成实验过程中,熟悉数控系统参数手册的使用方法,了解数控系统的参数构成及其种类。
通过完成参数调整实验的过程,以及观测参数调整完成后系统以及机床的运行性能,了解系统参数的变化对机床的影响。
对学生的要求是:1、养成安全、认真、踏实、严谨、一丝不苟的工作作风。
2、熟悉查阅数控系统参数手册的方法;3、了解系统参数的体系架构;4、掌握在数控系统中查找、修改参数的方法;6、掌握方法;7、撰写符合实验过程、内容的实验报告;8、现场操作指导教师要求的实验内容;三、预备知识数控系统的参数体系是比较繁杂,参数种类比较多,我们在调整参数前必须对各系统参数有较为详细的了解。
系统参数种类繁多,涉及到对系统的各个方面的调整。
在数控机床中,不管是那一种系统,参数按其不同功能土要有以下几种:1.系统参数这些参数一般由机床开发部制造商根据用户的选择进行设置,并有较高级别的密码保护,其中的参数设置对机床的功能有一定的限制,他其中的内容一般不容许用户修改。
2.用户参数这是供用户在使用设备时自行设置的参数,内容以设备加工时所需要的各种要求为主,可随时根据用户使用的情况进行调整,如设置合理可提高设备的效率和加工精度。
2.通信参数用以数据的输入/输出(i/o)转送。
3.PLC参数设置PLC中容许用户修改的定时、计时、计数,刀具号及开通PLC中的一些控制功能。
4.机械参数有些也包括在用户参数内,主要以机床行程规格,原点位置,位置的测量方式,伺服轴、主轴调整,丝杆螺距、间隙补偿方面为主,特别是伺服,主轴控制参数,设置不当设备就不能正常工作并且造成机床精度达不到要求,甚至于机床不能使用。
基于HEIDENHAIN系统下的螺距误差补偿方法

基于HEIDENHAIN系统下的螺距误差补偿方法
佟伟;韩大勇
【期刊名称】《现代测量与实验室管理》
【年(卷),期】2015(000)006
【摘要】随着数控水平的不断发展,各企业对数控机床精度要求越来越高,本文通过利用双频激光干涉仪对HEIDENHAIN系统数控机床线性轴的螺距误差进行测量,介绍数控机床螺距误差的测量、补偿方法与操作要点,以及补偿效果的验证与分析。
【总页数】3页(P12-14)
【作者】佟伟;韩大勇
【作者单位】天津市电子仪表实验所,天津 300210;天津市电子仪表实验所,天津 300210
【正文语种】中文
【中图分类】TD9
【相关文献】
1.HEIDENHAIN iTNC530系统定位精度螺距补偿 [J], 邱先念
2.西门子系统丝杠螺距误差补偿的方法与技巧 [J], 邢志宏;刘岩
3.精密定位平台的系统误差分析及螺距误差补偿方法的实现 [J], 欧阳航空;陆林海;侯彦丽
4.基于SINUMERIK 802D数控系统的螺距误差补偿方法解析 [J], 牛志斌;李文斌
5.FANUC 0iD系统数控机床螺距误差补偿方法研究 [J], 雷楠南
因版权原因,仅展示原文概要,查看原文内容请购买。
FANUC-OI MC螺补

螺距补偿的程序:(以测Y 轴为例)
O0001 文件头
G92 Y0 ;建立临时坐标应该在参考点位置开始
G91 X3 F2000 ; X轴正向移动3个毫米
G04 X4 ;暂停4秒 (FANUC中G04后用X表示停顿的时间单位为秒) G91 X-3 ; X轴负向移动-3个毫米返回测量位置并消除反向间隙
此时测量系统清零
G04 X4 M98 P1111 L10 ;暂停4秒测量系统记录数据
调用负向移动子程序10次程序号为1111
G91 X-3 F1000 ; X轴负向移动-3个毫米
G04 X4 ;暂停4秒
G91 X3 ; X轴正向移动3个毫米返回测量位置并消除反向间隙
G04 X4 M98 P2222 L10 ;暂停4秒测量系统记录数据
调用正向移动子程序10次程序号为2222 M30;停止返回
O1111 X轴负向移动子程序名为1111
G91 X-10 F1000; X轴负向移动10毫米
G04 X4 ; 暂停4秒测量系统记录数据
M99; 子程序结束
%2222 X轴正向移动子程序名为2222
G91 X10 F500; X轴正向移动40毫米
G04 X4 ; 暂停4秒测量系统记录数据
M99 ; 子程序结束
(编程时应注意分号的应用和M98,M99程序段中的位置)。
基于球杆仪的五轴机床空间圆弧误差建模及补偿方法

基于球杆仪的五轴机床空间圆弧误差建模及补偿方法李巍;郭泽【摘要】针对自主研发五轴数控机床进行空间圆弧误差的研究,建立了旋转轴和直线轴误差数学模型,依据该模型进行误差因素分析.采用球杆仪作为测量仪器,进行空间圆度的测量,并对建模的数学模型进行验证.分析误差项与误差因素之间的关系,针对反向越冲和伺服不匹配进行误差分析,基于五轴高端数控系统,指明了一种可以通用的机床误差项补偿方法.通过进行实验数据对比,验证该补偿方案效果良好.得出误差项间相互耦合的结论,并且发现调整误差项先后顺序会对总误差值产生影响.%The error models of rotating axis and linear axis are established for the self-developed five-axis NC machine tools, and the error factors are analyzed based on the models. The spherical rod instrument is used to measure the spatial roundness, and the mathematical model of the model is validated. The relationship between error items and error factors is analyzed. Error analysis is carried out for reverse overshoot and servo mismatch. Based on Five-axis high-end CNC system, a general method of machine tool error compensation is pointed out. The experimental data are compared to verify the good effect of the compensation scheme. The conclusion is that the error terms are coupled to each other, and the order of error adjustment is related to the final result.【期刊名称】《装备制造技术》【年(卷),期】2018(000)012【总页数】5页(P112-115,136)【关键词】五轴机床;误差建模;误差辨识;误差分析;误差补偿【作者】李巍;郭泽【作者单位】天津中德应用技术大学机械工程学院, 天津 300350;天津中德应用技术大学机械工程学院, 天津 300350【正文语种】中文【中图分类】TG5020 引言空间圆弧插补运动,是机床具备加工能力的基本保障。
数控系统补偿参数介绍

三菱数控系统MITSUBISHI(一)FANUC-0M系列螺距误差补偿参数(表1-1)软限位参数(表1-2)反向间隙补偿参数(表1-3)(二)FANUC-i系列螺距误差补偿参数(表2-1)软限位参数(表2-2)反向间隙补偿参数(表2-3)(三)FANUC-0T系列螺距误差补偿参数(表3-1)软限位参数(表3-2)反向间隙补偿参数(表3-3)门子数控系统SIEMENSSINUMERIC 840D/840Di/810D螺距误差补偿参数1. 坐标轴反向间隙补偿参数:MD32450:BACKLASH2. 坐标轴反向间隙补偿倍率:MD32452:BACKLASH-FACTOR 补偿值范围: (In SW5 and later)3. 螺距误差补偿值输入有效:MD32700:ENC-COMP-ENABLE“0”有效,先置成“0”,输入完成后,再改为“1”。
螺距误差补偿有两种方法:1. 传输法:数控系统自动生成补偿文件,将补偿文件传入计算机,在计算机上编辑并输入补偿值,再将补偿文件传回数控系统。
2. 运行法:数控系统自动生成补偿文件,将补偿文件格式改为零件程序格式,通过操作单元将补偿值输入到零件程序中,运行该零件程序,即可将补偿值写入系统。
海德汉数控系统HEIDENHAIN(一)i530螺距误差补差参数反向间隙补偿参数1.旋转编码器2.直线编码器线性坐标误差补偿参数坐标误差补偿方式选择参数坐标行程软限位参数进入坐标误差补偿文件密码:807667(二)370螺距误差补差参数反向间隙补偿参数线性坐标误差补偿参数坐标误差补偿方式选择参数坐标行程软限位参数进入坐标误差补偿文件密码:105296。
海德汉系统螺距补偿设定

海德汉I530系统镭射补正设定方法一. 设定补偿类型选择: 非线性坐标误差补偿 2进入系统参数界面的方法按键再按系统显示如下界面:请在黑色输入框内输入修改参数密码:95148 按ENT进入参数设定界面:按FIN 键在蓝色输入框内输入需修改或查找的参数号 按ENT 键即可找到需修改的参数号可根据要求进行修改修改后按结束而不是按ENT键此点需注意,否测会造成参数内容或格式的错误,修改其它参数按同样操作,以下不作说明.3.背隙补正参数 MP 710如上 710.0为x 轴 .1 为y 轴 .2 为z 轴……..(1).旋转编码器(2).直线编码器二.镭射检测机床坐标系的设定1在手动操作模式下直接按可进入坐标系选择界面上下移动光标使 POSITION 1 和2上移动再按 ENT 键使其显示为”REF” (参考坐标系) ,补正时需在机械坐标系内补正.三.补正文件的配置按进入参数设定界面方法但密码为807667 进入文件配置界面再按进入X轴补偿值输入到 –文件中 Y 轴补偿值输入到 – 两个文件中, 如正向进机补到 反向进机补到–中其它轴按相同要求设定四.测试程序举例0 100 900 +1000补偿时以原点为起始点正向进机,每100 为间隔共10段然后反向进机每-100 为一步返回原点0 BEGIN PGM hppp2 MM1 L X0 FMAX M912 L IX-1 FMAX3 L IX 1 FMAX4 CYCL DEF 9.0 DWELL TIME5 CYCL DEF 9.1 DWELL46 LBL 17 L IX+100 FMAX8 CYCL DEF 9.0 DWELL TIME5 CYCL DEF 9.1 DWELL46 CALL LBL 1 REP97 L IX 1 FMAX8 L IX-1 FMAX9 CYCL DEF 9.0 DWELL TIME10 CYCL DEF 9.1 DWELL411 LBL 212 L IX-100 FMAX13 CYCL DEF 9.0 DWELL TIME14 CYCL DEF 9.1 DWELL415 CALL LBL 2 REP916 L M3017 END PGM hppp2 MM说明:测试时以什么位置开始及段数必须与 .com 文件中的设定一致,否则按如下修改点此键在”DATUM”中输入基准点在” DISTANCE”中输入间隔修改后按结束五.干涉仪的调整及操作(略)说明海德汉系统为双向绝对补偿,分析分据时以各自补偿绝对值分析,将补偿数据分别补到 .COM 及 - .COM 中。
ACS自动离合器使用维修手册

ACS 具有结构简单、生产及使用成本低廉、操作简便并且保持了手 动档车型的驾驶乐趣、舒适性适中、故障率低、维修简便、相对自动及 手动档车型油耗低等优点。是非常符合我国国情的汽车自动化产品。
ACS 同其它类型变速器对比
表 1.1
变速器类型
机械式变速器 机械式变速器 机械式变速器 液力自动变速
/MT
/ACS
电动机驱动 150W ≤ 15A ≤ 40A ≤ 3W 优于手动档车型 3~5% ≤ 0.3 S ≤ 0.2 S ≤ 0.18 S ≤5S ≤3S
1.4 ACS 工作原理
1.4.1 ACS 基本工作流程 ACS 按功能和用途可划分为信号及传感器模块、电控单元模块、离
合操纵模块、显示报警模块。系统的基本工作流程见图 1.1 所示。
3.5 ACS 故障码诊断 …………………………………………………25 3.5.1 ACS 数据标准说明 ………………………………………25 3.5.2 故障代码表 ………………………………………………29 3.5.3 根据故障码诊断维修步骤 ………………………………29
3.6 ACS 故障现象诊断 ………………………………………………43 3.6.1 诊断前初步检查 …………………………………………43 3.6.2 故障现象表 ………………………………………………43 3.6.3 根据故障现象诊断维修步骤 ……………………………43
第 6 页 共 68 页
宏泰伟业科技
电控自动离合器
概述
技术参数: 工作温度: -40℃~105℃
防护等级: IP54
工作电压: 12~15V 工作电流: ≤ 500mA(控制)
≤15A (驱动平均)
≤40A (驱动峰值)
西门子螺距误差补偿

西门子螺距误差补偿本期给大家介绍一下西门子系统进行螺距误差补偿的方法和过程。
螺距误差补偿的方法:首先用激光干涉仪测量实际轴各个补偿点的误差,然后将实际测量的螺距误差补偿到系统中,注意西门子系统中的补偿值都是绝对值,即每一个测量点的实际位置与测量值之间的差值。
补偿原理图如下:补偿步骤如下:1.编写一个螺补的测试程序,螺补测试程序举例如下:运行螺补测试程序,按照预定的最小位置、最大位置和测量间隔移动要进行补偿的轴,并用激光干涉仪测试每一点的误差。
2.在系统中找出补偿文件:NC数据-> NC生效数据-> 测量系统误差补偿,将补偿文件复制,粘贴到零件程序中。
注意可以选择需要补偿的轴。
3.打开补偿文件,将误差值填入补偿文件中。
补偿数组的结构:$AA_ENC_COMP[0,0,AX1]= 0.0对应于最小位置上的误差值$AA_ENC_COMP[0,1,AX1]= 0.0对应于最小位置+ 1个间隔位置上的误差值…………$AA_ENC_COMP[0,124,AX1]= 0.0对应于最小位置+ 124个间隔位置上的误差值$AA_ENC_COMP_STEP[0,AX1]=0.0测量间隔 (mm)$AA_ENC_COMP_MIN[0,AX1] =0.0最小位置(机床坐标系)$AA_ENC_COMP_MAX[0,AX1] =0.0最大位置(机床坐标系)$AA_ENC_COMP_IS_MODULO[0,AX1]=0直线轴=0,旋转轴=1注:补偿值应填入每点的绝对补偿值,并将校验码删除。
4.在自动方式下运行AX1_EEC.MPF程序,设定轴参数 MD32700 = 1,然后重启系统,返回参考点后补偿值生效。
运行补偿程序时,MD32700应设为0,否则系统会出现17070号报警。
5.检查补偿值是否生效。
选择在绝对补偿值测量系统1中可以观察到当前点生效的补偿值。
此处的生效补偿值为螺补和反向间隙的叠加值。
注:(1)对于旋转轴,与直线轴的补偿方法是相同的,测量如下图。
常见数控系统的螺距补偿方法

从第127位开始输入对应的螺 补补偿,间距对应关系为127位, 永远为0值,四轴为0°;126位对 应间距40mm,四轴为5°;125 对应间距80mm,四轴为10°; 124对应间距120mm,四轴为 15°;123对应间距160mm,四 轴为20°,以此类推。
1.M A Z AT R O L系统螺距 补偿
螺距补偿需要点击“诊断” 页面,先按“版本”,翻页后, 输入密码1131,如图1所示。进 入补偿画面,进行螺距补偿时, M A Z AT R O L系统中,X轴定义为 1,如图2所示,Y轴定义为2,Z
轴定义为3,4轴定义为4。 P1参数标准设置为80 000,
螺距补偿针对不同系统机床有不同的方 法,但补偿原理基本一致,补偿过程中需要注 意的细节问题也比较多,因而,在我们平时工 作过程中,要注意积累经验,归纳总结各种补 偿方法,以便于调整恢复各类机床精度。
参考文献: [1] 俞鸿斌. 数控机床中螺距误差补偿原理及测量方
法研究 [J]. 组合机床与自动化加工技术,2008 (1):42-46. [2] 王元成. 两种数控系统螺距补偿方法 [J]. 一重技 术,2007(4):98-99. [3] 欧阳航空,陆林海,侯彦丽. 精密定位平台的系 统误差分析及螺距误差补偿方法的实现 [J]. 机 电工程,2005,22(1):22-26.
螺距误差补偿只对机床补偿 段起作用,根据机床所测轴长度 合理分段(分段越多,机床实际 移动距离检测越接近真实位移曲 线,所得误差数据分析经过补偿 后机床精度越高),编制被测轴 螺距补偿程序,然后对螺距补偿 相关参数进行设定。
螺距补偿机理

二、螺距误差补偿原理
当刀具从终点向起点反向运动,途中反向地经过10 点;假如从20点向10点实际移动了9mm,与预期移动 距离10的偏差是10-9 =1mm,但是由于从终点到起 点是反方向,所以10点在反方向上的补偿是-1mm; 假如实际移动距离为11mm,与预期移动距离10的偏 差是10-11=-1mm,但是由于从终点到起点是反 方向,所以10这个点在反方向上的补偿是1mm其他 各点正方向和反方向上的补偿依此类推。
3
一、螺距误差产生的原因
利用数控系统提供的螺距误差补偿功能,可以 对螺距误差进行补偿和修正,达到提高加工精度的 目的。另外,数控机床经长时间使用后,由于磨损 等原因造成精度下降,通过对机床进行周期检定和 误差补偿,可在保持精度的前提下延长机床的使用 寿命。
4
一、螺距误差产生的原因
数控机床的螺距误差产生原因如下: 1. 滚珠丝杠副处在进给系统传动链的末级。由于丝 杠和螺母存在各种误差,如螺距累积误差、螺纹滚 道型面误差、直径尺寸误差等(其中最主要的是丝 杠的螺距累积误差造成的机床目标值偏差); 2. 滚珠丝杠的装配过程中,由于采用了双支撑结, 使丝杠轴向拉长,造成丝杠螺距误差增加,产生机 床目标值偏差;
5
一、螺距误差产生的原因
3. 机床装配过程中,由于丝杠轴线与机床导轨平行 度的误差引起的机床目标值偏差。 螺距误差补偿是将机床实际移动的距离与指令移 动的距离之差,通过调整数控系统的参数增减指令 值的脉冲数,实现机床实际移动距离与指令值相接 近,以提高机床的定位精度。螺距误差补偿只对机 床补偿段起作用,在数控系统允许的范围内补偿将 起到补偿作用。
20
螺距误差补偿是按轴进行的。针对每一个轴可以设 置每个轴的螺距误差补偿。主轴不设置。
西门子840D系统下的螺距补偿和垂度补偿的综合运用

西门子840D系统下的螺距补偿和垂度补偿的综合运用李培志(武汉华中自控技术发展有限公司,武汉430062)摘要:结合西门子840D系统介绍了两种为提高机床定位精度的补偿方法------螺距补偿和垂度补偿。
以及在机械几何精度不理想情况下的两种方法的综合运用。
关键词:螺距补偿垂度补偿位置精度检测由于机械电子技术的飞速发展,数控机床作为一种高精度、高效率、稳定性强的自动化加工设备,越来越多的受到大家的关注。
数控系统的定位精度是影响其高精度性能的一个重要因素,而利用西门子840D数控系统自带的螺距补偿和垂度补偿功能可以极大的降低机床的定位误差,提高机床的定位精度。
本文就此介绍了这两种方法在实际中的具体使用。
补偿一般在机床几何精度调整完成后进行,这样可以尽量减少几何精度对定位精度的影响。
一般情况下,螺距补偿可以运用在所有的直线进给轴以及旋转轴中,垂度补偿多运用在镗床的主轴箱滑枕或镗杆与立柱间的交叉补偿。
1.螺距补偿840D数控系统的螺距补偿功能是一种绝对型补偿方法,螺距补偿是按轴进行的。
我们设定补偿起始点位置a,补偿终止点位置b,补偿间隔距离c,那么需要插补的中间点的个数n,其中n=1+(b-a)/c。
具体操作步骤如下:1)设置轴数据MD38000 MM_ENC_COMP_MAX_POINTS[t] =n,修改此参数后会引起NCK内存的重新分配。
所以修改后要在服务菜单下对NC做一次备份。
(t=所补偿轴的轴号)2)对系统做一次NCK复位后会出现“M4400” 报警,提示轴参数丢失,此时将1)步骤下的NC备份Load进NC系统。
3)在Nc-Active-Data菜单下Copy出“C EC_DATA”到一个新建立的备份文档目录*.MDN中。
4)在新的目录下找到并打开补偿文件表格,根据测量人员测量的数据把相应的补偿点直接在表格中更改。
保存并关闭编辑器。
5)设定轴参数MD32700 ENC_COMP_ENABLE=0,将修改后的补偿表格 Load进NC系统。
西门子系统如何进行螺距补偿?

西门子系统如何进行螺距补偿?摘要:本文对机床误差进行了分析,结合生产实际采用螺距误差补偿方法,对主轴定位精度进行提高。
数控落地铣镗床加工零件的质量和精度,在很大程度上取决于机床主轴的精度,大部分数控机床都采用滚珠丝杠作为机械传动部件,由于制造误差和装配误差始终存在,丝杠的螺距不完全相等,螺距误差将影响主轴的定位精度。
数控机床误差分析:①机床零部件和结构的几何误差,主要由机床的制造缺陷造成,包括机床零部件的尺寸误差和装配误差等。
②机床热变形误差,主要由机床内、外部热源引起,包括传动件、液压系统及环境温度等。
③切削力引起的误差,主要由切削载荷变化引起,可能的因素有工件材料不均、断续切削等。
④刀具磨损误差。
⑤其他误差源,数控系统插补算法误差、伺服系统的跟随误差、位置检测系统的测量误差等。
其中,几何误差和热变形误差是影响数控机床误差的最主要因素,约占数控机床加工误差的60%。
数控机床定位精度就是指机床运动部件的实际位置到数控程序设定终点的准确度。
提高机床的定位精度通常有两种方法:误差预防法和误差补偿法。
前者是从机床的设计、零件的制造及机床的装配等方面消除或减小误差源,但当机床的定位精度提高到一定程度后,依靠该方法来减小误差在经济性上已经不可行了。
后者是采用检测仪器或装置,对机床的误差进行分析、建模和预测后,人为的制造一种误差去消除或减小机床的固有误差的方法。
下面以数控机床的螺距补偿为例,简述螺距误差补偿方法在生产实践中的应用。
螺距误差补偿的原理是将数控机床主轴的指令位置与测量位置比较,计算出全行程的误差分布曲线,将螺距误差以补偿的形式输入数控系统,当数控系统控制主轴运行时会自动进行螺距误差补偿。
SINUMERIK820D数控系统螺距补偿方法:①根据主轴行程,确定主轴螺距误差补偿的补偿间隔(本次实验的补偿间隔为200mm)补偿范围为起始0mm至终止位置1100mm。
②设置MD38000的值,最大的螺距补偿点数一般k≤MD38000。
Siemens880定位精度补偿方法

SIEMENS -880数控系统的螺距误差补偿功能也是一种增量型补偿方法,其补偿方法与FANUC-0 数控系统略有不同。
FANUC-0系统只能进行单方向补偿,而SIEMENS-880系统可以按运行方向进行双向补偿,两个方向的补偿参数分别设定。
FANUC-0系统的补偿倍率为1、2、4、8,各点补偿值范围为-7~+7,故各点可补偿的误差范围为-56~+56μm,各点可不同;而SIEMENS-880系统的补偿倍率(即补偿当量)为0~100,但各点要么不补,要么补一个正的当量,要么补一个负的当量,故各点可补偿的误差范围为-100~+100μm,但补偿当量在同一轴内必须相同。
SIEMENS-880数控系统的螺距误差补偿功能相关参数只有在电源重开及参考点返回之后才能生效,具体参数含义如下:(*代表各轴轴号,0:X轴,1:Y轴,2:Z轴,等等)、NC MD220*背隙补偿值。
设定范围:-255~+255μm。
NCMD316*正方向补偿指针,设定范围:0~249(第一伺服CPU)指针是机械坐标参考点对应的补偿点位置。
NC MD320*负方向补偿指针,设定范围:0~249(第一伺服CPU)NC MD324*两个螺距误差补偿点间距,设定范围:0~32000μm。
NC MD328*补偿当量,即倍率,设定范围:0~100。
NC MD6000~6999螺距误差补偿点,具体分布如下:6000~6249第一个伺服CPU的各轴。
6250~6499第二个伺服CPU的各轴。
6500~6749第三个伺服CPU的各轴。
6750~6999第四个伺服CPU的各轴。
表中:-=0+=1No=0Yes=1每一个机床参数有8位,每两位是一个补偿点,所以每个参数可以设定四个补偿点,控制器内部规定只有最右边的点(位0和位1)能够被设定为参考点。
例如:如果机床某一轴的参考点被设定在793号补偿点,则参考点对应的机床参数号=6000+(793-1)/4=6198 ,即机床参考点下在机床数据6198,所以机床数据3160下为6198-6000=198。
回转工作台的螺距误差测量与补偿

基准元件
3、度盘
是角度测量中常用的基准元件。在圆周上刻有一系列等间隔 的刻线,每一刻线均通过圆心,最小分度间隔30′、20 ′、10 ′、5 ′、4 ′。 材料:玻璃、金属 应用:常用于角度及圆分度误差的静态测量。
基准元件
4、多齿分度盘
由两个直径、齿数和齿形均相同的上、下端齿盘组成。上下 两齿盘啮合时,不能再转动及侧向位移,其分度完全靠两齿盘相 对转过的齿数来决定。 齿数:360、720、1440 最小分度间距:10、30 ′ 、15 ′ 特点:自动定心、平均效应 分度精度: ±0.1
参数设置
螺距误差补偿值在与该参数设定值相乘后输出给补 偿轴,因此实误差补偿值输 出!
该参数用来设定螺距误差补偿表在数据表参数中的 起始参数号。 注意:在指定螺距误差补偿表起始参数号时应避免 与其他已使用的数据表发生重叠,且补偿表存储区间 不允许超出数据表参数范围。
将光标移动到“误差补偿参数”后,按“ENTER”键 将“误差补偿参数”展开。
参数设置
选择“补偿轴3”
参数设置
参数设置
参数设置
该参数用于设置当前轴反向间隙补偿的使能与禁止。 0:反向间隙补偿禁止 1:反向间隙补偿使能 该参数一般设置为机床进给轴(直线轴、摆动轴 或旋转轴)在常用工作区间内的反向间隙测量值。 如果采用双向螺距误差补偿,则无需进行反向间隙 补偿,该参数可设置为0。 数据单位为毫米或度。
参数设置
参数设置
补偿值序列以该参数号为首地址按照采样补偿点坐 标顺序(从小到大)依次排列,若为双向螺补,应先 输入正向螺距补偿数据,再紧随其后输入负向螺距补 偿数据。
操作步骤
1、安装基盘
2、打表
操作步骤
操作步骤
3、安装多面棱体
fanuc螺距补正

X轴负向限位
0705
Z轴负向限位
第3轴负向限位
第4轴负向限位
反向间隙补偿参数(表3-3)
参数号
含义
设定值
备注
0535
X轴进给速度反向间隙补偿值
0536
Z轴进给速度反向间隙补偿值
0537
第3轴进给速度反向间隙补偿值
0538
第4轴进给速度反向间隙补偿值
(一)FANUC-0M系列螺距误差补偿参数(表1-1)
参数号
含义
设定值
备注
0011:#1,#0
补偿倍率
0712
X轴螺距误差补偿间隔
0713
Y轴螺距误差补偿间隔
0714
Z轴螺距误差补偿间隔
0715
第4轴螺距误差补偿间隔
1000
X轴参考点补偿号
1001-1128
X轴各点螺距误差补偿值
2000
Y轴参考点补偿号
进给速度反向间隙补偿值
X轴
Y轴
Z轴
1852
快速移动反向间隙补偿值
X轴
Y轴
Z轴
(三)FANUC-0T系列螺距误差补偿参数(表3-1)
参数号
含义
设定值
备注
0011:#1,#0
X-4轴补偿倍率
7011:#1,#0
5、6轴补偿倍率
0756
X轴螺距误差补偿间隔
0757
Z轴螺距误差补偿间隔
0758
第3轴螺距误差补偿间隔
4001-4128
第4轴各点螺距误差补偿值
5000
第5轴参考点补偿号
5001-5128
第5轴各点螺距误差补偿值
6000
第6轴参考点补偿号
数控机床螺距误差补偿合同范本

数控机床螺距误差补偿合同范本甲方(委托方):名称:_________________________________________________________________________法定代表人:___________________________________________________________________地址:_________________________________________________________________________联系电话:_____________________________________________________________________乙方(服务方):名称:_________________________________________________________________________法定代表人:___________________________________________________________________地址:_________________________________________________________________________联系电话:_____________________________________________________________________鉴于甲方拥有数控机床,需要进行螺距误差补偿以提高机床精度,乙方具备相关技术和服务能力,双方经友好协商,达成以下合同:一、服务内容乙方对甲方指定的数控机床进行螺距误差补偿,包括但不限于测量、分析、补偿参数设置等。
确保补偿后的数控机床螺距误差在甲方要求的范围内,提高机床的加工精度和稳定性。
二、服务期限服务开始时间:______年____月____日。
服务完成时间:______年____月____日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Dynamic Error CompensationApplication NoteAugust2014Document Revision:1.0Dynamic Error CompensationRelease Date:August2014Copyright©ACS Motion Control Ltd.2014.All rights reserved.Changes are periodically made to the information in this document.Changes are published as release notes and later incorporated into revisions of this document.No part of this document may be reproduced in any form without prior written permission from ACS Motion Control.TrademarksACS Motion Control,SPiiPlus,PEG,MARK,ServoBoost,MotionBoost,NetworkBoost and NanoPWN are trademarks of ACS Motion Control Ltd.Windows and Visual Basic are trademarks of Microsoft Corporation.EtherCAT is registered trademark and patented technology,licensed by Beckhoff Automation GmbH,Germany.Any other companies and product names mentioned herein may be the trademarks of their respective owners.support@sales@NoticeThe information in this document is deemed to be correct at the time of publishing.ACS Motion Control reserves the right to change specifications without notice.ACS Motion Control is not responsible for incidental,consequential,or special damages of any kind in connection with using this document.Revision HistoryDate Revision DescriptionAugust201401First releaseConventions Used in this GuideText FormatsFormat DescriptionBold Names of GUI objects or commands.BOLD+UPPERCASE ACSPL+variables and commands Monospace+grey background Code example.Italic Names of other documents.Blue Web pages,and e-mail addresses.[ ]In commands indicates optional item(s)|In commands indicates either/or items Flagged TextNote-includes additional information or programming tips.Caution-describes a condition that may result in damage to equipment.Warning-describes a condition that may result in serious bodily injury or death.Model-highlights a specification,procedure,condition,or statement that depends on theproduct model.Advanced-indicates a topic for advanced users.Table of Content1.Introduction52.ACSPL+functions for Implementing Dynamic Error Compensation52.1Connect52.2Depends63.Constructing a Correction Map64.Types of Dynamic Error Compensation74.1One Dimensional Dynamic Error Compensation74.1.1Related Functions84.2Two Dimensional Dynamic Error Compensation84.2.1Axis Position Collection at Fixed Intervals84.2.1.1Axis084.2.1.2Axis194.2.2Axis Position Collection Using Arbitrary Network of Points94.2.2.1Axis094.2.2.2Axis1104.2.3Related Functions105.Three Dimensional Dynamic Error Compensation116.Initializing APOS and RPOS After Homing Program127.Initializing APOS and RPOS After KILL or DISABLE138.Dynamic Error Compensation for Gantry System138.1Error Compensation for Flexible Stages148.2Error Compensation for Stiff Stages151. Introduction1.IntroductionMotion systems are influenced by mechanical imperfections resulting from manufacturing tolerances.You can measure and map the errors induced by these mechanical imperfections using external measurement devices such as a laser interferometer.These errors can then be corrected by changing the motion profile on the fly according to a correction map.The ability to change the motion profile according to a preset correction map is called Dynamic Error Compensation,and it can be applied to SPiiPlusNT controllers.A correction map may be constructed using the following methods:●by measuring the correct position of the motor at fixed intervals.●by measuring the correct position of the motor at an arbitrary network of encoder readings.By using certain ACSPL+commands,you can then apply the correction map to manipulate the axis motion profile. 2.ACSPL+functions for Implementing Dynamic Error Compensation Dynamic Error Compensation is implemented through two ACSPL+functions:●Connect●Depends2.1ConnectConnect is used to implement Dynamic Error Compensation,Inverse Kinematics,Axes Transformation and more. Connect modifies axis profile generation by defining a relation(any function)between several variables:●Axis Position(APOS-virtual axis position)●Reference Position(RPOS–desired axis position)●Other variablesBy default,APOS and RPOS are equal.Once defined,Connect remains active until:●A new connect function is defined●The controller is shutdown●HWRESET/RESET commands are sent●MFLAGS(axis).#DEFCON flag is raisedConnect cannot be executed while the default connection bit of variable MFLAGS(axis).#DEFCONis raised.ExampleConnect RPOS(0)=(APOS(0)+APOS(1)+APOS(2))/3+1+AIN(1)Reference to axis zero is a function of APOS(0),APOS(1),APOS(2),AIN(1)and a constant value.Connect calculates the average between APOS(0),APOS(1)and APOS(2)+constant value of1and the value of the first analog input AIN(1).Figure 0:SPiiPlus Profile Generation MechanismConnect requires extra steps when the axis performs homing or when the motion was terminated by KILL or DISABLE commands.2.2DependsDepends specifies a logical dependence between a motor and axes.By default,the motor is assigned to its axis.Depends always follows Connect .ExampleDepends 0,(0,1,2)Explanation:RPOS of axis 0depends on APOS of axes 0,1and 2.3.Constructing a Correction MapThe correction map may be constructed in two ways:1.Actual values of axis positions are collected using axis commands (APOS)at fixedintervals.3. Constructing a Correction MapAxis CommandCorrect ValueEncoder Error-10100-53-805-558-31012-2Table 1:Correction Map Using Fixed Intervals 2.Actual values of axis positions are collected using an arbitrary network of encoder readings.Axis CommandCorrect ValueEncoder Error-10-122-3-3068-21214-21417-3Table 2:Correction Map Using Arbitrary Readings 4.Types of Dynamic Error CompensationDynamic error compensation may be a function of:●a single axis -one dimensional ●two axes –two dimensional ●three axes –three dimensional4.1One Dimensional Dynamic Error CompensationUse one dimensional dynamic error correction when the position error of the axis depends on the position of a single axis (usually the same axis).4.1.1Related FunctionsYou can also use the following functions for error compensation.The user should use the functions that best suit his application.Correction Map Correction Map Construction InterpolationType ExtrapolationMAP Base +fixed interval Linear Maximal/minimal values of encoder error are used for encoder readings outside the range defined in Correction Map.MAPB Base +fixed interval B-spline MAPN Network of points Linear MAPNB Network of points B-splineMAPS Base +fixed interval Catmull-Rom spline According to spline calculation.MAPNS Network of pointsCatmull-Rom splineExampleUse the following code to create a correction map using fixed intervals (see Table 1):GLOBAL REAL BASE,INCREMENT,CORRECTION_MAP (5)BASE =-10INCREMENT =5CORRECTION_MAP(0)=0;CORRECTION_MAP(1)=-8;CORRECTION_MAP(2)=-5;CORRECTION_MAP(3)=-3;CORRECTION_MAP(4)=-2MFLAGS(0).#DEFCON =0CONNECT RPOS(0)=APOS(0)+MAP(APOS(0),CORRECTION_MAP,BASE,INCREMENT)DEPENDS 0,0STOPExampleUse the following code to create a correction map using arbitrary readings (see Table 2):GLOBAL REAL AXIS_COMMAND (5),CORRECTION_MAP(5)AXIS_COMMAND(0)=-10;AXIS_COMMAND (1)=-3;AXIS_COMMAND (2)=6;AXIS_COMMAND (3)=12;AXIS_COMMAND (4)=14CORRECTION_MAP(0)=2;CORRECTION_MAP(1)=0;CORRECTION_MAP(2)=-2;CORRECTION_MAP(3)=-2;CORRECTION_MAP(4)=-3MFLAGS(0).#DEFCON =0CONNECT RPOS(0)=APOS(0)+MAPN(APOS(0),AXIS_COMMAND,CORRECTION_MAP)DEPENDS 0,0STOP4.2Two Dimensional Dynamic Error CompensationUse two dimensional dynamic error correction when the position errors of the axis depend on the axis's position and the position of another axis.4.2.1Axis Position Collection at Fixed Intervals4.2.1.1Axis0The correct values of axis0positions are collected in a network defined by axis0commands with a fixed interval0between them.The point with smallest value is called base0.For each value of an axis0command,position errors of axis0are collected for several axis1commands.Axis1commands are chosen with a fixed interval1starting from base1.Axis1 CommandAxis0Command-10-505Axis0ActualEncoder0ErrorAxis0ActualEncoder0ErrorAxis0ActualEncoder0ErrorAxis0ActualEncoder0Error20-100-501-14130-122-83005040-133-3-2-116-1Table3:Two Dimensional Correction Map-Axis0(Fixed Intervals)4.2.1.2Axis1Correct values of axis1position are collected in a network defined by axis1commands with a fixed interval1 between them.The point with smallest value is called base1.For each value of an axis1command,position errors of axis1are collected for several axis0commands.Axis0commands are chosen with a fixed interval0starting from base0.Axis1/Auxilliary CommandAxis0Command-10-505Axis1ActualEncoder1ErrorAxis1ActualEncoder1ErrorAxis1ActualEncoder1ErrorAxis1ActualEncoder1Error2020021-122-222-2 3031-130031-132-2 4040041-1391400 Table4:Two Dimensional Correction Map-Axis1(Fixed Intervals)4.2.2Axis Position Collection Using Arbitrary Network of Points4.2.2.1Axis0Correct values of axis0position are collected at arbitrary network of points(encoder readings).Axis1 CommandAxis0Command-10-803Axis0ActualEncoder0ErrorAxis0ActualEncoder0ErrorAxis0ActualEncoder0ErrorAxis0ActualEncoder0Error20-100-5-31-130 25-122-91004-1 40-133-7-1-114-1 Table5:Two Dimensional Correction Map-Axis0(Arbitary Points)4.2.2.2Axis1Correct values of axis1position are collected at arbitrary network of points(axis0and axis1commands).Axis1 CommandAxis0Command-10-803Axis1ActualEncoder1ErrorAxis1ActualEncoder1ErrorAxis1ActualEncoder1ErrorAxis1ActualEncoder1Error2020020022-221-1 2526-125026-127-2 40400400391391 Table6:Two Dimensional Correction Map-Axis1(Arbitary Points)4.2.3Related FunctionsYou can also use the following functions for error compensation.The user should use the functions that best suit his application.Item Correction MapConstructionInterpolation Type ExtrapolationMAP2Base0+fixed interval0Base1+fixed interval1Linear Maximal/minimal values of Correct readingsare used for Encoder readings outside therange defined in Correction Map.MAP2B Base0+fixed interval0Base1+fixed interval1B-splineMAP2N Network of points LinearMAP2NB Network of points B-splineMAP2S Base0+fixed interval0Base1+fixed interval1Catmull-Rom spline According to spline calculation.MAP2NS Network of points Catmull-Rom splineExampleFollowing code should be implemented in order to create a correction map as described in Tables2.1.b and2.2.b:GLOBAL REAL BASE0,BASE1,INCREMENT0,INCREMENT1,CORRECTION_MAP0(3)(4),CORRECTION_MAP1(3)(4)BASE0=-10INCREMENT0=5BASE1=20INCREMENT1=10!Correction map for axis0CORRECTION_MAP0(0)(0)=0;CORRECTION_MAP0(0)(1)=0;CORRECTION_MAP0(0)(2)=-1;CORRECTION_MAP0(0)(3)=1CORRECTION_MAP0(1)(0)=2;CORRECTION_MAP0(1)(1)=3;CORRECTION_MAP0(1)(2)=0;CORRECTION_MAP0(1)(3)=0CORRECTION_MAP0(2)(0)=3;CORRECTION_MAP0(2)(1)=-1;CORRECTION_MAP0(2)(2)=1;CORRECTION_MAP0(2)(3)=-1!Correction map for axis1CORRECTION_MAP1(0)(0)=0;CORRECTION_MAP1(0)(1)=-1;CORRECTION_MAP1(0)(2)=-2;CORRECTION_MAP1(0)(3)=-2CORRECTION_MAP1(1)(0)=-1;CORRECTION_MAP1(1)(1)=0;CORRECTION_MAP1(1)(2)=-1;CORRECTION_MAP1(1)(3)=-2CORRECTION_MAP1(2)(0)=0;CORRECTION_MAP1(2)(1)=-1;CORRECTION_MAP1(2)(2)=1;CORRECTION_MAP1(2)(3)=0MFLAGS(0).#DEFCON=0CONNECT RPOS(0)=APOS(0)+MAP2(APOS(0),APOS(1),CORRECTION_MAP0,BASE0,INCREMENT0,BASE1,INCREMENT1)DEPENDS0,(0,1)MFLAGS(1).#DEFCON=0CONNECT RPOS(1)=APOS(1)+MAP2(APOS(0),APOS(1),CORRECTION_MAP1,BASE0,INCREMENT0,BASE1,INCREMENT1)DEPENDS1,(0,1)STOPExampleFollowing code should be implemented in order to create a correction map as described in Table 2.2.b:GLOBAL REAL AXIS0_COMMAND (4),AXIS1_COMMAND (3),CORRECTION_MAP0(3)(4),CORRECTION_MAP1(3)(4)!Correction map for axis0AXIS0_COMMAND (0)=-10;AXIS0_COMMAND(1)=-8;AXIS0_COMMAND(2)=0;AXIS0_COMMAND(3)=3AXIS1_COMMAND (0)=20;AXIS1_COMMAND(1)=25;AXIS1_COMMAND(2)=40CORRECTION_MAP0(0)(0)=0;CORRECTION_MAP0(0)(1)=-3;CORRECTION_MAP0(0)(2)=-1;CORRECTION_MAP0(0)(3)=0CORRECTION_MAP0(1)(0)=2;CORRECTION_MAP0(1)(1)=1;CORRECTION_MAP0(1)(2)=0;CORRECTION_MAP0(1)(3)=-1CORRECTION_MAP0(2)(0)=3;CORRECTION_MAP0(2)(1)=-1;CORRECTION_MAP0(2)(2)=1;CORRECTION_MAP0(2)(3)=-1!Correction map for axis1CORRECTION_MAP1(0)(0)=0;CORRECTION_MAP1(0)(1)=0;CORRECTION_MAP1(0)(2)=-2;CORRECTION_MAP1(0)(3)=-1CORRECTION_MAP1(1)(0)=-1;CORRECTION_MAP1(1)(1)=0;CORRECTION_MAP1(1)(2)=-1;CORRECTION_MAP1(1)(3)=-2CORRECTION_MAP1(2)(0)=0;CORRECTION_MAP1(2)(1)=0;CORRECTION_MAP1(2)(2)=1;CORRECTION_MAP1(2)(3)=1MFLAGS(0).#DEFCON =0CONNECT RPOS(0)=APOS(0)+MAP2N(APOS(0),APOS(1),CORRECTION_MAP0,AXIS0_COMMAND,AXIS1_COMMAND)DEPENDS 0,(0,1)MFLAGS(1).#DEFCON =0CONNECT RPOS(1)=APOS(1)+MAP2N(APOS(0),APOS(1),CORRECTION_MAP1,AXIS0_COMMAND,AXIS1_COMMAND)DEPENDS 1,(0,1)STOP5.Three Dimensional Dynamic Error CompensationUse three dimensional dynamic error correction when the position errors of the axis depend on it’s own position and a position of two other axes.Correction is by interpolation between a set of two dimensional correction maps.Axis1CommandAxis0Command-10-505Axis 2Command =02000-11302300403-21-1Axis 2Command =1203-1023032-11404-1-10Axis 2Command =2202-1-11302-2-11401-10-1Axis 2Command =320101-130101-1401-2Table 7:Three Dimensional Correction Map -Axis0,Axis1,Axis25. Three Dimensional Dynamic Error CompensationGLOBAL REAL CORRECTION_MAP_1(3)(4),CORRECTION_MAP_2(3)(4),CORRECTION_MAP_3(3)(4),CORRECTION_MAP_4(3)(4)GLOBAL REAL BASE0,INCREMENT0,BASE1,INCREMENT1,BASE2,INCREMENT2CORRECTION_MAP_1(0)(0)=0;CORRECTION_MAP_1(0)(1)=0;CORRECTION_MAP_1(0)(2)=-1;CORRECTION_MAP_1(0)(3)=1CORRECTION_MAP_1(1)(0)=2;CORRECTION_MAP_1(1)(1)=3;CORRECTION_MAP_1(1)(2)=0;CORRECTION_MAP_1(1)(3)=0CORRECTION_MAP_1(2)(0)=3;CORRECTION_MAP_1(2)(1)=-2;CORRECTION_MAP_1(2)(2)=1;CORRECTION_MAP_1(2)(3)=-1CORRECTION_MAP_2(0)(0)=3;CORRECTION_MAP_2(0)(1)=-1;CORRECTION_MAP_2(0)(2)=0;CORRECTION_MAP_2(0)(3)=2CORRECTION_MAP_2(1)(0)=3;CORRECTION_MAP_2(1)(1)=2;CORRECTION_MAP_2(1)(2)=-1;CORRECTION_MAP_2(1)(3)=1CORRECTION_MAP_2(2)(0)=4;CORRECTION_MAP_2(2)(1)=-1;CORRECTION_MAP_2(2)(2)=-1;CORRECTION_MAP_2(2)(3)=0CORRECTION_MAP_3(0)(0)=2;CORRECTION_MAP_3(0)(1)=-1;CORRECTION_MAP_3(0)(2)=-1;CORRECTION_MAP_3(0)(3)=1CORRECTION_MAP_3(1)(0)=2;CORRECTION_MAP_3(1)(1)=-2;CORRECTION_MAP_3(1)(2)=-1;CORRECTION_MAP_3(1)(3)=1CORRECTION_MAP_3(2)(0)=1;CORRECTION_MAP_3(2)(1)=-1;CORRECTION_MAP_3(2)(2)=0;CORRECTION_MAP_3(2)(3)=-1CORRECTION_MAP_4(0)(0)=1;CORRECTION_MAP_4(0)(1)=0;CORRECTION_MAP_4(0)(2)=1;CORRECTION_MAP_4(0)(3)=-1CORRECTION_MAP_4(1)(0)=1;CORRECTION_MAP_4(1)(1)=0;CORRECTION_MAP_4(1)(2)=1;CORRECTION_MAP_4(1)(3)=-1CORRECTION_MAP_4(2)(0)=1;CORRECTION_MAP_4(2)(1)=0;CORRECTION_MAP_4(2)(2)=0;CORRECTION_MAP_4(2)(3)=-2BASE0=-10;INCREMENT0=5;BASE1=20;INCREMENT1=10;BASE2=0;INCREMENT2=1MFLAGS(2).17=0connect RPOS(2)=APOS(2)+(MAP2(APOS(0), APOS(1),CORRECTION_MAP_1,BASE0,INCREMENT0,BASE1,INCREMENT1)*(1.0-ABS(BASE2-APOS(2))/INCREMENT2)+MAP2(APOS(0), APOS(1),CORRECTION_MAP_2,BASE0,INCREMENT0,BASE1,INCREMENT1)*(ABS(BASE2-APOS(2))/INCREMENT2))*((APOS(2)–BASE2)/INCREMENT2< 1.0&(APOS(2)–BASE2)>0)+(MAP2(APOS(0), APOS(1),CORRECTION_MAP_2,BASE0,INCREMENT0,BASE1,INCREMENT1)*(1.0-ABS(BASE2+INCREMENT2 -APOS(2))/INCREMENT2)+MAP2(APOS(0), APOS(1),CORRECTION_MAP_3,BASE0,INCREMENT0,BASE1,INCREMENT1)*(ABS(BASE2+INCREMENT2 -APOS(2))/INCREMENT2))*((APOS(2)-BASE2-INCREMENT2)/INCREMENT2< 1.0&(APOS(2)-BASE2-INCREMENT2)>0)+(MAP2(APOS(0), APOS(1),CORRECTION_MAP_3,BASE0,INCREMENT0,BASE1,INCREMENT1)*(1.0-ABS(BASE2+INCREMENT2*2-APOS(2))/INCREMENT2)+MAP2(APOS(0), APOS(1),CORRECTION_MAP_4,BASE0,INCREMENT0,BASE1,INCREMENT1)*(ABS(BASE2+INCREMENT2*2-APOS(2))/INCREMENT2))*((APOS(2)-BASE2-INCREMENT2*2)/INCREMENT2< 1.0&(APOS(2)-BASE2-INCREMENT2*2)>0)DEPENDS0,(0,1,2)STOP6.Initializing APOS and RPOS After Homing ProgramAfter the controller powered up,the feedback position is zero.A homing program moves the axis to a known absolute position(as index position)and sets that position as zero(or any other value). If an error is present at the position where homing ends,value of APOS and FPOS should be updated.In this case,write separate SET commands for RPOS and for APOS.ExampleWhen homing is finished,reset the FPOS value according to the correction map:GLOBAL REAL BASE,INCREMENT,CORRECTION_MAP(5)BASE=1INCREMENT=1CORRECTION_MAP(0)=0.5; CORRECTION_MAP(1)=0.1;CORRECTION_MAP(2)=0;CORRECTION_MAP(3)=0.4;CORRECTION_MAP(4)=0.5STOPRUN_AFTER_HOMING:HALT(0)TILL^MST(0).#MOVESET FPOS(0)=BASEREAL NewAPOSNewAPOS=BASEMFLAGS(0).#DEFCON=1ENABLE(0)PTP/E(0),NewAPOS+MAP(NewAPOS,CORRECTION_MAP,BASE,INCREMENT)MFLAGS(0).#DEFCON=0CONNECT RPOS(0)=APOS(0)+MAP(APOS(0),CORRECTION_MAP,BASE,INCREMENT)DEPENDS0,0SET APOS(0)=NewAPOSSTOP7.Initializing APOS and RPOS After KILL or DISABLEThe APOS variable is no longer updated after KILL or DISABLE commands.Therefore,after these commands,a special procedure needs to be implemented to resume motion with Dynamic Error Compensation.This procedure involves:1.Initiating motion(without Dynamic Error Compensation)to the nearest correction position(a point in the cor-rection array).2.Resetting APOS and RPOS according to the Correction Map.3.Resuming motion with Dynamic Error Compensation.ExampleAdd the following code to execute Recovery after a KILL or DISABLE command(this example uses the correction map in Table1):RECOVER_AXIS:HALT(0)!Stop the axisTILL^MST(0).#MOVE!Wait till motion endsREAL NewAPOSNewAPOS=RPOS(0)!NewAPOS stores my current RPOS positionENABLE(0)MFLAGS(0).#DEFCON=1 !Set default connectionPTP/E(0),NewAPOS+MAP(NewAPOS,CORRECTION_MAP,BASE,INCREMENT)!Moves to nearest correction positionMFLAGS(0).#DEFCON=0 !Enable non-default Connect expressionCONNECT RPOS(0)=APOS(0)+MAP(APOS(0),CORRECTION_MAP,BASE,INCREMENT)!Define the Connect expressionDEPENDS0,0 !Define the Depends commandSET APOS(0)=NewAPOSSTOP8.Dynamic Error Compensation for Gantry SystemGantry systems consist of two motors whose feedback(FPOS(0)and FPOS(1))are transformed to new feedback by setting MFLAGS(0).25=1,MFLAGS(1).25=1.If,after setting these flags,FPOS(0)is set as Gantry0and FPOS(1)as Gantry1,then:1.Gantry0=(FPOS(0)+FPOS(1))/2–the mean value of the motor’s position.This axis is frequently referred to aslinear.2.Gantry1=FPOS(1)-FPOS(0)–the difference between the first and the second motors'positions.This axis isfrequently referred to as yaw.Generally,gantry pairs for most ACS products,are(0,2),(1,3)or(2,3).In the following example,Gantry0and Gantry1represent the FPOS0and FPOs1variables afterMFLAGS has been set.FPOS0and FPOS1are raw feedback readings before they are changed by MFLAGS.There are two compensation scenarios:●For mechanically stiff gantry stages–Gantry0axis is corrected for accuracy improvement and Gantry1axis iscorrected for reducing mechanical stress(motor currents).●For mechanically flexible gantry stages–accuracy improvement of both Gantry0and Gantry1axes.8.1Error Compensation for Flexible StagesPerform dynamic error compensation for both gantry feedback.To construct the correction tables for two gantry axes:1.Tune both gantry axes.2.Set the MFLAGS(0).25and MFLAGS(1).25bits.3.Move the gantry system(Gantry0)along points of interest where data for error correction should be collected.4.At each point of interest,collect the actual values of the motors'positions using an external device.5.Calculate the gantry feedback(Gantry0and Gantry1)at each point according to the equation in Section8..6.Calculate the gantry axes errors at each point.Gantry0should follow the command.Gantry1should follow zerocommand for the whole range.Table8:Correction Map for Flexible StagesGantry0Command Axis0Actual Axis1Actual Gantry0Calculated Gantry1Calculated 000001001019910022002022002012300300302301-24004023984004Table9:Correction Map for Flexible StagesGantry0Gantry0Error Gantry1ErrorCommand0001000-2200-1-2300-124000-4ExampleImplementation of correction map for gantry stage in Table9:GLOBAL REAL COMMAND0(5),CORRECTION_MAP0(5),CORRECTION_MAP1(5)COMMAND0(0)=0;COMMAND0(1)=100;COMMAND0(2)=200;COMMAND0(3)=300;COMMAND0(4)=400;CORRECTION_MAP0(0)=0;CORRECTION_MAP0(1)=0;CORRECTION_MAP0(2)=-1;CORRECTION_MAP0(3)=-1;CORRECTION_MAP0(4)=0;CORRECTION_MAP1(0)=0;CORRECTION_MAP1(1)=-2;CORRECTION_MAP1(2)=-2;CORRECTION_MAP1(3)=2;CORRECTION_MAP1(4)=-4;MFLAGS(0).#DEFCON=0CONNECT RPOS(0)=APOS(0)+MAPN(APOS(0),COMMAND0,CORRECTION_MAP0)DEPENDS0,0SET APOS(0)=CORRECTION_MAP0(0)MFLAGS(1).#DEFCON=0CONNECT RPOS(1)=MAPN(APOS(0),COMMAND0,CORRECTION_MAP1)DEPENDS1,0SET APOS(1)=CORRECTION_MAP1(0)STOP8.2Error Compensation for Stiff StagesWhen running a stiff stage,mechanics may not allow achieving Gantry1axis zero error.An attempt to zero the error results in excessive motor currents.In this case,the command to the Gantry1axis should be“close”to its relieved position.To construct the correction tables for two gantry axes:1.Tune the linear(Gantry0)axis.2.Set the MFLAGS(0).25and MFLAGS(1).25bits.3.Reduce the Gantry1loop gain to avoid current saturation(set SLVKI(1)=0,SLPKP(1)=0.1).4.Move the gantry system(Gantry0)along points of interest where data for error correction should be collected.5.At each point of interest,collect the actual values of the motors'positions using an external device.6.Calculate the gantry feedback(Gantry0and Gantry1)at each point according to the equation in Section8..7.Calculate the gantry axes errors at each point.Gantry0should follow the command.Gantry1should follow zerocommand for the whole range.Table10:Correction Map for Stiff StagesGantry0Command Axis0Actual Axis1Actual Gantry0Calculated Gantry1Calculated 000001001019910022002022002012300300302301-24004023984004Table11:Correction Map for Stiff StagesGantry0Gantry0Error Gantry1ErrorCommand0001000-2200-1-2300-124000-4Commanding the gantry axis to be as close as possible to its relieved position will reduce the excessive current,but will not maintain zero error of this axis.You can increase the Gantry1loop gain in order to improve disturbance rejection.ExampleImplementation of correction map for gantry stage in Table10:GLOBAL REAL COMMAND0(5),CORRECTION_MAP0(5),CORRECTION_MAP1(5)COMMAND0(0)=0;COMMAND0(1)=100;COMMAND0(2)=200; COMMAND0(3)=300;COMMAND0(4)=400;CORRECTION_MAP0(0)=0;CORRECTION_MAP0(1)=0; CORRECTION_MAP0(2)=-1; CORRECTION_MAP0(3)=-1;CORRECTION_MAP0(4)=0;CORRECTION_MAP1(0)=0;CORRECTION_MAP1(1)=-2;CORRECTION_MAP1(2)=-2; CORRECTION_MAP1(3)=2;CORRECTION_MAP1(4)=-4;MFLAGS(0).#DEFCON=0connect RPOS(0)=APOS(0)+MAPN(APOS(0),COMMAND0,CORRECTION_MAP0)depends0,0set APOS(0)=CORRECTION_MAP0(0)MFLAGS(1).#DEFCON=0CONNECT RPOS(1)=MAPN(APOS(0),COMMAND0,CORRECTION_MAP1)DEPENDS1,0SET APOS(1)=CORRECTION_MAP1(0)STOP1Hataasia StRamat Gabriel Industrial ParkMigdal Ha’Emek2307037IsraelT:+97246546440F:+97246546443。