MC_SetCartesianTransform

功能块 MC_SetCartesianTransform
设置 MCS 和 PCS 之间的笛卡尔转换。
VAR_IN_OUT
B GroupIn AXES_GROUP_REF 轴组的参考,参考以零为起点,最多可有 32 个轴组。
VAR_INPUT
B Execute BOOL 在上升边缘设置笛卡尔转换。
B TransX LREAL 平移向量的 X 轴分量。
B TransY LREAL 平移向量的 Y 轴分量。
B TransZ LREAL 平移向量的 Z 轴分量。
B RotAngle1 LREAL Z 轴旋转角度分量(单位:度)。
B RotAngle2 LREAL Y 轴旋转角度分量(单位:度)。
B RotAngle3 LREAL X 轴旋转角度分量(单位:度)。
E ExecutionMode MC_ExecutionMode 说明命令何时执行及新转换生效的时间。
VAR_OUTPUT
B Done BOOL 转换设定成功。
E Busy BOOL 功能块未结束。
B Error BOOL 功能块中出现错误的讯号。
E ErrorID MC_Error 错误识别。
  • 针对转换向量,KINGSTAR 先旋转后平移。
  • 可以透过执行此函式来取消选择 PCS:{TransX, TransY, TransZ, RotAngle1, RotAngle2, RotAngle3} = {0, 0, 0, 0, 0, 0} 作为平移与旋转输入值。
  • 系统可能支援中性转换,中性转换启动后,MCS 系统将再次引用轴。
  • 在同一轴组上可以同时套用多个笛卡尔转换。

 

  MC_SetCartesianTransform  
AXES_GROUP_REF   GroupIn   Group   AXES_GROUP_REF
BOOL   Execute   Done   BOOL
LREAL   TransX   Busy   BOOL
LREAL   TransY   Error   BOOL
LREAL   TransZ   ErrorID   MC_Error
LREAL   RotAngle1        
LREAL   RotAngle2        
LREAL   RotAngle3        
MC_ExecutionMode   ExecutionMode        
             

 

平移的定义:

旋转定义之范例:

旋转是透过绕著每个以 Z 方向开始的座标方向进行后续旋转来定义的。

 

旋转的定义:

 

范例:平面内的旋转(二维)

SetCartesianTransform 使用 { 50, 50, 0, 0, 0, 30 }: