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
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 |