Pre-output of M functions (MicroJoint)

Notice

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

notice

The MicroJoint function only supports the pre-output of channel-specific M functions; axis-specific M functions are not supported.

Notice

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.

Programmed MicroJoints in the part
Programmed MicroJoints in the part

Programing Example

prg_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

prg_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

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

prg_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