Mach3, skrypt wymiany narzedzia
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 6
- Posty: 19
- Rejestracja: 05 lis 2005, 19:47
- Lokalizacja: Gnojnik
Mach3, skrypt wymiany narzedzia
Witam.
Mam następujące pytanie.
We frezarce kolegi oprogramowaliśmy na skrypcie wymianę narzędzia w taki sposób że na komende M6 uruchamia się skrypt który czeka na wcisniecie przycisku mechanicznego na panelu, wtedy wysterowuje przekaźnik zwalniający narzędzie, następnie czeka na ponowne naciśnięcie przycisku wtedy wysterowuje przekaźnik i łapie narzedzie.
Ale nie chodzi mi o samo dzialanie sryptu. Pytanie czy podczas działania skryptu mozna w jakis sposób zamrozic pulpit sterujący macha, tak aby np. ktos nie podszedł i nie kliknął start cyklu, albo nie uruchomił wrzeciona w momencie gdy ktos akurat wymienia narzędzie.?
Mam następujące pytanie.
We frezarce kolegi oprogramowaliśmy na skrypcie wymianę narzędzia w taki sposób że na komende M6 uruchamia się skrypt który czeka na wcisniecie przycisku mechanicznego na panelu, wtedy wysterowuje przekaźnik zwalniający narzędzie, następnie czeka na ponowne naciśnięcie przycisku wtedy wysterowuje przekaźnik i łapie narzedzie.
Ale nie chodzi mi o samo dzialanie sryptu. Pytanie czy podczas działania skryptu mozna w jakis sposób zamrozic pulpit sterujący macha, tak aby np. ktos nie podszedł i nie kliknął start cyklu, albo nie uruchomił wrzeciona w momencie gdy ktos akurat wymienia narzędzie.?
-
- Lider FORUM (min. 2000)
- Posty w temacie: 5
- Posty: 2347
- Rejestracja: 28 sty 2007, 16:12
- Lokalizacja: Łódź
Re: Mach3, skrypt wymiany narzedzia
Do treści skryptu dopisz polecenie zmiany ekranu na którym będziesz miał tylko klawisz "powrót" a jego zadziałanie może być dodatkowo uwarunkowane np kontrolą parametru generowanego przez skrypt. Dodatkowo zablokuj ruch aby strzałkami klawiatury nie można było poruszać osiami.
Gdy zmiana się zakończy to w skrypcie umieścisz przywrócenie ruchu polecenie powrotu do poprzedniego ekranu.
Klawisz na wywołanym ekranie jest na wszelki wypadek gdyby trzeba było przerwać skrypt ręcznie i jakoś wrócić trybem awaryjnym no bo bez żadnego trybu się nie da.(w Machu)
Gdy zmiana się zakończy to w skrypcie umieścisz przywrócenie ruchu polecenie powrotu do poprzedniego ekranu.
Klawisz na wywołanym ekranie jest na wszelki wypadek gdyby trzeba było przerwać skrypt ręcznie i jakoś wrócić trybem awaryjnym no bo bez żadnego trybu się nie da.(w Machu)
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 6
- Posty: 19
- Rejestracja: 05 lis 2005, 19:47
- Lokalizacja: Gnojnik
Re: Mach3, skrypt wymiany narzedzia
Dzięki za odpowiedź, skoro jet to jedyny sposób to pewno zastanowię się nad jego wprowadzeniem.
Podpowiedz mi jeszcze w jaki spowób z poziomu skryptu zminiać ekrany, oraz jak zablokować ruch?
Podpowiedz mi jeszcze w jaki spowób z poziomu skryptu zminiać ekrany, oraz jak zablokować ruch?
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 2
- Posty: 1563
- Rejestracja: 09 lip 2012, 20:34
- Lokalizacja: Poznań
Re: Mach3, skrypt wymiany narzedzia
Można wyświetlić po prostu okienko "Popup" z prośbą o potwierdzenie zakończenia wymiany. Nic nie będzie działać do czasu jego zamknięcia. Jak to nie pomoże to tylko zaspawać drzwi
Na głupotę nie ma rady.

-
- Lider FORUM (min. 2000)
- Posty w temacie: 5
- Posty: 2347
- Rejestracja: 28 sty 2007, 16:12
- Lokalizacja: Łódź
Re: Mach3, skrypt wymiany narzedzia
W treść skryptu wstaw linijkę:
DoOemButton(x)
' w tym momencie zmieni się ekran Macha na taki jaki masz zapisany pod nr X
Oczywiście trzeba sobie otworzyć plik ____.set który używasz i odpowiedni go poprawić.
Na tym ekranie nr(X) możesz zamieścić :
oemled(83)
'świeci gdy można uruchamiać osie
albo
oembutton(103)
'który jest klawiszem przełączanym i naciskany włącza i wyłącza możliwość ruchu.
Jeżeli tego klawisza nie będzie w treści ekranu to nie będzie można ruszać osiami.
albo
oemled(162)
'który świeci gdy jakiekolwiek makro jest uruchomiane i się jeszcze nie skończyło - wyświetla każde makro aż do zakończenia wszystkich.
Gdy skończysz manipulacje z wymianą narzędzia to możesz wrócić na główny ekran działaniem samego skryptu bo w treści swojego skryptu wymiany na końcu umieściłeś linijkę:
DoOemButton(1) - i masz ekran startowy
albo klawiszem z takim poleceniem który umieściłeś w treści ekranu nr(x).
Dodatkowo klawisz zadziałać może warunkowo gdy zechcesz w treść klawisza wpisać jakieś warunki np czy jakieś wejście jest aktywne albo wyjście ma odpowiedni stan (skrypt zresztą też bo działanie wywołanego makra nie zależy od sposobu jego wywołania czy to klawiszem czy treścią pliku Gkod).
DoOemButton(x)
' w tym momencie zmieni się ekran Macha na taki jaki masz zapisany pod nr X
Oczywiście trzeba sobie otworzyć plik ____.set który używasz i odpowiedni go poprawić.
Na tym ekranie nr(X) możesz zamieścić :
oemled(83)
'świeci gdy można uruchamiać osie
albo
oembutton(103)
'który jest klawiszem przełączanym i naciskany włącza i wyłącza możliwość ruchu.
Jeżeli tego klawisza nie będzie w treści ekranu to nie będzie można ruszać osiami.
albo
oemled(162)
'który świeci gdy jakiekolwiek makro jest uruchomiane i się jeszcze nie skończyło - wyświetla każde makro aż do zakończenia wszystkich.
Gdy skończysz manipulacje z wymianą narzędzia to możesz wrócić na główny ekran działaniem samego skryptu bo w treści swojego skryptu wymiany na końcu umieściłeś linijkę:
DoOemButton(1) - i masz ekran startowy
albo klawiszem z takim poleceniem który umieściłeś w treści ekranu nr(x).
Dodatkowo klawisz zadziałać może warunkowo gdy zechcesz w treść klawisza wpisać jakieś warunki np czy jakieś wejście jest aktywne albo wyjście ma odpowiedni stan (skrypt zresztą też bo działanie wywołanego makra nie zależy od sposobu jego wywołania czy to klawiszem czy treścią pliku Gkod).
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 6
- Posty: 19
- Rejestracja: 05 lis 2005, 19:47
- Lokalizacja: Gnojnik
Re: Mach3, skrypt wymiany narzedzia
Ale takie okienko zablokuje mi działanie skryptu, a to własnie skrypt steruje przekaźnikami otwierającymi i zamykającymi uchwyt narzędzia.
Dodane 1 minuta 22 sekundy:
Dzięki za obszerną odpowiedz, będę próbował coś działać w takim kierunku jak zasugerowałeś.qqaz pisze: ↑04 maja 2020, 13:21W treść skryptu wstaw linijkę:
DoOemButton(x)
' w tym momencie zmieni się ekran Macha na taki jaki masz zapisany pod nr X
Oczywiście trzeba sobie otworzyć plik ____.set który używasz i odpowiedni go poprawić.
Na tym ekranie nr(X) możesz zamieścić :
oemled(83)
'świeci gdy można uruchamiać osie
albo
oembutton(103)
'który jest klawiszem przełączanym i naciskany włącza i wyłącza możliwość ruchu.
Jeżeli tego klawisza nie będzie w treści ekranu to nie będzie można ruszać osiami.
albo
oemled(162)
'który świeci gdy jakiekolwiek makro jest uruchomiane i się jeszcze nie skończyło - wyświetla każde makro aż do zakończenia wszystkich.
Gdy skończysz manipulacje z wymianą narzędzia to możesz wrócić na główny ekran działaniem samego skryptu bo w treści swojego skryptu wymiany na końcu umieściłeś linijkę:
DoOemButton(1) - i masz ekran startowy
albo klawiszem z takim poleceniem który umieściłeś w treści ekranu nr(x).
Dodatkowo klawisz zadziałać może warunkowo gdy zechcesz w treść klawisza wpisać jakieś warunki np czy jakieś wejście jest aktywne albo wyjście ma odpowiedni stan (skrypt zresztą też bo działanie wywołanego makra nie zależy od sposobu jego wywołania czy to klawiszem czy treścią pliku Gkod).
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 6
- Posty: 19
- Rejestracja: 05 lis 2005, 19:47
- Lokalizacja: Gnojnik
Re: Mach3, skrypt wymiany narzedzia
Dzieki podpowiedzi qqaz, udało się mi osiągnąć zamierzony efekt.
Mam jednak jeszcze inny problem:
Mam napisane dwa skrypty które realizują obrót stołu roboczego, mam je zapisane jako m300, oraz m301, z poziomu okna macha wywołuje je poprzez przyciski które są zdefiniowane jako Execute Basic-Script, a w przypisanych skryptach mają zdefinowane polecenie: code "m300", oraz code "m301", i to mi działa jak należy.
Dodatkowo chciałem aby była mozliwość wywoływania tych makr poprzez sprzętowe przyciski które są podłączone do kontrolera csmio. Takimi sprzetowymi przyciskami mam obsłuzone start, pauza i stop poprzez zdefiniowanie OEM Trig w machu i następnie w HotKeys wywołanie odpowiednich OEM Code. Ale przyciski Execute Basic-Script nie mają kodu OEM który można wywołać. Generalnie macha znam słabo więc może o czymś nie wiem, podpowiecie cos jak to można ogarnąć nie używając skryptu macropump.
Mam jednak jeszcze inny problem:
Mam napisane dwa skrypty które realizują obrót stołu roboczego, mam je zapisane jako m300, oraz m301, z poziomu okna macha wywołuje je poprzez przyciski które są zdefiniowane jako Execute Basic-Script, a w przypisanych skryptach mają zdefinowane polecenie: code "m300", oraz code "m301", i to mi działa jak należy.
Dodatkowo chciałem aby była mozliwość wywoływania tych makr poprzez sprzętowe przyciski które są podłączone do kontrolera csmio. Takimi sprzetowymi przyciskami mam obsłuzone start, pauza i stop poprzez zdefiniowanie OEM Trig w machu i następnie w HotKeys wywołanie odpowiednich OEM Code. Ale przyciski Execute Basic-Script nie mają kodu OEM który można wywołać. Generalnie macha znam słabo więc może o czymś nie wiem, podpowiecie cos jak to można ogarnąć nie używając skryptu macropump.
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 6
- Posty: 19
- Rejestracja: 05 lis 2005, 19:47
- Lokalizacja: Gnojnik
Re: Mach3, skrypt wymiany narzedzia
Wydaje się mi że przez trigery to bardziej eleganckie i pewne rozwiązanie.
Ale jak nie ma innej opcji to zrobię na macropump.
Ale jak nie ma innej opcji to zrobię na macropump.
-
- Lider FORUM (min. 2000)
- Posty w temacie: 5
- Posty: 2347
- Rejestracja: 28 sty 2007, 16:12
- Lokalizacja: Łódź
Re: Mach3, skrypt wymiany narzedzia
Zrób jak wygodnie i zrozumiale.
Komputer nie poddaje się człowieczym kwalifikacjom że eleganckie - gdy działa to działa.
Byle tylko wiedzieć co można zrobić i ominąć (lub wykorzystać) ograniczenia sprzętowe.
Komputer nie poddaje się człowieczym kwalifikacjom że eleganckie - gdy działa to działa.
Byle tylko wiedzieć co można zrobić i ominąć (lub wykorzystać) ograniczenia sprzętowe.