坐标变换

这个坐标变换模块是 SM_Trafo_POUs 坐标变换的子文件夹,用于从机械坐标到工作坐标的变换。然而,工作坐标系统与机械坐标系统有很大的不同。因此,如果工作坐标系统在CNC程序中不能适用,那么在进行插补运算之前应该首相将坐标转换为机械坐标。

假设一个通常坐标 (x,y,z)。台架上的道具点必须通过空间内的坐标变换移动到工件表面:

两个不同坐标系统之间的坐标变换可以通过多种方式表示。一个坐标变换过程可以包含一个特殊的坐标移动以及相应的旋转。因此,坐标变换可以通过一个三维矢量坐标给出,旋转可以通过三个角度值 (例如 RPY,参阅下文) 或者通过三个坐标系统 x’, y’, z’ 的单位矢量给出。

如果用三个旋转角表示坐标转换,可以通过定义 Roll/Pitch/Yaw (RPY) 格式进行表示。如果通过这种方式进行表示,新的坐标系统相对于旧的坐标系统将会产生一个角度 RPY=(α, β, γ)上的偏移,等同于以下两种相同的格式:

1. 通过一个坐标系统启动 (x,y,z),这将会按照角度 γ值围绕 Z 轴进行数学正向旋转并创建一个新的坐标系统 (x1, y1, z1=z)。现在,为轴 y1 填写新的坐标系统并按照角度 β 对新的坐标系统进行旋转,因此创建 (x2, y2=y1, z2) 。最后按照角度 α 对新的坐标系统围绕 x2进行旋转得到最终坐标 (x’=x2, y’, z’)。

2. 开始旋转前的坐标为 (x,y,z),首先按照角度 α 围绕 x 轴进行旋转,得到坐标系统 (xa=x, ya, za) 然后按照角度 β 围绕 y 轴进行旋转得到 (xb, yb, zb) 最后按照角度 γ 围绕z 轴进行旋转,同样可以得到最后的坐标系统 (x’, y’, z’)。

以下模块可以用于坐标变换: