分享

CNC数字编程宏程式代码大全

 啄木鸟巢 2012-01-25
G代码 分组 功能
*G00 01 定位(快速移动)
*G01 01 直线插补(进给速度)
G02 01 顺时针圆弧插补
G03 01 逆时针圆弧插补
G04 00 暂停,精确停止
G09 00 精确停止
*G17 02 选择X Y平面
G18 02 选择Z X平面
G19 02 选择Y Z平面
G27 00 返回并检查参考点
G28 00 返回参考点
G29 00 从参考点返回
G30 00 返回第二参考点
*G40 07 取消刀具半径补偿
G41 07 左侧刀具半径补偿
G42 07 右侧刀具半径补偿
G43 08 刀具长度补偿
G44 08 刀具长度补偿-
*G49 08 取消刀具长度补偿
G52 00 设置局部坐标系
G53 00 选择机床坐标系
*G54 14 选用1号工件坐标系
G55 14 选用2号工件坐标系
G56 14 选用3号工件坐标系
G57 14 选用4号工件坐标系
G58 14 选用5号工件坐标系
G59 14 选用6号工件坐标系
G60 00 单一方向定位
G61 15 精确停止方式
*G64 15 切削方式
G65 00 宏程序调用
G66 12 模态宏程序调用
*G67 12 模态宏程序调用取消
G73 09 深孔钻削固定循环
G74 09 反螺纹攻丝固定循环
G76 09 精镗固定循环
*G80 09 取消固定循环
G81 09 钻削固定循环
G82 09 钻削固定循环
G83 09 深孔钻削固定循环
G84 09 攻丝固定循环
G85 09 镗削固定循环
G86 09 镗削固定循环
G87 09 反镗固定循环
G88 09 镗削固定循环
G89 09 镗削固定循环
*G90 03 绝对值指令方式
*G91 03 增量值指令方式
G92 00 工件零点设定
*G98 10 固定循环返回初始点
G99 10 固定循环返回R点
G代码被分为了不同的组,这是由于大多数的G代码是模态的,所谓模态G代码,是指这些G代码不只在当前的程序段中起作用,而且在以后的程序段中一直起作用,直到程序中出现另一个同组的G代码为止,同组的模态G代码控制同一个目标但起不同的作用,它们之间是不相容的。00组的G代码是非模态的,这些G代码只在它们所在的程序段中起作用。标有*号的G代码是上电时的初始状态。对于G01和G00、G90和G91上电时的初始状态由参数决定。
如果程序中出现了未列在上表中的G代码,CNC会显示10号报警。
同一程序段中可以有几个G代码出现,但当两个或两个以上的同组G代码出现时,最后出现的一个(同组的)G代码有效。
在固定循环模态下,任何一个01组的G代码都将使固定循环模态自动取消,成为G80模态。
1.3 辅助功能
本机床用S代码来对主轴转速进行编程,用T代码来进行选刀编程,其它可编程辅助功能由M代码来实现,本机床可供用户使用的M代码列表如下
M代码 功能
M00 程序停止
M01 条件程序停止
M02 程序结束
M03 主轴正转
M04 主轴反转
M05 主轴停止
M06 刀具交换
M08 冷却开
M09 冷却关
M18 主轴定向解除
M19 主轴定向
M29 刚性攻丝
M30 程序结束并返回程序头
M98 调用子程序
M99 子程序结束返回/重复执行这是普通的指令编程,还有利用变量编制的程序,

统宏程序编程

一 变量

普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100

G01 X#1 F300

说明:

变量的表示

计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。

例如:#1

表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]

变量的类型

变量根据变量号可以分成四种类型

变量号

变量类型

功能

#0

空变量

该变量总是空,没有值能赋给该变量.

#1-#33

局部变量

局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,

#100-#199

#500-#999

公共变量

公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.

#1000

系统变量

系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.

变量值的范围

局部变量和公共变量可以有0值或下面范围中的值:

-1047到-10-29或-10-2到-1047

如果计算结果超出有效范围,则发出P/S报警NO.111.

小数点的省略

当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用

为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;

被引用变量的值根据地址的最小设定单位自动地舍入。

例如:

当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.

改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1

当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

双轨迹(双轨迹控制)的公共变量

对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。

未定义的变量

当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。

引用

当引用一个未定义的变量时,地址本身也被忽略。

当#1=

当#1=0

G90 X100 Y#1

G90 X100

G90 X100 Y#1

G90 X100 Y0

(b) 运算

除了用赋值以外,其余情况下与0相同。

当#1=时

当#1=0时

#2=#1

#2=

#2=#1

#2=0

#2=#*5

#2=0

#2=#*5

#2=0

#2=#1+#1

#2=0

#2=#1+#1

#2=0

(c)条件表达式

EQ和NE中的不同于0。

当#1=时

当#1=0时

#1EQ#0 成立

#1EQ#0 不成立

#1 NE #0 成立

#1 NE #0 不成立

#1 GE #0 成立

#1 GE #0 不成立

#1 GT #0 不成立

#1 GT #0 不成立

限制

程序号,顺序号和任选程序段跳转号不能使用变量。

例:下面情况不能使用变量:

0#1;

/#2G00X100.0;

N#3Y200.0;

算术逻辑运算

下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。

说明:

角度单位

函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30'表示为90.5度。

ARCSIN # i= ASIN[#j]

(1)取值范围如下:

当参数(NO.6004#0)NAT位设为0时,270°~90°

当参数(NO.6004#0)NAT位设为1时,-90°~90°

(2)当#j超出-1到1的范围时,发出P/S报警NO.111.

(3)常数可替代变量#j

ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111. 常数可替代变量#j

三 程序举例

椭圆

轨迹:

椭圆程序代码如下:

N10 G54 G90 G0 S1500 M03

N12 X0 Y0 Z20.

N14 G0 Z1

N16 G1 Z-5. F150.

N18 G41 D1

N20 #1=0

N22 #2=34

N24 #3=24

N26 #4=#2*COS[#1]

N28 #5=#3*SIN[#1]

N30 #10=#4*COS[45]-#5*SIN[45]

N32 #11=#4*SIN[45]+#5*COS[45]

N34 G1 X#10 Y#11

N36 #1=#1+1

N38 IF [#1 LT 370] GOTO26

N40 G40 G1 X0 Y0

N42 G0 Z100

N44 M30

铣矩形槽:

铣矩形槽代码如下:

#102=0.

N3#100=0.

#101=0.

#103=200.

#104=400.

G91G28Z0.

G0G90G54X0.Y0.

G43H1Z20.

M3S2000.

N4G0X#100Y#101

G01Z#102F200.

#102=#102-2.

IF[#102EQ-50.]GOTO1

GOTO2

N2

N4X#104F500.

Y#103

X#100

Y#101

#100=#100+10.

#101=#101+10.

#103=#103-10.

#104=#104-10.

IF[#100EQ100.]GOTO3

GOTO4

N3

N1

M5

M9

G91G28Z0.

G28Y0.

M30

铣倾斜3度的面:

轨迹:

铣倾斜3度的面的代码如下:

O0001

#[#1+1*2]=1

G65P9012L1A0B0.1C4I100J3K0

M30

宏程序O9012代码如下:

G54 G90 G00 X[#3] Y0 Z100

S500 M3

G01 Z0 F300

WHILE[#1LE10]DO1

#7= #1/TAN[#5]+#3

G1Z-#1 X#7

#8=#6/2-ROUND[#6/2]

IF[#8EQ0]GOTO10

G1Y0

GOTO20

N10 Y#4

N20#1=#1+#2

#6=#6+1

END1

G0

Z100

铣半球:

轨迹:

铣半球代码如下:

G90G0G54X-10.Y0M3S4500

G43Z50.H1M8

#1=0.5

WHILE[#1LE50.]DO1

#2=50.-#1

#3=SQRT[2500.-[#2*#2]]

G1Z-#1F20

X-#3F500

G2I#3

#1=#1+0.5

END1

G0Z50.M5

M30

铣喇叭:

铣喇叭代码如下:

M03 S500

M06 T01

#1=0

#2=0

G0 Z15

X150 Y0

N11

#2=30*SIN[#1]

#3=30+30*[1-COS[#1]]

G01 Z-#2 F40

G41 X#3 D01

G03 I-#3

G40 G01 X150 Y0

#1=#1+1

IF [#1 LE 90] GOTO 11

G0 Z30

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多