For the specifications of PMC_NCDecoder, refer to the GM1 Series Reference Manual
(Instruction).
For the programming method, refer to "PMC_Interpolator2D (2-axis interpolation)
".
■
PMC_Interpolator2D (2-axis interpolation)
The function block executes 2-axis interpolation control according to the specified CNC table.
For the detailed specifications of the function block, refer to the GM1 Series Reference Manual
(Instruction).
Programming method for PMC_Interpolator2D
[Setting example 1] ST program example: SMC_CNC_REF type CNC table
G-code (SMC_CNC_REF): CNC_Table1
N01 G01 X10 Y10 F10 E1 E-1
Variable declaration section:
//FB instances
NCDecoder : PMC_NCDecoder;
Interpolator2D : PMC_ Interpolator2D;
ReadSetPosition : SMC_ReadSetPosition //Read current value
//Variables
buf : ARRAY[0..10] OF SMC_GEOINFO; //Buffer for decoding
fSetXPosition : LREAL; //Current value on X-axis
fSetYPosition : LREAL; //Current value on Y-axis
bStart : BOOL; //Execution flag
● Explanation of declaration section
•
In Lines 2 to 4, function blocks to be used are defined by assigning arbitrary names to
them.
• In Line 5, a buffer to be used for PMC_NCDecoder is defined.
Paths in the CNC table that are as many as arrays can be stored. (In the above example,
11 paths can be stored.)
* Note that if the buffer size is 5 or less, PMC_NCDecoder cannot be executed.
• In Line 6, a flag for starting execution is defined.
Control section:
IF bStart THEN
ReadSetPosition(Axisx:=X_Drive,Enable:=TRUE, Position=>fSetXPosition)
ReadSetPosition(Axisy:=Y_Drive,Enable:=TRUE, Position=>fSetYPosition)
NCDecoder(nSizeOutQueue := SIZEOF(buf),pbyBuf
ferOutQueue := ADR(buf),
dXStartPosition:=fSetXPosition,dYStartPosition:=fSetYPosition,
ncprog :=CNC_T
able1,bExecute:=TRUE);
Interpolator2D(Axisx:=X_Drive,Axisy:=Y_Drive,bExecute:=TRUE,
poqDataIn:=NCDecoder.poqDataOut,dwIpoTime:=1000,);
END_IF
● Explanation of control section
11.5 Multi-axis Operation
11-82 WUME-GM1RTXOP-01