o:程序号,设定程序号
n:程序段号,设定程序顺序号
g:准备功能
x/y/z :尺寸字符,轴移动指令
a/b/c/u/v/w:附加轴移动指令
r:圆弧半径
i/j/k:圆弧中心坐标(矢量)
f:进给,设定进给量
s:主轴转速,设定主轴转速
t:刀具功能,设定刀具号
m:辅助功能,开/关控制功能
h/d:刀具偏置号,设定刀具偏置号
p/x:延时,设定延时时间
p:程序号指令,设定子程序号(如子程序调用:m98p1000)
l:重复,设定子程序或固定循环重复次数(如:m98 p1000 l2,省略l代表l1)
p/w/r/q:参数,固定循环使用的参数(如:攻牙g98/(g99)g84 x_ y_ r_ z_ p_ f_)
2. 常用g代码解释
g00:定位或快速移动
g01:直线插补
g02:圆弧插补/螺旋线插补cw
g03:圆弧插补/螺旋线插补ccw
g04:停留时间或延时时间
如:g04 x1000(或g04 x1.0)
g04 p1000表示停留1秒钟
g09:准确停止或精确停止检查(检查是否在目标范围内)
g10:可编程数据输入
g17:选择xpyp 平面 xp:x 轴或其平行轴
g18:选择zpxp 平面 yp:y 轴或其平行轴
g19:选择ypzp 平面 zp:z 轴或其平行轴
g20:英寸输入
g21:毫米输入
g28:返回参考点检测
格式:g91/(g90) g28 x__ y__ z__
经过中间点x__ y__ z__返回参考点(绝对值/增量值指令)
g29:从参考点返回
g91/(g90) g29 x__ y__ z__
从起始点经过参考点返回到目标点x__ y__ z__的指令(绝对值/增量值指令)
g30 返回第2,3,4 参考点
g91/(g90) g30 p2 x__ y__ z__;返回第2 参考点(p2 可以省略。)
g91/(g90) g30 p3 x__ y__ z__;返回第3 参考点
g91/(g90) g30 p4 x__ y__ z__;返回第4 参考点
x__ y__ z__:经过中间点位置(绝对值/增量值指令)
g40:刀具半径补偿取消
g41:左侧刀具半径补偿(沿进给方向刀具在左边)
g42:右侧刀具半径补偿(沿进给方向刀具在右边)
g43:刀具长度补偿+方向
g44:刀具长度补偿-方向
g49:取消刀具长度补偿
g50:取消比例缩放
g51:比例缩放,格式:
on g51 x_ y_ z_ p_;
off g50
x_ y_ z_:设定缩放中心位置
p:缩放比例,范围是1-999999,不能是小数,如果p800代表缩放比例是0.8
g52:设定局部坐标系
g53:选择机床坐标系
g54-g59:选择工件坐标系1-6
g60:单方向定位,消除传动间隙(代替g00),过目标位置后然后回头至目标位置
g61:准停检查方式,切削进给接近目标位置时减速并检查位置公差范围
g62:自动拐角倍率
g63:攻牙方式
g64:正常切削方式,切削进给接近目标位置时不减速,以及切削段与段之间不减速
g65:宏程序调用
g66:宏程序模态调用
g67:宏程序模态调用取消
g68:坐标旋转,格式:
g17:g68 x_ y_ r_
g18:g68 x_ z_ r_
g19:g68 y_ z_ r_
g69 坐标旋转取消
g73:多级钻削循环
g74:攻左旋螺纹循环
g76:精镗循环(定向偏心退刀)
g80:取消固定循环
g81:单级钻削循环
g82:单级钻削循环(实现孔底停留或延时)
g83:多级钻削循环
g84:攻右旋螺纹
g85:镗削循环
g86:镗削循环
g87:反镗循环
g88:镗削循环
g89:镗削循环
g90:绝对指令
g91:相对指令
g92:设定工件坐标系
g98:固定循环后退时退回起点
g99:固定循环后退时退回点(r点在固定循环中设定)
3. 常用m代码解释
m00:程序无条件停止
m01 :程序条件停止
m02 :程序结束
m03 :主轴正转
m04 :主轴反转
m05 :主轴停止
m08 :开外冷
m09 :关所有冷却
m26 :开内冷
m30 :程序结束并返回到程序开头
m84 :检查托盘1
m95:检查托盘2
m98 :调用子程序
m99 :返回主程序
m135:刚性攻牙
m417:机床托盘1检查
m418:机床托盘2检查
m419:机床托盘检查结束
m433:刀具断刀检测
m462:托盘号传送
4. 常用算术
加法:#i=#j+#k
减法:#i=#j-#k
乘法:#i=#j*#k
除法:#i=#j/#k
正弦:#i=sin[#j]
反正弦:#i=asin[#j]
余弦:#i=cos[#j]
反余弦:#i=acos[#j]
正切:#i=tan[#j]
反正切:#i=atan[#j]
平方根:#i=sqrt[#j]
绝对值:#i=abs[#j]
舍入:#i=round[#j]
上取整:#i=fix[#j]
下取整:#i=fup[#j]
自然对数:#i=ln[#j]
指数函数:#i=exp[#j]
或:#i=#jor#k
异或:#i=#jxor#k
与:#i=#and#k
从bcd转为bin:#i=bin[#j]
从bin转为bcd:#i=bcd[#j]
5. 逻辑运算符
eq:等于
ne:不等于
gt:大于
ge:小于或等于
lt:小于
6. 程序转移和循环
无条件转移:goto
条件转移:if [条件表达式]
if [条件表达式] goto n,如果条件满足,则跳转至程序段n
if [条件表达式] then,如:if [#i=#j] then #k=0
7. 循环语句
while [条件表达式] dom (m=1,2,,3)
…
endm
如果条件满足则执行dom至endm之间的程序(直到条件不满足),否则转而执行endm后面的程序
以上由金华洲cnc部门同仁做出简单总结,来源:jhz88