Strona 1 z 2

Dynamiczny limit Z (?)

: 29 lis 2013, 21:57
autor: jacek-1210
Chyba tego jeszcze nie było - zastanawiam się, czy jest możliwa zmiana limitu Z w czasie trwania programu. Chodzi mi o to, że limit Z tak naprawdę niewiele daje, a już na pewno nie zabezpiecza przed przydzwonieniem frezem w stół. W sytuacji kiedy mam zamontowany na stałe czujnik wysokości narzędzia, to mam stały wymiar między poziomem czujnika a poziomem stołu. Chciałbym wymodzić coś takiego, żeby limit Z zawsze był -powiedzmy- 0.3 nad poziomem stołu, bez względu na długość aktualnego freza. Czyli wymagałoby to korekcji limitu po każdym pomiarze narzędzia. Ma ktoś może jakiś prosty pomysł ? Na pomiar jest już gotowa procedura, wystarczyłoby jedynie dopisać komendy korygujące wartość limitu w Z, ale choć swego czasu przekopałem się przez te procedury, to na dziś kompletnie nie pamiętam, czy jest zapisywalna komórka z wpisanym limitem Z ?

Re: Dynamiczny limit Z (?)

: 30 lis 2013, 19:38
autor: kamar
jacek-1210 pisze:Chyba tego jeszcze nie było ?
I chyba nie bedzie :) Przestawienie limitów wymagaloby odbazowania , przestawienia i ponownego zbazowania osi a to bedzie ciezko w g-kodach.

: 30 lis 2013, 20:56
autor: hecza
Dodatkowe g-kody można dopisać – już to kiedyś testowałem, gdy chciałem zmienić charakter pracy wrzeciona na oś obrotową i odwrotnie w czasie działania programu.
O zmianie limitu też kiedyś myślałem – byłby to dobry sposób na deklarowanie tzw. stref bezpiecznych (gdzieś taką opcję widziałem – Heidenhain ???) - ale, że mogę bez tego żyć i informatyka to nie moja domena – odpuściłem.

Pozdrawiam

: 30 lis 2013, 21:02
autor: MlKl
W wykazie nie widzę na szybko, ale jest na pewno. Nie wiem jedynie, czy nie jest blokowana przed zmianą.

http://www.linuxcnc.org/docs/devel/html ... parameters

: 30 lis 2013, 21:59
autor: micges
W linuxcnc jest taka możliwość tylko żadne GUI z tego nie korzysta.
Można sobie dodać do kodu Axis pod jakimś przyciskiem. Zadziała tylko w czasie postoju.

Kod: Zaznacz cały

c.set_min_limit(nr_osi, limit)
c.set_max_limit(nr_osi, limit)

: 30 lis 2013, 23:20
autor: jacek-1210
Trochę się w tym gubię od strony logicznej na obecną chwilę - nie wiem czy trzeba limit zmieniać po każdej zmianie freza i pomiarze, czy wystarczy jeden pomiar i wpisanie limitu z odpowiednim ofsetem i wystarczy na cały czas pracy maszyny i kolejne wymiany narzędzia + pomiar ? Limity są zdaje się na współrzednych bezwzględnych, pomiar też, ale ofset jest na względnych (?) Co do stref bezpiecznych: przydałaby się możliwość opisania strefy czujnika narzędzia, żeby maszyna nie wjechała frezem w czujnik przejazdem w X lub Y, ale to chyba wygórowane wymagania :smile: . Co do odbazowania: bazowanie jest (przynajmniej u mnie) do górnego limitu, a zmieniać chciałbym dolny limit

: 01 gru 2013, 06:29
autor: kamar
jacek-1210 pisze: Limity są zdaje się na współrzednych bezwzględnych,
Dlatego pisałem ze to niełatwe :) Normalnie limit = baza +(-) zakres osi. Przestawiając limit nie zmieniając zakresu spowodujesz tylko to że będzie walił w twardy zderzak na górze. Pewnie teoretycy zaraz napiszą ze zakres tez da się zmienić z programu ale czy gra warta świeczki ?
Dla mnie limity i zakres to wartości święte na frezarkach. Na tokarkach bywa różnie :)

: 01 gru 2013, 08:27
autor: tuxcnc
hecza pisze:O zmianie limitu też kiedyś myślałem – byłby to dobry sposób na deklarowanie tzw. stref bezpiecznych (gdzieś taką opcję widziałem – Heidenhain ???)
Teoretycznie w LinuxCNC można prawie wszystko.
Pomysł bardzo mi się podoba, ale tradycyjnie nie mam na to czasu.
Zrobienie tego jest banalnie proste, wystarczy trochę podłubać w HAL.
Jest taka konfiguracja linuxcnc/configs/sim/simulated_limits.hal .
Trochę modyfikując ten plik można zasymulować wjechanie na krańcówkę w dowolnym miejscu, nawet pośrodku obszaru roboczego.
Oprócz komponentu wcomp mamy też normalny komparator comp i wiele bramek logicznych, łącznie z lut, i można na tym zbudować dowolną funkcję chroniącą przed najechaniem nie tylko w czujnik narzędzia ale i imadło za parę tysięcy ...

.

: 01 gru 2013, 13:36
autor: jacek-1210
Może źle się wyraziłem - to nie musi być koniecznie sztywny limit maszynowy. Może to być modyfikacja zakresu posuwu liczona od bazowania albo coś innego co nie pozwoli -nawet przy błędnym programie- zjechać narzędziu np. 47.5mm poniżej poziomu czujnika narzędzia

: 01 gru 2013, 16:33
autor: kamar
jacek-1210 pisze:. Może to być modyfikacja zakresu posuwu liczona od bazowania albo coś innego co nie pozwoli -nawet przy błędnym programie-
To trochę insza inszość :) Wprowadz w g-kodzie dodatkową zmienną bezpieczną przy pomiarze narzędzia większą o te 47.5 od Z i uwarunkuj komunikat jak przekroczy.
Ale chyba lepiej zapanować nad maszyną coby jeździła tam gdzie chcemy :) Przed wszystkimi okolicznościami się nie zabezpieczysz programowo.