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

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 运动学 | Z 方向位置偏移和方向偏移的刀具 |
SCARA 3 运动学 | 所有工具 |
极地运动学 | Z 方向位置偏移和方向偏移的刀具 |
三轴关节机器人 | 方向有偏移的刀具 |
6轴关节机器人 | 所有工具 |
4轴码垛机 | 所有工具 |
双脚架 | 所有工具 |
5轴龙门 | 所有工具 |
龙门系统 | 所有工具 |
H型龙门系统 | 所有工具 |
T型龙门系统 | 所有工具 |
旋转或线性三脚架 | 所有工具 |
提示
如果运动系统没有 3 个方向自由度,则可能不是每个刀具偏置都兼容。
对于自定义运动学
为了将自定义运动与刀具偏移一起使用,您需要实现 ISMKinematicsWithOrientationImage
接口。要为自定义位置运动添加工具偏移,首先必须实现接口 ISMPositionKinematics2
。
接口:ISMKinematicsWithOrientationImage
运动学接口提供方法 GetFlangeOrientationImage
与变量 mR_Flange
数据类型 SMC_Matrix3
,其中包含法兰的指定方向。因此,该方法返回可能的结果方向 oriInfo
作为数据类型 OrientationSpace
.
界面行为
特别是,当法兰在指令方向上的方向已知时,
dof = zero
被退回并且mOriZero
设置为已知方向。如果方向
R
法兰的形式仅部分已知R*vU = vRot
(在哪里vU
和vRot
是已知的单位向量),那么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
,其中包含法兰的指定方向。方法返回
csTool
和oriinfo
与数据类型OrientationSpace
在定向运动学的基础坐标系中。此外,该方法返回
bActive
自由度是否orinfo
活跃(TRUE
) 或被动 (FALSE
)。
活动自由度示例: Kin_CAxis
.围绕 z 轴的旋转由定向运动学轴控制。
被动自由度示例: Kin_Wrist2
.剩下的自由度是 X/Y 绕 Z 轴的旋转,Z 轴指向用户编程的方向。
重要
如果在换刀过程中最后指令的运动和新的运动都是 CP 运动(直线运动或旋转运动),则后续运动的缓冲模式从 Blending
或者 Aborting
到 Buffered
.
重要
如果在之后配置新的刀具偏置 MC_GroupInterrupt
和之前 MC_GroupContinue
,则旧的刀具偏置用于中断的运动。新的刀具偏置仅用于之后命令的运动。
重要
当运动学改变时(MC_SetKinTransform
),刀具偏置被复位(不移位,不旋转)。