Jak wykryć położenie osi Z i wyciągnąć sygnał sterujący?

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
zbigsm
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 106
Rejestracja: 09 sie 2005, 23:44
Lokalizacja: BB

Jak wykryć położenie osi Z i wyciągnąć sygnał sterujący?

#1

Post napisał: zbigsm » 10 sty 2013, 18:36

Sporo się pisze na tym podforum o makrach dla Macha.
Korzystając z tej wiedzy, nie było problemu z uruchomieniem czujnika wysokości narzędzia czy też makra centrującego otwór lub zerującego krawędź materiału.
Nie wiem, czy to co mam do zrobienia, da się zrobić makrem.

Potrzebuję sterować dodatkowym nadmuchem powietrza z dyszy, w momencie gdy oś Z schodzi do pewnej ustalonej wysokości, na przykład 5 mm.
Czyli mamy dojazd na pozycję w osiach X i Y, (Z = 20mm), narzędzie zjeżdża w dół, w odpowiednim momencie włącza się przekaźnik (Z = 5 mm),
dopóki Z nie wróci powyżej 5mm, to cały czas załączony. I tak przez cały program, reagując na każde położenie osi Z poniżej założonej wartości.

Mam nadzieję, że opisałem to zrozumiale, proszę o pomoc jak to zrealizować.


Pozdrawiam - Zbyszek z BB

Tagi:


qqaz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2082
Rejestracja: 28 sty 2007, 16:12
Lokalizacja: Łódź

#2

Post napisał: qqaz » 10 sty 2013, 21:59

Zjedź do poziomu, włącz dmuchawę, jedź dalej - w programie to Ty decydujesz co, gdzie, kiedy.
Jeżeli Gkod to magia lub niedostepnośc to załóż krańcówkę na Z-kę w odpowiednim miejscu.
Jeżeli programowa wielkość 5mm jest na różnym poziomie i krańcówkowanie bedzie upierdliwe dla róznych programów a Gkodem załatwić się nie da to wstawisz plugina z komparatorem wysokości - wg współrzędnych maszynowych - gdy wiatrak na stałe sprzętowo jest ustawiony lub programowych dla wysokości zmiennej.


Autor tematu
zbigsm
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 106
Rejestracja: 09 sie 2005, 23:44
Lokalizacja: BB

#3

Post napisał: zbigsm » 11 sty 2013, 15:23

Dziękuję za podpowiedź, już się odniosę do pomysłów kolegi.
Zastosowanie krańcówki było pierwszą myślą przy projektowaniu osi Z. Przy regulacji wysokości za pomocą przesuwania góra-dół czujnika, można by ustawiać punkt załączenia przekaźnika.
Jednak jest to dodatkowa czynność, przy różnych wysokościach materiału wymagało by każdorazowego ustawiania.

Kody G nie są dla mnie magią, wiem jak to zrobić z palca dla pojedynczych linijek, tylko że nie widzę dopisywania funkcji dla kilkuset czy więcej kodów G.
Jak to zrobić z poziomu postprocesora, tego nie wiem :) Chyba żeby zastosować prosty programik, który by dopisywał funkcję przy wystąpieniu ruchu osi Z.

Najciekawiej wygląda napisanie plugina, gdzie w polu dialogowym można by definiować wysokość załączenia i wyłączenia przekaźnika, oraz nawet numer portu pod który byłby podpięty. Może ktoś z kolegów chciałby napisać taki plugin, oczywiście nie za darmo?
Pozdrawiam - Zbyszek z BB

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#4

Post napisał: k-m-r1 » 11 sty 2013, 15:41

najprosciej? skonfirugowac w funkcjach oś 4
i przypisac do niej funkcje jeśli oś Z mniejsza od 5 to włączy oś4

do osi 4 przypisujesz sobie w ustawieniach jakiś pin
do pina podpinasz przekaznik z opuznieniem wyłaczenia np 2 s by wyłaczał sie po chwili dmuchania

i teraz jak oś Z zjedzie poniżej 5 mm
to właczy sie sygnał osi 4
a to załaczy przekaznik który działą przynajmniej 2 s i dmucha i tak za każdym razem

lub zrobic prostą logike gdzie porónuje warotsci osi Z z zadanąwartoscia jesli jest mniejsze od 5 mm to włącza jakieś wyjscie sterujące dmuchaniem


lub ten przekaznik krancówke czy cos podobnego bez postprocesora
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
zbigsm
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 106
Rejestracja: 09 sie 2005, 23:44
Lokalizacja: BB

#5

Post napisał: zbigsm » 11 sty 2013, 16:06

Opóźnienie wyłączania to wiem jak zrobić elektronicznie, przypisać pin do osi 4 też potrafię, jedynie nie rozumiem jak zrobić funkcję.
A funkcje, które by użyły oś 4 gdzie znajdę?
Pozdrawiam - Zbyszek z BB

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1418
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#6

Post napisał: k-m-r1 » 12 sty 2013, 08:13

MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]


Autor tematu
zbigsm
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 106
Rejestracja: 09 sie 2005, 23:44
Lokalizacja: BB

#7

Post napisał: zbigsm » 12 sty 2013, 14:00

Dziękuję kolego k-m-r1, w linku dobrze wytłumaczone działanie funkcji.
Rozumiem działanie funkcji w zakresie działań matematycznych czy przypisywania wartości jednej osi do drugiej, np. f(a) = z. Niestety nie wiem jak w funkcje wpisać warunki (jeżeli Z<5 to stan wysoki na wyjściu).
Rozwiązałem to w inny sposób. Użyłem braina, którego napisałem po oglądnięciu videotutoriala na stronie machsupport.
Mam po kolei "844-Z Position" --> "Compare immediate less than 5" --> "Output3".
Działa, wysokość mogę zmieniać, teraz testy :)
Pozdrawiam - Zbyszek z BB


dziabi3
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 874
Rejestracja: 13 sie 2009, 16:15
Lokalizacja: xxx

#8

Post napisał: dziabi3 » 13 sty 2013, 00:31

no problemo :mrgreen:

tylko napisz mi takie żeczy:

czy masz zrealizowaną jakąś funkcje w macropump.m1s jeśli masz to poproszę o te makro żebym dokleił co nieco od siebie

i napisz pod jakim outputem chcesz mieć to zrobione ?

Makro samo będzie za karz dym razem gdy tylko zjedzie poniżej 5mm koordynat maszynowych czy tez programowych odpalać ci nadmuch

z wykluczeniem takim że działa tylko jak masz odpalony program
Mach3 + CSMIO = :-) :-) :-)


Autor tematu
zbigsm
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 5
Posty: 106
Rejestracja: 09 sie 2005, 23:44
Lokalizacja: BB

#9

Post napisał: zbigsm » 13 sty 2013, 09:59

Nie używałem jeszcze funkcji związanych z macropump. W ogóle nie użyłem teraz makr, tylko BRAIN.
U mnie wyjścia są następująco: wrzeciono pod przekaźnik PK1, a elektrozawór od dmuchania na przekaźniku PK2.
Za to w brainie rozbudowałem od wczoraj funkcje o dwie rzeczy.
Pierwsza sprawdza stan wyjścia PK1, wykrywa czy wrzeciono się kręci. Chodziło mi, żeby nie dmuchało na nieruchomej maszynie, choćby przy ustawianiu zera materiału.
Druga funkcja porównuje wartość osi Z z średnicą narzędzia (Tool Diameter). Nie używam wymiany narzędzi, więc ta wartość pozwala mi prosto zmieniać wysokość, przy której włącza się przekaźnik PK2.
Zdefiniowałem kilka narzędzi w ToolTable i mam prosto regulację.
Na koniec jeszcze funkcja logiczna AND sprawdza, czy wystąpiły oba warunki, czyli praca wrzeciona i wysokość Z niższa od założonej, wtedy włącza PK2.
Tak to w skrócie wygląda, to moje pierwsze użycie mózgu :)
Pozdrawiam - Zbyszek z BB


dziabi3
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 874
Rejestracja: 13 sie 2009, 16:15
Lokalizacja: xxx

#10

Post napisał: dziabi3 » 13 sty 2013, 13:52

utwórz sobie dro w które będziesz wpisywał wysokość aktywacji i będzie miodzio
Mach3 + CSMIO = :-) :-) :-)

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”