In Gmoccapy ist eine sehr komfortable Werkzeuglängenmessung bereits enthalten: Die Maschine fährt an die Werkzeugwechselposition und nachdem das Werkzeug gewechselt wurde automatisch zum Werkzeuglängensensor und vermisst das Werkzeug.

Leider geschieht das auch, wenn das Werkzeug aufgrund eines früheren Fräsjobs immer noch unverändert in der Frässpindel eingesetzt ist. D.h. die Maschine fährt auch dann zur Werkzeugwechselposition, stellt fest, dass kein Wechsel erforderlich ist und fährt dann sofort weiter zum Sensor für die Längenvermessung.

Vermeidung unnötiger Anfahrten der Werkzeugwechselposition und Werkzeuglängenmessungen anhand eines Vergleichs des aktuellen und des zukünftigen Werkzeugs.

In LinuxCNC sind sowohl das aktuelle Werkzeug („_current_tool“) als auch das angefragte neue Werkzeug („_selected_tool“) als Systemparameter (Kapitel 3.5) verfügbar, die auch direct im GCode verwendet werden können. Da der Werkzeugwechsel in Gmoccapy über ein GCode-Script gesteuert wird, kann hier direkt die benötigte zusätzliche Vergleichsabfrage zwischen aktuellem und zukünftigem Werkzeug eingebaut werden.

Im Detail sind dafür diese Änderungen in der „change.ngc“ im Konfigurationsunterordner „macros“ erforderlich:

  • Vor der Zeile ;first go up als zusätzliche Zeile o110 if[#<_current_tool> NE #<_selected_tool>] einfügen. NE bedeutet „Not Equal“ (ungleich).
  • Vor der Zeile G43 (fast am Ende der Datei) wird als zusätzliche Zeile o110 endif eingefügt

Durch diese beiden Zeilen wird die gesamte Werkzeugwechselprozedur in der Vergleichsabfrage gekapselt und nur noch dann ausgeführt wenn sich das aktuelle und zukünftige Werkzeug unterscheiden. D.h. Gmoccapy fährt ausschließlich nur noch dann an die Werkzeugwechsel- und Längensensorposition, wenn ein Werkzeugwechsel auch wirklich erforderlich ist. Ist das nicht der Fall wird der Startpunkt des nächsten Fräsjobs direkt angefahren.