Hejka
Mózg jako taki to nie bo jest z automatu realizowaną usługą jedną z wielu.
Zawartości (listy plików) też nie da się dorywczo włączać i wyłaczać podczas jednej sesji bo pliki mózgu ładowane są podczas podniesienia programu
Są atrybuty aktywności załadowanych plików i te mogą być zmieniane ale dostęp jest ręczny przez gmeranie w menu - raczej nie o to chodzi.
Aktywność danej procedury jest pod jakimś parametrem ale nie mam listy i wątpię aby dało się znaleźć które to parametry są odpowiedzialne - ich jest ponad 10000, powodzenia w testowaniu a sam Mach od 10 lat nie jest dotykany wiec skąd aktualizacja dokumentacji której i tak nigdy nie było.
Ale jeżeli poprawisz treść zawartych procedur o warunek zadziałania to taki klawisz na pulpicie będzie działać.
Wstawiasz gdziekolwiek leda np 1001 który świeci gdy ma działać
oraz klawisz z treścią:
-w polu opisowym "pstryk działania"
-w okienku z treścią do wykonania:
if getuserled(1001) then
setuserled(1001,0)
SetButtonText ( "mózg zgłupiał")
else
setuserled(1001,1)
SetButtonText ( "mózg działa")
end if
zachowaj podwójne entery po liniach funkcyjnych - VB lubi się gubić podczas interpretacji właśnie z powodu przeoczenia końca linii, bo wielowątkowość ,przerwania no idzie to pod windą, warto pilnować takie błahostki.
A w treści plików.brn (w folderze brain) które chcesz wstrzymywać dopisujesz
(praktycznie bedziesz musiał na nowo przepisać bo nie daje się uzupełnić wiersza)
warunek zapalonego leda(1001) który pozwoli na zadziałanie procedury.
I tyle.
Po podniesieniu Macha klawisz melduje się z napisem pstryk działania...
ale po pierwszym uzyciu bedzie miał napis odpowiednio do aktywności procedur.
Ćwicz.
Dodane 25 minuty 55 sekundy:
tak na boku...
warto założyć dodatkową stronę w pliku ekranu (jakiś wyższy numer niż te powszechne np 20 no i klawisz do jej wywołania na stronie dostępnej normalnie) i na niej nanosić wszystkie dodatkowe elementy które są wstawione jako własne, przyciski, ledy, dro,
a obok postawić etykietkę z opisem co do czego i numerem elementu. Występowanie tożsamych elementów nie szkodzi działaniu.
Łatwo wtedy zachować zgodność i nie nadpisywać numeracji bo nie znajdziesz we wszystkich elementach gdzie się co nadpisuje i dlaczego nie działa.
To drugi powód lamentu że Mach jest do du**.
Znaleziono 11 wyników
- 15 lut 2023, 22:33
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
- 08 lut 2023, 22:35
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
Pewnie teraz to może być irytujące ale te kalambury rebusów z makrem mogą być zastąpione kilkoma linijkami w tzw "mózgu" Macha - coś jak PLC ala drabinkowy.
Qq polega na tym że jest DRO które wprost udostępnia na bieżąco gotową różnicę pomiędzy wskazanymi licznikami. Tylko sprawdzić czy nie jest większe niż i wtedy...
Qq polega na tym że jest DRO które wprost udostępnia na bieżąco gotową różnicę pomiędzy wskazanymi licznikami. Tylko sprawdzić czy nie jest większe niż i wtedy...
- 04 lut 2023, 13:56
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
Radzisz sobie i jest efekt. O to biega.
Ale podejrzewam że enkodery z wyjściem OC podłączyłeś bezpośrednio do wejść Macha, ewentualnie jeszcze jakiś opornik. Dlatego łapał zakłócenia.
Wszelkie takie powinny być łączone linią różnicową. Nawet gdy poziom zakłóceń jest wysoki i jeszcze się ujawnia to wtedy ładuje się 2x większy prąd w połączeniu i już nic nie przeszkadza. A w linię można też i 1A puścić - ciekawe co by być musiało aby taki sygnał zneutralizować . Przy zainstalowanych mocach maszyny te kilka watów więcej...
We frezarce połączenie głowicy - silnik wrzeciona na falowniku, napęd osi Z czyli silnik prądu stałego i jego enkoder (UHU tym steruje), krańcówki góra/dół i home idą razem w jednym prowadniku łańcuchowym. I nic, żadnych zakłóceń ani gadania że falownik "trudny"
I pod Machem2 już 15 lat chodzi.
Ale podejrzewam że enkodery z wyjściem OC podłączyłeś bezpośrednio do wejść Macha, ewentualnie jeszcze jakiś opornik. Dlatego łapał zakłócenia.
Wszelkie takie powinny być łączone linią różnicową. Nawet gdy poziom zakłóceń jest wysoki i jeszcze się ujawnia to wtedy ładuje się 2x większy prąd w połączeniu i już nic nie przeszkadza. A w linię można też i 1A puścić - ciekawe co by być musiało aby taki sygnał zneutralizować . Przy zainstalowanych mocach maszyny te kilka watów więcej...
We frezarce połączenie głowicy - silnik wrzeciona na falowniku, napęd osi Z czyli silnik prądu stałego i jego enkoder (UHU tym steruje), krańcówki góra/dół i home idą razem w jednym prowadniku łańcuchowym. I nic, żadnych zakłóceń ani gadania że falownik "trudny"
I pod Machem2 już 15 lat chodzi.
- 21 mar 2019, 23:28
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
Trochę lepiej
widziałbym to tak
1) Po właczeniu należy maszynę zahołmować
Koniecznie z klawisza ekranu gdyż w nim będzie zaszyta procedura zerowania enkodera osi
2)Usermled(1001)-ma zapamiętać że pozycjonowanie nastąpiło i odczyt enkodera jest prawidłowy
Zapamiętanie stanu jako zapalenie jakiegoś kontrolnego leda np userled(1001) dla osi x
Następne userled(1002) (1003)..(1009) dla następnych osi.
3) Userled(1011) - wprowadzić kontrolę zgodności wszystkich osi
to będzie wskaźnik dla użytkownika
4) Userled(1012) kontrola zezwolenia od strony użytkownika
Zapalisz leda to działa, zgasisz to zadziałanie makra jest wstrzymane
Można zrobić to tak że uruchomienie RUN z automatu załącza aktywność leda i makro program będzie mogło zatrzymać o ile w trakcie realizacji nie wyłaczysz go klawiszem na ekranie.
Klawisz może być typu toogle - przełącza swieci/nie świeci.
5) klawisz ręcznej synchronizacji licznika enkodera z licznikiem osi
Naciskasz i na enkoderze masz wpisany stan osi - proste wymuszenie zgodności w każdym momencie.
Co wpisać:
do ekranu maszyny wstaw odpowiednie ledy (pkt 2,3,4) i DRO enkoderów.
Wstaw własne klawisze (pkt 4,5) i popraw treść hołma.
6) klawisz Refallhome zawiera:
DoButton( 24 )
DoButton( 23 )
DoButton( 22 )
DoButton( 25 )
dopisz między linijkami odpowiednio:
DoButton( 24 )' pozycjonowanie osi Z
if getoemled(809) then ' led osi Z świeci na zielono
SetOEMDro(31,0)' wyzerowanie enkodera osi Z
Setuserled(1003,1)' led synchro osi Z świeci
end if
DoButton( 23 ) - odpowiednio dla X
.
.
.
DoButton( 22 ) - odpowiednio dla Y
.
.
.
DoButton( 25 )
klawisz hołma poprawiony.
7) Wstaw klawisz z pkt 5) - ręczne zsynchronizowanie
treść klawisza:
a=getoemdro(83) ' odczytanie wartości maszynowej osi X
setoemdro(29,a) ' wpisanie wartości do licznika enkodera - jest zgodność
setuserled(1001,1) ' zapalenie leda bo jest oś X zsynchronizowana
tak samo dla Y i Z
klawisz ręcznej synchronizacji zrobiony
Wstaw klawisz z pkt 4) - zezwolenie działania
treść klawisza:
if getuserled(1012) then ' led pali/nie pali
setuserled(1012,0) ' zgaś leda
else
setuserled(1012,1) ' zapal leda
end if
klawisz przełaczania zezwolenia na działąnie makra zrobiony.
Chyba będzie działął również podczas wykonywania Gkodu - nie wiem, sprawdzisz.
8.) Teraz treść makropump
uchyb= stała ( albo wartość ze swojego wstawionego jakiegoś DRO na ekranie którego zawartość możęsz przecież edytować tak jak każdą oś)
if getuserled(1001) and getuserled(1002) and getuserled(1003) then
setuserled(1011,1) 'wszystkie osie OK
else
setuserled(1011,0)
end if ' nie wiem po co to powyżej ale będzie widać na ekranie ...
if getuserled(1012) then ' można sprawdzać
a=getoemdro(29)
b=getoemdro(83)
c=a-b
if Abs(c)>uchyb then
dooembutton(1003)
setuserled(1001,0) ' zgaś leda Xsynchro bo się rozjechało
message("no i du**")
sleep 1000
end if ' C
if.... dla następnej osi.
.
end if ' C
if.... dla następnej osi
.
end if ' C
end if '(1012)
chyba wszystko, doceń, półgodziny pisałem.
widziałbym to tak
1) Po właczeniu należy maszynę zahołmować
Koniecznie z klawisza ekranu gdyż w nim będzie zaszyta procedura zerowania enkodera osi
2)Usermled(1001)-ma zapamiętać że pozycjonowanie nastąpiło i odczyt enkodera jest prawidłowy
Zapamiętanie stanu jako zapalenie jakiegoś kontrolnego leda np userled(1001) dla osi x
Następne userled(1002) (1003)..(1009) dla następnych osi.
3) Userled(1011) - wprowadzić kontrolę zgodności wszystkich osi
to będzie wskaźnik dla użytkownika
4) Userled(1012) kontrola zezwolenia od strony użytkownika
Zapalisz leda to działa, zgasisz to zadziałanie makra jest wstrzymane
Można zrobić to tak że uruchomienie RUN z automatu załącza aktywność leda i makro program będzie mogło zatrzymać o ile w trakcie realizacji nie wyłaczysz go klawiszem na ekranie.
Klawisz może być typu toogle - przełącza swieci/nie świeci.
5) klawisz ręcznej synchronizacji licznika enkodera z licznikiem osi
Naciskasz i na enkoderze masz wpisany stan osi - proste wymuszenie zgodności w każdym momencie.
Co wpisać:
do ekranu maszyny wstaw odpowiednie ledy (pkt 2,3,4) i DRO enkoderów.
Wstaw własne klawisze (pkt 4,5) i popraw treść hołma.
6) klawisz Refallhome zawiera:
DoButton( 24 )
DoButton( 23 )
DoButton( 22 )
DoButton( 25 )
dopisz między linijkami odpowiednio:
DoButton( 24 )' pozycjonowanie osi Z
if getoemled(809) then ' led osi Z świeci na zielono
SetOEMDro(31,0)' wyzerowanie enkodera osi Z
Setuserled(1003,1)' led synchro osi Z świeci
end if
DoButton( 23 ) - odpowiednio dla X
.
.
.
DoButton( 22 ) - odpowiednio dla Y
.
.
.
DoButton( 25 )
klawisz hołma poprawiony.
7) Wstaw klawisz z pkt 5) - ręczne zsynchronizowanie
treść klawisza:
a=getoemdro(83) ' odczytanie wartości maszynowej osi X
setoemdro(29,a) ' wpisanie wartości do licznika enkodera - jest zgodność
setuserled(1001,1) ' zapalenie leda bo jest oś X zsynchronizowana
tak samo dla Y i Z
klawisz ręcznej synchronizacji zrobiony
Wstaw klawisz z pkt 4) - zezwolenie działania
treść klawisza:
if getuserled(1012) then ' led pali/nie pali
setuserled(1012,0) ' zgaś leda
else
setuserled(1012,1) ' zapal leda
end if
klawisz przełaczania zezwolenia na działąnie makra zrobiony.
Chyba będzie działął również podczas wykonywania Gkodu - nie wiem, sprawdzisz.
8.) Teraz treść makropump
uchyb= stała ( albo wartość ze swojego wstawionego jakiegoś DRO na ekranie którego zawartość możęsz przecież edytować tak jak każdą oś)
if getuserled(1001) and getuserled(1002) and getuserled(1003) then
setuserled(1011,1) 'wszystkie osie OK
else
setuserled(1011,0)
end if ' nie wiem po co to powyżej ale będzie widać na ekranie ...
if getuserled(1012) then ' można sprawdzać
a=getoemdro(29)
b=getoemdro(83)
c=a-b
if Abs(c)>uchyb then
dooembutton(1003)
setuserled(1001,0) ' zgaś leda Xsynchro bo się rozjechało
message("no i du**")
sleep 1000
end if ' C
if.... dla następnej osi.
.
end if ' C
if.... dla następnej osi
.
end if ' C
end if '(1012)
chyba wszystko, doceń, półgodziny pisałem.
- 13 mar 2019, 18:58
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
no fakt, jakoś zafiksowałem sobie że gdy zgubi krok to stoi do końca programu.
A przecież za chwilę może ruszyć. Jasne.
A przecież za chwilę może ruszyć. Jasne.
- 13 mar 2019, 14:04
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
Jesteś niejednym wątpiącym a wątpliwość możesz potwierdzić mikronową dokładnością enkodera - na pewno się wysypie i będzie sukces diagnozy - nie da się.
Mi jakoś kółko ręczne w tokarce się nie wysypuje, i niezależnie, jak szybko bym nim nie kręcił, to zawsze kropka kółka stoi na pełnym milimetrze
Zgubił kroki i wjechał w krańcówkę a gdyby ich nie zgubił to by pozostał w polu roboczym.
No chyba że pole ma kształt litery "L" i trzeba wewnętrzny kąt omijać
Mi jakoś kółko ręczne w tokarce się nie wysypuje, i niezależnie, jak szybko bym nim nie kręcił, to zawsze kropka kółka stoi na pełnym milimetrze
czujemy bzdury w tym opisie?schody.sek pisze:Zdarzyło mi się kilka razy że jeden z silników pogubił kroki a mach w dalszym ciągu realizował obróbkę -frez pruł materiał bez składu i ładu aż w końcu zatrzymał się na jednej z krańcówek.
Zgubił kroki i wjechał w krańcówkę a gdyby ich nie zgubił to by pozostał w polu roboczym.
No chyba że pole ma kształt litery "L" i trzeba wewnętrzny kąt omijać
- 11 mar 2019, 17:53
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
schody.sek pisze:u mnie jest to 65mm/sek
jeszcze raz:
Mach w macropump wykonuje pętlę programową co 0,1s
Czyli może zatrzymać ruch co 6,5mm dla pełnej prędkości.
I guzik ma rozdzielczość enkodera, nawet mikronowa.
Jaśniej chyba się nie da.
- 11 mar 2019, 16:56
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
schody.sek pisze:mi wystarczy dokładność 0.2mm. frezarki urzywam do obróbki drewna
no pisałem o dokładności przy posuwach w drewnie - pojedyncze milimetry bo kontrola co 0,1s.
A Ci tutaj o impulasach.
A zaraz może o stromości zbocza tego impulsa i jego zniekształceniach - takie dywagacje czy impuls już jest czy jeszcze się zastanawia.
Bo impuls ma to do siebie że jako zdarzenie głupawe może tylko wystąpić i co najwyżej dać się zauważyć.
Co za skrzynka czeka bo nic w skrzynce?
- 11 mar 2019, 12:03
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
Tak dla porządku aby ktoś na pałę nie wpisał tego kawałka kodu i że nie działa.
To tylko szkielet zadziałania.
Tak naprawdę to trzeba enkoder porównywać z licznikiem maszynowym Macha bo tylko ten się nie zmienia i cały czas odnosi się do fizyczności maszyny .
Poz(X) jest zmienna zależnie od aktualnego offsetu, albo wysokość Z wg używanego narzędzia i długości korekcji.
Tak wiec zamiast DRO(800) trzeba wstawić X Machine Coord DRO 83 .
Dodatkowo po zbazowaniu maszyny wyzerować również DRO(29).(chyba że ktoś nie używa bazy sprzętowej i jedzie cały czas na czerwonych ledach)
Oraz po każdym ręcznym zerowaniu koordynat maszynowych również (bo w tokarce standardowo można- nie wiem po co)
Dodane 1 godzina 3 minuty 5 sekundy:
Szanowny Panie Kolego.
Sam założyłeś watek prostujący mity o Machu ale widać że również sam w ich atmosferze krążysz.
Jakie pojedyncze impulsy?
Przy kontroli co 0,1s???
Przy posuwie w drewnie to dokładność zaledwie pojedynczych ale milimetrów.
Chcesz Macha to używasz ale z głową. Wtedy działa to, co ma działać, bo bzdur nie oczekujesz.
Albo...
To tylko szkielet zadziałania.
Tak naprawdę to trzeba enkoder porównywać z licznikiem maszynowym Macha bo tylko ten się nie zmienia i cały czas odnosi się do fizyczności maszyny .
Poz(X) jest zmienna zależnie od aktualnego offsetu, albo wysokość Z wg używanego narzędzia i długości korekcji.
Tak wiec zamiast DRO(800) trzeba wstawić X Machine Coord DRO 83 .
Dodatkowo po zbazowaniu maszyny wyzerować również DRO(29).(chyba że ktoś nie używa bazy sprzętowej i jedzie cały czas na czerwonych ledach)
Oraz po każdym ręcznym zerowaniu koordynat maszynowych również (bo w tokarce standardowo można- nie wiem po co)
Dodane 1 godzina 3 minuty 5 sekundy:
lepi pisze:wychwycenie błędu na poziomie kilkunastu impulsów.
Szanowny Panie Kolego.
Sam założyłeś watek prostujący mity o Machu ale widać że również sam w ich atmosferze krążysz.
Jakie pojedyncze impulsy?
Przy kontroli co 0,1s???
Przy posuwie w drewnie to dokładność zaledwie pojedynczych ale milimetrów.
Chcesz Macha to używasz ale z głową. Wtedy działa to, co ma działać, bo bzdur nie oczekujesz.
Albo...
- 11 mar 2019, 10:41
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: mach3+enkoder
- Odpowiedzi: 61
- Odsłony: 6198
Re: mach3+enkoder
W Machu stan enkodera odczytuje Mach i pokazuje wartość odczytaną w polu licznikowym DRO(29) - dla osi X. Oczywiście o ile podłączysz dwa kanały enkodera do wejść i zaznaczysz temu Machu że to jest właśnie to (w zakładce inputów).
DRO enkodera jest standardowo na ekranie w tokarce, we frezarce trzeba sobie wstawić.
DRO enkodera jest standardowo na ekranie w tokarce, we frezarce trzeba sobie wstawić.