数控编程题写代码,有没有好兄弟帮帮忙的。比较急 数控编程指令g0
- 数控编程代码
- 数控编程八边型:G54 G90 G40 G00 X55. Y50.Z2O.; M03 S1000; G01 Z-3.; G42 G01X49.Y0.D01; 哪里有错
- 数控铣床编程 简单 100分求助 急~~~~~~~
- 数控编程 bcd码大神们帮帮忙

数控编程代码
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
M30
数控编程八边型:G54 G90 G40 G00 X55. Y50.Z2O.; M03 S1000; G01 Z-3.; G42 G01X49.Y0.D01; 哪里有错
一是G01后面F的速度
二其实在运用G16的过程中,程序中没用G15取消也不会报警的,当然为避免在加工别的程序的时候发生故障,一般用G15取消,因为是模态指令。
三是,可能你在刚开始编程的时候存在问题,G54 G90 G40 G00 X55. Y50.Z2O.; M03 S1000; G01 Z-3.; G42 G01X49.Y0.D01;
G16;
G01 X53.04 Y22.5;
中的, G16应该放在程序的开头的按你的编程,不能你会造成过切,并且当速度不当时会发生撞刀,为得到完整形状,你从外面进刀,这个思路是正确的,
所以主要的问题应该是G16的使用位置,以及在编写过程中起始点的运用,起始点应该是第一条边的延长线上的一点,
对以上问题如有异义的话,可以进行探讨,
之前我加工过正六边形加工作,也到了极坐标,半径补偿,等
我们的思路差不多
数控铣床编程 简单 100分求助 急~~~~~~~
中心零零点,从右边下刀,Z轴自行控制,以下是铣外围
%
O0001
G40G49G80G69
M3S1500
G90G0X50Y0
G01G41D1X35Y0F500
G01Y-25
G03X25Y-35R-10
G01X-15
G02X-35Y-15R20
G01Y25
G03X-25Y35R-10
G01X15
G02X35Y15R20
G01Y-5
G40X50
M30
孔
O0002
M3S1000
G90G0X15Y-15
G41D1G01X25F300
G03I-10F500
G40G01X15
M30
另外一个孔改中心就好了
数控编程 bcd码大神们帮帮忙
我不知道你说的是什么系统,我记得数控有这样的指令 #I=ROUND[#j] 四舍五入化整 #I=FIX[#j] 下取整 #I=FUP[#j] 上取整 法那科 ROUND舍入为双整数 TRUNC舍去小数取整为双整数 CEIL上取整 FLOOR下取整 西门子
