Kontrola dráhy před spuštěním programu

Uživatelský avatar
Pipik
Příspěvky: 1209
Registrován: 9. 11. 2016, 3:32
Bydliště: České Budějovice

15. 7. 2026, 1:54

Dobře, asi utíkáme od původní myšlenky.
Gkod má na začátku seznam nástrojů a u nich uvedenou minimální výšku Z. Takže otevírat to někde v notepadu, mačkat ctrl+F, psát co chci hledat, to je opravdu jednodušší prostě hodit očko na první řádky a tam to je.
Ale problém je že i když to tam je hned na začátku napsaný, tak to člověk prostě občas přehlídne. Musí se to kontrolovat samo někde během celého procesu, jakékoli mačkání něčeho někde navíc je vždy složitější než prostě mihnout okem. Jde tudíž o to aby na to člověk jednoduše nemusel myslet že má něco kontrolovat.
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit :wink:
r4cv
Příspěvky: 2938
Registrován: 8. 12. 2009, 8:32
Bydliště: Topoľčany

15. 7. 2026, 6:02

Nedala by sa použiť komponenta Limit tak, aby si načítala dĺžku nástroja a automaticky obmedzila pohyb Z do mínusu?
RaS
Příspěvky: 8927
Registrován: 26. 3. 2009, 9:12
Bydliště: Úvaly

15. 7. 2026, 6:40

a v čem je vlastně problém?
na začátku máš X nástrojů a u každého máš napsáno že jede do Z 5, Z0, Z15atd.. tak přece hned vidíš minimální Zko ne? a pokud je nižší než ta tvoje 0 na stole tak máš problém..
tenhle seznam máš hned na začátku G kodu, dál vykresluje grafika přímo linuxcnc

takže pokud používáš tabulku nástrojů, správné délkové korekce tak v čem je problém?
věčný rýpal,který musí mít poslední slovo, odpůrce low-cost zařízení končících v naprosté většině případů v hromadě šrotu
uživatelé hýbátek, kteří mají z mých příspěvků celoživotní trauma nechť si mé příspěvky VYPNOU
Uživatelský avatar
Pipik
Příspěvky: 1209
Registrován: 9. 11. 2016, 3:32
Bydliště: České Budějovice

15. 7. 2026, 11:11

RaS píše: 15. 7. 2026, 6:40 a v čem je vlastně problém?
na začátku máš X nástrojů a u každého máš napsáno že jede do Z 5, Z0, Z15atd.. tak přece hned vidíš minimální Zko ne? a pokud je nižší než ta tvoje 0 na stole tak máš problém..
tenhle seznam máš hned na začátku G kodu, dál vykresluje grafika přímo linuxcnc
takže pokud používáš tabulku nástrojů, správné délkové korekce tak v čem je problém?
Ano, tabulka tam je. Problém je jen v tom, že občas to prostě přehlídneš. Dělá se tu toho spousty, často hromada dílců v jednom programu, a hromada takových programů kdy sekáš jeden za druhým, to člověka prostě otupí a ne vždy se koukne. Stejně tak jako při kopírování operací zapomeneš občas odznačit tu původní konturu, takže ti pak vygeneruje dráhu úplně mimo stroj, ale v poho, to ti zařve. Ale když se jeden díleček ze dvou stovek rozházených do třiceti nářezáků/programů neposlušně nesrovná s ostatními, a ty jen mechanicky střídáš překližky a programy, tak by bylo fajn kdyby upozornil i na to že se jede do minusu.
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit :wink:
Uživatelský avatar
Pipik
Příspěvky: 1209
Registrován: 9. 11. 2016, 3:32
Bydliště: České Budějovice

15. 7. 2026, 11:21

r4cv píše: 15. 7. 2026, 6:02 Nedala by sa použiť komponenta Limit tak, aby si načítala dĺžku nástroja a automaticky obmedzila pohyb Z do mínusu?
To je zajímavá myšlenka, pokud má stroj ATC vřeteno. Jenže ne všechny moje stroje ho mají

Ale možná přihodit to do skriptu měření nástroje - přeměřit nástroj a upravit limit osy Z aby nemohl špičkou frézy pod. Pak by se člověk i vyhnul nechtěnému zaboření při manuálním jogování. Vidíš, to by nebylo od věci. A přitom je to poměrně jednoduché :D
Ten blbec, kterej to vyrobil, pač mu zapoměli říct že to nejde vyrobit :wink:
fupe
Příspěvky: 657
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

15. 7. 2026, 3:07

Tak sem trochu zavzpominal a kouknul na moznosti linuxcnc a resil bych to následovne.
Předpokladam, jak pises, ze ne vsechny masiny maji atc, takze delka nastroje neni predem presne definovana.
Pro atc se vyplnenym tooltable je to jednoducha uloha. to resit nebudeme.

Pro manualni vymenu, je potreba resit kazdou sekci mezi M6 samostatne.
Mereni delky nastroje predpokladam resis pres REMAP, tim padem si muzes volat co potrebujes pred i po. M6, mereni delky, G43 korekce atd
LinuxCNC umožňuje limit za běhu změnit přes Python API:
linuxcnc.command().set_min_limit(joint_number, new_limit)
Takže do REMAPU pridadas volani python helperu, ktery nastavi po změření limit pro osu Z. To neni tak složitý, ale o tom že je v kodu pokus o zaboření se dozvíš až v okamžiku, kdy se o něj pokusí a to je asi nedobře a pozdě.
Takže bych si jeste dopsal maly parser, ale ne jen cteni radku samotneho gcodu, protoze M muze byt nekde v subroutine, ale pres gcode.parse() ktery to děla poctiveji.
Našel si kde končí sekce pro dany nastroj a našel nejnižší strojni misto pro Z. MOžná by tu mohl byt problem napriklad u G18 a oblouku, kde muze byt nejnizsi misto jinde nez na zacatku a konci dane sekce, ale nepredpokladam, ze je cam generuje.
A tenhle parser volat po vymene a zmereni a vyhodit hlasku " Bacha v nasledujici sekci pro nastroj XY nabouras". Pak popropojovat par nejakych motion.analog/digital pro rizeni behu a je hotovo.
M
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“