ZITAT(Michl191 @ 25.03.2017, 07:35 Uhr)

Wie macht es dan diese M-Funktion???
Werds am Montag mal versuchen.
Danke schonmal.
Guten Morgen,
genauso, wie nixalsverdruss es beschrieben hat.
Nur das in der entsprechenden Datei im DEF.DIR via
DEFINE <NAME> AS <Programmcode>
eingetragen wird.
DEFINE M123 AS "Unterprogramm-Name"
Das bedeutet das M1233 den Codeteil als Unterprogramm oder Zyklus welches diese Abfragefunktion enthält.
Ebenso ist es möglich zB die M-Funktionen M5 und M9 ( Spindelstop und Kühlmittel aus ) zu einem neuen M- Befehl zusammen zufassen.
DEFINE M95 AS M5 M9
Natürlich muss die Funktionsauslösung deines M- Befehls den kompletten Programmcode enthalten. Sprünge in weitere Unterprogramme sind zu vermeiden, wenn dieses Unterprogramm nicht immer verwendet wird, und das daraus aufgerufene Unterprogramm nicht immer in der NC geladen ist. Wichtig dabei ist auch, dass der mit DEFINE definierte neue Befehl nicht schon verwendet wird.
Aber Vorsicht ! Erst das Unterprogramm ( welches im Unterprogrammordner liegen kann / muss, oder sich im Ordner CUS.DIR befindet ) testen, bevor du das via neuer M - Zuweisung ausführst !
Weiter Hilfe dazu findest du in der Programmieranleitung
Arbeitsvorbereitung im Kapitel 2.18.
Schönes Wochenende
R.HEIM