SIMOTION 轴的回零功能

n

一、概述
对于位置轴,输入及显示的相关位置是基于轴坐标系统的。
轴的坐标系统必须与实际的机械坐标相一致。
电机轴上的编码器通常可分为绝对值编码器及增量编码器两种类型。对于绝对值编码器,在轴运行前必须进行一次绝对值编码器的校正;对于增量编码器,必须通过执行回零运行来确定轴的机械零坐标。可以通过编码器的零脉冲,外部零脉冲或零点开关+编码器的零脉冲的方法来实现。
如果需建立直接的位置参考,可以激活同步实际值功能。n

二、回零类型
● 主动回零(Active homing)
对于此类型的回零,需完成一个指定的运动。通过配置可选择下述回零模式:
– 通过零点开关及编码器零脉冲回零(output cam and encoder zero mark)
– 仅通过外部零脉冲回零(external zero mark only)
– 仅通过编码器零脉冲回零(encoder zero marker only)
● 被动回零(Passive homing/on-the-fly homing)
此类回零发生在运动期间,此运动不是由回零命令产生的。
通过配置可选择下述回零模式:
– 通过零点开关及编码器零脉冲回零(output cam and encoder zero mark)
– 仅通过外部零脉冲回零(external zero mark only)
– 仅通过编码器零脉冲回零(encoder zero marker only)
● 直接回零(Direct homing/setting the home position)
在无运动时设置轴的位置。
●相对直接回零(Relative direct homing)
在无运动时,轴的实际值通过一个指定的偏移量来进行偏移。
● 绝对值编码器回零(Absolute encoder homing/absolute encoder adjustment)
调整绝对值编码器零点。n

1、主动回零(Active homing)
在回零期间,回零运行按照回零命令指定的模式执行。与回零标志同步后零点位置的偏移对零点坐标产生影响。
在主动回零时,需设定回零的方向,回零的接近速度,遇到零点开关后的减速度以及进入零坐标的速度。
回零完成后,轴完成同步其“homed”状态被设置。
注意:
从SCOUT V4.1版本后,支持使用硬件限位开关作为回零反向点。n

(1)使用回零开关及编码器的零脉冲方式的主动回零(Active homing with homing)
回零命令执行时轴以接近速度运行,当碰到回零开关时,轴减速运行离开零点开关,运行至下一个编码器零脉冲。可以在配置数据中设置编码器零脉冲在零位开关的前方或后方。轴与零位开关找到后的第一个编码器零脉冲进行同步,然后,以回零进入速度运行回零的偏移量。零点坐标为定义在“home position coordinate”中的值。n

SIMOTION 轴的回零功能
图1. 主动回零设置n

回零过程分为如下三个阶段:
●阶段 1
轴运行至回零开关处
轴以接近速度(Approach velocity)运行,碰到回零开关。
●阶段2
与编码器零脉冲同步
轴以减速度(Reduced velocity)运行至增量编码器的零脉冲。
编码器的零脉冲相对于零点开关的位置可以在图1中设置。
控制器与第一个检测到的零脉冲同步。当检测到零脉冲时,轴被认为同步并且轴位置被设定为“Home position coordinate- Home position offset”。
●阶段3
轴运行至坐标零点位置
当检测到编码器零脉冲时,轴以进入速度(Entry velocity)运行“Home position offset”距离到达坐标零点。
回零过程参看图2:n

SIMOTION 轴的回零功能
图2. 回零过程n

硬件限位开关用做零点开关 (V4.1 SP1后)
从SCOUT V4.1 SP1之后,硬件限位开关可以用做零点开关。轴回零运行碰到限位开关后再反向运行到第一个编码器零脉冲,轴不能在硬件限位开关的方向继续运行。
左右硬件限位开关均可用于零点开关,分别用于正向回零及反向回零,在回零期间不激活硬件限位功能。回零参数设置如图3所示:n

SIMOTION 轴的回零功能
图3. 回零硬件限位开关设置n

(2)仅使用外部零脉冲的主动回零
回零命令起动轴运行至外部零脉冲。当轴到达配置的外部零脉冲的上升沿,以进入速度(Entry velocity)运行零点位置偏移量,此时的轴位置为在“Home position coordinate”中定义的值。
对于轴的外部零脉冲回零方式,外部零脉冲使用连接的数字驱动器通过 PROFIdrive传送,则外部零脉冲必须在驱动中做为数字输入量进行配置,并且必须基于其测量编码器,例如,在驱动上,在ADI4/IM174上或在 C2xx 的数字量输入上可用做外部零脉冲。n

连接SINAMICS驱动
对于直接检测 SINAMICS上的外部零脉冲信号,轴回零正的运动方向被同步到外部零脉冲正触发沿,负的运动方向被同步到负触发沿, 即每次在外部零脉冲的左侧。
通过反向信号(设置SINAMICS 参数 P490),同步也可以在外部零脉冲的右侧。
在 SINAMICS中, 编码器零脉冲或外部零脉冲的回零在参数P495中进行设置。
为了可以检测通过PROFIdrive 连接的驱动上的外部零点信号,轴上的外部零脉冲地址必须在轴的回零画面中进行设置。
因为在PROFIdrive 的报文中没有提供驱动TO相关的状态位,V4.1 SP1版本后,包含外部零脉冲状态的附加输入位可在轴的配置参数“incHomingEncoder.stateDriveExternalZeroMark.aviable”中进行配置。对于连接的驱动器 SINAMICS,相关的状态位在CU报文390 或 391的PZD2中。n

a.通过在SINAMICS中指定编码器的外部零脉冲

SIMOTION 轴的回零功能
图4. 正的运动方向外部零脉冲回零n

SIMOTION 轴的回零功能
图5. 负的运动方向外部零脉冲回零n

设置如下:
•® 在“Ext. zero mark signal from drive available”中选择“No”。
•® 在轴的相关驱动中设置外部零脉冲输入,在此设置 p495.0=1 DI9。n

SIMOTION 轴的回零功能
图6.外部零脉冲的设置n

DI/DO9 在此用做外部零脉冲。
在 SINAMICS 中,用做外部零脉冲的信号必须连接到CU的(DI 9 - 11 或 13 - 15)。
•® 电机的旋转方向确定外部零点脉冲:SINAMICS 正向运行时仅对应于零脉冲的上升沿。SINAMICS负向运行时仅对应于零脉冲的下降沿。数字量如需反向在CU中进行设置。n

SIMOTION 轴的回零功能
图7. 数字量反向设置n

b.通过驱动器 SINAMICS CU报文390 或 391的PZD2,编码器的外部零脉冲

•® 在此设置 CU报文390,如果使用DI0做为编码器的外部零脉冲,则其地址为298.0,n

SIMOTION 轴的回零功能

•® 在回零设置画面中设置用于外部零脉冲的地址n

SIMOTION 轴的回零功能
图8. 外部零脉冲回零设置n

OnBoard C2x0
对于使用本机的输入点做为编码器的外部零脉冲时只允许上升沿。n

注意:
- 旋转变压器的编码器极对数大于1时可使用“Only homing with a homing output cam and an encoder zero mark”的回零方式。
(3)仅通过编码器零脉冲的主动回零 (无零点开关)
当没有零点开关时,例如:轴在行程范围内编码器只有一个零脉冲信号的情况。回零命令使轴运行至编码器的零脉冲标记处。检测到编码器零脉冲后,轴以进入速度运行零点偏移位置后将此位置设置为零点坐标。n

SIMOTION 轴的回零功能
图9. 编码器零脉冲回零设置n

回零时反向开关的作用 (V4.1 SP1版本之后)
仅在主动回零期间,反向开关可用于回零过程中的反向运行。
反向开关可被配置为两个数字量输入信号。左边的反向开关及右边的反向开关可被单独配置及激活。反向开关可在轴上定义,不能在编码器上定义。
下图为基于开始位置点的回零顺序:n

SIMOTION 轴的回零功能

图10. 回零反向开关作用n

示例回零设置为:反方向回零
1 开始点位于零点开关的前方
2 轴位于零点开关处
系统自动检测到此情况,轴沿回零接近的反方向运行离开零点开关,之后再按照正常的回零顺序完成回零运行。
3 轴位于零点开关的后面,即左侧。
如果按照回零方向为反向的回零设置开始找零点时,当轴运行至左侧反向开关时则轴反向运行并且运行离开零点开关,之后再按照正常的回零顺序完成回零运行。n

可将硬件限位开关定义为反向开关。在这种情况下,在回零期间不激活硬件限位开关的限位功能。
反向开关可通过轴的配置参数“typeOfAxis.homing.reverseCamPositive and typeOfAxis.homing.reverseCamNegative”进行设置。n

SIMOTION 轴的回零功能
图11. 回零反向开设置n

仅在一个方向回零(V4.1 SP1之后)
在 V4.0时,在配置参数“typeOfAxis.homing.direction”中可设置回零方向但没有回零反向开关的设置。n

SIMOTION 轴的回零功能
图12. V4.0回零设置n

在V4.1中在Homing procedure中可以设置为“Only positive direction”后,与V4.0相同:n

SIMOTION 轴的回零功能
图13. V4.1回零设置n

图14为一个旋转轴不允许反向的示例:n

SIMOTION 轴的回零功能

图14. 只能在一个方向回零示例n

示例回零设置为:正方向回零(右侧)
1) 开始点位于零点开关前方
在模态长度中可找到回零开关。
2) 轴位于零点开关处
系统自动检测到此情况,轴按照设置的接近方向运行在下一次碰到零点开关时完成回零,回零运行可能超过轴的模态长度。n

2、被动回零(Passive homing/on-the-fly homing)
在被动回零时,执行被动回零命令后通过一个运动命令运行轴时,按照设定的回零模式完成回零。在相关的运动指令中的位置控制模式下才可以使用被动回零。不能使用零点位置偏移量。当轴检测到零点信号后发出回零完成状态信号。回零速度,减速度及进入速度在被动回零中没用。n

SIMOTION 轴的回零功能
图15. 被动回零设置n

回零模式的设置:
(1)默认设置
回零模式基于编码器的类型由系统进行定义:
● 增量编码器 sin/cos encoders, TTL encoders, 或 resolvers,通过编码器零脉冲来实现回零。
● 绝对值编码器 Endat通过外部编码器零脉冲来实现回零。
(2)通过零点开关及编码器零脉冲的被动回零(Passive homing with homing output cam and encoder zero mark mode)
一旦检测到零点开关,检测下一个编码器的零脉冲,当检测到编码器的零脉冲时将当前位置设置为轴的零点位置坐标,发出已回零的状态信号。
(3)仅通过外部零脉冲的被动回零(Passive homing with external zero mark only)
一旦检测到外部零点开关,将当前位置设置为轴的零点位置坐标,发出已回零的状态信号。
(4)仅通过编码器零脉冲的被动回零(Passive homing with encoder zero mark only)
回零不使用零点开关,例如:在轴的整个运行范围中,编码器仅有一个零点脉冲信号。当检测到零点脉冲信号时,将当前位置设置为轴的零点位置坐标,发出已回零的状态信号。
注意:
对于在轴的整个运行范围中,轴不只产生一个零点脉冲信号的应用中,应使用 "homing output cam and encoder zero point" 的回零设置,以确保回零精确。
当然也可以使用 "only external zero point"的回零设置,这种回零精度会低一些。n


3.直接回零/设置零点位置(Direct homing/setting the home position)

将轴的当前位置设置为指定的轴的零点位置坐标。
不能使用零点位置偏移,不需要执行轴的运动。当执行回零命令后,发出已回零的状态信号。
轴回零的参数设置对于此种回零方式无用。轴的零点坐标在回零命令中设置。n

SIMOTION 轴的回零功能

4.相对直接回零/零点位置的相对设置(Relative direct homing/relative setting of home position) (V3.2 及以上)
将轴的当前位置偏移零点位置坐标中的设定值,在此情况下,设置的零点位置坐标作为偏移量。
当轴运行中也可以使用此种回零方式。轴回零的参数设置对于此种回零方式无用。轴的零点坐标在回零命令中设置。n

SIMOTION 轴的回零功能

5.对于增量编码器需要一个新的回零过程的状态
对于增量编码器,在下述情况下,轴的已回零状态系统变量“positioningstate.homed”被复位为“No”:
● 编码器系统错误/编码器失败
● 执行新的回零命令
● 掉电
● 从SCOUT 中下载程序时选择初始化所有的非掉电保持的工艺对象数据设置
● 对于轴配置修改后的重新下载
● 此轴工艺对象的重新起动n

6.绝对值编码器回零(Absolute encoder homing / absolute encoder adjustment)
使用“_homing()”命令,回零模式设置为“ENABLE_OFFSET_OF_ABSOLUTE_ENCODER”时,当前轴位置被设置等于:编码器值 + 绝对编码器的偏移量。n

SIMOTION 轴的回零功能

图16. 轴的零位置为编码器零位置+绝对值编码器偏移量n

绝对编码器的偏移量 (V3.2之后) 可以设置做为一个附加值或绝对值。
绝对值编码器的偏移量被保存在 NV RAM 中并且直到下次绝对值编码器调整之前一直有效。
当调试控制器时,此功能必须被执行一次。
在回零配置画面中可设置偏移量:n

SIMOTION 轴的回零功能

图17. 绝对值编码器偏移n

总的偏移量可通过设置: absHomingEncoder.setOffsetOfAbsoluteEncoder 及 absshift 配置数据来实现。n

设置一个附加的偏移量
设置“absHomingEncoder.setOffsetOfAbsoluteEncoder=RELATIVE” (默认设置):
● 轴的实际值 = 编码器实际值 + (以前设置的有效偏移量 + absshift)
● 新的偏移量 =以前设置的有效偏移量 + absshift
当调用“_homing()”命令时, “absHomingEncoder.absshift”被叠加到当前绝对值编码器的偏移量中。n

SIMOTION 轴的回零功能

设置一个绝对偏移量 (V3.2之后)
设置“absHomingEncoder.setOffsetOfAbsoluteEncoder=ABSOLUTE ”(V3.2之后):
当调用“_homing()”命令时, “absHomingEncoder.absshift”被设置为绝对值编码器的偏移量。n

●轴的实际值 = 编码器实际值 + absshiftn

SIMOTION 轴的回零功能

SIMOTION 轴的回零功能

示例:
当实际编码器位置值= 100.000,绝对偏移:
absshift = 5.000
第一次执行“_homing()”命令:
→ 位置 = 105.000
第二次执行“_homing()”命令:
→位置= 105.000
absshift = 7.000
第三次执行“_homing()”命令:
→位置= 107.000n

设置轴至预定义的位置 (V4.1 SP1之后)
当在“_homing()”命令中设置功能参数“
homingMode:=SET_OFFSET_OF_ABSOLUTE_ENCODER_BY_POSITION”时,将当前位置值设置为“homePosition”参数中的值。
绝对值编码器的偏移量通过此值由系统来计算,并在系统变量absoluteEncoder[n].totalOffsetValue 中显示,此值在系统中做为掉电保存变量进行保存。
在“absHomingEncoder.absshift”中的配置数据不会被改变。
显示偏移量
可以读出偏移量(V3.1之后)
总的偏移量在系统变量 absoluteEncoder[x].totalOffsetValue 中显示,此时总的偏移量激活状态显示在absoluteEncoder[x].activationState中。
此外,当至少调用一次_homing() 命令,homingMode:=
ENABLE_OFFSET_OF_ABSOLUTE_ENCODER后,显示激活状态。
绝对值编码器调整
执行下述步骤进行绝对值编码器的调整:
(1). 不激活限位开关,因为当限位开关激活时不能进行绝对值编码器的调整。
(2). 执行绝对值编码器的调整:
– 一旦执行_homing()命令,homingMode:= ENABLE_OFFSET_OF_ABSOLUTE_ENCODER。
配置数据 absHomingEncoder.absshift 被使用。(配置数据 absHomingEncoder.absshift 可在线进行修改,任何修改可立即生效)。

– 将轴移动到设定的零点位置,执行_homing()命令,homingMode:=SET_OFFSET_OF_ABSOLUTE_ENCODER_BY_POSITION (V4.1 SP1之后),将当前位置设置为“homePosition”中的值。绝对值编码器的偏移量会被系统自动计算,并显示在系统变量
absoluteEncoder[n].totalOffsetValue 中,此值在系统中做为掉电保存变量进行保存。
配置数据“absHomingEncoder.absshift”中的值不被改变。
(3). 使能软件限位开关。
绝对值编码器需要重新调整的状态
● 一旦新项目下载至控制器,存贮的偏移量不再有效时。
如果在新项目下载前已经包含了一个项目,并且如果工艺对象名字没有改变,存贮的偏移量是掉电保持型的 (V4.1 SP1之后),在此情况下不需重新调整。
● 如果项目没有被保存到ROM中,电源循环掉电,上电,造成偏移量被删除。
● 存贮器被复位后。

7. 零点标记监控
如果在指定的运动路径中零点标记没有到达,触发警告。在回零采用“homing output cam and encoder zero mark”方式时,仅当轴离开“homing output cam”后路径被监控。
如果出现反向开关,当方向反向后监控功能再次有效。
当使能监控功能时,主动及被动回零过程均被监控。

8.零点开关监控Homing output monitoring
如果在指定的运动路径中零点开关没有到达,触发警告。
如果出现反向开关,当方向反向后监控功能再次有效。
当使能监控功能时,主动及被动回零过程均被监控。

9.回零期间显示实际值的变化(V4.0 之后)
实际值变化在系统变量homingCommand.positionDifference 中显示。

10.运行未回零的轴
通过“referencingNecessary”配置数据,可以定义是否绝对位置可用于未回过零的轴。
设置:
● referencingNecessary = NO
– 相对及绝对运动均有效。
– 当设置swlimit.state = YES时,监控软件限位开关的状态。
● referencingNecessary = YES
对于未回零的轴:
– 仅相对运动有效。
– 即使设置swlimit.state = YES,也不监控软件限位开关的状态。

关键词
SIMOTION Axis,回零功能

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论