|
马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linear moves线性移动G01
( Up-dated 13/08/2002 )
The normal minimum output format for a linear move is
G01 X... Y... Z... F...
where G01 ( or G1 ) is the code for linear.
X Y and Z are the absolute or incremental positions.
F is the feed rate
The spindle speed and tool length offset may also appear on a linear move, this is more likely with multi-axes moves.
Also cutter compensation codes could be set if required, this is also more likey with PowerMill 3.0 2D machining..
A define block move linear is very rarely defined in the source files..
比较常用的线性移动表达式为: G01 X... Y... Z... F... 这里G01(G1)是线性移动的代码,X Y Z是相对或者绝对坐标系下的数值,F表示进给速度。还有主轴转速或者刀长补正也可能出现在线性移动的表达式后面。或许半径补偿也会出现大多数是在PM里面的2D加工中
However, it is recomended that if the block is not set up in the Source Post Processor control file, the example below would be better defined in the option. . ( In very rare circumstances it has been found that possible errors could occur if not set up )
然而,我们建议如果原处理程序里面没有定义线性移动,那幺下面的例子里面是比较好的定义方法。(如果没有定义,在很少的情况下会发生错误警报)
The option file " define block move linear " could look like this :-
define block move linear
N ; G1 ; G2 ; X ; Y ; Z ; D ; F ; M1 ; M2
end define
( G1 is the linear code ( output normally G1 ), G2 is the cutter compensation code ( normally G41 or G42 ), D is the tool radius offset, F is the feed rate,.and M1, M2 will be M function codes. [ For multi-axes options it would be prudent to add G6, S and H ]
在文件里面通常这样定义线性移动。
define block move linear
N ; G1 ; G2 ; X ; Y ; Z ; D ; F ; M1 ; M2
end define
这里G1是线性移动的代码(通常输出为G1),G2是刀具半径补偿(通常输出为G41或者G42)D是刀具的半径偏置数值,F是进给率。M1,M2是机床代码[在多轴程序里面还要加上G6,S以及H等指令]。
[$#8226] We RECOMEND that the format should be as follows instead of the above :-
define block move linear
N ; linear ; G2 ; x coord ; y coord ; z coord ; tool radius ; feedrate ; M1 ; M2
end define
[$#8226] The radius compensation will need to be added to the majority of options as this is missing in the source files and is specifically required for PowerMill 2D radial leads in/out linear extension compensation setting. ( Many machine tool controls cannot apply a radial compensation on an arc, only on a straight line )
A feedrate is usually required to be output for a linear move.
The first move after a tool change is always treated as a special case. ( This is normally a Rapid Move function but can overlap, especially in multi-axes options. In these cases the Linear Block will need special attention, see tool change )
Linear travel limits may be set and a warning message will appear if the X, Y or Z values exceed these limits. ( The default limits in DUCTpost are usually set at -999999. and 999999. for all axes. See Limits )
A check is made on the change in angle between each move and the next so that it is possible to output a constant contour speed code ( e.g. M90 on the Heidenhain) for moves where the change in angle is small.
[$#8226] NOTE : All multi-axes moves are treated as Linear so it will be necessary to add the angular axes :- azimuth axis ; elevation axis to the above.
我们建议用下面的定义取代上面的线性移动定义方法。
define block move linear
N ; linear ; G2 ; x coord ; y coord ; z coord ; tool radius ; feedrate ; M1 ; M2
end define
在绝大多数情况下半径补偿的指令在原处理程序中都没有定义,但是在左PM两维加工的时候,切入切出必须带半径补偿,如果没有可能会造成过切等结果。(许多机床处理器在圆弧的部位不能够进行半径补偿,而只能在直线的部位进行半径补偿。)F数值通常都跟在线性移动的程序行的后面。
在换刀后的第一次移动通常要特殊对待。()
线性移动的极限值要定义,如果X Y Z的数值超多极限值系统将要产生报警信息(超行程)。缺省状态下DUCTpost通常把轴的极限数值设为-99999~99999。参考(Limits)
为了输出固定的连续的轮廓程序必须设定一个最小忽略角度,用来检查两个线性移动之间的角度数值是否可以忽略。比如说在Heidenhain里面定义为M90。
---------------------------------------------------------------------------------------------------------------
Circular moves圆弧进给
( Up-dated 13/08/2002 )
The normal form for a circular move is
G02 X... Y... I... J... F...)
or } xy Plane ( G17 )
G03 X... Y... I... J... F...)
G02 X... Z... I... K... F...)
or } zx Plane ( G18 )
G03 X... Z... I... K... F...)
G02 Y... Z... J... K... F...)
or } yz Plane ( G19 )
G03 Y... Z... J... K... F...)
where G02/G03 (or G2,G3) is the code for clockwise and anticlockwise arcs, X, Y or Z are the end points of the arc, I, J or K represent the circle centre. The G codes for circle and planes are set in the define codes block:
这里G02/G03(或者G2,G3)是顺时针圆弧和逆时针圆弧的代码,X, Y ,Z是圆弧终点的坐标,I, J ,K表达的是圆的中心。表示圆弧的G代码和平面将添加在程序行里面。
define codes
circle cw = G1 2
circle ccw = G1 3
xy plane = G3 17
xz plane = G3 18
zy plane = G3 19
end define
where G1 is the first modal group of G codes, and G3 the third group. They do not normally need to be changed.
这里G1是G代码的第一组资料的代码,G3是第三组代码。他们一般不需要改变。
The I, J and K coordinates may represent the actual absolute circle centre, in which case set
incremental centre = false
I,J和K坐标如果表示的是绝对坐标系下的代码需要设置incremental centre为false
or they may represent the incremental distance between the start point and the centre, in this case set
incremental centre = true
如果I,J和K坐标表示相对圆弧起点和中心的增量值可以设置incremental centre为true
If the I, J or K coordinates have the wrong sign ( it is important to check this if the centre type has been changed ) then the sign can be changed using
define format ( I J K )
scale factor = -1 or 1
end define
Circle centre position I J, J K or I K appear for the appropriate plane output. If the plane code is also required ( e.g G17, G18 and G19 ) make sure that G3 is defined in the define block move circle.
如果I,J,K坐标有错误的符号,符号可以通过定义来改变(检查中心类型是否变化非常重要)。圆心坐标IJ,JK和IK是配合平面一起输出的。如果平面代码需要输出就要检查G代码的第三代码组是否定义(G17,G18或者G19)。
If the plane code has to appear on a line before the circle, put G3 on a separate line in the " define block move circle ".
On a few machines it is necessary to split circular arcs into separate arcs for each quadrant. This is achieved by setting :-
single quadrant = true
有一些机床不能输出360度圆弧,必须分割圆弧才能输出。需要定义single quadrant = true
The option file " define block move circle" should look like this:
define block move circle
N ; G1 ; G3 ; x coord ; y coord ; z coord ; key i ; key j ; key k ; feedrate ; M1 ; M2
end define
G1 is the circle code ( normally G2/G3 ), G3 is the plane code ( G17, G18, G19 ).
Circle arc output is prevented :
Circular arcs can be suppressed and output as a set of small straight lines if the following flags are defined : ( see Array data )
circle output = ( 0 1 1 1 ) or integer 26 = 0 is used
抑制圆弧输出。有些机器不接受圆弧输出,那么就要用一小段小段的直线来代替。必须定义circle output = ( 0 1 1 1 ) or integer 26 = 0
Preventing circle arc output in the individual major planes :
Circular arcs can now be suppressed and output as a set of small straight lines in individual planes by defining: the following flags :-
suppress xy arc = true defualt = false
suppress xy arc = true defualt = false
suppress xy arc = true defualt = false
在单独的主平面上抑制圆弧输出的设置。在某些主平面上圆弧输出可以抑制并依小直线段来代替输出的设置如下suppress xy arc = true defualt = false
suppress xy arc = true defualt = false
suppress xy arc = true defualt = false
Circle arc output exceeds machine maximum limit :最大圆弧输出极限
If an arc radius is generated that is larger than the maximum allowable machine radius, a machine error occurs.
The value " arc radius limit " represents the maximum radius setting, the default being 10000 mm.
If the radius is to be limited to the appropriate machine maximum this will need to be inserted in the option file :-
arc radius limit = 5450
如果产生的最大圆弧大于机床所能接受的最大圆弧数值,机床将会报警最大的圆弧直径缺省状态为10000毫米。arc radius limit的值表达最大的圆弧半径。可以通过设置arc radius limit = ?来改变最大的数值。
Circle arc output exceeds machine minimum limit :最小圆弧输出极限
If an arc radius is generated that is smaller than the machine can handle, a machine error occurs.
The value " arc minimum radius " represents the minimum radius setting, the default being 0 0 mm.
If the radius is to be limited to the appropriate machine minimum this will need to be inserted in the option file :-
arc minimum radius = 0.016
如果产生的圆弧半径小于机床所能接受的数值,则机床同样会报警。arc minimum radius的值表达最小圆弧半径,缺省状态的最小圆角半径为0毫米。
The circle is not in a major plane : 圆弧不在主平面上。
DUCTpost prior to DP1335 will not support circular G2/G3 arc leads output for angular toolpaths offset in the XY, YZ or ZX planes greater than 0.1 degrees. Arcs are output as straight line moves, anything less than this, and the circle was snapped to the plane and a G02 / G03 output.
From DP1335 this problem has been rectified to produce sensible output - however G02 / G03 is still not possible.
在1335以前的旧版本如果刀路延XY,YZ和ZX平面偏置角度大于0.1度的情况下是不可以输出圆弧连接的。这是圆弧被直线输出代替,如果小于0.1度才能近似按照0度输出圆弧。
从DP1335版本开始纠正了这些问题,增加了输出的可靠性,但是仍然不能输出G2/G3。 |
|