User-specific M/H functions

M/H functions are mostly determined by programming the "Programmable Logic Controller" (PLC). This controller contains an interface ("Window to PLC") information on the programmed M/H functions in the current NC block. In addition, it provides synchronisation conditions which control synchronisation between the NC and the PLC.

M<expr>

or

H<expr>

M/H functions can be programmed with general mathematical expressions. In particular, this allows the assignment of values by means of parameters, e.g. MP10. Before access to the M/H function, the calculated numerical value is rounded off and converted into an integer. The smallest permissible value is 0 (zero). Negative values generate an error message.

The maximum number of M/H functions per NC channel [6]-8.1/-8.2 and the maximum number of M/H functions per NC block [6]-8.3 are fixed.

The EXIST function (see Section Arithmetic expressions <expr> checks whether a variable exists at all.

Programing Example

prg_example

User-specific M/H functions

The EXIST request first checks whether a user-specific M function is at all defined in the channel parameter list P-CHAN-00027 before the M function is executed.

...

N10 G90 Y0

N20 $IF EXIST[M80] == TRUE

N30 X0 Y0 Z0 M80 (M80 is available)

N40 $ELSE

: …

N60 $ENDIF

...

M30

The following M functions have a predefined meaning in the NC program, i.e. they are not freely available. The user can only assign their synchronisation mode P-CHAN-00027.

M00

Programmed stop

M01

Optional stop

M02

Program end, stop the machine

M10, M11

Latch axes

M17

Subroutine end

M29

Subroutine end

M30

Program end, stop the machine