M6 remap
: 31 mar 2021, 21:04
Zabrałem się za konfigurowanie w mojej nowej frezarce ręcznej wymiany narzędzia z automatycznym pomiarem.
Najpierw trafiłem na jakieś cuda na kiju, z klikaniem w przyciski i wyświetlaniem komunikatów przez skrypt pythona, ale zupełnie nie o to mi chodziło.
Ja bym chciał żeby po napotkaniu polecenia M6Tx w programie, wyświetlał się standardowy komunikat "wymień narzędzie na ...", a potem maszyna już sama z siebie pomierzyła nowe narzędzie i ustawiła jego offset.
Zupełnie przypadkiem natrafiłem na https://www.forum.linuxcnc.org/10-advan ... nt-working
Nie sprawdzałem załączonego tam kodu, nie wiem czy jest dobry, ale zupełnie nie o to chodzi.
Po prostu zszokowała mnie linia
Mapowanie polega na tym, że zamiast mapowanej funkcji jest wywoływana funkcja mapująca.
Tutaj każde wywołanie M6 powinno być zastąpione wywołaniem podprogramu tool-change.ngc, a wywołanie M6 wewnątrz tool-change.ngc powinno zakończyć się wejściem w martwą pętlę.
Z nieznanej przyczyny tak się nie dzieje, i działa to w ten sposób, że napotkanie w programie głównym M6 powoduje wywołanie podprogramu tool-change.ngc, ale M6 wewnątrz podprogramu wykonuje się standardowo, i jeśli jest to skonfigurowane w pliku INI to podnosi oś Z, jedzie na zadeklarowany punkt wymiany narzędzia i wyświetla okno z komunikatem "zmień narzędzie ..."
Czyli podsumowując, mapując M6 na podprogram tool-change.ngc zawierający M6, po prostu rozszerzamy standardowe M6 o wykonanie dodatkowych linii przed i po tym poleceniu.
Mam nadzieję że wyjaśniłem to w sposób jasny.
Najpierw trafiłem na jakieś cuda na kiju, z klikaniem w przyciski i wyświetlaniem komunikatów przez skrypt pythona, ale zupełnie nie o to mi chodziło.
Ja bym chciał żeby po napotkaniu polecenia M6Tx w programie, wyświetlał się standardowy komunikat "wymień narzędzie na ...", a potem maszyna już sama z siebie pomierzyła nowe narzędzie i ustawiła jego offset.
Zupełnie przypadkiem natrafiłem na https://www.forum.linuxcnc.org/10-advan ... nt-working
Nie sprawdzałem załączonego tam kodu, nie wiem czy jest dobry, ale zupełnie nie o to chodzi.
Po prostu zszokowała mnie linia
Kod: Zaznacz cały
M6 ( run normal M6 operation )
Tutaj każde wywołanie M6 powinno być zastąpione wywołaniem podprogramu tool-change.ngc, a wywołanie M6 wewnątrz tool-change.ngc powinno zakończyć się wejściem w martwą pętlę.
Z nieznanej przyczyny tak się nie dzieje, i działa to w ten sposób, że napotkanie w programie głównym M6 powoduje wywołanie podprogramu tool-change.ngc, ale M6 wewnątrz podprogramu wykonuje się standardowo, i jeśli jest to skonfigurowane w pliku INI to podnosi oś Z, jedzie na zadeklarowany punkt wymiany narzędzia i wyświetla okno z komunikatem "zmień narzędzie ..."
Czyli podsumowując, mapując M6 na podprogram tool-change.ngc zawierający M6, po prostu rozszerzamy standardowe M6 o wykonanie dodatkowych linii przed i po tym poleceniu.
Mam nadzieję że wyjaśniłem to w sposób jasny.