此功能块可让您通过朝向阻止运动以确定零点物理对象运动将驱动器归位。此类型的回归由控制器控制(有关驱动器控制回归,请参阅 MC_Home)。这种类型的回归通常用于归位 Delta 机器人的手臂。
功能块 FB_HomingTorque 修改用于回归的驱动器参数 CTRL_I_max 和 MON_p_dif_load 的值,并在回归后将这些值恢复为原始值。如果在回归过程中控制器与驱动器之间的通讯中断(例如,断电、物理连接中断),则不会恢复这些参数的原始值。
| 警告 | |
|---|---|
根据转矩限制(输入 MaxTorque)、速度(输入 Velocity)和维持转矩的时间(输入 TorqueTime),用于回归的物理对象(块)可能无法承受这些力。如果转矩限制过大,也可能会导致电机、编码器和其他部件无法工作。
禁用对最小运动距离的监控可能导致意外的设备运行。
| 警告 | |
|---|---|
回归运动已启动(输入 Acceleration 和 Jerk),按照在输入 Direction 中设置的方向达到指定速度(输入 Velocity)。
用于回归的转矩限制为在输入 MaxTorque 中设置的值。
输入 DetectionVelocityThreshold 的值指定达到输入 MaxTorque 的转矩限制时的速度限制值。
如果转矩大于输入 MaxTorque 的值的 70% 且速度小于输入 DetectionVelocityThreshold 的值,则满足阻止运动的机械对象的检测条件(块条件)。
如果在输入 TorqueTime 处指定的时间内满足了块条件,则驱动器器参数 CTRL_I_max 和 MON_p_dif_load 将恢复为其原始值。然后,在输入 OffsetDistance 中指定的反向偏移运动将启动。
完成偏移运动后,会设置输入 HomePosition。
下面的示例演示了值 DetectionVelocityThreshold、MaxTorque 和 TorqueTime 的相互依赖关系:
输入 MaxTravelDistance 用于指定回归运动的最大距离。如果在此距离内未满足块条件,则功能块的执行以检测到错误而中止。
输入 MinTravelDistance 用于指定回归运动的最小距离。如果轴沿指定方向按指定的距离值执行运动,并且参考位置与实际位置之差小于输入 MinTravelDistance 的值的 10%,则认为已经覆盖了最小距离。如果未达到最小距离,则会触发驱动器的 Halt(驱动器控制字的位 13 复位为 0)。完成 Halt 后,会执行运动以返回首次执行功能块的位置。如果在输入 MaxTorque 中设置的转矩值不足以进行回归运动,则可能无法达到最小距离。
开始执行功能块时,轴属性 IsHomed 设置为 FALSE。一旦输入 HomePosition 设置为轴位置,轴属性 IsHomed 即设置为 TRUE。
必须先映射 Sercos IDN P-0-3030.0.36(actual torque 值),然后才能使用功能块。
在执行了功能块之后,既不能启动功能块作为缓冲功能块,也不能执行缓冲功能块。
只有在轴处于 PLCopen 运行状态 StandStill 时,才能启动该功能块。功能块执行后允许的 PLCopen 运行状态为 Stopping、ErrorStop 或 StandStill.
该功能块仅可用于 LXM32S 驱动器。
|
输入 |
数据类型 |
描述 |
|---|---|---|
|
Axis |
Axis_Ref |
对将执行功能块的轴的引用。 如果为反馈轴启动了功能块,则功能块的执行以检测到错误 (NotSupportedWithFeedbackAxis) 而中止。 |
|
Execute |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。 输入 Execute 的上升沿可启动功能块。功能块持续执行,且输出 Busy 设置为 TRUE。 当功能块处于执行状态中时,输入 Execute 处的上升沿将被忽略。 |
|
HomePosition |
LREAL |
值范围:LREAL 值 缺省值:0 以用户自定义单位表示的位置,在满足块条件(输入 MaxTorque 和 DetectionVelocityThreshold)且转矩时间(输入 TorqueTime)已过时从功能块进行偏移运动之后设置。 |
|
OffsetDistance |
LREAL |
值范围:正 LREAL 值 缺省值:0 以用户自定义单位表示的反方向运动,在满足块条件(输入 MaxTorque 和 DetectionVelocityThreshold)且转矩时间(输入 TorqueTime)已过之后执行。 |
|
MaxTravelDistance |
LREAL |
值范围:正或负 LREAL 值 缺省值:0 以用户自定义单位表示的为检测功能块条件满足情况而移动的最大距离。 行为:
|
|
MinTravelDistance |
LREAL |
值范围:正或负 LREAL 值 缺省值:0 开始检测是否满足块条件之前要涵盖的最小距离,以用户自定义单位表示。 如果该值大于输入 MaxTravelDistance 的值,则功能块的执行以检测到错误 (MinTravelDistanceIsNotLowerThanMaxTravelDistance) 而中止。 如果未达到指定的最小距离,则功能块的执行以检测到错误 (MinTravelDistanceNotReached) 而中止。触发驱动器的 Halt(驱动器控制字的位 13 复位为 0)。 |
|
Velocity |
LREAL |
值范围:正 LREAL 值 缺省值:0 回归运动的速度值,以用户自定义单位表示。 如果值为负或零,则功能块的执行以检测到错误 (NonPositiveHomingVelocity) 而中止。 |
|
Acceleration |
LREAL |
值范围:正 LREAL 值 缺省值:0 回归运动的加速度值,以用户自定义单位表示。 如果值为零或负,则功能块的执行以检测到错误 (AccelerationOutOfRange) 而中止。 |
|
Deceleration |
LREAL |
值范围:正 LREAL 值 缺省值:0 回归运动的减速度值,以用户自定义单位表示。 如果值为零,则功能块的执行以检测到错误 (DecelerationOutOfRange) 而中止。 |
|
Jerk |
LREAL |
值范围:正 LREAL 值 缺省值:0
|
|
Direction |
缺省值:PositiveDirection 回归运动的方向。 可能的值:
如果值无效,则功能块执行以检测到错误 (DirectionInvalid) 而中止。 有关值描述,请参阅 MC_Direction。 |
|
|
DetectionVelocityThreshold |
LREAL |
值范围:正 LREAL 值 缺省值:0 以用户自定义单位表示的速度限制值,用于检测块条件的实现,即实际转矩大于输入 MaxTorque 的值的 70%,且速度小于此输入的值。 如果值不是正 LREAL 值,则功能块的执行以检测到错误 (NonPositiveDetectionVelocityThreshold) 而中止。 |
|
MaxTorque |
LREAL |
值范围:LREAL 值 此值指定 Nm 中的转矩限制,用于检测块条件的实现,即转矩大于此输入处的值的 70%,且速度小于输入 DetectionVelocityThreshold 处的值。如果值为负,则功能块的执行以检测到错误 (MaxTorqueInvalid) 而中止。如果值为 0,则无转矩限制。 |
|
TorqueTime |
UINT |
值范围:UINT 值 缺省值:0 必须满足块条件的最短持续时间(毫秒),即转矩保持大于输入 MaxTorque 处的值的 70%,且速度在输入 DetectionVelocityThreshold 处指定的持续时间内保持小于此输入处的值。 |
|
输出 |
数据类型 |
描述 |
|---|---|---|
|
Done |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
Active |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
CommandAborted |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
Error |
BOOL |
值范围:FALSE,TRUE。 缺省值: FALSE。
|
|
ErrorID |
此枚举提供诊断信息。 |