dodatki do linuxcnc

Dyskusje dotyczące działania obsługi programu LinuxCNC
Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

dodatki do linuxcnc

#1

Post napisał: pitsa » 14 paź 2022, 14:31



zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#2

Post napisał: pitsa » 19 paź 2022, 10:40

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:

Obrazek

W załączeniu to co u mnie trzeba było dopisać.
czas_pracy_.tar.gz
fragmenty plików konfiguracyjnych z działającym w panelu licznikiem czasu pracy wykonywanego projektu
(1.21 KiB) Pobrany 45 razy
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#3

Post napisał: pitsa » 21 paź 2022, 13:55

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"

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
Do custompanel.xml wyświetlenie ich:

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>
Aby to zadziałało trzeba dopisać do .axisrc w katalogu domowym:

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 
Przykład pokazuje jak dobrać się również do innych konstrukcji jak ta "(max_extents[0] - min_extents[0])/2" z linuxcnc.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#4

Post napisał: pitsa » 26 paź 2022, 08:10

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:

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
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
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 16240
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: dodatki do linuxcnc

#5

Post napisał: kamar » 26 paź 2022, 20:38

Mogę zapytać - po co to ? I w czym to ma pomóc przy robocie ?
Czy to tak jak ze zdobywaniem górskich szczytów ? :)

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#6

Post napisał: pitsa » 27 paź 2022, 08:39

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.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 16240
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: dodatki do linuxcnc

#7

Post napisał: kamar » 27 paź 2022, 10:04

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 :

Obrazek

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#8

Post napisał: pitsa » 27 paź 2022, 11:46

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.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


kamar
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 5
Posty: 16240
Rejestracja: 18 wrz 2010, 06:17
Lokalizacja: Kozienice
Kontakt:

Re: dodatki do linuxcnc

#9

Post napisał: kamar » 27 paź 2022, 12:41

Faktycznie , inna bajka, inne suby.
Detal z katalogu wyżej.

Obrazek

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 10
Posty: 4695
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: dodatki do linuxcnc

#10

Post napisał: pitsa » 14 lis 2022, 09:20

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:

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))
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

Kod: Zaznacz cały

commands.set_view_z2()
axisrc_strzalkilustro.txt
lustro działania strzałek na klawiaturze
(2.01 KiB) Pobrany 47 razy
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”