Anwenderspezifische M/H-Funktionen
M/H-Funktionen werden im wesentlichen durch die Programmierung der "Speicherprogrammierbaren Steuerung" (SPS,...) bestimmt. Diese Steuerung erhält über eine Schnittstelle ("Fenster zur SPS") Mitteilung über die programmierten M/H Funktionen im aktuellen NC-Satz. Zusätzlich werden Synchronisationsbedingungen mitgegeben, die die Synchronisation zwischen NC und SPS steuern.
M <expr>
bzw.
H<expr>
M/H-Funktionen können mit allgemeinen mathematischen Ausdrücken programmiert werden. Dies erlaubt insbesondere die Wertzuweisung über Parameter, z.B. MP10. Vor dem Zugriff auf die M/H-Funktion wird der berechnete Zahlenwert gerundet und in eine Ganzzahl gewandelt. Der kleinste zulässige Wert ist 0 (Null). Negative Werte erzeugen eine Fehlermeldung.
Die maximale Anzahl von M/H-Funktionen pro NC-Kanal sowie die maximale Anzahl von M/H-Funktionen pro NC-Satz ist fest vorgegeben.
Mit der EXIST-Funktion (siehe Kapitel 2.6.1.3) kann geprüft werden, ob eine M/H-Funktion überhaupt verfügbar ist.
Programmierbeispiel
Durch die EXIST-Abfrage wird in einem ersten Schritt vor der Verwendung einer anwenderspezifischen M-Funktion zunächst geprüft, ob diese überhaupt in der Kanalparameterliste definiert ist
...
N10 G90 Y0
N20 $IF EXIST[M80] == TRUE
N30 X0 Y0 Z0 M80 (M80 ist verfuegbar)
N40 $ELSE
:
N60 $ENDIF
...
M30
Folgende M-Funktionen haben im NC-Programm eine vordefinierte feste Bedeutung, d.h. sie sind nicht frei verfügbar. Lediglich ihr Synchronisationsmode kann noch vom Anwender selbst belegt werden.
M00 Programmierter Halt
M01 Wahlweiser Halt
M02 Programmende, Stillsetzen der Maschine
M17 Unterprogrammende
M29 Unterprogrammende
M30 Programmende, Stillsetzen der Maschine