A数控系统
NC编程手册
此手册供开放式数控系统PA8000_CNC的编程人员参考使用,编程人员在编写
数控程序前请仔细阅读本手册
PA8000_CNC编程指令基于DIN66025标准
手册中将介绍各种定位指令、几何指令、循环指令、参数编程指令及主轴控制指令
数控机床的坐标系和运动方向
数控机床上的坐标系采用右手直角笛卡儿坐标系
右手直角笛卡儿坐标系规定直角坐标X,Y,Z,三者的关系及其正方向用右手定则判定,绕X,Y,Z轴的回转运动及其正方向+A,+B,+C分别用右手螺旋法则判定。
本手册仅仅介绍PA8000_CNC基本的编程指令,不包括PA公司其他可选功能的G代码和M 代码,如果需要,用户可向机床制造商索取专门的介绍资料
希望本手册能对编程人员有所帮助
1
坐标系与原点的概念
?机床零点:机床基本坐标系的原点,它平行于机床坐标系且是一个被确定的点。
?机床参考点:又称机械原点,机床各运动部件在各自的正向自动退至极限的一个固定点(由限位开关准确定位),至参考点时所显示的数值则表示参考点与机床零点间的距离,作为系统内运算的基准点。实际上,机床参考点是机床上最具体的一个机械固定点。而机床零点只是系统内的运算基准点,其处于机床何处无关紧要。每次回零时所显示的数值必须相同,否则加工有误差。参考点在机床出厂时已设定,用户一般不作变动。
?工件零点:工件坐标系的原点编程时,一般选择工件图样上的设计基准作为编程零点,例:回转体零件的端面中心,非回转体零件的角边,对称图形的中心,作为几何尺寸绝对值的基准,在工件上以编程零点建立的坐标系称为工件坐标系
?起刀点与对刀点:起刀点是指刀具起始运动的刀位点,也即程序开始执行时的刀位点。所谓刀位点即刀具的基准点,如圆柱铣刀底面中心,球头刀中心,车刀与镗刀的理论刀尖;对刀点的位置是刀位点与工件零点在机床坐标系中的准确位置
NC程序
1>任何一个NC程序段都有顺序号Nxx, 顺序号必须放在NC程序段的最前端,它以字母N
来表示,最大默认后面跟6位有效数字,数字前端0可忽略(范围0—999999,此范围可通过机床参数来设置)
2>并且NC程序段的最大长度128个字符
3>使用程序号可以很方便的插入、修改、NC程序段,每一个程序号将自动的按程序号有
小到大进行排列放入NC程序中,每一行中相同的地址字只能出现一次
4>程序号以P开头,后面跟不超过6位数的数字(范围1—999999)
5>固定循环功能,不同的数控系统其编制的代码,格式等有较大的区别,开放式的数控
系统中可能用参数编程来完成循环功能
6>G代码有两种,一种是模态G代码,另一种是非模态G代码,模态G代码的含意是直
到同一组的其它G代码被指定之前均有效的G代码,具有续效性,在后续程序段中,只要同组其它G代码未出现之前一直有效,非模态G代码的含意是仅在被指定的程序段内有效的G代码
7> 变量赋值、变量运算和轴移动指令不能使用在同一行中,变量赋值、变量运算、程序控制语句行的顺序号前面必须有字符“*”
例:* N100 P1=200,P2=300
N110 G1 X=P1 Y=P2
* N120 IF P1>100 GO 200
2
3
注意:?表示默认的状态
2) M代码:
4
辅助功能:
辅助功能编程指令把相关信息从CNC转换并传送至PLC。
在PA8000_CNC中,通常用M、S、U和T等4条指令来执行相关的辅助功能。PA数控根据指令传送至PLC,再根据相关的PLC程序及BCD码来执行各项辅助功能。表2-2中所有M 指令功能已经在PLC中预定义
程序段跳步:
借助于斜杠“/”,PA8000LW CNC可以实现跳步功能。如果自动方式(CTRL+ALT+A)→F3程序处理2→F1(/)跳步已经被选定,在数控程序执行过程中,带“/”的程序段就会不被执行。但是如果F1(/)跳步未被选定,数控程序则按照普通数控程序执行。
例: N10 G0 X0 Y0
/N20 G1 X2000 Y300 跳步功能被选定时不执行
N30 G1 X4000
注:?如果程序段已经在程序段动态堆栈中处理但还未被执行,此时F1(/)跳步被选中,此程序段仍然会被执行。
循环执行程序:
循环执行程序的功能由与M02或M30绑定在一起使用L指令实现
例:N ? M30 L5 此命令表示整个主程序将被重复5次,即总共被执行6次
N … M30 L0 表示主程序将无限制的循环
程序:
5
在PA8000NT中,调用子程序可以由Q指令后跟NC程序号来调用,而且子程序可以调用子程序,但对主程序最多可调用4层子程序。
如果用户需要循环调用子程序,同样在PA数控系统中使用L指令。有一点需要指出的是,如果在所要调用的子程序中已经有L指令,这里的L指令是没有任何作用。
例: N? Q100 L5 程序100将被作为子程序调用并且总共执行6次。
作为一个程序而言,主程序和子程序实际上是没有分别的。
注意:?如果在子程序中没有M30或M02,子程序将不能被调用。
?子程序不可以采用参数编程的程序段作为开始。
NC程序中的注释:
PA数控中的NC程序段可以有相关的一些注释,它们可以被写在一个程序段的任何位置,但对程序段的执行没有任何影响,当然,注释的内容需要使用括号。
例?
N20 G1 X0 Y0 Z0 (回到零点)
?
有两个专门的注释形式可以使注释的内容显示在PA8000NT的报警信息栏上:
1.(MSG,注释) ?
2.(*MSG,注释)?
第一种情况使得注释内容仅仅在当前程序段执行时显示,在执行到下一程序段时,注释的信息将被从报警信息栏自动删除。
第二种情况使得注释内容在执行该程序段时显示,直到整个主程序结束时,注释信息才会从报警信息栏删除。
注:在参数编程方式下?/注释?也可以被使用,所有跟在斜杠后的内均被认为是注释。
6
7
普通定位指令:
G00快进点定位指令:(此速度出厂时已设定) 指令形式: G00 X ? Y ?
快速进给指令由
G00激活,允许刀具在允许范围内以最大的速度快
速移动至终点,X 、Y 后跟终点坐标
应用: G00一般在刀具不进行切削时对刀具进行定位操作。
例: N10 G90
N20 G00 X50 Y80 Z100 快速移至X50 Y80 Z100然后到Z20 N30 Z20
G01切削进给速度直线插补:
8
指令形式: G01 X ? Y ? F ? ?
切削进给速度直线插补指令由G01激活,允许刀具以F 指令所指定的速度进行切削。
例: N10 G90
N20 G01 X80 Y80 Z80 F200
终点坐标 进给速度200mm/分钟
G02/G03指定圆心的圆弧插补:
指令方式: G02/G03 X ? Y ? I ? J ? (G17激活)
G02/G03 Z ? X ? K ? I ? (G18激活) G02/G03 Y ? Z ? J ? K ? (G19激活)
圆弧插补的指令由G02/G03激活,G02代表顺时针方向插补,G03代表逆时针方向插补,I 、J 、K 指定圆心坐标。
执行的圆弧插补所在平面由G17-G20决定
例:(起点:X=0,Y
=50)
I、J后面的数值等于圆心坐标值减去起点坐标值,由此可以算出例中圆弧的圆心为(30,40)
用于车床上:直径编程中,终点坐标(X)以直径输入,如DiameterAppl Bit2=0(I J K)的值以半径输入,如DiameterAppl Bit2=1 (I J K)的值以直径输入
例如:N10 G02 X-20 Z0 I-5 K0 (画一个半径为5mm的圆)
圆心坐标以半径计算(-5,0)起点坐标也以半径计算(0,0)
I=-5+0=-5
注意:如果G02/G03在坐际系中不能实现,报警243 、203将显示
G12/G13 指定半径的圆弧插补:
指令形式:G12/G13 X? Y? K?
指定半径的圆弧插补由G12/G13激活
G12代表顺时针圆弧插补,K值代表半径大小
G13代表逆时针圆弧插补,K值代表半径大小
与G02/G03指令不同的是:
?显然,G02/G03圆弧插补的圆心由圆心与起点的相对坐标关系
决定,而G12/G13圆弧插补的圆心由圆弧的半径决定。
?G12/G13不能完成整个圆的圆弧插补。
例:N10 G00 X0 Y0 F100
N20 G12 X0 Y0 K-10
?
如果执行上面的程序,PA数控将停止执行,提出报警,因为G12
将要执行的是整个圆弧
K后面的符号表示圆弧角度的大小,”+”表示圆弧小于180度”-”
表示圆弧大于180度,对于180度的圆弧,正负号均可
9
注意:1>起点=终点
2>无K值的输入
3>半径太小,起点与终点之间的距离大于2倍的半径
PA8000_CNC将拒绝,出现114号报警
例:N40 G1 X15 Y5
N50 X10 Y15
N60 Y45
N70 G2 X30 Y65 I20
N80 G1 X85
N90 G12 X90 Y60 K5 圆弧<180
N100 G1 X95
N110 Y15
N120 G13 X75 Y5 K-14 圆弧>180
N130 G1 X15
10
螺旋线差补功能:
在系统中螺旋线差补功能激活,通过G02,G03,G12,G13螺旋线被执行例如:X-Y平面(G17)
N10 G02 I10.73 Z20.1
在X-Y平面中完成圆弧,现在Z轴作为螺旋线轴
注意:
●螺旋线轴最多6根
●在G07 G41 G42,螺旋线轴都有效
11
G07切线圆弧插补:
指令形式:G07 X? Y?
切线圆弧指令由G07激活,此命令表明从上一程序段的终点(对G07
来讲则是起点)开始延切线方向执行圆弧插补至G07所指向的终点
PA8000N_CNC会自动计算出半径和起点。
直线/圆弧例:
N10 G00 X10 Y10 F200 快速直线插补至X10 Y10
N20 G01 X20 Y40 以F200的进给速度直线插补至X20 Y40
N30 G07 X50 延前一程序段切线方向作切线圆弧插补至
X50 Y40(半径为15.811, 圆心为X35 Y35)
N40 G01 X90 Y20 直线插补至X90 Y20
N50 M30
注意:圆弧仅仅与前一程序段直线相切,与后一程序段并无关系
12
圆弧/圆弧例:
N10 G2 X30 Y30 I30
N20 G7 X50 Y50
N30 G1X70Y60
N40 M30
G04暂停时间:
指令形式:G04 F?
G04指令可使刀具作短时间的无进给光整加工,用于车槽,钻镗
孔,镗平面,锪孔等场合。还可用于拐角轨迹控制。由于系统的
自动加减速作用,刀具在拐角处的轨迹并不是直角。如果拐角处
的精度要求很严,其轨迹必须是直角时,可在拐角处使用暂停指
令。暂停时间设定指令由G04和F指令共同设置,暂停的时间应
以s为单位输入至F指令后面
暂停时间单位可以由机床参数设置
暂停时间设定指令的功能为在设定的时间范围下一程序段被暂停
执行
例:?
N40 X10
N50 G04 F5
N60 Y20
?
在N40和N60程序段之间需要执行5s的等待时间。如果等待暂停
时间超过100000s,则需多次执行G04指令。
13
14
G78/G79两维切线设置:
指令形式: G78(C ) 两维切线设置ON
G79 两维切线设置OFF
在平面移动运行过程中,两维切线设置功能使得旋转轴可以根据轨迹切线的方向按照预设好的角度定位。
应用:
1.锯床:
想要锯出的工件形状如上图曲线所示,锯条必须随着进给轴的移动延工件轮廓切线方向旋转。 2.激光焊接:
在激光焊接过程中,材料的进给必须与激光束形成一定的角度,于是材料就需要不停的旋转来改变方向。
3.车床:
车床中的两维切线设置:
在车削过程中,刀具A 的刀尖需要一直与工件的轮廓相切,这就需要刀具不停的旋转,但是对刀具B 而言,刀具则首先需要转过一个固定的角度。
4.冲床/步冲机
冲床/步冲机的两维切线设置:
在冲床或步冲机上,冲头需要随着工件轮廓不停的旋转。
编程:
两维切线设置功能由G78激活,由G79或复位操作来关闭。当G78后不跟角度偏置值,此时采用缺省值0,如果想改变角度偏置值,则利用G78重新设置。
例:
N10 G1 X0 Y0 C0 F3000
N20 G78 X30 Y30
N30 G1 X60 Y40
N40 G3 Y80 J-20
N50 G1 X0
N60 G78 X-40 C45
N80 G1X-20
N90 G78 Y0
N100 G1 X-30 Y-30 M30
在整个加工过程中,刀具一直随着轨迹的方向以程序中所设定的角度移动。如N60程序段,程序轨迹是半个圆弧,在移动过程中,刀具必须实时地与轨迹保持45度的角度。
15
G72/G73 精确定位插补关闭/激活:
指令形式:G72/G73
精确定位插补功能由G73激活,由G73关闭。
工件加工的轮廓误差来自于不可避免的控制偏差,轮廓误差的大
小由进给速率和控制环增益决定。轮廓误差会导致工件的轻度圆
由轮廓误差引起的轮廓的圆角不是很容易就可以弥补的,因为通
常尖角是人们所不希望的,但此时利用G73指令就非常有效的可
以使各种类型的插补精确定位至程序段终点。当G73激活时,刀
具在到达程序段终点则有可能与工件不接触。
G08/G09预读功能关闭/激活:
指令形式:G08/G09
预读功能由G08关闭,由G09激活。
注:在下面的G代码指令激活时,预读功能将会被停止:
G73 精确定位插补激活
G74 回原点
G95 进给速率单位为米/转
在这些G代码指令激活时,G08被自动激活
应用:在定位程序段的开始,进给速率由零加速至相关的进给速率,在定位程序段的结束前开始制动,直到进给速率降至零。当G09预
读功能被激活时,PA数控将预读一定的程序段,再根据相应的
进给速率自动调整,从而达到加速或制动的目的
16
?如果G09后面的程序段执行时间太短或者太长,就会产生
G09来不及产生影响程序段已经执行完毕的情况,或者G09
连一个程序段还没有预读完成,此时需要利用其他G代码指
令(G04或G11)。
例:?
N30 G9 (G09必须在G4/G11前激活)
N40 G4 F500 N40 G11
N50 G1 X20 Y30
?
N200 M30
G10/G11清空/填满动态程序段堆栈:
指令形式:G10/G11
应用:激活G10,则当所有的即将被执行的程序段离开程序段堆栈后程序段堆栈才会被编译器重新填满,按START按钮后,NC程序才进入
堆栈区
激活G11,如果程序段堆栈已满或者整个NC程序都已经在堆栈中,
G11后面的程序段将直接在插补运算处理器中进行处理
此功能在G11后面跟着大量非常短的程序段时非常有效
17
例如:
(1)NC_start按钮被按下后,N180程序段才进入系统处理中
G63/G66进给倍率调整:
指令形式:G63 F…编程调整进给倍率(调整范围1%--120%)
G63 S…编程调整主轴倍率(调整范围50%--120%)
G66 取消编程调整倍率
进给倍率是程序编程中进给速率的百分比数,通常PA8000_CNC提
供两种方式改变进给倍率:
-使用倍率开关手动调整
-编程调整进给倍率
应用:例:进给倍率:
N10 G66 进给倍率由倍率开关手动调整
?
N50 G63 G63激活,进给倍率为100%
?前一次G63的F值再一次有效
N100 G63 F50 G63激活,进给倍率为50%
?
主轴倍率:
与进给倍率相同作用
注:?编程中进给倍率的调整对G00同样有效
?编程中进给倍率的调整对G74(回零)和G33/G34(螺纹切削)无效
?开启G63后,面板上的主轴倍率与进给倍率开关无效
?关闭G63后,面板上的主轴倍率与进给倍率开关有效
18
G40-G44 路径补偿:
指令形
G40 取消路径补偿
令:
G41 D?激活路径左补偿
G42 D?激活路径右补偿
G43 D?激活路径左补偿(起点不同)
G44 D?激活路径右补偿(起点不同)
在NC编程中,一般来说,NC程序是以刀尖中心作为程序路径的基准点,但是
实际上,刀具需要占有一定的空间,并不是所谓理论上的刀尖,此时利用G40
-G44路径补偿则可以对刀尖半径进行补偿。
应用:例1. N10 G1 X1 Y1 F100
?
N40 Y2
N50 G41 D1
N60 G2 X2.5 Y3.5 I1.5
N70 G1 X5
?
近程序段。如果路径补偿G41或G42被激活,接近程序段与
下一程序段的交点到程序路径中接近程序段以及下一程序段
的距离相等。
?如果接近程序段为圆弧,执行路径补偿后实际路径则为弧
线,如果接近程序段为直线,执行路径补偿后实际路径则为
直线。
?补偿值开启后,下一程序必须在此平面工作,不应再补偿命
令和接近程序段之间插入Z向移动命令程序
19
例2. ?
N10 G1 X1.5 Y0
N20 G41 D1 X4 Y2 或 N20 G43 D1 X4 Y2
N30 X3 Y5
?在上面的程序中,很明显的可以看出采用G41指令的补偿路径与期望达到的路径有较大的差异,因此应采用G43指令来
进行补偿。
?与G41路径补偿不一样的是,G43激活后,补偿路径中接近程序段与下一程序段的交点和程序路径中两者的交点之间的线
段垂直于程序路径和补偿路径。
?G41/G42与G43/G44之间的差异仅仅存在于接近程序段中,以后程序的执行没有任何差别。
20