移动、旋转和缩放坐标系
G代码: G53
, G54
, G55
, G56
功能:
G代码命令 G54
, G55
, 和 G56
移动、旋转和缩放解释器功能块内部使用的解码器坐标系 SMC_NCInterpreter
. 在执行过程中,将计算所有路径元素的坐标变换 SMC_NCInterpreter
功能块实例。
G代码指令 G53
将解码器坐标系重置为原始位置、方向和缩放(对应于机器坐标系)。
提示
您移动和旋转解码器坐标系,以便重复使用相同路径元素的 G 代码,这些元素仅在位置、方向或缩放上有所不同。
提示
旋转和缩放解码器坐标系仅在在线解释器中有效(而不是在 CNC 编辑器中)。
MCS 和 DCS 坐标系
机器坐标系 (MCS) 由确定其位置和方向的应用运动学定义。
解码器坐标系(DCS)由解释器管理(SMC_NCInterpreter
功能块实例)。运动命令的所有坐标信息都在此坐标系中进行解释。这会影响运动的目标位置(X/Y/Z
)以及圆弧中点(I/J/K
)或设置有 G15/G16/G17/G18/G19
。
DCS 使用以下命令进行编程 G53/G54/G55/G56
.您可以相对于机器坐标系旋转、移动和缩放 DCS,因此可以多次调整 G 代码文件中的位置、方向和缩放比例。您可以对相对于 DCS 的路径元素进行编程。例如,对于处于不同位置和方向的相同路径元素,这可能是一个优势。
下图显示了一个移位(左)和一个旋转移位(右)。

解释器从其 eOriConv
输入是否 A/B/C
被视为附加轴或方向值。路径元素的坐标会相应地进行转换。因此,解释器功能块管理活动坐标系。最初,如果 DCS 既未移位,也未旋转或缩放,则 DCS 对应于 MCS。在生成的 GeoInfo 对象中,弧的起始位置和目标位置以及平面始终相对于 MCS 指定。
| 没有指定方向约定。 G 代码字 A/B/C 的内容被解释为移位值。 |
| 方向约定是标准的 Y 约定(Z、Y'、Z'')。 G 代码字 A/B/C 的内容被解释为角度值。 |
| 方向约定是偏航-俯仰-滚转约定(Z、Y'、X'')。 G 代码字 A/B/C 的内容被解释为角度值。 |
| 方向约定是 XYZ 约定(X、Y'、Z'')。 G 代码字 A/B/C 的内容被解释为角度值。 |
指令 G53、G54、G55、G56
G代码 | 描述 |
---|---|
| 重置解码器坐标系 DCS 重置为与 MCS 相同的位置和方向。 |
| 绝对 DCS 的移位、旋转和缩放 这些值是指 MCS。 如果方向公约是 不是 指定的 ( 如果指定了方向约定,则该命令还会导致沿 X/Y/Z 轴和附加线性轴 P/Q/U/V/W 的偏移。此外,坐标轴被旋转。然后方向约定提供旋转顺序,G 代码字 A/B/C 给出以度为单位的旋转角度。 注意:解码器可以在 -180° 到 +180° 的范围内执行方向旋转。如果您指定了超出此范围的角度,则解码器会转换该值,使其在可执行范围内。只有这样,解码器才会旋转坐标轴。例如,对于 350° 的角度,执行 -10° 的旋转。 |
| 相对的 将 DCS 移动、旋转和缩放到其当前位置和方向 因此,这些值是相对于当前 DCS 原点的,并在 DCS 当前坐标轴的方向上进行解释。相对于机器坐标系添加了额外的移位/旋转。 如果方向约定是 不是 指定,则该命令仅导致沿 X/Y/Z/A/B/C 轴和所有附加线性轴 P/Q/U/V/W 的相对位移。因此,也可以沿 A/B/C 轴编程移位。 如果指定了方向约定,则该命令还会导致沿 X/Y/Z 轴和附加线性轴 P/Q/U/V/W 的相对位移。但最重要的是,坐标轴会进一步旋转。然后定向约定提供旋转顺序,G 代码字 A/B/C 给出旋转角度。 |
| 重置解码器坐标系的参考点 DCS 的当前方向、位置和比例设置为参考。 提示:如果参考点为 X0 Y0 Z0 A0 B0 C0,则 DCS 设置为与当前位置和方向相同。 |
句法
G53 G54 X Y Z A B C I J K P Q U V W G55 X Y Z A B C I J K P Q U V W G56 X Y Z A B C I J K P Q U V W
G码字 | 描述 |
---|---|
| 解码器坐标系围绕其移动的值 |
| 如果输入是 如果 注意:在对 DCS 旋转进行编程时,应始终在中指定旋转角度 |
| 方向缩放 X 例子: |
| 方向缩放 是 例子: |
| 方向缩放 Z 例子: |
| 解码器坐标系附加轴围绕其移动的值 |
转移 DCS
设置
eOriConv
输入SMC_NCInterpreter
功能块实例SMC_ORI_CONVENTION.ADDAXES
。DCS 可以移动。旋转是不可能的。
编程 CNC 路径。首先,指定 DCS 的位置偏移。
例子:
G54 X10 Y10 Z10 A30 B30 C30
DCS 的 X/Y/Z/A/B/C 轴移动。
绝对偏移
N10 G0 X100 Y100 F100 N20 G54 X50 Y50 (Offset auf 50/50) N30 G1 X0 Y0 (Fahrt nach 50/50) N40 G54 X100 Y100 (Offset auf 100/100) N50 G1 X0 Y0 (Fahrt nach 100/100) N60 G53 (Offset auf 0) N70 G1 X0 Y0 (Fahrt nach 0/0)
当前位置作为偏移量
N0 G0 X100 Y100 F100 N10 G56 X0 Y0 (Aktuelle Position 100/100 wird 0/0) N20 G1 X10 (Fahrt nach 110/100) N30 G56 X20 Y0 (Aktuelle Position 110/100 wird 20/0) N40 G1 X0 (Fahrt nach 90/100)
按值调整偏移量
N0 G54 X10 Y20 Z30 U7 (Offset: X=10, Y=20, Z=30, U=7) N10 G55 X-10 U7 (Offset: X=0, Y=20, Z=30, U=14)
两个位置的相同路径元素
N05 G17 N10 G54 X10 Y10 Z10 N20 G01 X6.574 Y-10 Z-1.961 I8.287 J-0.000 N30 G02 X-0.480 Y-10 Z0.008 I-3.527 J4.988E-05 N040 G02 X3.418 Y-9.806 Z4.482 I1.949 J0.097 N50 G55 X10 Y10 Z10 N60 G01 X6.574 Y-10 Z-1.961 I8.287 J-0.000 N70 G02 X-0.480 Y-10 Z0.008 I-3.527 J4.988E-05 N80 G02 X3.418 Y-9.806 Z4.482 I1.949 J0.097

移动和旋转 DCS
设置
eOriConv
输入SMC_NCInterpreter
功能块实例到所需的方向约定(例如,SMC_ORI_CONVENTION.ZYZ
)。DCS 的 X/Y/Z 轴的定向约定和旋转顺序已编程。为了
SMC_ORI_CONVENTION.ZYZ
,旋转顺序是 ZY'Z'' 并且对应于标准的 Y 约定。注:只要输入
eOriConv
包含方向约定而不是值SMC_ORI_CONVENTION.ADDAXES
, 单词的值A/B/C
解释为 G 代码命令的旋转角度值G54/G55/G56
.编程 CNC 路径。首先,指定 DCS 的位置偏移和旋转。
例子:
G54 X10 Y10 Z10 A30 B30 C30
字的价值
A/B/C
提供旋转方向和角度(以度为单位)。坐标系相应地旋转。字的价值X/Y/Z
定义转变。注意:在对 DCS 旋转进行编程时,应始终在中指定旋转角度
A/B/C
所有三个轴。缺少旋转角度会导致解码时出错(SMC_DEC_DCS_NOT_ALL_OF_ABC_GIVEN
)。如果
eOriConv
输入SMC_NCInterpreter
功能块实例包含值SMC_ORI_CONVENTION.ADDAXES
则无法旋转 DCS。G54/G55/G56
被解释为附加样条轴值。可以进行移位。
方向约定在示例中定义为标准 Y 约定(eOriConv = SMC_ORI_CONVENTION.ZYZ
)。一般来说对于 G54
: X/Y/Z/A/B/C/P/Q/V/W
在 MCS 中提供绝对值。 G55
: X/Y/Z/A/B/C/P/Q/V/W
在 DCS 中提供一个相对值。 G56
: X/Y/Z/A/B/C/P/Q/V/W
在 DCS 中提供了一个绝对的新值。
G54 绝对定向
N01 G54 X10 A30 B0 C0
G54
导致移位和旋转。位置和方向绝对提供给 MCS。
使用 G55 进行相对定向
N01 G54 X10 A30 B0 C0 (Bezieht sich auf MCS) N02 G55 Y10 A0 B30 C0 (Bezieht sich auf das in 01 definierte DCS)
G54
导致在 X 方向上移动 10 个单位并绕 Z 轴旋转 30° 绝对到 MCS。在块 02 中,DCS 在旋转的 Y 轴方向上再移动 10 个单位,然后围绕旋转的 Y 轴再旋转 30°。因此,块 02 中的转换是相对于块 01 中的转换。
用 G56 参考当前方向
N01 G01 X10 A10 B90 C10 (Orientierung ist A=10°, B=90°, C=10°) N02 G56 A0 B0 C0 (DCS wird auf X=10, A=10°, B=90°, C=10° gesetzt)
G56
导致 DCS 的当前方向(在示例中的块 01 中编程)被设置为参考。
示例:弧
N0 G17 N0 G54 A0 B90 C0
选定的圆形平面相对于 DCS 进行解释。在示例中,X/Y 平面选择为 G17
然后 DCS 绕 Y 轴旋转 90°。然后在 DCS 中选择的平面和以前一样是 X/Y 平面。这对应于 MCS 中的 X/Z 平面。
和 G17
,选择 X/Y 平面。然后 DCS 旋转 90°。这导致 X/Y 平面在 DCS 中像以前一样被激活。这对应于 MCS 中的 X/Y 平面。
提示
在 2.5D 模式下(G15
),仅允许绕 Z 轴旋转。绕其他轴旋转会导致解码器发出错误 (SMC_DEC_DCS_2D_NOT_IN_XY_PLANE
)因此,MCS 的 X/Y 平面始终保持设置为 2.5D 模式。
缩放坐标系
重要
如果在不等比例缩放后编程旋转,则可能会发生剪裁。在这种情况下,错误 SMC_DEC_ROTATION_AFFECTS_SCALING
未发行。
重要
必须指定所有三个比例因子或根本不指定。
绝对缩放
句法: G54 I<i> J<j> K<k>
一个坐标系可以在三个空间方向上拉伸或压缩 X/Y/Z
彼此独立。您可以为每个方向指定一个因子。为 I 中的 X、J 中的 Y 和 K 中的 Z 指定比例因子。比例因子 > 1 扩展。缩放因子 < 1 进行压缩。
扩展 10 倍:
N01 G01 X10 N02 G54 A90 B0 C0 I10 J1 K1 N03 G01 X10 Y20 N04 G01 X5 Y10
所有目标点在旋转的 X 轴方向上扩展 10 倍。
以下代码生成相同的路径:
N01 G01 X10 N02 G01 X-20 Y100 N03 G01 X-10 Y50.
如果 I、J 和 K 均未指定,则先前设置的值保持不变:
N01 G54 I10 J1 K1 N02 G54 X1 N03 G01 X10
使用以下代码实现相同的路径:
N01 G01 X101
相对标度
句法: G55 I<i> J<j> K<k>
比例因子 > 1 扩展。缩放因子 < 1 进行压缩。缩放因子相乘。
扩展 100 倍:
N01 G54 I10 J1 K1 N02 G55 I10 J1 K1 N03 G01 X10 Y20 N04 G01 X5 Y10
以下代码导致相同的缩放:
N01 G55 I100 J1 K1
圆形缩放
只有当元素在缩放后仍然是圆弧(不是椭圆)时,圆弧的缩放才有效。
当所有三个比例因子都相同时
当圆形平面是 DCS 的主要平面之一且对应的两个比例因子为相同值时
镜像坐标系
具有负缩放因子的绝对缩放 I
, J
, 或者 K
导致当前坐标系的镜像。
负比例因子
G54 A30 B0 C0 I-1 J1 K1