Skip to main content

配置工具偏移

您可以通过配置刀具偏置来设置运动的法兰坐标系(XYZ)和运动的 TCP 坐标系(X'Y'Z')之间的偏移。该刀具偏置作用于所有后续运动。

_sm_tool_and_flange_cooordinate_system.png

TCP:工具中心点

刀具偏置由移位指定 v=(x,y,z) 和一个旋转 r=(A,B,C) ZYZ 欧拉角。位移和旋转相对于运动学的法兰坐标系表示。

配置刀具偏移时,它可能与当前运动系统不兼容。因此,刀具偏移可能导致运动系统无法实现方向。在这种情况下,会发出错误并忽略刀具偏移。例如,您可以为运动系统配置 Z 方向的刀具偏移 Kin_Scara2_Z。另一方面,X 方向或 Y 方向的部件偏移会导致错误。当运动学有这些限制时,它们用 运动学

功能块:SMC_GroupSetTool

功能块配置输入指定的刀具偏置 ToolOffset (类型 MC_COORD_REF) 用于轴组。但是,只要轴组处于状态 GroupDisabled 或者 GroupErrorStop, 可以配置刀具偏置。

如果工具与当前运动学不兼容,则 POU 发出错误 SMC_AXIS_GROUP_TOOL_OFFSET_INCOMPATIBLE_WITH_KINEMATICS.如果接口也出现此错误 ISMKinematicsWithOrientationImage 尚未针对运动学描述实施。

功能块:SMC_GroupReadTool

该功能块读取刀具偏置:输出 ToolOffset (类型 MC_COORD_REF)。在这个过程中,输入 ReadMode 确定是否要读取当前运动的刀具、最后指令的运动或轴组中当前设置的刀具。

兼容运动学

并非所有运动学都支持每个刀具偏移。以下列表显示了哪些工具适用于哪些运动学。

运动学

兼容工具

SCARA 2 运动学 Kin_Scara2_Z

Z 方向位置偏移和方向偏移的刀具

SCARA 3 运动学 Kin_Scara3_Z

所有工具

极地运动学 Kin_Polar, Kin_Polar_Z

Z 方向位置偏移和方向偏移的刀具

三轴关节机器人 Kin_Pos_RRR

方向有偏移的刀具

6轴关节机器人 Kin_ArticulatedRobot_6DOF

所有工具

4轴码垛机 Kin_4AxisPalletizer

所有工具

双脚架 Kin_Bipod_Rotary

所有工具

5轴龙门 Kin_5Axes

所有工具

龙门系统

所有工具

H型龙门系统

所有工具

T型龙门系统

所有工具

旋转或线性三脚架

所有工具

提示

如果运动系统没有 3 个方向自由度,则可能不是每个刀具偏置都兼容。

对于自定义运动学

为了将自定义运动与刀具偏移一起使用,您需要实现 ISMKinematicsWithOrientationImage 接口。要为自定义位置运动添加工具偏移,首先必须实现接口 ISMPositionKinematics2

接口:ISMKinematicsWithOrientationImage

运动学接口提供方法 GetFlangeOrientationImage 与变量 mR_Flange 数据类型 SMC_Matrix3,其中包含法兰的指定方向。因此,该方法返回可能的结果方向 oriInfo 作为数据类型 OrientationSpace.

界面行为

  • 特别是,当法兰在指令方向上的方向已知时, dof = zero 被退回并且 mOriZero 设置为已知方向。

  • 如果方向 R 法兰的形式仅部分已知 R*vU = vRot (在哪里 vUvRot 是已知的单位向量),那么 dof = one 被退回。mOriZero 设置为可达空间中的方向。

  • 否则, dof = three 被退回。

如果可以在考虑计算的方向的同时唯一地计算法兰位置,则指定的刀具偏移与运动学兼容。当计算出的方向可以通过运动学实现时,总是会出现这种情况。仅当无法到达所有方向时,刀具偏移才可能不兼容。此外,如果方法 GetFlangeOrientationImage 返回 dof = zero, 那么每个刀具偏置都是兼容的。如果方法返回 dof = one,则只有刀具位置偏移 v_off 平行于单位向量 vU 是兼容的。在这种情况下, R*v_off = R*vU*x = vRot*x 不依赖于方向矩阵的未知部分 R.这还包括刀具偏移 v_off = 0 (其中 x = 0)。如果 dof = three 返回,则只有在 x/y/z 中没有偏移的位置偏移是兼容的。

实施说明

  • 实现接口 ISMOrientationKinematicsWithOriImage2 用于定向运动学。然后可以使用刀具补偿将定向运动学与位置运动学耦合。接口有方法 GetOrientationImage2 与变量 VAR_IN_OUT CONSTANT mR_Flange 数据类型 SMC_Matrix3,其中包含法兰的指定方向。

  • 方法返回 csTooloriinfo 与数据类型 OrientationSpace 在定向运动学的基础坐标系中。

  • 此外,该方法返回 bActive 自由度是否 orinfo 活跃(TRUE) 或被动 (FALSE)。

活动自由度示例: Kin_CAxis.围绕 z 轴的旋转由定向运动学轴控制。

被动自由度示例: Kin_Wrist2.剩下的自由度是 X/Y 绕 Z 轴的旋转,Z 轴指向用户编程的方向。

重要

如果在换刀过程中最后指令的运动和新的运动都是 CP 运动(直线运动或旋转运动),则后续运动的缓冲模式从 Blending 或者 AbortingBuffered.

重要

如果在之后配置新的刀具偏置 MC_GroupInterrupt 和之前 MC_GroupContinue,则旧的刀具偏置用于中断的运动。新的刀具偏置仅用于之后命令的运动。

重要

当运动学改变时(MC_SetKinTransform),刀具偏置被复位(不移位,不旋转)。