📄 grinder8a_m.pmc
字号:
/**************** G-Code Definition Motion Program *********************
This MOTION Program executes various G-codes commanded from either
a part program or via MDI mode.
File: mill.g - Standard G codes for MILL
This file provides real time buffering to the rotary buffer.
The buffer may be many lines long, and the time period from when
the code was/**************** M-Code Definition Motion Program *********************
File: mill.m - Generic mill example 'M' code program.
This MOTION Program executes various M-codes commanded from either
a part program or via MDI mode.
This file is to provide real time buffering to the rotary buffer.
The buffer may be many lines long, and the time period from when
the code was entered into the buffer and when the code is actually
operated upon is unknown to the PC.
The PMAC's auto gosub functions for 'M' codes will cause these
functions to be operated upon at the time encountered in the rotary
buffer.
This file must match the current plc's installed in PMAC.
************************************************************************/
#include "address.h"
#include "oemm.h"
#include "oem.h"
#include "TSODICK1.h"
#include "TSODICK2.h"
#include "TSODICK3.h"
OPEN PROG 1001 CLEAR
;RET
//----------------------------
// M-code 0: program Stop
//----------------------------
//added by James2000-1-13 for Single Run Display
DWELL1000
//added by James99-6-24 for M00,M01 PatLight
;@SET_OFF(OUT_2_M,START_LED)
;@SET_OFF(OUT_2_M,HOLD_LED)
@SET_ON(ES_ERR_MSG_M,PROG_STOP_ALARM)
@SET_ON(CS_COMMAND4_M,CS_PROG_STOP)
DWELL0
STOP
RETURN
// Resume status on Code with multimotion ///////////////////////////////
N4
//NO_CYCLE_START=0 //it is steaded by CS_COMPLEX_MOTION
//after UI-P did R command,motion do STOP if SingleRun=ON,Billy99-11
@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
If (@ON(CS_COMMAND3_M,CS_SINGLE_BLOCK))
STOP//after UI-P did R command
EndIf
RETURN
//----------------------------
// M-code 1: Optional Stop
//----------------------------
N01000
//added by James2000-1-13 for Single Run Display
DWELL1000
//added by James99-6-24 for M00,M01 PatLight
;@SET_OFF(OUT_2_M,START_LED)
;@SET_ON(OUT_2_M,HOLD_LED)
@SET_ON(ES_ERR_MSG_M,OPTION_STOP_ALARM)
@SET_ON(CS_COMMAND3_M,CS_FEED_HOLD)
DWELL100
@SET_OFF(CS_COMMAND3_M,CS_FEED_HOLD)
;STOP
RETURN
//----------------------------
// M-code 2: program Stop
//----------------------------
N02000
//added by James2000-1-13 for Single Run Display
DWELL1000
//added by James99-6-24 for M00,M01 PatLight
;@SET_OFF(OUT_2_M,START_LED)
;@SET_OFF(OUT_2_M,HOLD_LED)
;@SET_ON(ES_ERR_MSG_M,PROG_STOP_ALARM)
;@SET_ON(CS_COMMAND4_M,CS_PROG_STOP)
LINEAR
DWELL0
RETURN
//----------------------------
// 往复启 On M-Code M08
//----------------------------
N08000
DWELL0
//NO_CYCLE_START=1
;@SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
@SET_ON(CS_COMMAND9_M,CS_TO_FRO)
;CMD"#3J/"
; CMD"&1B1R"
;@SET_ON(OUT_2_M,TO_FRO_LED)
;@SET_OFF(OUT_2_M,INPOS_LED)
/*While (@OFF(CS_COMMAND9_M,CS_TO_FRO))
If (@OFF(CS_COMMAND9_M,CS_TO_FRO))
@SET_ON(CS_COMMAND9_M,CS_TO_FRO)
;@SET_ON(OUT_2_M,TO_FRO_LED)
EndIf
EndWhile*/
;DWELL3000
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
//-----------------------------
// 往复停 Off M-Code M09
//-----------------------------
N09000
DWELL0
//NO_CYCLE_START=1
;@SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
;@SET_OFF(OUT_2_M,TO_FRO_LED)
CMD"#3J/"
CMD"&1B1A"
@SET_OFF(CS_COMMAND9_M,CS_TO_FRO)
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
//-----------------------------
// //准停 M-Code M10
//-----------------------------
N10000
DWELL0
//NO_CYCLE_START=1
;@SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
@SET_ON(CS_COMMAND9_M,CS_INPOS)
;CMD"#3J=10000"
;@SET_ON(OUT_2_M,INPOS_LED)
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
//-----------------------------
// //旋转启 M-Code M18
//-----------------------------
N18000
DWELL0
//NO_CYCLE_START=1
;@SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
@SET_ON(CS_COMMAND9_M,CS_SPIN)
;@SET_ON(OUT_2_M,SPIN_LED)
;@SET_ON(OUT_2_M,HOLD_LED)
/*While (@ON(CS_COMMAND9_M,CS_SPIN))
If (@ON(CS_COMMAND9_M,CS_SPIN))
@SET_ON(CS_COMMAND9_M,CS_SPIN)
;@SET_ON(OUT_2_M,TO_FRO_LED)
EndIf*/
/* While (@OFF(CS_COMMAND9_M,CS_SPIN))
If (@OFF(CS_COMMAND9_M,CS_SPIN))
@SET_ON(CS_COMMAND9_M,CS_SPIN)
@SET_ON(CS_COMMAND9_M,CS_SPIN)
EndIf
EndWhile*/
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
;CMD"#3J+"
RETURN
//-----------------------------
// //旋转停 M-Code M19
//-----------------------------
N19000
DWELL0
//NO_CYCLE_START=1
; @SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
CMD"#7J/"
@SET_OFF(CS_COMMAND9_M,CS_SPIN)
;@SET_OFF(OUT_2_M,SPIN_LED)
//NO_CYCLE_START=0
; @SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
//-----------------------------
// //修整启 M-Code M25
//-----------------------------
N25000
DWELL0
//NO_CYCLE_START=1
;@SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
@SET_ON(CS_COMMAND9_M,CS_MEND)
;@SET_ON(OUT_2_M,MEND_LED)
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
//-----------------------------
// //修整停 M-Code M26
//-----------------------------
N26000
DWELL0
//NO_CYCLE_START=1
; @SET_ON(CS_COMMAND7_M,CS_COMPLEX_MOTION)
CMD"#8J/"
@SET_OFF(CS_COMMAND9_M,CS_MEND)
;@SET_OFF(OUT_2_M,MEND_LED)
//NO_CYCLE_START=0
;@SET_OFF(CS_COMMAND7_M,CS_COMPLEX_MOTION)
RETURN
// End of Program M30
N30000
DWELL0
DWELL100
; @SET_OFF(OUT_2_M,START_LED)
; @SET_OFF(OUT_2_M,HOLD_LED)
; @SET_ON(ES_ERR_MSG_M,PROG_STOP_ALARM)
; @SET_ON(CS_COMMAND4_M,CS_PROG_STOP)
M30_STOP_FLG_M=1 ;/* M30 FINISH FOR API */
LINEAR
DWELL0
RETURN
// 调用子程序 M98
N98000
READ(O)
CALL Q115
RETURN
// 从子程序返回 M99
N99000
RETURN
CLOSE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -