iCAx开思网
标题:
初学GPP,请懂得大侠帮我检查下我改的代码是否有问题
[打印本页]
作者:
xiagq
时间:
2009-10-13 14:29
标题:
初学GPP,请懂得大侠帮我检查下我改的代码是否有问题
我把这个处理出来的G代码和正在用的处理出来的G代码对比了下,是一样的。不知道还存在什么问题??请指教
代码如下:
********************************************************
* 3 axes Post Processor for FANUC
********************************************************
FORMAT (COORDINATES) Xold Yold Zold DXcenter DYcenter ;
FORMAT (COORDINATES) Clear Depth ;
FORMAT (USER_2) FlagSpin ;
FORMAT (USER_2) YES NO ;
********************************************************
NON_MODAL ALL_VAR ;
MODAL X_CURPOS Y_CURPOS Z_CURPOS ;
MODAL LIN_MOV CIRC_MOV MCH_FEED SPIN_SPEED SPIN_DIR ;
MODAL CYC_DEPTH CYC_PECK CYC_DWELL CYC_RETR CYC_CLEAR Depth Clear ;
IDENTICAL X_CURPOS X_ENDPT ;
IDENTICAL Y_CURPOS Y_ENDPT ;
********************************************************
NEW_LINE_IS $ ;
OUTPUT \J ;
********************************************************
BEGINNING OF TAPE:
YES = 1 ;
NO = 0 ;
Xold = X_HOME ;
Yold = Y_HOME ;
Zold = Z_HOME ;
MCH_FEED = 9999 ;
OUTPUT "%" \J ;
END OF TAPE:
OUTPUT $ " M05" ;
OUTPUT $ " M30" ;
OUTPUT \J "%" ;
IF_SET (PROC_CMNT _NE_ "No Text")
PRINT0 \J "REN " PART_NAME "." TP_NAME "." POST_NAME " " PROC_CMNT "." POST_NAME ;
END_IF ;
********************************************************
TOOL CHANGE:
SET_ON SPIN_SPEED SPIN_DIR ;
OUTPUT $ "( " "D" DIAMETER_ " " "R" TOOL_RAD " )" ;
OUTPUT $ " G90 G54 G17 G80 G40 G49 " ;
OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;
********************************************************
LINEAR MOTION: FAST:
FlagSpin = NO ;
IF_SET (SPIN_SPEED) FlagSpin = YES ; END_IF ;
IF_SET (SPIN_DIR) FlagSpin = YES ; END_IF ;
IF_SET (FlagSpin _EQ_ YES)
SET_ON SPIN_SPEED SPIN_DIR ;
OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;
END_IF ;
OUTPUT $ ;
IF_SET (LIN_MOV) OUTPUT " " LIN_MOV ; END_IF ;
IF_SET (X_CURPOS) OUTPUT " X" X_CURPOS ; END_IF ;
IF_SET (Y_CURPOS) OUTPUT " Y" Y_CURPOS ; END_IF ;
IF_SET (Z_CURPOS) OUTPUT " Z" Z_CURPOS ; END_IF ;
SET_ON CIRC_MOV ;
Xold = X_CURPOS ;
Yold = Y_CURPOS ;
Zold = Z_CURPOS ;
LINEAR MOTION:
FlagSpin = NO ;
IF_SET (SPIN_SPEED) FlagSpin = YES ; END_IF ;
IF_SET (SPIN_DIR) FlagSpin = YES ; END_IF ;
IF_SET (FlagSpin _EQ_ YES)
SET_ON SPIN_SPEED SPIN_DIR ;
OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;
END_IF ;
OUTPUT $ ;
IF_SET (LIN_MOV) OUTPUT " " LIN_MOV ; END_IF ;
IF_SET (X_CURPOS) OUTPUT " X" X_CURPOS ; END_IF ;
IF_SET (Y_CURPOS) OUTPUT " Y" Y_CURPOS ; END_IF ;
IF_SET (Z_CURPOS) OUTPUT " Z" Z_CURPOS ; END_IF ;
IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
SET_ON CIRC_MOV ;
Xold = X_CURPOS ;
Yold = Y_CURPOS ;
Zold = Z_CURPOS ;
********************************************************
CIRCULAR MOTION:
FlagSpin = NO ;
IF_SET (SPIN_SPEED) FlagSpin = YES ; END_IF ;
IF_SET (SPIN_DIR) FlagSpin = YES ; END_IF ;
IF_SET (FlagSpin _EQ_ YES)
SET_ON SPIN_SPEED SPIN_DIR ;
OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;
END_IF ;
DXcenter = X_CENTER - Xold ;
DYcenter = Y_CENTER - Yold ;
OUTPUT $ ;
IF_SET (CIRC_MOV) OUTPUT " " CIRC_MOV ; END_IF ;
IF_SET (X_CURPOS) OUTPUT " X" X_ENDPT ; END_IF ;
IF_SET (Y_CURPOS) OUTPUT " Y" Y_ENDPT ; END_IF ;
IF_SET (Z_CURPOS) OUTPUT " Z" Z_ENDPT ; END_IF ;
OUTPUT " I" DXcenter ;
OUTPUT " J"
DYcenter ;
IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
SET_ON LIN_MOV ;
Xold = X_CURPOS ;
Yold = Y_CURPOS ;
Zold = Z_CURPOS ;
********************************************************
CYCLE: ON:
FlagSpin = NO ;
IF_SET (SPIN_SPEED) FlagSpin = YES ; END_IF ;
IF_SET (SPIN_DIR) FlagSpin = YES ; END_IF ;
IF_SET (FlagSpin _EQ_ YES)
SET_ON SPIN_SPEED SPIN_DIR ;
OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;
END_IF ;
SET_ON X_CURPOS Y_CURPOS Z_CURPOS ;
SET_ON CYC_DEPTH CYC_RETR CYC_CLEAR MCH_FEED ;
SET_ON Depth Clear ;
Depth = Z_CURPOS - CYC_DEPTH ;
Clear = Z_CURPOS + CYC_CLEAR ;
OUTPUT $ " Z" Z_HOME ;
OUTPUT $ ;
OUTPUT " " CYC_RETR ;
OUTPUT " " CYC_CODE ;
OUTPUT " X" X_CURPOS ;
OUTPUT " Y" Y_CURPOS ;
OUTPUT " Z" Depth ;
OUTPUT " R" Clear ;
IF_SET (CYC_PECK) OUTPUT " Q" CYC_PECK ; END_IF ;
IF_SET (CYC_DWELL) OUTPUT " P" CYC_DWELL ; END_IF ;
IF_SET (CYC_XSHFT) OUTPUT " I" CYC_XSHFT ; END_IF ;
IF_SET (CYC_YSHFT) OUTPUT " J" CYC_YSHFT ; END_IF ;
OUTPUT " F" MCH_FEED ;
SET_ON LIN_MOV CIRC_MOV ;
SET_OFF CYC_DEPTH CYC_CLEAR;
Xold = X_CURPOS ;
Yold = Y_CURPOS ;
Zold = Z_CURPOS ;
CYCLE:
Depth = Z_CURPOS - CYC_DEPTH ;
Clear = Z_CURPOS + CYC_CLEAR ;
OUTPUT $ ;
IF_SET (CYC_RETR) OUTPUT " " CYC_RETR ; END_IF ;
IF_SET (X_CURPOS) OUTPUT " X" X_CURPOS ; END_IF ;
IF_SET (Y_CURPOS) OUTPUT " Y" Y_CURPOS ; END_IF ;
IF_SET (Depth) OUTPUT " Z" Depth ; END_IF ;
IF_SET (Clear) OUTPUT " R" Clear ; END_IF ;
IF_SET (CYC_PECK) OUTPUT " Q" CYC_PECK ; END_IF ;
IF_SET (CYC_DWELL) OUTPUT " P" CYC_DWELL ; END_IF ;
IF_SET (CYC_XSHFT) OUTPUT " I" CYC_XSHFT ; END_IF ;
IF_SET (CYC_YSHFT) OUTPUT " J" CYC_YSHFT ; END_IF ;
IF_SET (SPIN_SPEED) OUTPUT " S" SPIN_SPEED ; END_IF ;
IF_SET (SPIN_DIR) OUTPUT " " SPIN_DIR ; END_IF ;
IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
SET_ON LIN_MOV CIRC_MOV ;
SET_OFF CYC_DEPTH CYC_CLEAR;
Xold = X_CURPOS ;
Yold = Y_CURPOS ;
Zold = Z_CURPOS ;
CYCLE: OFF:
OUTPUT $ " G80 Z" Z_HOME ;
SET_ON LIN_MOV CIRC_MOV ;
********************************************************
本帖最后由 xiagq 于 2009-10-28 17:25 编辑
作者:
r-o-o-n
时间:
2009-10-13 18:37
圆弧那里的IJK输出有问题。
有的机床少一项就不认了,所以最好是不要判断了,让他直出。不管是多少都输出一个值。这样通用性会强一些,而且熊族在圆弧的处理上也有问题。
作者:
xiagq
时间:
2009-10-14 09:23
改成红色那部分后,处理出来的G代码里的I J K 会有好多0.0,不输出0.0貌似我的机床也能走
下面是用darkit的后处理出来的,圆弧处理时为什么要一直输出Z??
G01 Z-0.04 F750
G03 X25.156 Y46.551 Z-0.04 J0.444 F2500
G01 X25.155 Y58.119
G03 X16.354 Y62.04 Z-0.04 I-24.512 J-43.182
G02 X15.288 Y62.951 Z-0.04 I0.414 J1.565
作者:
r-o-o-n
时间:
2009-10-14 18:29
K你不用输出的,你前面也没有让他输出G18,G19平面,所以K输出了就会报警的。
作者:
xiagq
时间:
2009-10-15 09:48
我把代码里的DZcenter全删除了。
貌似没在cimatron处理出来的G代码里看到过圆弧的螺旋插补
作者:
r-o-o-n
时间:
2009-10-15 09:51
完全可以。
作者:
xiagq
时间:
2009-10-15 16:05
什么东东完全可以??老大打字不要偷懒撒
。看老大的发言总要琢磨半天
本帖最后由 xiagq 于 2009-10-15 16:07 编辑
作者:
r-o-o-n
时间:
2009-10-15 16:10
DZcenter全删除了完全可以
作者:
xiagq
时间:
2009-10-15 20:41
那关于螺旋插补呢,这样的代码可以处理螺旋插补的吧
作者:
r-o-o-n
时间:
2009-10-15 20:58
cimatron里哪有螺旋??
作者:
xiagq
时间:
2009-10-16 08:54
cim不走螺旋插补的吗??应为没见过cim走螺旋插补,所以有这个疑问
这行代码貌似也没用了IF_SET (Z_CURPOS) OUTPUT " Z" Z_ENDPT ; END_IF ;
本帖最后由 xiagq 于 2009-10-18 11:42 编辑
欢迎光临 iCAx开思网 (https://www.icax.org/)
Powered by Discuz! X3.3