完整SIMOTION 轴的回零功能.docx
《完整SIMOTION 轴的回零功能.docx》由会员分享,可在线阅读,更多相关《完整SIMOTION 轴的回零功能.docx(18页珍藏版)》请在冰豆网上搜索。
完整SIMOTION轴的回零功能
SIMOTION轴的回零功能
条目号:
90719901
日期:
2014—05—08
一、概述
对于位置轴,输入及显示的相关位置是基于轴坐标系统的。
轴的坐标系统必须与实际的机械坐标相一致。
电机轴上的编码器通常可分为绝对值编码器及增量编码器两种类型。
对于绝对值编码器,在轴运行前必须进行一次绝对值编码器的校正;对于增量编码器,必须通过执行回零运行来确定轴的机械零坐标。
可以通过编码器的零脉冲,外部零脉冲或零点开关+编码器的零脉冲的方法来实现.
如果需建立直接的位置参考,可以激活同步实际值功能。
二、回零类型
●主动回零(Activehoming)
对于此类型的回零,需完成一个指定的运动。
通过配置可选择下述回零模式:
–通过零点开关及编码器零脉冲回零(outputcamandencoderzeromark)
–仅通过外部零脉冲回零(externalzeromarkonly)
–仅通过编码器零脉冲回零(encoderzeromarkeronly)
●被动回零(Passivehoming/on—the-flyhoming)
此类回零发生在运动期间,此运动不是由回零命令产生的。
通过配置可选择下述回零模式:
–通过零点开关及编码器零脉冲回零(outputcamandencoderzeromark)
–仅通过外部零脉冲回零(externalzeromarkonly)
–仅通过编码器零脉冲回零(encoderzeromarkeronly)
●直接回零(Directhoming/settingthehomeposition)
在无运动时设置轴的位置。
●相对直接回零(Relativedirecthoming)
在无运动时,轴的实际值通过一个指定的偏移量来进行偏移。
●绝对值编码器回零(Absoluteencoderhoming/absoluteencoderadjustment)
调整绝对值编码器零点.
1、主动回零(Activehoming)
在回零期间,回零运行按照回零命令指定的模式执行。
与回零标志同步后零点位置的偏移对零点坐标产生影响。
在主动回零时,需设定回零的方向,回零的接近速度,遇到零点开关后的减速度以及进入零坐标的速度。
回零完成后,轴完成同步其“homed”状态被设置。
注意:
从SCOUTV4。
1版本后,支持使用硬件限位开关作为回零反向点。
(1)使用回零开关及编码器的零脉冲方式的主动回零(Activehomingwithhoming)
回零命令执行时轴以接近速度运行,当碰到回零开关时,轴减速运行离开零点开关,运行至下一个编码器零脉冲.可以在配置数据中设置编码器零脉冲在零位开关的前方或后方。
轴与零位开关找到后的第一个编码器零脉冲进行同步,然后,以回零进入速度运行回零的偏移量。
零点坐标为定义在“homepositioncoordinate”中的值.
图1.主动回零设置
回零过程分为如下三个阶段:
●阶段1
轴运行至回零开关处
轴以接近速度(Approachvelocity)运行,碰到回零开关。
●阶段2
与编码器零脉冲同步
轴以减速度(Reducedvelocity)运行至增量编码器的零脉冲。
编码器的零脉冲相对于零点开关的位置可以在图1中设置。
控制器与第一个检测到的零脉冲同步。
当检测到零脉冲时,轴被认为同步并且轴位置被设定为“Homepositioncoordinate-Homepositionoffset”.
●阶段3
轴运行至坐标零点位置
当检测到编码器零脉冲时,轴以进入速度(Entryvelocity)运行“Homepositionoffset"距离到达坐标零点。
回零过程参看图2:
图2.回零过程
硬件限位开关用做零点开关(V4.1SP1后)
从SCOUTV4.1SP1之后,硬件限位开关可以用做零点开关。
轴回零运行碰到限位开关后再反向运行到第一个编码器零脉冲,轴不能在硬件限位开关的方向继续运行。
左右硬件限位开关均可用于零点开关,分别用于正向回零及反向回零,在回零期间不激活硬件限位功能。
回零参数设置如图3所示:
图3.回零硬件限位开关设置
(2)仅使用外部零脉冲的主动回零
回零命令起动轴运行至外部零脉冲。
当轴到达配置的外部零脉冲的上升沿,以进入速度(Entryvelocity)运行零点位置偏移量,此时的轴位置为在“Homepositioncoordinate”中定义的值.
对于轴的外部零脉冲回零方式,外部零脉冲使用连接的数字驱动器通过PROFIdrive传送,则外部零脉冲必须在驱动中做为数字输入量进行配置,并且必须基于其测量编码器,例如,在驱动上,在ADI4/IM174上或在C2xx的数字量输入上可用做外部零脉冲。
连接SINAMICS驱动
对于直接检测SINAMICS上的外部零脉冲信号,轴回零正的运动方向被同步到外部零脉冲正触发沿,负的运动方向被同步到负触发沿,即每次在外部零脉冲的左侧。
通过反向信号(设置SINAMICS参数P490),同步也可以在外部零脉冲的右侧。
在SINAMICS中,编码器零脉冲或外部零脉冲的回零在参数P495中进行设置。
为了可以检测通过PROFIdrive连接的驱动上的外部零点信号,轴上的外部零脉冲地址必须在轴的回零画面中进行设置。
因为在PROFIdrive的报文中没有提供驱动TO相关的状态位,V4。
1SP1版本后,包含外部零脉冲状态的附加输入位可在轴的配置参数“incHomingEncoder。
stateDriveExternalZeroMark.aviable”中进行配置。
对于连接的驱动器SINAMICS,相关的状态位在CU报文390或391的PZD2中。
a.通过在SINAMICS中指定编码器的外部零脉冲
图4。
正的运动方向外部零脉冲回零
图5.负的运动方向外部零脉冲回零
设置如下:
•在“Ext.zeromarksignalfromdriveavailable”中选择“No”。
•在轴的相关驱动中设置外部零脉冲输入,在此设置p495。
0=1DI9。
图6。
外部零脉冲的设置
DI/DO9在此用做外部零脉冲。
在SINAMICS中,用做外部零脉冲的信号必须连接到CU的(DI9-11或13-15)。
•电机的旋转方向确定外部零点脉冲:
SINAMICS正向运行时仅对应于零脉冲的上升沿。
SINAMICS负向运行时仅对应于零脉冲的下降沿。
数字量如需反向在CU中进行设置。
图7.数字量反向设置
b。
通过驱动器SINAMICSCU报文390或391的PZD2,编码器的外部零脉冲
•在此设置CU报文390,如果使用DI0做为编码器的外部零脉冲,则其地址为298.0,
•在回零设置画面中设置用于外部零脉冲的地址
图8.外部零脉冲回零设置
OnBoardC2x0
对于使用本机的输入点做为编码器的外部零脉冲时只允许上升沿。
注意:
-旋转变压器的编码器极对数大于1时可使用“Onlyhomingwithahomingoutputcamandanencoderzeromark”的回零方式。
(3)仅通过编码器零脉冲的主动回零(无零点开关)
当没有零点开关时,例如:
轴在行程范围内编码器只有一个零脉冲信号的情况。
回零命令使轴运行至编码器的零脉冲标记处。
检测到编码器零脉冲后,轴以进入速度运行零点偏移位置后将此位置设置为零点坐标.
图9.编码器零脉冲回零设置
回零时反向开关的作用(V4.1SP1版本之后)
仅在主动回零期间,反向开关可用于回零过程中的反向运行。
反向开关可被配置为两个数字量输入信号。
左边的反向开关及右边的反向开关可被单独配置及激活。
反向开关可在轴上定义,不能在编码器上定义。
下图为基于开始位置点的回零顺序:
图10。
回零反向开关作用
示例回零设置为:
反方向回零
1开始点位于零点开关的前方
2轴位于零点开关处
系统自动检测到此情况,轴沿回零接近的反方向运行离开零点开关,之后再按照正常的回零顺序完成回零运行。
3轴位于零点开关的后面,即左侧。
如果按照回零方向为反向的回零设置开始找零点时,当轴运行至左侧反向开关时则轴反向运行并且运行离开零点开关,之后再按照正常的回零顺序完成回零运行。
可将硬件限位开关定义为反向开关。
在这种情况下,在回零期间不激活硬件限位开关的限位功能。
反向开关可通过轴的配置参数“typeOfAxis。
homing。
reverseCamPositiveandtypeOfAxis。
homing.reverseCamNegative"进行设置。
图11。
回零反向开设置
仅在一个方向回零(V4。
1SP1之后)
在V4.0时,在配置参数“typeOfAxis。
homing.direction”中可设置回零方向但没有回零反向开关的设置。
图12.V4.0回零设置
在V4.1中在Homingprocedure中可以设置为“Onlypositivedirection"后,与V4.0相同:
图13.V4。
1回零设置
图14为一个旋转轴不允许反向的示例:
图14。
只能在一个方向回零示例
示例回零设置为:
正方向回零(右侧)
1)开始点位于零点开关前方
在模态长度中可找到回零开关。
2)轴位于零点开关处
系统自动检测到此情况,轴按照设置的接近方向运行在下一次碰到零点开关时完成回零,回零运行可能超过轴的模态长度.
2、被动回零(Passivehoming/on-the-flyhoming)
在被动回零时,执行被动回零命令后通过一个运动命令运行轴时,按照设定的回零模式完成回零。
在相关的运动指令中的位置控制模式下才可以使用被动回零。
不能使用零点位置偏移量.当轴检测到零点信号后发出回零完成状态信号。
回零速度,减速度及进入速度在被动回零中没用。
图15.被动回零设置
回零模式的设置:
(1)默认设置
回零模式基于编码器的类型由系统进行定义:
●增量编码器sin/cosencoders,TTLencoders,或resolvers,通过编码器零脉冲来实现回零。
●绝对值编码器Endat通过外部编码器零脉冲来实现回零。
(2)通过零点开关及编码器零脉冲的被动回零(Passivehomingwithhomingoutputcamandencoderzeromarkmode)
一旦检测到零点开关,检测下一个编码器的零脉冲,当检测到编码器的零脉冲时将当前位置设置为轴的零点位置坐标,发出已回零的状态信号.
(3)仅通过外部零脉冲的被动回零(Passivehomingwithexternalzeromarkonly)
一旦检测到外部零点开关,将当前位置设置为轴的零点位置坐标,发出已回零的状态信号。
(4)仅通过编码器零脉冲的被动回零(Passivehomingwithencoderzeromarkonly)
回零不使用零点开关,例如:
在轴的整个运行范围中,编码器仅有一个零点脉冲信号。
当检测到零点脉冲信号时,将当前位置设置为轴的零点位置坐标,发出已回零的状态信号.
注意:
对于在轴的整个运行范围中,轴不只产生一个零点脉冲信号的应用中,应使用"homingoutputcamandencoderzeropoint”的回零设置,以确保回零精确.
当然也可以使用"onlyexternalzeropoint"的回零设置,这种回零精度会低一些。
3.直接回零/设置零点位置(Directhoming/settingthehomeposition)
将轴的当前位置设置为指定的轴的零点位置坐标。
不能使用零点位置偏移,不需要执行轴的运动。
当执行回零命令后,发出已回零的状态信号。
轴回零的参数设置对于此种回零方式无用.轴的零点坐标在回零命令中设置.
4。
相对直接回零/零点位置的相对设置(Relativedirecthoming/relativesettingofhomeposition)(V3。
2及以上)
将轴的当前位置偏移零点位置坐标中的设定值,在此情况下,设置的零点位置坐标作为偏移量。
当轴运行中也可以使用此种回零方式。
轴回零的参数设置对于此种回零方式无用。
轴的零点坐标在回零命令中设置。
5.对于增量编码器需要一个新的回零过程的状态
对于增量编码器,在下述情况下,轴的已回零状态系统变量“positioningstate.homed”被复位为“No”:
●编码器系统错误/编码器失败
●执行新的回零命令
●掉电
●从SCOUT中下载程序时选择初始化所有的非掉电保持的工艺对象数据设置
●对于轴配置修改后的重新下载
●此轴工艺对象的重新起动
6.绝对值编码器回零(Absoluteencoderhoming/absoluteencoderadjustment)
使用“_homing()"命令,回零模式设置为“ENABLE_OFFSET_OF_ABSOLUTE_ENCODER”时,当前轴位置被设置等于:
编码器值+绝对编码器的偏移量.
图16。
轴的零位置为编码器零位置+绝对值编码器偏移量
绝对编码器的偏移量(V3。
2之后)可以设置做为一个附加值或绝对值.
绝对值编码器的偏移量被保存在NVRAM中并且直到下次绝对值编码器调整之前一直有效。
当调试控制器时,此功能必须被执行一次。
在回零配置画面中可设置偏移量:
图17.绝对值编码器偏移
总的偏移量可通过设置:
absHomingEncoder。
setOffsetOfAbsoluteEncoder及absshift配置数据来实现.
设置一个附加的偏移量
设置“absHomingEncoder。
setOffsetOfAbsoluteEncoder=RELATIVE”(默认设置):
●轴的实际值=编码器实际值+(以前设置的有效偏移量+absshift)
●新的偏移量=以前设置的有效偏移量+absshift
当调用“_homing()”命令时,“absHomingEncoder。
absshift”被叠加到当前绝对值编码器的偏移量中。
设置一个绝对偏移量(V3.2之后)
设置“absHomingEncoder。
setOffsetOfAbsoluteEncoder=ABSOLUTE”(V3。
2之后):
当调用“_homing()”命令时,“absHomingEncoder。
absshift”被设置为绝对值编码器的偏移量。
●轴的实际值=编码器实际值+absshift
示例:
当实际编码器位置值=100.000,绝对偏移:
absshift=5。
000
第一次执行“_homing()”命令:
→位置=105。
000
第二次执行“_homing()”命令:
→位置=105。
000
absshift=7。
000
第三次执行“_homing()”命令:
→位置=107。
000
设置轴至预定义的位置(V4.1SP1之后)
当在“_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.1SP1之后),将当前位置设置为“homePosition”中的值.绝对值编码器的偏移量会被系统自动计算,并显示在系统变量
absoluteEncoder[n]。
totalOffsetValue中,此值在系统中做为掉电保存变量进行保存.
配置数据“absHomingEncoder。
absshift”中的值不被改变。
(3).使能软件限位开关。
绝对值编码器需要重新调整的状态
●一旦新项目下载至控制器,存贮的偏移量不再有效时。
如果在新项目下载前已经包含了一个项目,并且如果工艺对象名字没有改变,存贮的偏移量是掉电保持型的(V4。
1SP1之后),在此情况下不需重新调整。
●如果项目没有被保存到ROM中,电源循环掉电,上电,造成偏移量被删除。
●存贮器被复位后。
7。
零点标记监控
如果在指定的运动路径中零点标记没有到达,触发警告。
在回零采用“homingoutputcamandencoderzeromark”方式时,仅当轴离开“homingoutputcam”后路径被监控。
如果出现反向开关,当方向反向后监控功能再次有效。
当使能监控功能时,主动及被动回零过程均被监控。
8.零点开关监控Homingoutputmonitoring
如果在指定的运动路径中零点开关没有到达,触发警告。
如果出现反向开关,当方向反向后监控功能再次有效。
当使能监控功能时,主动及被动回零过程均被监控。
9.回零期间显示实际值的变化(V4。
0之后)
实际值变化在系统变量homingCommand.positionDifference中显示.
10.运行未回零的轴
通过“referencingNecessary”配置数据,可以定义是否绝对位置可用于未回过零的轴。
设置:
●referencingNecessary=NO
–相对及绝对运动均有效。
–当设置swlimit。
state=YES时,监控软件限位开关的状态。
●referencingNecessary=YES
对于未回零的轴:
–仅相对运动有效.
–即使设置swlimit.state=YES,也不监控软件限位开关的状态。
关键词
SIMOTIONAxis,回零功能