W programowaniu CNC (kody G/M) podprogram jest fragmentem programu, który wywołuje się wielokrotnie, aby nie powielać tych samych bloków (np. powtarzalny układ wierceń lub identyczne przejścia narzędzia). Żeby sterowanie mogło wrócić z podprogramu do programu głównego, potrzebna jest funkcja kończąca podprogram, a nie cały program.
Odpowiedź "M17" oznacza zakończenie podprogramu i powrót do miejsca wywołania. Dzięki temu po wykonaniu ostatniego bloku podprogramu obróbka jest kontynuowana w programie nadrzędnym.
Pozostałe odpowiedzi dotyczą innych grup funkcji M:
- "M30" jest typowo używane jako zakończenie programu głównego (koniec programu), często z przewinięciem/rewind. Zastosowanie go w podprogramie mogłoby przerwać cały przebieg zamiast wrócić do wywołania.
- "M08" dotyczy chłodziwa (włączenie), czyli funkcji technologicznej pomocniczej, niezwiązanej z przepływem sterowania między programem a podprogramem.
- "M03" służy do uruchomienia wrzeciona w jednym z kierunków obrotów (funkcja wrzeciona), a więc również nie zamyka podprogramu.
Wskazówka egzaminacyjna: w pytaniach o "podprogram" zawsze sprawdzaj, czy opcja dotyczy powrotu do programu głównego, a nie zatrzymania całego programu. W praktyce warsztatowej warto pamiętać, że znaczenie niektórych M-kodów może zależeć od producenta sterowania, dlatego w dokumentacji danej maszyny trzeba potwierdzić listę funkcji M.