SMC_OUTQUEUE which is output is executed as a CNC table in PMC_Interpolator2D or
PMC_Interpolator3D.
Joining CNC tables: C-point control [PMC_Interpolator 2D(3D)]
[Setting example 1] ST program example: PMC_NCDecoder
G-code: CNC_Table
N01 G01 X10 Y0 F10 E100 E-100
N02 G01 X10 Y10
N03 G01 X0 Y0
Variable declaration section:
//FB instances
NCDecoder : PMC_NCDecoder;
Interpolator2D : PMC_ Interpolator2D;
//Variables
buf: ARRAY[0..6] OF SMC_GEOINFO; //Buffer for decoding
iSequence: : INT; //Execution control No.
bDec : BOOL; //Decode flag
bStart : BOOL; //Interpolation control execution
flag
iCount : INT:=0; //Specified number of
repetitions
Control section:
NCDecoder(nSizeOutQueue := SIZEOF(buf),pbyBufferOutQueue := ADR(buf),
ncprog := CNC_Table,bExecute:= bDec, bAppend:=TRUE);
Interpolator2D(Axisx:=X_Drive,Axisy:=Y_Drive,bExecute:=bStart,
poqDataIn:=NCDecoder.poqDataOut,dwIpoTime:=1000,);
Case iSequence THEN
1: bDec:=TRUE;
bStart:=TRUE;
IF NCDecoder
.bDone THEN
iCount := iCount + 1;
IF iCount < 3 THEN
bDec:=FALSE;
END_IF
END_IF
END_CASE
● NCDecoder is executed the specified number of repetitions. (In the above example,
NCDecoder is repeated three times.)
11.5 Multi-axis Operation
11-94 WUME-GM1RTXOP-01