dodatki do linuxcnc
-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
dodatki do linuxcnc
logi włączenia/wyłączenia maszyny: https://www.forum.linuxcnc.org/21-axis/12553-axis-log
licznik czasu pracy: https://gano.name/shawn/CNC/files/6c85b ... deb-0.html
licznik czasu pracy: https://gano.name/shawn/CNC/files/6c85b ... deb-0.html
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
Ten licznik czasu pracy podpięty pod panel PYVCP to dobry przykład dla początkujących. 
Na źródłowej stronie nie ma informacji, że trzeba sobie w odpowiednim miejscu dopisać "HALUI = halui" aby działało sprawdzanie czy program jest uruchomiony za pomocą "halui.program.is-idle" ale dzięki komunikatom błędu uchuchomienia linuxcnc można łatwo do tego dojść.
I jeszcze jedno. Trzeba czytać dokumentację, bo okazuje się, że jest to przykład z: http://linuxcnc.org/docs/html/man/man9/time.9.html
Warto też wiedzieć co jest menu programu. Wchodząc do menu Plik-właściwości... można zobaczyć tabelkę z informacjami:
W załączeniu to co u mnie trzeba było dopisać.

Na źródłowej stronie nie ma informacji, że trzeba sobie w odpowiednim miejscu dopisać "HALUI = halui" aby działało sprawdzanie czy program jest uruchomiony za pomocą "halui.program.is-idle" ale dzięki komunikatom błędu uchuchomienia linuxcnc można łatwo do tego dojść.
I jeszcze jedno. Trzeba czytać dokumentację, bo okazuje się, że jest to przykład z: http://linuxcnc.org/docs/html/man/man9/time.9.html

Warto też wiedzieć co jest menu programu. Wchodząc do menu Plik-właściwości... można zobaczyć tabelkę z informacjami:

W załączeniu to co u mnie trzeba było dopisać.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
Jeszcze jeden "przepis" który mi się przydał:
https://forum.linuxcnc.org/22-pyvcp/302 ... custom-xml
W podglądzie wyświetlane są wymiary zewnętrzne, można je wyłączyć w menu "Widok - pokaż wymiary". Potrzebne mi były współrzędne środka i zrobiłem to tak:
Do custom_postgui.hal pobranie środków z "przepisu"
Do custompanel.xml wyświetlenie ich:
Aby to zadziałało trzeba dopisać do .axisrc w katalogu domowym:
Przykład pokazuje jak dobrać się również do innych konstrukcji jak ta "(max_extents[0] - min_extents[0])/2" z linuxcnc.
https://forum.linuxcnc.org/22-pyvcp/302 ... custom-xml
W podglądzie wyświetlane są wymiary zewnętrzne, można je wyłączyć w menu "Widok - pokaż wymiary". Potrzebne mi były współrzędne środka i zrobiłem to tak:
Do custom_postgui.hal pobranie środków z "przepisu"
Kod: Zaznacz cały
net srodekx pyvcp.srodekx.00 <= boundaries.mid_lim_x
net srodeky pyvcp.srodeky.00 <= boundaries.mid_lim_y
net srodekz pyvcp.srodekz.00 <= boundaries.mid_lim_z
Kod: Zaznacz cały
<labelframe text="srodki">
<font>("Helvetica",10)</font>
<hbox>
<number>
<halpin>"srodekx.00"</halpin>
<format>"4.2f"</format>
</number>
<number>
<halpin>"srodeky.00"</halpin>
<format>"4.2f"</format>
</number>
<number>
<halpin>"srodekz.00"</halpin>
<format>"4.2f"</format>
</number>
</hbox>
</labelframe>
Kod: Zaznacz cały
if hal_present:
mycomp = hal.component("boundaries")
mycomp.newpin("max_lim_x",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("min_lim_x",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("mid_lim_x",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("max_lim_y",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("min_lim_y",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("mid_lim_y",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("max_lim_z",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("min_lim_z",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.newpin("mid_lim_z",hal.HAL_FLOAT,hal.HAL_OUT)
mycomp.ready()
if vars.metric.get():
conv = 1
else:
conv = 1/25.4
# this function is called at [DISPLAY]CYCLE_TIME interval
def user_live_update():
min_extents = from_internal_units(o.canon.min_extents, conv)
max_extents = from_internal_units(o.canon.max_extents, conv)
mycomp['min_lim_x'] = min_extents[0]
mycomp['max_lim_x'] = max_extents[0]
mycomp['mid_lim_x'] = min_extents[0] + (max_extents[0] - min_extents[0])/2
mycomp['min_lim_y'] = min_extents[1]
mycomp['max_lim_y'] = max_extents[1]
mycomp['mid_lim_y'] = min_extents[1]+ (max_extents[1] - min_extents[1])/2
mycomp['min_lim_z'] = min_extents[2]
mycomp['max_lim_z'] = max_extents[2]
mycomp['mid_lim_z'] = min_extents[2]+ (max_extents[2] - min_extents[2])/2
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
kolejny przykład z logowaniem:
https://techoverflow.net/2022/02/08/lin ... me-to-csv/
Po dopisaniu tego M1XX na początku i na końcu suba tworzy taki log:
Na starcie jest nazwa suba, a na zakończenie "auto.ngc". Może być. Chociaż przydałoby się dorzucić, że to było "o<ksipzios> call [77.0][0.0][1.0][-75.0][55.0]" i wiedzieć na jakich parametrach poszedł sub... czyli dokleić do loga przedostatni wiersz z auto.ngc.
Może coś jeszcze tutaj da się znaleźć: https://techoverflow.net/?s=linuxcnc
https://techoverflow.net/2022/02/08/lin ... me-to-csv/
Po dopisaniu tego M1XX na początku i na końcu suba tworzy taki log:
Kod: Zaznacz cały
2022-10-26T07:35:41.525257 | Args=-1.000000, -1.000000 | Path=/home/p/suby/b7x4li1s.ngc
2022-10-26T07:39:49.463016 | Args=-1.000000, -1.000000 | Path=/home/p/linuxcnc/configs/probna2/auto.ngc
2022-10-26T07:46:56.621899 | Args=-1.000000, -1.000000 | Path=/home/p/suby/kskipzios.ngc
2022-10-26T07:57:48.845306 | Args=-1.000000, -1.000000 | Path=/home/p/linuxcnc/configs/probna2/auto.ngc
Może coś jeszcze tutaj da się znaleźć: https://techoverflow.net/?s=linuxcnc
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
- Lider FORUM (min. 2000)
- Posty w temacie: 5
- Posty: 16281
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: dodatki do linuxcnc
Mogę zapytać - po co to ? I w czym to ma pomóc przy robocie ?
Czy to tak jak ze zdobywaniem górskich szczytów ?
Czy to tak jak ze zdobywaniem górskich szczytów ?

-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
Widzisz, suby nie są dla mnie wystarczające, szukam dodatkowych możliwości i niektóre znajdy notuję tutaj. Im więcej różnych rozwiązań przetestuję tym lepiej wiem co jeszcze i w jaki sposób mogę sobie usprawnić.
Czas pracy na przykład ma dla mnie duże znaczenie. Tego chyba nie trzeba wyjaśniać.
Potrzebuję również dobrych notatek o tym co się robiło również aby po latach móc wrócić do dokładnie tego samego.
Historia pracy maszyny trochę w tym pomaga, ale nie jest wystarczająca.
Załóżmy, że chcę wrócić do tego co robiłem wczoraj. Mam to co robiłem bo wystarczyło po każdej robocie zrobić notatkę klikając w "Plik - Zapisz G-cod jako ..." czyli zapisać aktualny plik auto.ngc z parametrami wywołania suba. Są w tym pliku parametry, które wpisałem do suba, Mogę uruchomić dokładnie to samo.
Sprawa komplikuje się gdy będę miał do wykonania powtórkę sprzed paru lat. Trzeba ogarność nazewnictwo projektów, jakoś to usystematyzować aby się w tym nie pogubić. Systematycznie zapisywać i opisywać projekty. W moim przypadku jest to skala kilkadziesięciu subów w kilkunastu wersjach rocznie. Zbiera się tego dużo. Jeszcze nie wiem jak to ogarnąć w linuxcnc. Stąd szukam.
Czas pracy na przykład ma dla mnie duże znaczenie. Tego chyba nie trzeba wyjaśniać.
Potrzebuję również dobrych notatek o tym co się robiło również aby po latach móc wrócić do dokładnie tego samego.
Historia pracy maszyny trochę w tym pomaga, ale nie jest wystarczająca.
Załóżmy, że chcę wrócić do tego co robiłem wczoraj. Mam to co robiłem bo wystarczyło po każdej robocie zrobić notatkę klikając w "Plik - Zapisz G-cod jako ..." czyli zapisać aktualny plik auto.ngc z parametrami wywołania suba. Są w tym pliku parametry, które wpisałem do suba, Mogę uruchomić dokładnie to samo.
Sprawa komplikuje się gdy będę miał do wykonania powtórkę sprzed paru lat. Trzeba ogarność nazewnictwo projektów, jakoś to usystematyzować aby się w tym nie pogubić. Systematycznie zapisywać i opisywać projekty. W moim przypadku jest to skala kilkadziesięciu subów w kilkunastu wersjach rocznie. Zbiera się tego dużo. Jeszcze nie wiem jak to ogarnąć w linuxcnc. Stąd szukam.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
- Lider FORUM (min. 2000)
- Posty w temacie: 5
- Posty: 16281
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Re: dodatki do linuxcnc
Sub został stworzony do wykonania w miarę prostych operacji szybko , bezpośrednio na maszynie.
Jeśli chcesz za ich pomocą archiwizować detale to współczuję
Nie wiem jakie masz detale, ale przy kilku różnych operacjach, nie do ogarnięcia.
U mnie nawet kodów z Cama się nie przechowuje, jedynie modele ze ścieżkami.
Po czasie to zawsze coś się zmienia, a to maszyna , a to narzędzie i korekty są konieczne.
Kody detali częściej powtarzalnych oczywiście się przechowuje ale w takiej postaci :

Jeśli chcesz za ich pomocą archiwizować detale to współczuję

Nie wiem jakie masz detale, ale przy kilku różnych operacjach, nie do ogarnięcia.
U mnie nawet kodów z Cama się nie przechowuje, jedynie modele ze ścieżkami.
Po czasie to zawsze coś się zmienia, a to maszyna , a to narzędzie i korekty są konieczne.
Kody detali częściej powtarzalnych oczywiście się przechowuje ale w takiej postaci :

-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
Różnie jest w firmach. Tam gdzie wycinam stal mają każdego klienta i to co zlecał, od jego rysunków po wydruki dla tych co tną, sortują i wydają z magazynu. Wiele katalogów i plików i zarządzanie projektami. To się ERP, CRM albo jakoś tak podobnie nazywa... przemysł 4.0? 
Prosty przykład tego co robię w linuxcnc tu pokazywałem. W komputerze mam wszystko to co robiłem, od źródła do gotowych plików na maszyny.

Prosty przykład tego co robię w linuxcnc tu pokazywałem. W komputerze mam wszystko to co robiłem, od źródła do gotowych plików na maszyny.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
-
Autor tematu - Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 10
- Posty: 4463
- Rejestracja: 13 wrz 2008, 22:40
- Lokalizacja: PL,OP
Re: dodatki do linuxcnc
Jak zrobić odbicie lustrzane strzałek na klawiaturze?
Proszę nie pytać "a po co?"
Załóżmy, że przesiadłem się w odbiciu lustrzanym do maszyny żeby mi po plecach nie wiało.. albo siedzę bokiem do niej i chcę aby maszyny wykonywała ruchy strzałką tak jak mam względem niej klawiaturę.
Do .axisrc w katalogu domowym trzeba dopisać modyfikację działania klawiszy w taki sposób:
Przykład ten dotyczy osi Y (cyferka "1") i na bazie tego można powiązać klawisze z odpowiednim kierunkiem w zależnościu od punktu siedzenia. 
Tak można zbudować sobie odpowiednią układankę z <Left> <Right> <Up> <Down> -get +get ....
Na ekranie w linuxcnc widok też można sobie dostosować
i uruchomić na starcie wybrany za pomocą wpisu w .axisrc
Proszę nie pytać "a po co?"

Załóżmy, że przesiadłem się w odbiciu lustrzanym do maszyny żeby mi po plecach nie wiało.. albo siedzę bokiem do niej i chcę aby maszyny wykonywała ruchy strzałką tak jak mam względem niej klawiaturę.
Do .axisrc w katalogu domowym trzeba dopisać modyfikację działania klawiszy w taki sposób:
Kod: Zaznacz cały
root_window.bind("<Up>", lambda e: jog_on(1, -get_jog_speed(1)))
root_window.bind("<Down>", lambda e: jog_on(1, +get_jog_speed(1)))
root_window.bind("<KeyRelease-Up>", lambda e: jog_off(1))
root_window.bind("<KeyRelease-Down>", lambda e: jog_off(1))
root_window.bind("<Shift-Up>", lambda e: jog_on(1, -get_max_jog_speed(1)))
root_window.bind("<Shift-Down>", lambda e: jog_on(1, +get_max_jog_speed(1)))
root_window.bind("<Shift-KeyRelease-Up>", lambda e: jog_off(1))
root_window.bind("<Shift-KeyRelease-Down>", lambda e: jog_off(1))

Tak można zbudować sobie odpowiednią układankę z <Left> <Right> <Up> <Down> -get +get ....
Na ekranie w linuxcnc widok też można sobie dostosować
i uruchomić na starcie wybrany za pomocą wpisu w .axisrc
Kod: Zaznacz cały
commands.set_view_z2()
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ