西门子数控系统 车床指令集

西门子系统

车床指令集

目录

G 指令代码

辅助指令 M

刀具指令

参数指令 

跳转指令集

子程序指令 

循环指令集 

G 指令代码

G0 快速移动 示例 模态

G1 直线插补 示例 模态

G2 顺时针圆弧插补 示例 模态

G3 逆时针圆弧插补 示例 模态

G5 中间点圆弧插补 示例 模态

G33 恒螺纹的螺纹切削 示例 模态

G4 暂停时间 示例 程序段

G74 回参考点 示例 程序段

G75 回固定点 示例 程序段

G158 可编程的偏置 示例 程序段

G25 主轴转速下限 示例 程序段

G26 主轴转速上限 示例 程序段

G17 在加工中心孔时要求 平面选择 模态有效

G18 Z/X平面 平面选择 模态有效

G40 刀尖半径补偿方式的取消 示例 模态

G41 调用刀尖半径补偿刀具在轮廓左面移动 示例 模态

G42 调用刀尖半径补偿刀具在轮廓右面移动 示例 模态

G500 取消零点偏置 示例 模态

G54 第一可设零点偏置 示例 模态

G55~G57 第二、 三、 四可设零点偏置 示例 模态

G53 按程序段方式取消可设定零点偏置 示例 程序段

G9 准确定位, 单程序段有效 示例 程序段

G70 英制尺寸 示例 模态有效

G71 公制尺寸 示例 模态有效

G90 绝对尺寸 示例 模态有效

G91 增量尺寸 示例 模态有效

G94 进给率 F, 单位毫米/分 示例 模态有效

G95 主轴进给率 F,单位:毫米/转 示例 模态有效

G96 恒定切削速度, F 单位:毫米/转, S 单位米/分钟 示例 模态有效

G97 删除恒定切削速度 示例 模态有效

G22 半径尺寸 示例 模态有效

G23 直径尺寸 示例 模态有效

辅助指令 M 示例

M0 程序暂停, 可以按” 启动” 加工继续执行

M1 程序有条件停止

M2 程序结束, 在程序的最后一段被写入

M30,M70 无用

M3 主轴顺时针转

M4 主轴逆时针转

M5 主轴停

M6 更换刀具: 机床数据有效时用 M6直接更换刀具,其它情况下直接用 T 指令进行

M40 自动变换齿轮集

M41~M45 齿轮级 1~5

M8 冷却液开

M9 冷却液关

M17 子程序结束

M41 低速

M42 高速

刀具指令

D 指令 刀具补偿号 0~9 不带符号 示例

T 指令 刀具号 1…..32000 整数 示例

参数指令

地址 含义 赋值 说明

I指令 插补参数

±0.001~999.999 X轴尺寸

螺纹: 0.001~200000.000

X 轴尺寸, 在 G2/G3中为圆心坐标; 在 G33 中表示螺距大小

K 指令 插补参数 如 I 指令

Z 轴尺寸, 在 G2/G3 中为圆心坐标; 在 G33 中表示螺距大小

S 指令 主轴转速 0.001 ~ 99 999.999 主轴单位为转/分, 在 G4 中作为暂停时间 参见示例

X 指令 坐标轴 ±0.001 ~ 99999.999 位移信息

Z 指令 坐标轴 ±0.001 ~ 99999.999 位移信息

STOPRE 停止解码 无

只有在 STOPRE 之前的程序段结束之后才译码下一个程序段。

F 指令 进给率 0.001 ~ 999999.999

刀具/工件的进给速度, 对应 G94 或 G95, 单位毫米

/分钟或毫米/转 参见示例

AR 圆弧插补张角 0.00001~359.99999 单位是度, 参见 G2, G3

CHF 倒角 0.001 ~999999.999 在两个轮廓间插入给定的倒角

CR 圆弧插补半径 0.010 ~ 99999.999 在 G2/G3 中确定圆弧

IX 中间点坐标 ±0.001~99999.999 X 轴尺寸, 参见 G5

KZ 中间点坐标 ±0.001~99999.999 Z 轴尺寸, 参见 G5

RND 倒圆 0.01~99999.999 在两个轮廓间插入过渡圆弧

SF

G33 中 螺纹加工切入点

0.001~359.999 G33 中螺纹切入角度偏移量

SPOS 主轴定位 0.0000…359.9999 单位是度, 主轴在给定位置停止

R0~R249 计算参数

±0. 000 0001. . . 9999

9999 或 指数表示±10

-300 . . . 10 +300

R0 到 R99 可以自由使用, R100 到 R249 作为加工循环中传送参数

跳转指令集

标记符 示例

有条件跳转 示例

绝对跳转 示例

子程序指令 概述

地址 含义 说明

P 指令 子程序调用次数 无符号整数 示例

L 指令 子程序及子程序调用 7位十进制整数无符号 示例

RET 子程序结束 代替 M2使用,保证路径连续进行。要求占用一个独立的程序段

循环指令集 概述

LCYC82 钻削、 沉孔加工 示例

LCYC83 深孔钻削 示例

LCYC840 带补偿夹具切削螺纹 示例

LCYC85 镗孔 示例

LCYC93 切槽 示例

LCYC94 凹凸切削 示例

LCYC95 切削加工 示例

LCYC97 车螺纹 示例

G0: 快速线性移动

功能 轴快速移动,G0 用于快速定位刀具, 没有对工件进行加工。 可以在几个轴上同时执行快速移动,

由此产生一线性轨迹。 机床数据中规定每个坐标轴快速移动速度的最大值, 一个坐标轴运行时

就以此速度快速移动。 如果快速移动同时在两个轴上执行, 则移动两个轴可能的最大速度。

用 G0 快速移动时在地址 F 编程的进给率无效。 G0 一直有效, 直到被 G 功能组中其它的指令(G1,

G2,G3...)取代为止。

说明 用于准确定位还有一个程序段方式有效的指令: G9。 在进行准确定位时请注意选择。

目标点的位置坐标(X, Z) 可以用绝对位置数据<G90>增量位置数据输入<G91>

输入形式: G0 X... Z...

编程举例:

P0 刀具初始尺寸(X69 Z5)

绝对位置数据输入: N30 G90

N40 G0 X48 Z-26

增量位置数据输入: N30 G91

N40 G0 X-10.5 Z-31

功能 刀具以直线从起始点移动到目标点, 以地址 F 下编程的进给速度运行。 所有的坐标轴可同时运行。

说明 G1 一直有效, 直到被 G 功能组中其它的指令(G0, G2...) 取代。 目标点的位置坐标(X,Z) 可

以用绝对位置数据<G90>增量位置数据输入<G91>

输入形式: G01 X... Z...

编程举例:

P0: 刀具初始位置

绝对位置数据输入: N30 G0 X39 Z2

N40 G1 X39 Z0

N50 G90

N60 G1 X48 Z-37

增量位置数据输入: N30 G0 X39 Z2

N40 G1 X39 Z0

N50 G91

N60 G1 X4.5 Z-37

G2, G3:圆弧插补

功能 刀具以圆弧轨迹从起始点移动到终点,方向由 G 指令确定:

G2——顺时针方向 G3——逆时针方向

在地址 F 下编程的进给率决定圆弧插补速度。 圆弧可以按下述不同的方式表示:

— 1. 圆心坐标和终点坐标

— 2.半径和终点坐标

— 3.圆心和张角

— 4.张角和终点坐标

G2和 G3 一直有效, 直到被 G 功能组种其它的指令(G0, G1, ……) 取代为止。

圆弧尺寸 插补圆弧尺寸必须在一定的公差范围之内。系统比较圆弧起始点和终点处的半径,如果其值

公差 在公差范围之内, 则可精确设定圆心,若超出公差范围则给出报警。公差值可通过机床数据设定。

G2 编程举例:

P0 圆心坐标

相对四种表示方式的输入形式分别如下示:

1.圆心坐标和终点坐标 G2 X... Z... I... K...

2.半径和终点坐标 G2 X... Z... CR=

3.圆心和张角 G2 AR=... I... K...

4.张角和终点坐标 G2 AR=... X... Z...

例程分别为:

1.圆心坐标和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G2 X60 Z-29.94 I31.92 K-5.98

2.半径和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G2 X60 Z-29.94 CR=34

3.圆心和张角 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G2 X60 Z-29.94 AR=60

4.张角和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G2 I31.92 K-5.98 AR=60

G3 编程举例:

P0 圆心坐标

相对四种表示方式的输入形式分别如下示:

1.圆心坐标和终点坐标 G3 X... Z... I... K...

2.半径和终点坐标 G3 X... Z... CR=

3.圆心和张角 G3 AR=... I... K...

4.张角和终点坐标 G3 AR=... X... Z...

例程分别为:

1.圆心坐标和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G3 X60 Z-29.94 I-20.95 K-23.64

2.半径和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G3 X60 Z-29.94 CR=34

3.圆心和张角 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G3 X60 Z-29.94 AR=60

4.张角和终点坐标 N030 G0 X40 Z2

N040 G1 X40 Z0

N050 G3 I-20.95 K-23.64 AR=60

G5: 通过中间点进行圆弧插补

功能 如果不知道圆弧的圆心、 半径或张角, 但已知圆弧轮廓上三个点的坐标, 则可以使用 G5 功能。

通过起始点和终点之间的中间点位置确定圆弧的方向。 G5 一直有效, 直到被 G 功能组种其它的

指令(G0, G1, G2...) 取代为止。

说明: 可设定的位置数据输入 G90 或 G91 指令对终点和中间点有效。

输入形式: G5 Z... X... KZ= IX=

编程举例: N5 G90 Z17 X20

N10 G5 Z57 X20 KZ=37 IX=40

33:恒螺距螺纹切削

功能 用 G33 功能可以加工下述各种类型的恒螺距螺纹:

圆柱螺纹

圆锥螺纹

外螺纹/内螺纹

单螺纹和多重螺纹

多段连续螺纹

前提条件: 主轴上有位移测量系统。 G33 一直有效, 直到被 G 功能组中其它的指令(G0, G1,

G2, G3, ……) 取代为止。

右 旋螺 纹或右旋和左旋螺纹由主轴旋转方向 M3 和 M4 确定(M3—右旋, M4—左旋。) 在地址 S下编程主

左 旋螺纹轴转速, 此转速可以调整。

注释: 螺纹长度中要考虑导入空刀量和退出空刀量。

在具有 2 个坐标轴尺寸的圆锥螺纹加工中, 螺距地址 I 或 K 下必须设置较大位移(较大螺纹长

度) 的螺纹尺寸, 另一个较小的螺距尺寸不用给出。

起 始点 偏移

在加工螺纹中切削位置偏移以后以及在加工多头螺纹时均要求起始点偏移一位置。 G33 螺

SF= 纹加工中, 在地址 SF 下编程起始点偏移量(绝对位置)。 如果没有编程起始点偏移量, 则

设定数据中的值有效。

注意: 编程的 SF 值也始终登记到设定数据中。

编 程举例:

圆柱双头螺纹, 起始点偏移 180 度, 螺纹长度(包括导入空刀量和退出空刀量) 100 毫米, 螺

距 4 毫米/转。 右旋螺纹, 圆柱已经预制:

N10 G54 G0 G90 X50 Z0 S500 M3 ; 回起始点, 主轴右转

N20 G33 Z-100 K4 SF=0 ; 螺距: 4 毫米/转

N30 G0 X54

N40 Z0

N50 X50

N60 G33 Z-100 K4 SF=180 ; 第二条螺纹线, 180度偏移

N70 G0 X54...

多 段连 续

如果多个螺纹段连续编程, 则起始点偏移只在第一个螺纹段中有效, 也只有在这里才适用此螺纹参数。

多段连续螺纹加工举例

轴 速度

在 G33 螺纹切削中, 轴速度由主轴转速和螺距的大小确定。 在此 F 下编程的进给率保持存储状

态。 但机床数据中规定的轴最大速度(快速定位) 不允许超出。

说明 注意:

— 在螺纹加工期间, 主轴修调开关必须保持不变;

— 进给修调开关无效。

G4: 暂停

功能 通过在两个程序段之间插入一个 G4 程序段, 可以使加工中断给定的时间, 比如自由切削。 G4

程序段(含地址 F 或 S) 只对自身程序段有效, 并暂停所给定的时间。 在此之前编程的进给量 F

和主轴转速 S 保持存储状态。

输入形式: G4 F... ; 暂停时间(秒)

G4 S... ; 暂停主轴转数

编 程 举 例 :

N5 G1 F200 Z-50 S300 M3 ; 进给率 F, 主轴转数 S

N10 G4 F2.5 ; 暂停 2.5秒

N20 Z70

N30 G40 S30 ; 主轴暂停 30 转, 相当于在 S=300 转/分钟和转速修调 100%时暂停 t=0.1 分钟

N40 X... ; 进给率和主轴转数继续有效

注释: G4 S…..只有在受控主轴情况下才有效(当转速给定值同样通过 S……编程时)。

G74: 回参考点

功能 用 G74 指令实现 NC 程序中回参考点功能, 每个轴的方向和速度存储在机床数据中。

G74 需要一独立程序段, 并按程序段方式有效。

在 G74 之后的程序段中原先“插补方式” 组中的G 指令(G0, G1, G2, ……) 将再次生效。

编 程 举 例 :

N10 G74 X0 Z0

注释: 程序段中 X 和 Z 下编程的数值不识别

G75: 返回固定点

功能 用 G75 可以返回到机床中某个固定点, 比如换刀点。 固定点位置固定地存储在机床数据中, 它

不会产生偏移。 每个轴的返回速度就是其快速移动速度。 G75 需要一独立程序段, 并按程序段

方式有效。 在 G75 之后的程序段中原先“插补方式” 组中的 G 指令(G0,G1, G2,……) 将再次生效。

编 程 举 例 :

N10 G75 X0 Z0

注释: 程序段中 X 和 Z 下编程的数值不识别

G158: 可编程的零点偏置

功能 如果工件上在不同的位置由重复出现的形状或结构; 或者选用了一个新的参考点, 在这种情

况下就需要适用可编程零点偏置。 由此就产生一个当前工件坐标系, 新输入的尺寸均是在该

坐标系中的数据尺寸。 可以在所有坐标轴中惊醒零点偏移。

G158 指令要求一个独立的程序段。

G158 零点 用 G158 指令可以对所有坐标轴编程零点偏移, 后面的 G158 指令取代先前的可编程零点偏移指偏移 令。

取消偏移 在程序段中仅输入 G158 指令而后面不跟坐标轴名称时, 表示取消当前的可编程零点偏移。

编程举例: N10...

N20 G158 X3 Z5 ; 可编程零点偏移

N30 L10 ; 子程序调用, 其中包含待偏移的几何量

...

N70 G158 ; 取消零点偏移

...

G25/G26: 主轴转速下/上限

功能 通过在程序中写入 G25 或G26 指令和地址 S下的转速,可以限制特定情况下主轴的极限值范围。 与此同时原来设定数据中的数据被覆盖。

G25 或 G26 指令均要求一独立的程序段, 原先编程的转速 S 保持存储状态。

说明 主轴转速的最高极限值在机床数据中设定。 通过面板操作可以激活用于其它极限情况的设定

参数。 在车床中, 对于 G96 功能--恒定切削速度 还可以附加编程一个转速最高极限。

编程举例: N10 G25 S12 ; 主轴转速下限: 12 转/分钟

N20 G26 S700 ; 主轴转速上限: 700 转/分钟

G40: 取消刀尖半径补偿

功能 用 G40 取消刀尖半径补偿, 此状态也是编程开始时所处的状态。 G40 之前的程序段刀具以正常

方式结束(结束时补偿矢量垂直于轨迹终点处切线), 与起始角无关。 在运行 G40 程序段之

后, 刀尖到达编程终点。 在选择 G40 程序段编程终点时要始终确保不会发生碰撞。

说明 只有在线性插补(G0, G1) 情况下才可以取消补偿运行。 编程两个坐标轴, 如果你只给出一

个坐标轴的尺寸, 则第二个坐标轴自动以在此之前最后编程的尺寸赋值。

编程举例: ...

N100 X... Z... ; 最后程序段轮廓, 圆弧或直线

N110 G40 G1 X... Z... ; 取消刀尖半径补偿

G41,G42: 刀尖半径补偿

功能 刀具必须有相应的 D 号才能有效。 刀尖半径补偿通过 G41/G42 生效。 控制器自动计算出当前刀

具运行所产生的、 与编程轮廓等距离的刀具轨迹。 必须处于 G18 有效状态!

输入形式: G41 X… Z… ; 在工件轮廓左边刀补有效

G42 X… Z… ; 在工件轮廓右边刀补有效

注释: 只有在线性插补时(G0, G1) 才可以进行 G41/G42 的选择。 编程两个坐标轴, 如果你

只给出一个坐标轴的尺寸, 则第二个坐标轴自动地以最后编程的尺寸赋值。

进行补偿 刀具以直线回轮廓, 并在轮廓起始点处与轨迹切向垂直。 正确选择起始点, 保证刀具运行不

发生碰撞。

说明 在通常情况下, 在 G41/G42 程序段之后紧接着工件轮廓地第一个程序段。 但轮廓描述可以由其

中某一个没有位移参数(比如只有 M 指令) 的程序段中断。

举例:G42, 刀尖位置如图示时进行刀尖半径补偿

编程举例: N10 T... F...

N15 X... Z... ; P0 -起始点

N20 G1 G42 X... Z... ; 工件轮廓右边补偿, P1

N30 X... Z... ; 起始轮廓, 圆弧或直线

G54...G57,G500,G53: 工件装夹 — 可设定的零点偏置

功能 可设定的零点偏置给出工件零点在机床坐标系中的位置(工件零点以机床零点为基准移) 。

当工件装夹到机床上后求出偏移量, 并通过操作面板输入到规定的数据区。 程序可以

选择响应的 G 功能 G54...G57激活此值。

说明 G54 ; 第一可设定零点偏置

G55 ; 第二可设定零点偏置

G56 ; 第三可设定零点偏置

G57 ; 第四可设定零点偏置

G500 ; 取消可设定零点偏置

G53 ; 按程序段方式取消可设定零点偏置

编程举例: N10 G54 ; 调用第一可设定零点偏置

N20 X... Z... ; 加工工件

...

N90 G500 G0 X... ; 取消可设定零点偏置

G9: 准确定位

功能 针对程序段转换时不同的性能要求提供 G9 功能用于准确定位。

注释 指令 G9 仅对自身程序段有效。

G71/G70: 公制尺寸/英制尺寸

功能 工件所表注尺寸的尺寸系统可能不同于系统设定的尺寸系统(英制或公制), 但这些尺寸可

以直接输入到程序中, 系统会完成尺寸的转换工作。

G70 ; 英制尺寸

G71 ; 公制尺寸

编程举例: N10 G70 X10 Z30 ; 英制尺寸

N20 X40 Z50 ; G70 继续有效

...

N80 G71 X19 Z17.3 ; 开始公制尺寸

...

说明 系统根据所设定的状态把所有的几何值转换为公制尺寸或英制尺寸(这里刀具补偿值和可设

定零点偏置值也作为几何尺寸)。 同样, 进给率 F 的单位分别为毫米/分或英寸/分。 基本状态

可以通过机床数据设定。 本说明中所给出的例子均以基本状态为公制尺寸作为前提条件。

用 G70 或 G71 编程所有与工件直接相关的几何数据, 比如:

在 G0, G1, G2, G3, G33 功能下的位置数据 X, Z

插补参数 I, K(也包括螺距)

圆弧半径 CR

可编程的零点偏置(G158)

所有其它与工件没有直接关系的几何数值, 诸如进给率, 刀具补偿, 可设定的零点偏置, 它

们与 G70/G71 的编程无关。

功能 指令 G94/G95 分别从不同的单位定义了进给率。

输入形式: G94 F... ; 单位: 毫米/分

G95 F... ; 单位: 毫米/转

注释: F 是所希望的进给率

G96/97: 恒定切削速度 生效/取消

功能 前提条件: 主轴 为受控主轴。

G96功能生效以后, 主轴转速随着当前加工工件直径(横向坐标轴) 的变化而变化, 从而始

终保证刀具切削点处编程的切削速度 S为常数(主轴转速×直径=常数)。

从 G96 程序段开始, 地址 S 下的转速值作为切削速度处理。 G96 为模态有效, 直到被G 功能组

中一个其它 G 指令(G94, G95, G97) 替代为止。

输入形式 G96 S... LIMS=... F... ; 恒定切削生效

G97 ; 取消恒定切削

AWL 说明

S 切削速度, 单位米/分钟

LIMS 主轴转速上限, 只在 G96 中生效

F 旋转进给率, 单位毫米/转, 与 G95中一样

注释: 此处进给率始终为旋转进给率, 单位毫米/转。 如果在此之前为 G94 有效而非 G95 有

效, 则必须重新写入一合适的地址 F值!

快速移动运行 用 G0 进行快速移动时不可以改变转速。

例外: 如果以快速运行回轮廓, 并且下一个程序段中含有插补方式指令 G1 或 G2, G3, G5

(轮廓程序段), 则在用 G0 快速移动的同时已经调整用于下面进行轮廓插补的主轴转速。

转速上限 当工件从大直径加工到小直径时, 主轴转速可能提高得非常多, 因而在此建议给定一主轴

LIMS= 转速极限值 LIMS=... LIMS 值只对 G96 功能生效。

编程极限值 LIMS=... 后, 设定数据中得数值被覆盖, 但不允许超出 G26 编程的或机床数

据中设定的上限值。

取消恒定切削 用 G97 指令取消“恒定切削速度” 功能。 如果 G97 生效, 则地址 S 下的数值又恢复为, 单位

速度 G97 为转/分钟。 如果没有重新写地址 S, 则主轴以原先 G96 功能生效时的转速旋转

编程举例: N10...M3 ; 主轴旋转方向

N20 G96 S120 LIMS=2500 ; 恒定切削速度生效, 120 米/分钟转速上限 2500 转/分钟

N30 G0 X150 ; 没有转速变化, 因为程序段 N31 执行 G0 功能

N31 X50 Z... ; 没有转速变化, 因为程序段 N32 执行 G0 功能

N32 X40 ; 回轮廓, 按照执行程序段 N40 的要求自动调节新的转速

N40 G1 F0.2 X32 Z... ; 进给 0.2毫米/转

...

N180 G97 X... Z... ; 取消恒定切削

N190 S... ; 新定义的主轴转速, 转/分钟

说明 G96 功能也可以用 G94 或 G95 指令(同以个 G 功能组) 取消。 在这种情况下, 如果没有写入新

的地址 S, 则主轴按在此之前最后编程的主轴转速S 旋转。

G22/23: 半径/直径数据尺寸

功能 车床中加工零件时通常把 X 轴(横向坐标轴) 的位置数据作为直径数据编程, 控制器把所输入

的数值设定为直径尺寸, 这仅限于 X 轴。

程序中在需要时也可以转换为半径尺寸。

输入形式: G22 ; 半径数据尺寸

G23 ; 直径数据尺寸

说明 用 G22 或G23 指令把 X 轴方向的终点坐标作为半径数据尺寸或直径数据尺寸处理。

显示工件坐标系中响应的实际值。

可编程的偏移 G158 X... 始终作为半径数据尺寸处理。

编程举例: N10 G23 X44 Z30 ; X 轴直径数据方式

N20 X48 Z25 ; G23 继续生效

N30 Z10

...

N110 G22 X22 Z30 ; X 轴开始转换为半径数据方式

N120 X24 Z25

N130 Z10

...

循环中的故障报警及其处理

循环概况

LCYC82 钻孔, 沉孔加工

LCYC83 深孔钻削

LCYC840 带补偿夹具内螺纹切削

LCYC85 镗孔

LCYC93 凹槽切削

LCYC94 凹凸切削(E 型和 F 型, 按 DIN 标准)

LCYC95 毛坯切削(带根切)

LCYC97 螺纹切削

参数使用 循环中所使用的参数为 R100…R249

调用一个循环前必须已经对该循环的传递参数赋值。循环结束以后传递参数的值保持不变。

计算参数 使用加工循环时用户必须事先保留参数 R100 到 R249, 保证这些参数只用于加工循环而不被程

序中其它地方所使用。循环使用 R250 到 R299 作为内部计算参数。

调用/返回 在调用循环之前 G23(在循环 LCYC93, 94, 95, 97 中) 或者 G17(在循 LCYC82,83,840,

条件 85 中) 必须有效, 否则给出报警号 17040 坐标轴非法设定。

如果在循环中没有用于设定进给值、主轴转速和主轴方向的参数,则零件程序中必须编程这些值。

循环结束以后 G0 G90 G40 一直有效

循环中的故障报警及其处理

循环

故障

处理

循环中可以产生报警号为 61000 到 62999 的报警。 按照报警情况及其清楚的不同报警号还可以

划分为以下两个部分(参见下表)。

报警号 报警说明 清除方法

61000…61999 NC 中程序的准备计算停止 NC 复位键

62000…62999

NC 中程序的准备计算中断, 删除报警后可以按

NC 启动键恢复运行

删除键

与报警号一同显示的报警文本对报警原因进行进一步的说明。

循环

报警

下面给出了循环报警的报警一览表, 同时标明报警地点, 并对其排除方法做出说明。

报 警号

报警文本 地 点 ( 循环)

排除方法

61001 螺距错误定义 LCYC840 检查参数 R106(R106=0)

61002 加工方式错误

编程

LCYC93,

95, 97

错误设定加工方式的参数 R105 必须要修改数值

61003 没有第三几何轴

LCYC82,

83, 840

检查机床配置(设定第三几何轴)

61101 参考平面错误

定义

LCYC82,

83 , 84 ,

840, 85

检查参数 R101, R103, R104—R103=R104 或者R103不在 R101 和 R104之间

61102 没有编程主轴

方向

LCYC840 参数 R107 的值不是 3 和 4

61107 第一个切削深度错误定义

LCYC83 修改第一个切削深度的数值(第一个切削深度与整个切削量相矛盾)

61601 成品直径太小 LCYC94 程序中编写了一个直径小于 3 毫米的成品, 这是不允许的

61602 刀具宽度错误

定义

LCYC93 刀具宽度(参数 R107) 与编程的槽口形状不匹配

61603 切槽形 状错误

定义

LCYC93 切槽形状错误编程

61605 轮廓错误定义 LCYC95 轮廓中有根切部分, 这是不允许的

61606 轮廓处理时出错

LCYC95 检查轮廓子程序, 检查加工方式参数(R105)

61608 编程了 错误的

刀尖位置

LCYC94 必须与凹凸切削形状相应编程刀尖位置 1…4

61609 形状错误定义 LCYC94 检查凹凸切削形状参数

61610 没有编程切深

进给

LCYC95 在粗加工时必须编程切深进给参数 R108>0

LCYC82: 钻削, 沉孔加工

功能 刀具以编程的主轴速度和进给速度钻孔, 直至到达给定的最终钻削深度。 在到达最终钻削深

度时可以编程一个停留时间。 退刀时以快速移动速度进行。

调用 LCYC82

前提

条件

必须在调用程序中给定主轴速度值和方向以及进给轴进给率。

在调用循环之前必须在调用程序中回钻孔位置。

在调用循环之前必须选择带刀具补偿的相应的刀具。

必须处于G17 有效状态。

参数 参数 意义, 值范围

R101 退回平面(绝对平面)

R102 安全距离

R103 参考平面(绝对平面)

R104 最后钻深(绝对值)

R105 在此钻削深度停留时间

说明

R101 退回平面确定了循环结束之后钻削加工轴的位置。

R102 安全距离只对参考平面而言, 由于有安全距离, 参考平面被提前了一个安全距离量。

循环可以自动确定安全距离的方向。

R103 参数R103 所确定的参考平面就是图纸中所标明的钻削起始点。

R104 此参数确定钻削深度, 它取决于工件零点。

R105 用参数R105 编程此深度处的停留时间(秒)。

时序

过程

循环开始之前的位置时调用程序中最后所回的钻削位置。

循环的时序过程:

1. 用 G0 回到被提前了一个安全距离量的参考平面处,

2. 按照调用程序段中编程的进给率以 G1 进行钻削,

3. 执行此深度停留时间,

4. 以 G0 退刀, 回到退回平面。

举例: 钻削—沉孔加工

使用 LCYC82 循环, 程序在 XY 平面加工深度为 27 毫米的孔, 在孔底停留时间 2 秒, 钻孔坐标轴

方向安全距离为4 毫米。 循环结束后刀具处于 X24 Z110。

N10 G0 G18 G90 F500 T2 D1 S500 M4 ; 规定一些参数值

N20 Z110 X0 ; 回到钻孔位

N25 G17

N30 R101=110 R102=4 R103=102 R104=75 ; 设定参数

N35 R105=2 ; 设定参数

N40 LCYC82 ; 调用循环

N50 M2 ; 程序结束

LCYC83: 深孔钻削

功能 深孔钻削循环加工中心孔, 通过分步钻入达到最后的钻深, 钻深的最大值事先规定。 钻削既可

以在每步到钻深后, 提出钻头到其参考平面达到排屑目的, 也可以每此上提 1 毫米以便断屑。

调用 LCYC83

前提条件 必须在调用程序中给定主轴速度值和方向

在调用循环之前必须已经处于钻削开始位置。

在调用循环之前必须选取钻头的刀具补偿值。

参数 参数 含义, 数值范围

R101 退回平面(绝对平面)

R102 安全距离, 无符号

R103 参考平面(绝对平面)

R104 最后钻深(绝对值)

R105 在此钻削深度停留时间(断屑)

R107 钻削进给率

R108 首钻进给率

R109 在起始点和排屑时停留时间

R110 首钻深度(绝对)

R111 递减量, 无符号

R127

加工方式:

断屑=0

排屑=1

说明

R101 退回平面参数, 退回平面确定了循环结束之后钻削加工轴的位置。

R102 安全距离只对参考平面而言, 由于有安全距离, 参考平面被提前了一个安全距离量。

循环可以自动确定安全距离的方向。

R103 参数 R103 所确定的参考平面就是图纸中所标明的钻削起始点。

R104 最后钻深参数。 最后钻深以绝对值编程, 与循环调用之前的状态 G90 或 G91 无关。

R105 用参数 R105 编程此深度处的停留时间(秒)。

R107, R108 进给率参数。 通过这两个参数编程了第一次钻深及其后钻削的进给率。

R109 起始点停留时间参数。 参数 R109 之下可以编程几秒钟的起始点停留时间。

R110 第一钻深参数。 参数 R110 下确定第一钻削行程的深度 。

R111 递减量参数 R111 下确定递减量的大小, 从而保证以后的钻削量小于当前的钻削量。 用于第二次

钻削的量如果大于所编程的递减量, 则第二次钻削量应等于第一次钻削量减去递减量。 否则,

第二次钻削量就等于递减量。 当最后的剩余量大于两倍的递减量时, 则在此之前的最后钻削量

应等于递减量, 所剩下的最后剩余量平分为最终两次钻削行程。 如果第一次钻削量的值与总的

钻削深度量相矛盾, 则显示报警号。

61107“第一次钻深错误定义”

从而不执行循环。

R127 加工方式参数。

值 0: 钻头在到达每次钻削深度后上提 1 毫米空转, 用于断屑。

值 1: 每次钻深后钻头返回到安全距离之前的参考平面, 以便排屑。

时序过程 循环开始之前的位置是调用程序中最后所回的钻削位置。

循环的时序过程:

1. 用 G0 回到被提前了一个安全距离量的参考平面处,

2. 用 G1 执行第一次钻深, 钻深进给率是调用循环之前所编程的进给率执行此深度停留时间

(参数 R105)。

在断屑时: 用 G1 按调用程序中所编程的进给率从当前钻深上提 1 毫米, 以便断屑。

在排屑时: 用 G0 返回到安全距离量之前的参考平面, 以便排屑。 执行起始点停留时间(参数

R109), 然后用 G0 返回上次钻深, 但留出一个前置量(此量的大小由循环内部计算所得)。

3. 用 G1 按所编程的进给率执行下一次钻深切削, 该过程一直进行下去, 直至到达最终钻削深

度。

4. 用 G0 返回到退回平面。

举例: 深孔钻削 ; 程序在位置 X0 处执行循环 LCYC83

N100 G0 G18 G90 T4 S500 M3 ; 确定工艺参数

N110 Z155

N120 X0 ; 回第一次钻削位置

N125 G17

R101=155 R102=1 R103=150

R104=5 R105=0 R109=0 R110=100 ; 设定参数

R111=20 R107=500 R127=1 R108=400

N140 LCYC83 ; 第一次调用循环

N199 M2

LCYC840: 带补偿夹具内螺纹切削

功能 刀具按照编程的主轴转速和方向加工螺纹,钻削轴的进给率可以从主轴转速计算出来。该

循环可以用于带补偿夹具和主轴实际值编码器的内螺纹切削。循环中可以自动转换旋转方

向。 循环结束之后执行 M5(主轴停止)。

调用 LCYC840

前提条件 主轴转速可以调节,带位移测量系统。但循环本身不检查主轴是否带实际值编码器。必须在

调用程序中规定主轴转速和方向。在循环调用之前必须在调用程序中回到钻削位置。在调用

循环之前必须选择相应的带刀具补偿的刀具。G17 必须处于有效状态。

参数 参数 含义, 数值范围

R101 退回平面(绝对平面)

R102 安全距离

R103 参考平面(绝对平面)

R104 最后钻深(绝对值)

R106 螺纹导程值 数值范围: 0.001…20000.000 毫米

R126 攻丝时主轴旋转方向 数值范围: 3(用于 M3), 4(用于M4)

说明

R101 退回平面确定了循环结束之后钻削加工轴的位置。

R102 安全距离只对参考平面而言,由于有安全距离,参考平面被提前了一个安全距离量。

循环可以自动确定安全距离的方向。

R103 参数 R103 所确定的参考平面就是图纸中所标明的钻削起始点。

R104 此参数确定钻削深度,它取决于工件零点。

R106 螺纹导程值

R126 R126 规定主轴旋转方向, 在循环中旋转方向会自动转换。

时序过程 循环开始之前的位置时调用程序中最后所回的钻削位置。

循环的时序过程:

1. 用 G0回到被提前了一个安全距离量的参考平面处,

2. 用 G33 切内螺纹, 直至到达最终钻削深度,

3. 用 G33 退刀, 回到被提前了一个安全距离量的参考平面处,

4. 以 G0退刀,回到退回平面。

举例: 用此程序在位置 X0 处攻一螺纹, 钻削轴为 Z 轴。 必须设定 R126主轴旋转方向参数。加工时必

须使用补偿夹具。在主程序中给定主轴转速。

N10 G0 G17 G90 S300 M3 D1 T1 ; 规定一些参数值

N20 X35 Z60 ; 回到钻孔位

N30 R101=60 R102=2 R103=56 R104=15 R105=1 ; 设定参数

N40 R106=0.5 R126=3 ; 设定参数

N45 LCYC840 ; 调用循环

N50 M2 ; 程序结束

LCYC85 : 镗孔

功能 刀具以给定的主轴速度和进给速度钻削, 直至最终钻削深度。 如果到达最终深度, 可以编

程一个停留时间。 进刀及退刀运行分别按照相应参数下编程的进给率速度进行。

调用 LCYC85

前提条件 必须在调用程序中给定主轴速度值和方向。

在调用循环之前必须在调用程序中回到钻削位置。

在调用循环之前必须选择带刀具补偿的相应的刀具。

必须处于 G17 有效状态。

参数 参数 含义, 数值范围

R101 退回平面(绝对平面)

R102 安全距离

R103 参考平面(绝对平面)

R104 最后钻深(绝对值)

R105 在此钻削深度处的停留时间

R107 钻削进给率

R108 退刀时进给率

说明

R101--R105 参见 LCYC82

R107 确定钻削时的进给率大小。

R108 确定退刀时的进给率大小。

时序过程 循环开始之前的位置时调用程序中最后所回的钻削位置。

循环的时序过程:

1. 用 G0 回到被提前了一个安全距离量的参考平面处,

2. 用 G1 以 R107 参数编程的减给率加工到最终钻削深度,

3. 执行最终钻削深度的停留时间,

4. 用 G1 以 R108 参数编程的退刀进给率返回到被提前了一个安全距离量的参考平面处。

举例: 没有编程停留时间

N10 G0 G90 G18 F1000 S500 M3 T1 D1 ; 规定一些参数值

N20 Z110 X0 ; 回到钻孔位

N25 G17

N30 R101=105 R102=2 R103=102 R104=77 ; 设定参数

N35 R105=0 R107=200 R108=400 ; 设定参数

N40 LCYC85 ; 调用循环

N50 M2 ; 程序结束

LCYC93 : 切槽循环

功能 圆柱形工件上,不管是进行纵向加工还是进行横向加工均可以利用切槽循环对称加工出切

槽,包括外部切槽和内部切槽。

调用 LCYC93

前提条件 直径编程 G23 指令必须有效。

在调用切槽循环之前必须已经激活用于进行加工的刀具补偿参数,刀具宽度用 R107 编程。 刀

尖零点对着机床零点。

参数 参数 含义及数值范围

R100 横向坐标轴起始点

R101 纵向坐标轴起始点

R105 加工类型, 数值 1…8

R106 精加工余量, 无符号

R107 刀具宽度, 无符号

R108 切入深度, 无符号

R114 槽宽, 无符号

R115 槽深, 无符号

R116角, 无符号 范围: 0…89.999 0

R117 槽沿倒角

R118 槽底倒角

R119 槽底停留时间

说明

R100 横向坐标轴起始点参数。参数 R100 规定 X 向切槽起始点直径。

R101 纵向坐标轴起始点参数。参数 R101 规定 Z 轴方向切槽起始点。

R105 R105 确定加工方式:

数值 纵向/横向 外部/内部 起始点位置

1 纵向 外部 左边

2 横向 外部 左边

3 纵向 内部 左边

4 横向 内部 左边

5 纵向 外部 右边

6 横向 外部 右边

7 纵向 内部 右边

8 横向 内部 右边

如果参数值设置不对,则循环中断并产生报警: 61002“加工方式错误编程”

R106 精加工余量参数。切槽粗加工时参数 R106 设定其精加工余量。

R107 刀具宽度参数。

参数 R107 确定刀具宽度, 实际所用的刀具宽度必须与此参数相符。 如果实际所用刀具宽度大于 R107

的值,则会使实际所加工的切槽大于编程的切槽而导致轮廓损伤, 这种损伤是循环所不能监控的。

如果编程的刀具宽度大于槽底的切槽宽度,则循环中断并产生报警:61602“刀具宽度错误定义”。

R108 切入深度参数。通过在 R108 中编程进刀深度可以把切槽加工分成许多个切深进给。 在每次切

深之后刀具上提 1 毫米, 以便断屑。

切槽形状 参数 R114 ~ R118 确定切槽的形状。 循环在进行其参数计算时总是以R100, R101 中编程的起

始点为依据。

R114 切槽宽度参数。参数 R114 中编程的切槽宽度是指槽底(不考虑倒角) 的宽度值。

R115 切槽深度参数。参数 R115 确定切槽的深度。

R116 螺纹啮合角参数。R116 的参数值确定切槽齿面的斜度, 值为 0 时表明加工以个与轴平行的切槽

R117 槽沿倒角参数。R117 确定槽口的倒角。

R118 槽底倒角参数。R118 确定槽底的倒角。

如果通过该参数下的编程值不能生成合理的切槽轮廓,则程序中断并产生报警:61603“切

槽形状错误定义” 。

R119 槽底停留时间参数。R119 下设定合适的槽底停留时间, 其最小值至少为主轴旋转一转所用时

间。 编程停留时间与 F 一致。

时序过程 循环开始之前所到达的位置:

位置任意但须保证每次回该位置进行切槽加工时不发生刀具碰撞。

循环的时序过程:

1. 用 G0回到循环内部所计算的起始点。

2. 切深进给: 在坐标轴平行方向进行粗加工直至槽底, 同时要注意精加工余量; 每次切深

之后要空运行,以便断屑。

3. 切宽进给: 每次用 G0 进行切宽进给, 方向垂直于切深进给, 其后将重复切深加工的粗加

程。深度方向合宽度方向的进刀量以可能的最大值均匀地进行划分。

4. 在有要求的情况下, 齿面的粗加工将沿着切槽宽度方向分多次进刀。

5. 用调用循环之前所编程的进给值从两边精加工整个轮廓,直至槽底中心。

举例:

;从起始点(60, 35) 起加工深度为 25毫米,宽度为 30 毫米的切槽。

;槽底倒角的长度编程 2 毫米。

;精加工余量 1 毫米。

N10 G0 G90 Z100 X100 T2 D1 S300 M3 G23; 选择起始位置

N20 G95 F0.3 ; 和工艺参数

R100=35 R101=60 R105=5 R106=1 R107=12; 循环参数

R108=10 R114=30 R115=25 R116=20

R117=0 R118=2 R119=1

N60 LCYC93; 调用循环

N70 G90 G0 Z100 X50 ; 下一个位置

N100 M2

LCYC94 : 凹凸切削循环

功能 用此循环可以按照 DIN509 标准进行形状为 E 和 F 的凹凸切削, 但要求成品直径大于 3 毫米。 在

调用循环之前必须要激活刀具补偿参数。

调用 LCYC94

前 提

条件

直径编程 G23 指令必须有效。

参数

参数 含义及数值范围

R100 横向坐标轴起始点, 无符号

R101 纵向坐标轴起始点

R105

形状定义: 值 55 为形状 E

值 56 为形状 F

R107 刀具的刀尖位置定义: 值 1…4 对应于位置 1…4

说明

R100 横向坐标轴起始点参数。 通过参数 R100 设定凹凸切削后的成品直径。 如果根据 R100 编程的值

所生成的成品直径小于或等于 3毫米,则循环中断并产生报警:61601“成品直径太小”

R101 纵向坐标轴起始点参数。 R101 确定成品在纵向坐标轴方向的尺寸。

R105 形状定义参数。 通过参数 R105 确定 DIN509 标准所规定的形状 E和 F。 如果该参数的值不是 55 或

56,则循环会中断并产生报警:61609“形状错误定义”

R107 刀尖位置参数。 R107 确定了刀具的刀尖位置, 从而也就确定了凹凸切削加工位置。 该参数值

必须与循环调用之前所选刀具的刀尖位置相一致。 如果该参数有其它值, 则显示报警:

61608“编程了错误的刀尖位置” 并中断程序执行。

时 序

过程

循环开始之前所到达的位置: 位置任意, 但须保证每次回该位置开始凹凸加工时不发生刀具

碰撞。

该循环具有如下时序过程:

1. 用G0 回到循环内部所计算的起始点。

2. 根据当前的刀尖位置选择刀尖半径补偿, 并按循环调用之前所编程的进给率进行凹凸

轮廓的加工, 直至最后。

3. 用 G0 回到起始点, 并用 G40 指令取消刀尖半径补偿。

举例: 用此程序进行 E 型凹凸切削。

N50 G0 G90 G23 Z100 X50 T25 D3 S300 M3 ; 选择起始位置

N55 G95 F0.3 ; 规定工艺参数

R100=20 R101=60 R105=55 R107=3 ; 循环参数

N60 LCYC94 ; 调用凹凸切削循环

N70 G90 G0 Z100 X50 ; 下一个位置

N99 M02

LCYC95 : 毛坯切削循环

功能 用此循环可以在坐标轴平行方向加工由子程序编程的轮廓, 可以进行纵向和横向加工, 也

可以进行内外轮廓的加工。 调用循环之前, 必须在所调用的程序中已经激活刀具补偿参数。

调用 LCYC95

前提条件 直径编程 G23 指令必须有效。

系统中必须已经装入文件 SGUD.DEF。

程序嵌套中至多可以从第三级程序界面中调用此循环(两级嵌套)。

参数 参数 含义及数值范围

R015 加工类型 数值 1…12

R106 精加工余量, 无符号

R108 切入深度, 无符号

R109 粗加工切入角

R110 粗加工时的退刀量

R111 粗切进给率

R112 精切进给率

说明

R105 加工方式参数

用参数 R105 确定以下加工方式:

数值 纵向/横向 外部/内部 粗加工/精加工/综合加工

1 纵向 外部 粗加工

2 横向 外部 粗加工

3 纵向 内部 粗加工

4 横向 内部 粗加工

5 纵向 外部 精加工

6 横向 外部 精加工

7 纵向 内部 精加工

8 横向 内部 精加工

9 纵向 外部 综合加工

10 横向 外部 综合加工

11 纵向 内部 综合加工

12 横向 内部 综合加工

在纵向加工时进刀总是在横向坐标轴方向进行, 在横向加工时进刀则在纵向坐标轴方向。 如果该参

数编程了其它值, 则循环中断并给出报警: 61002“加工方式错误编程”

R106 精加工余量参数。 通过参数 R106 可以编程一个精加工余量。 如果没有编程精加工余量, 则一

直进行粗加工, 直至最终轮廓。

R108 切入深度参数。 在参数 R108 之下设定粗加工最大可能的进刀深度, 但当前粗加工中所用的进

刀深度则由循环自动计算出来。

R109 粗加工切入角。 粗加工时的尖刀按照参数 R109 下编程的角度进行。

R110 粗加工时退刀量参数 。 坐标轴平行方向的每次粗加工之后均须从轮廓退刀, 然后用 G0 返回刀

起始点。 在此, 由参数 R110 确定退刀量的大小。

R111 粗加工进给率参数。 加工方式为精加工该参数无效。

R112 精加工进给率参数。 加工方式为粗加工时该参数无效。

轮廓定义 在一个子程序中编程待加工的工件轮廓, 循环通过变量_CNAME 名下的子程序名调用子程

序。 轮廓由直线或圆弧组成, 并可以插入圆角和倒角。 编程的圆弧段最大可以为四分之一

圆。 轮廓中不允许含根切。 若轮廓中包含根切, 则循环停止运行并发出报警: G1605“轮廓

定义出错” 轮廓的编程方向必须与精加工时所选择的加工方向相一致。

轮廓编程举例

N10 G1 Z100 X40 ; 起始点

N20 Z85 ; P1

N30 X54 ; P2

N40 Z77 X70 ;P3

N50 Z67 ; P4

N60 G2 Z62 X80 CR=5 ; P5

N70 G1 Z62 X96 ; P6

N80 G3 Z50 X120 CR=12 ; P7

N90 G10 Z35 ;P8

M17

对于加工方式为“端面、 外部轮廓加工” 的轮廓必须按照从 P8(35, 120) 到 P0(100, 40) 的方向

编程。

时序过程 循环开始之前的位置: 位置任意, 但须保证从该位置回轮廓起始点时不发生刀具碰撞。

粗切削。 循环的时序过程:

 用 G0 在两个坐标轴方向同时回循环加工起始点(内部计算)

 按照参数 R109 下编程的角度进行深度进给

 在坐标轴平行方向用 G1 和参数 R111下进给率回粗切削交点

 用G1/G2/G3 按参数 R111 设定的进给率进行粗加工, 直至沿着“轮廓+精加工余量” 加工到

最后一点

 在每个坐标轴方向按参数 R110 中所编程的退刀量(毫米) 退刀并用G0 返回

 重复以上过程, 直至加工到最后深度

精加工

 用 G0 按不同的坐标轴分别回循环加工起始点

 用 G0 在两个坐标轴方向同时回轮廓起始点

 用 G1/G2/G3 按参数 R112 设定的进给率沿着轮廓进行精加工

 用 G0 在两个坐标轴方向回循环加工起始点

在精加工时, 循环内部自动激活刀尖半径补偿。

起始点 循环自动地计算加工起始点。 在粗加工时两个坐标轴同时回起始点; 在精加工时则按不同的

坐标轴分别回起始点, 首先运行的时进刀坐标轴。 “综合加工” 加工方式中在最后一次粗加

工之后, 不再回到内部计算的起始点。

举例: 执行循环必须要有两个程序:

 具有循环调用的程序

 轮廓子程序(TESK1.SPF)

; 例子中编程的轮廓加工方式为“纵向、 外部综合加工”。

; 最大进刀量 5 毫米, 精加工余量 1.2 毫米, 进刀角度 7 0 。

N10 T1 D1 G0 G23 G95 S500 M3 F0.4 ; 确定工艺参数

N20 Z125 X162 ; 调用循环之前无碰撞地回轮廓起始点

_CNAME=“TESK1” ; 轮廓子程序程序名

R105=9 R106=1.2 R108=5 R109=7 ; 设置其它循环参数

R110=1.5 R111=0.4 R112=0.25

N20 LCYC95 ; 调用循环

N30 G0 G90 X81 ; 按不同的坐标轴分别回起始点

N35 Z125

N99 M30

TESK1.SPF

N10 G1 Z100 X40 ; 起始点

N20 Z85 ; P1

N30 X54 ; P2

N40 Z77 X70 ;P3

N50 Z67 ; P4

N60 G2 Z62 X80 CR=5 ; P5

N70 G1 Z62 X96 ; P6

N80 G3 Z50 X120 CR=12 ; P7

N90 G1 X35 ; P8

M17

LCYE97: 螺纹切削

功能 用螺纹切削循环可以按纵向或横向加工形状为圆柱体或圆锥体的外螺纹或内螺纹,并且既能

加工单头螺纹也能加工多头螺纹。 切削进刀深度可自动设定。左旋螺纹/右旋螺纹由主轴的旋

转方向确定, 它必须在调用循环之前的程序中编入。 在螺纹加工期间,进给修调开关和主轴

修调开关均无效。

调用 LCYC97

参数 参数 含义及数值范围

R100 螺纹起始点直径

R101 纵向轴螺纹起始点

R102 螺纹终点直径

R103 纵向轴螺纹终点

R104 螺纹导程值, 无符号

R105 加工类型 数值: 1, 2

R106 精加工余量, 无符号

R109 空刀导入量, 无符号

R110 空刀退出量, 无符号

R111 螺纹深度, 无符号

R112 起始点偏移, 无符号

R113 粗切削次数, 无符号

R114 螺纹头数, 无符号

说明

R100, R101 螺纹起始点直径参数,纵向轴螺纹起始点参数这两个参数分别用于确定螺纹在 X 轴和 Z 轴方向

上的起始点。

R102, R103 螺纹终点直径参数,向轴螺纹终点参数参数 R102 和 R103 确定螺纹终点。 若是圆柱螺纹, 则其

中必由一个数值等同于 R100 或 R101。

R104 螺纹导程值参数。螺纹导程值为坐标轴平行方向的数值,不含符号。

R105 加工方式参数。参数 R105 确定加工外螺纹或者内螺纹: R105=1: 外螺纹 R105=2: 内螺纹

若该参数编程了其它数值,则循环中断,并给出报警:61002“加工方式错误编程”

R106 精加工余量参数。螺纹深度减去参数 R106 设定的精加工余量后剩下的尺寸划分为几次粗切削

进给。精加工余量是指粗加工之后的切削进给量。

R109, R110 空刀导入量参数,空刀退出量参数。参数 R109 和 R110 用于循环内部计算空刀导入量和空刀退

出量,循环中编程起始点提前一个空刀导入量,编程终点延长一个空刀退出量。

R111 螺纹深度参数。参数 R111 确定螺纹深度。

R112 起始点偏移参数。在该参数下编程一个角度值,由该角度确定车削件圆周上第一螺纹线的切

削切入点位置,也就是说确定真正的加工起始点。参数值范围 0.0001…+359.999 o 。 如果没有

说明起始点的偏移量, 则第一条螺纹线自动地从 0 度位置开始 加工。

R113 粗切削次数参数。 R113 确定螺纹加工中粗切削次数, 循环根据参数 R105 和 R111 自动地计算出

每次切削地进刀深度。

R114 螺纹头数参数。 该参数确定螺纹头数, 螺纹头数应该对称地分步在车削件的圆周上。

纵向螺纹和横 循环自动地判别纵向螺纹加工或横向螺纹加工。 如果圆锥角小于或等于 45度,则按纵向螺纹

向螺纹的判别 加工, 否则按横向螺纹加工。

时序过程 调用循环之前所到达地位置: 位置任意, 但须保证刀具可以没有碰撞的回到所编程的螺纹起

始点+导入空刀量

循环的时序过程:

用G0 回第一条螺纹线空刀导入量的起始处

按照参数 R105确定的加工方式进行粗加工进刀

根据编程的粗切削次数重复螺纹切削

用 G33 切削精加工余量

对于其它的螺纹线重复整个过程

举例: ; 切削双头螺纹 M42X2

N10 G23 G95 F0. 3 G90 T1 D1 S1000 M4 ; 确定工艺参数

N20 G0 Z100 X120 ; 编程的起始位置

R100=42 R101=80 R102=42 R103=45; 循环参数

R104=2 R105=1 R106=1 R109=12 R110=6

R111=4 R112=0 R113=3 R114=2

N50 LCYC97; 调用循环

N100 G0 Z100 X60; 循环结束后位置

N110 M2

M: 辅助功能

功能 利用辅助功能 M 可以设定一些开关操作, 如“打开/关闭冷却液” 等。 除少数 M 功能被数控系统

生产厂家固定地设定了某些功能之外, 其余部分均可供机床生产厂家自由设定。

在一个程序段中最多可以有 5 个 M 功能。

输入形式: M...

作用 M 功能在坐标轴运行程序段中的作用情况:

如果 M0, M1, M2 功能位于一个有坐标轴运行指令的程序段中, 则只有在坐标轴运行之后这些

功能才会有效。 对于 M3, M4, M5 功能, 则在坐标轴运行之前信号就传送到内部的接口控制器

中。 只有当受控主轴按 M3 或 M4 启动之后, 才开始坐标轴运行。 在执行 M5 指令时并不等待主轴

停止, 坐标轴已经在主轴停止之前开始运动。 其它 M 功能信号与坐标轴运行信号一起输出到内

部接口控制器上。 如果你有意在坐标轴运行之前或之后编程一个 M 功能, 则你须插入一个独立

的 M 功能程序段。

编程举例:

N10 S. . . ; M 功能在有坐标轴运行的程序段中

N20 X... M3 ; 主轴在X 轴运行之前启动运行

...

N180 M789 M1737 M100 M102 M376 ; 程序段中最多有 5 个 M 功能

功能 要使一个 NC程序不仅仅适用于特定数值下的一次加工,或者必须要计算出数值, 这两种情况

均可以使用计算参数, 你可以在程序运行时由控制器计算或设定所需要的数值; 也可以通过

操作面板设定参数数值。 如果参数已经赋值, 则它们可以在程序中对由变量确定的地址进行

赋值。

编程 R0=...到 R249=...

说明 一共 250 个计算参数可供使用:

R0…R249 --可以自由使用

R100…R249 --加工循环传递参数

如果你没有用到加工循环, 则这部分计算参数也同样可以自由使用。

赋值 你可以在以下数值范围内给计算参数赋值:

±(0. 000 0001…9999 9999) (8 位, 带符号和小数点)

在取整数值时可以去除小数点。 正号可以一直省去。

举例:

R0=3. 5678 R1=-37. 3 R2=2 R3=-7 R4=-45678. 1234

用指数表示法可以赋值更大的数值范围:

±(10

-300 …10 +300 ) .

指数值些在 EX 符号之后;

最大符号数: 10(包括符号和小数点)

EX 值范围: -300 到+300

举例:

R0=-0. 1EX-5 ; 意义: R0=-0. 000 0001

R1=1. 874EX8 ; 意义: R1=187 400 000

注释: 一个程序段中可以有多个赋值语句; 也可以用计算表达式赋值。

给其它的地址 通过给其它的 NC地址分配计算参数或参数表达式,可以增加 NC 程序的通用性。 可以用数值、

赋值 算术表达式或 R 参数对任意 NC 地址赋值。 但对地址 N、 G 和 L 例外。

赋值时在地址符之后写入符号“=”

赋值语句也可以赋值一负号。

给坐标轴地址(运行指令) 赋值时, 要求有一独立的程序段。

举例 : N10 G0 X=R2 ; 给 X 轴赋值

参数的计算 在计算参数时也遵循通常的数学运算规则。 圆括号内的运算优先进行。 另外, 乘法和除法运

算优先于加法和减法运算。

角度计算单位为度。

编程举例 R 参数

N10 R1=R1+1 ; 由原来的 R1 加上 1 后得到新的 R1

N20 R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12

N30 R13=SIN(25. 3) ; 乘法和除法运算优先于加法和减法运算

R14=(R1*R2) +R3

N50 R14=R3+R2*R1 ; 与 N40 一样

N60 R15=SQRT(R1*R1+R2*R2) ;

编程举例 坐标轴赋值

N10 G1 G91 X=R1 Z=R2 F300

N20 Z=R3

N30 X=-R4

N40 Z=-R5

POS:主轴定位

功能 前提条件: 主轴必须设计成可以进行位置控制运行。

利用功能 SPOS 可以把主轴定位到一个确定的转角位置,然后主轴通过位置控制保持在这一位

置。 定位运行速度在机床数据中规定。 从主轴旋转状态(顺时针旋转/逆时针旋转) 进行定

位时定位运行方向保持不变; 从静止状态进行定位时定位运行按最短位移进行, 方向从起始

点位置到终点位置。

例外的情况是: 主轴首次运行, 也就是说测量系统还没有进行同步。 此种情况下定位运行方

向在机床数据中规定。 主轴定位运行可以与同一程序段中的坐标轴运行同时发生。 当两种运

行都结束以后, 此程序段才结束。

倒园,倒角

功能

在一个轮廓拐角处可以插入倒角或

倒园, 指令 CHF=…或者 RND=…

与加工拐角的轴运动指令

一起写入到程序段中。

输入形式:

CHF=… ; 插入倒角,

数值: 倒角长度

RND=… ; 插入倒园,

数值: 倒园半径

倒角 CHF=

直线轮廓之前、 圆弧轮廓之间以及

直线轮廓和圆弧轮廓之间切入一直

线并倒去棱角。

编程举例

N10 G1 Z …

CHF=5 ; 倒角 5 毫米

进给率 F

功能

进给率 F是刀具轨迹速度,它是所有移动坐标轴速度

的矢量和。 坐标轴速度是刀具轨迹速度

在坐标轴上的分量。 进给率 F 在 G1, G2, G3, G5

插补方式中生效, 并且一直有效, 直到被

一个新的地址 F 取代为止。

进给率 F

的单位

地址 F的单位由 G 功能确定:

G94 和G95

G94 直线进给率 毫米/分钟

G95 旋转进给率 毫米/转(只有主轴旋

N20 X… Z…

转才有意义!)

编程举例 N10 G94 F310; 直线进给率 毫米/分钟

N110 S200 M3 ; 主轴旋转

N120 G95 F15.5 ; 进给量 毫米/转

注释: G94 和 G95 更换时要求写入一个新地址 F。

说明

对于车床, G94 和 G95 的作用会扩展到恒定切削速

度 G96 和 G97 功能, 它们还会对主轴转速 S产生影响。

倒园 RND=直线轮廓之间、 圆弧轮廓之间以及

直线轮廓和圆弧轮廓之间切入一圆弧, 圆弧与轮廓进行切线过渡。

编程举例

N10 G1 Z …

RND=8 ; 倒园, 半径 8

毫米

N20 X… Z…

N50 G1 Z …

RND=7.3 ; 倒园, 半径

7.3 毫米

N60 G3 X… Z…

说明

如果其中一个程序段轮廓长度不

够, 则在倒园或倒角时会自动削减

编程值。 如果几个连续编

程的程序段中有不含坐标轴移动指

令的程序段, 则不可以进行倒角/

倒园。

主轴转速 S, 旋转方向

功能 当机床具有受控主轴时, 主轴的转速可以编程在地址 S 下, 单位转/分钟。 旋转方向和主轴运

动起始点和终点通过 M 指令规定(参见“辅助功能 M“)

注释: 在 S 值取整情况下可以去除小数点后面的数据, 比如 S270。

说明 只有在主轴启动之后, 坐标轴才开始运行。

编程举例 N10 G1 X70 Z20 F300 S270 M3 ; 在 X,Z 轴运行之前, 主轴以 270 转/分启动, 方向顺时针

...

N80 S450 ; 改变转速

...

N170 G0 Z180 M5 ; Z 轴运行, 主轴停止

标记符

功能 标记符用于标记程序中所跳转的目标程序段, 用跳转功能可以实现程序运行分支。

标记符可以自由选取, 但必须由 2-8 个字母或数字组成, 其中开始两个符号必须是字母或下划

线。 跳转目标程序段中标记符后面必须为冒号。 标记符位于程序段段首。 如果程序段有段号

, 则标记符紧跟着段号。

在一个程序中, 标记符不能有其它意义

编程举例: N10 MARKE1: G1 X20 ; MARKE1 为标记符, 跳转目标程序段

...

TR789:G0 X10 Z20 ; TR789 为标记符, 跳转目标段没有段号

返回

绝对跳转

功能 NC 程序在运行时以写入时的顺序执行程序段。 程序在运行时可以通过插入程序跳转指令改变

执行顺序, 跳转目标只能是有标记符的程序段, 此程序段必须位于该程序之内。

绝对跳转指令必须占用一个独立的程序段。

输入形式: GOTOF Label ; 向前跳转(程序结束方向)

GOTOB Label ; 向后跳转(程序开始方向)

Lable: 所选的标记符

编程举例: N10 G0 X... Z...

...

N20 GOTOF MARKE0 ; 跳转到标记符 MARKE0

...

N50 MARKE0: R1 = R2+R3

...

功能 NC 程序在运行时以写入时的顺序执行程序段。 程序在运行时可以通过插入程序跳转指令改变

执行顺序, 用 IF——条件语句表示有条件跳转, 如果满足跳转条件(也就是值不等于零) 则

进行跳转。 跳转目标只能是有标记符的程序段, 此程序段必须位于该程序之内。

有条件跳转指令要求一个独立的程序段。

输入形式: IF 条件 GOTOF Label ; 向前跳转(程序结束方向)

IF 条件 GOTOB Label ; 向后跳转(程序开始方向)

Lable: 所选的标记符 条件: 作为条件的计算参数, 计算表达式

比较运算 运算符

= = ; 等于 < > ; 不等于

> ; 大于 < ; 小于

> = ; 大于或等于 < = ; 小于或等于

比较运算结果有两种, 一种为“满足” , 一种为“不满足” 。 “不满足“时运算结果为零。

编程举例: N10 IF R1<>0 GOTOF MARKE1 ; R1 不等于零时, 跳转到 MARKE1 程序段

...

N100 IF R1>1 GOTOF MARKE2 ; R1 大于 1 时, 跳转到 MARKE2 程序段

...

N1000 IF R45==R7+1 GOTOB MARKE3 ; R45 等于 R7 加 1 时, 跳转到 MARKE3 程序段

...

L 指令

功能 在一个程序(主程序和子程序) 中, 可以直接用程序名调用子程序。 子程序调用要求占用一

个独立的程序段。

编程举例: N10 L785 ; 调用子程序 L785

N20 LRAHMEN7 ;调用子程序 LRAHMEN7

P 指令

功能 如果要求多次连续的执行某一子程序, 则在编程时就必须在所调用子程序的程序名后地址 P 下

写如调用次数, 最大次数可以为 9999(P1...P9999)。

编程举例: N10 L785 P3 ; 调用子程序 L785,运行三次

子程序

功能 用子程序编写经常重复进行的加工, 比如某一确定的轮廓形状。 子程序位于主程序重视党的

地方, 在需要时进行调用、 运行。

结构 子程序的结构与主程序的结构一样, 在子程序中也是在最后一个程序段中用 M2 结束子程序运

行。 子程序结束后返回主程序。 除了用 M2 外, 还可以用 RET 指令结束子程序。 RET 要求占用一个独立的程序段。

命名

为了方便的选择某一子程序, 必须给子程序取一个程序名。 程序名可以自由选取, 但必须符合以下规定:

- 开始两个符号必须是字母

- 其它符号为字母, 数字或下划线

- 最多 8 个字母

- 没有分隔符

其方法与主程序中程序名的选取方法一样。

举例 : BUCHSE7

在子程序中还可以使用地址字 L..., 其后的值可以有 7 位(只能为整数)。

注意: 地址字 L 之后的每个零都有意义, 不可省略。

举例 : L128 并非 L0128或 L00128!

以上表示三个不同的子程序。

子程序的调用参见 L 指令、 P指令

刀具 T

功能 编程 T 指令可以选择工具。 在此, 是用 T 指令直接更换刀具还是仅仅进行刀具的预选, 这必须要在机床数据中确定:

用 T 指令直接更换刀具(比如: 车床中常用的刀具转塔刀架), 或者

仅用 T 指令预选刀具, 另外还要用 M6 指令才可进行刀具的更换(参见“辅助功能M”)

输入形式: T ... ; 刀具号: 1...32000

说明 系统中最多同时存储 10把刀具。

编程举例: 不用 M6 更换刀具:

N10 T1 ; 刀具 1

N70 T588 ; 刀具 588

刀具补偿号 D

功能 一个刀具可以匹配从 1 到 9 几个不同补偿的数据组(用于多个切削刃)。 用 D 及其相应的序号可以编程一个专门的切削刃。

如果没有编写 D 指令, 则 D1 自 动生效。

如果编程 D0, 则刀具补偿值无效。

说明 系统只最多可以同时存储 30 个刀具补偿数据组

输 入形式:

D . . . ; 刀具补偿号: 1…9

; D0: 没有补偿值有效!

说明 刀具调用后, 刀具长度补偿立即生效; 如果没有编程 D 号, 则 D1 值自动生效。 先编程的长

度补偿先执行, 对应的坐标轴也先运行。 刀具半径补偿必须与 G41/G42 一起执行。

编 程举例:

更换刀具:

N10 T1 ; 刀具 1D1 值生效

N11 G0 X… Z… ; 对不同刀具长度的差值进行覆盖

N50 T4 D2 ; 更换成刀具 4,对应于 T4 中 D2 值生效

...

N70 G0 Z… D1 ; 刀具 4D1 值生效, 在此仅更换切削刃

补 偿存 储器

在补偿存储器中有如下内容:

内容

几何尺寸: 长度、 半径

几何尺寸由许多分量组成: 基本尺寸和磨损尺寸。 控制器处理这些分量, 计算并得到最后尺寸(比如:

总和长度、 总和半径)。 在激活补偿存储器时这些最终尺寸有效。

由刀具类型指令和 G17,G18指令确定如何在坐标轴中计算出这些尺寸值(参见下面图表)。

刀具类型

由刀具类型可以确定: 需要哪些几何参数以及怎样进行计算(钻头或车刀)。 它仅以百位数的不同进行区分:

— 类型 2xy:钻头

— 类型 5xy:车刀

XY 可以为任意参数, 用户可以根据自己的需要进行设定。

举例: Typ500 或 510。

刀尖位置

在刀具类型为 5xy(车刀) 时你还需给出刀尖位置参数。

刀 具

参数

在 DP...的位置上填上相应的刀具参数的数值。 适用哪些参数, 则取决于刀具类型。 不需要的刀具参数填上数值零。

刀具类型: DP1

刀尖位置: DP2

基本尺寸 磨损尺寸

长度 1: DP3 DP12

长度 2: DP4 DP13

半径: DP6 DP15

中 心孔 钻削

在引入中心孔钻削概念时必须要转换到 G17, 钻头的长度补偿为 Z 轴方向。 在钻削结束之后用G18 转换回车刀正常的补偿。

举例:

N10 T… ;钻头,=刀具类型 200

N20 G17 G1 F… Z… ;Z— 轴长度补偿

N30 Z…

N40 G18… ; 钻削结束