Pre-output of M functions (MicroJoint)
Notice
Use of this function requires a license for the “Cutting” option. It is not included in the scope of the standard license.
Requirements to use the MicroJoints function:
The pre-output function must be enabled in each channel in P-CHAN-00600, or in the start-up list in P-STUP-00060.
configuration.path_preparation.function
FCT_DEFAULT | FCT_M_PRE_OUTPUT ( P-CHAN-00600 )
Notice
The MicroJoint function only supports the pre-output of channel-specific M functions; axis-specific M functions are not supported.
Notice
With the MicroJoint function, M functions can be pre-output by specifying a path. No timed pre-output is possible. This can only be implemented with M functions of synchronisation type MET_SVS.
When the MicroJoints function is inactive, a path-based pre-output of M/H functions is only possible with the synchronisation type MEP_SVS.
Activating and enabling the function
Pre-output of an M/H function is executed if:
a pre-output path is specified in P-CHAN-00070 or P-CHAN-00107
Path-related pre-output of M functions
A pre-output can automatically output an M function in advance at a specific point along the path.
For example, in the case of M functions with a time stamp MOS_TS, this can be used for advanced deactivation of a laser to briefly interrupt the cutting process. This leaves so-called MicroJoints.
Output of the advanced M function is not tied to the originally programmed block limits. The motion block is opened automatically by the CNC at the corresponding positions and the M function is inserted.
Programing Example
Pre-output of M functions
; M300 - Laser on, M500 - Laser off
N05 V.G.M_FCT[500].PRE_OUTP_PATH = 0.05
N10 G00 G90 X0 Y0
N15 L Laser_on.sub
N20 G01 F5000
N25 Y7
N30 M500 M300 ;Microjoint 1
N35 Y10
N40 X14
N45 M500 M300 ;Microjoint 2
N50 X20
N55 L Laser_off.sub
N99 M30
Programing Example
Equivalent example with explicit programming
; M300 - Laser on, M500 - Laser off
N05 G00 G90 X0 Y0
N10 L Laser_on.sub
N15 G01 F5000
N20 Y6.95
N25 M500 ;Microjoint 1
N30 Y7
N35 M300
N40 Y10
N45 X13.95
N50 M500 ;Microjoint 2
N55 X14
N60 M300
N65 X20
…
N70 L Laser_off.sub
N99 M30
M/H functions for pre-output
In addition to the actual use of pre-output with high-resolution MOS_TS, output is basically also possible for other M or H functions.
The following synchronisation methods of the M and H functions are evaluated at pre-output:
MOS, MVS_SVS, MVS_SNS, MNS_SNS, MOS_TS
reference position of the pre-output
If the M/H function is programmed together with a motion, then:
the path of the pre-output is determined for its output time relative to the block.
MOS, MOS_TS, MVS_SVS and MVS_SNS are determined relative to the block start position
MNS_SNS is positioned relative to the block end position.
Notice
Due to pre-output, however, it is basically no longer required to separate the output and synchronisation points.
In other word, if the M/H function is synchronised (MVS_SVS, MVS_SNS, MNS_SNS), output and synchronisation take place at the same point. This corresponds to programming the M/H function in a separate NC line.
With synchronisation type MCS_SNS: if it is necessary to split blocks due to the pre-output since the pre-output fails to occur at an existing block limit, the split block is synchronised at the end and not at the output point.
Parametrisation using lists
M functions with pre-output are parameterised in the channel list by P-CHAN-00041 (m_synch[..]) and P-CHAN-00070 (m_pre_outp[..]):
m_synch[100] MOS_TS
m_pre_outp[100] 500 ;in 0.1 µm
H functions with pre-output are parameterised in the channel list by P-CHAN-00027 (h_synch[..]) and P-CHAN-00107 (h_pre_outp[..]):
h_synch[50] MVS_SVS
h_pre_outp[50] 400 ;in 0.1 µm
Parametrisation by programming
As a alternative to the parametrisation of M/H functions, the synchronisation method and the path also can be specified directly in NC program.
V.G.M_FCT[11].SYNCH = 1
V.G.M_FCT[11].PRE_OUTP_PATH = 14 ;in [mm]
V.G.H_FCT[200].SYNCH = 4
V.G.H_FCT[200].PRE_OUTP_PATH = 40 ;in [mm]
Programing Example
Synchronisation types as macro
%MicroJoint
; Synchronisation types as macro
"MOS" = "1"
"MVS_SVS" = "2"
"MVS_SNS" = "4"
"MNS_SNS" = "8"
"MOS_TS" = "262144" ;0x40000
V.G.M_FCT[11].SYNCH = "MOS_TS"
V.G.M_FCT[11].PRE_OUTP_PATH = 11 ;in [mm]
V.G.M_FCT[13].SYNCH = "MNS_SNS"
V.G.M_FCT[13].PRE_OUTP_PATH = 23 ;in [mm]
V.G.H_FCT[12].PRE_OUTP_PATH = 12 ;in [mm]
V.G.H_FCT[12].SYNCH = "MVS_SVS"
N01 X0 G01 F500
N10 X100
N20 X200 M11 H12 M13
N30 X300
M30