Sterowanie - wbudowane + możliwość dodania

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
Foxik20
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 52
Rejestracja: 01 lis 2013, 21:40
Lokalizacja: Krasnystaw

Sterowanie - wbudowane + możliwość dodania

#1

Post napisał: Foxik20 » 28 maja 2015, 23:40

Witam wszystkich!

W miniony wtorek udało mi się ze szwagrem w końcu ożywić naszą maszynę, mianowicie ploterek 3-osiowy. Konstrukcja stalowo-aluminiowa, silniki krokowe 1.9 Nm, własne sterowniki oraz płyta główna. Sterowanie oczywiście Linux CNC.

Przechodząc do rzeczy; czytałem wiele poradników, jak zacząć zabawę z tym sterowaniem, konfiguracja pinów portu LPT itp. to wszystko jest dla mnie w miarę jasne. Jednak czuję pewien niedosyt wiedzy na temat skrótów do sterowania poszczególnymi elementami maszyny.
Poznałem podstawowe skróty (w sumie są one zapisane w rozwijanym menu na górze okienka obok funkcji, jaką pełnią), tj. F1 - wyłącznik awaryjny, F2 - uruchom maszynę, natomiast poruszaniem modułami obrabiarki steruje się klawiszami numerycznymi... Standard.
Niemniej, chciałbym poznać (utworzyć?) skróty do innych, przydatnych jak dla mnie funkcji, mianowicie ręczne uruchomienie/zatrzymanie wrzeciona (+ew. regulacja obrotami PWM), ustawienie ręczne pojedynczego przejścia w osi (to, co wybiera się z rozwijalnej listy tuż pod symbolami osi X, Y, Z), zerowanie poszczególnych z osi, itd.

Być może takie skróty istnieją, jednak mnie nie udało się ich odnaleźć.
Mam nadzieję, że nie tylko ja chętnie skorzystałbym z tych funkcji (skrótów), bo mało kto lubi celować kursorem na ikonkę, a w warsztacie wiadomo - czysto nie jest, co może spowodować 'wariowanie' kursora ;)

Pozdrawiam



Tagi:

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 3706
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#2

Post napisał: MlKl » 29 maja 2015, 08:27

To, co opisałeś jest już zaimplementowane - f8 włącza/wyłącza chłodziwo, f9 startuje i zatrzymuje wrzeciono w prawo, f10 to samo tylko w lewo. F12 zwiększa obroty, f11 zmniejsza obroty wrzeciona. W postach kamara i jego syna Artura znajdziesz przykłady podpinania komend pod kombinacje klawiszy i podmiany standardowych przypisań na własne.


Autor tematu
Foxik20
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 52
Rejestracja: 01 lis 2013, 21:40
Lokalizacja: Krasnystaw

#3

Post napisał: Foxik20 » 30 maja 2015, 11:05

MlKl pisze:W postach kamara i jego syna Artura znajdziesz przykłady podpinania komend pod kombinacje klawiszy i podmiany standardowych przypisań na własne.
W końcu po kilkinastu minutach szukania o którego Artura chodzi ;) doszedłem do jego stronki. Tam znalazłem ciekawy wpis:
http://zapiskinaodwrocie.pl/2014/04/zmi ... szami-1-4/
To niemal dokładnie to, co szukam, co bardzo mnie cieszy.
Napotykam jednak dość poważny problem, bo w żaden sposób nie mogę edytować pliku axis, gdyż jak to mi system powiedział: "tylko właściciel ma prawo edytować i zapisywać ten plik", a jako że ja do niego nie należę, tylko root, więc jestem w ciemnej, czarnej :/
Dodam, że mogę skopiować plik axis np. na pulpit, gdzie bez problemu mogę go edytować i zapisywać. Zmienionego pliku nie mogę podmienić za oryginalny.

Awatar użytkownika

MlKl
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 3706
Rejestracja: 15 sie 2010, 13:44
Lokalizacja: Błonie
Kontakt:

#4

Post napisał: MlKl » 30 maja 2015, 12:30

Kod: Zaznacz cały

sudo gedit


Autor tematu
Foxik20
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 52
Rejestracja: 01 lis 2013, 21:40
Lokalizacja: Krasnystaw

#5

Post napisał: Foxik20 » 03 cze 2015, 23:50

Dzięki za podpowiedzi, bardzo mi one pomogły i ruszyłem z tematem. Ogarnąłem sobie przykład ze strony Artura i na jego podstawie zacząłem buszować w pliku axis nieco głębiej.
Ze zmianą klawisza przypisanego do danej funkcji nie miałem problemu, ale dzisiaj ze szwagrem siedzieliśmy nad tematem: inkrementalnego przyrostu wartości skali prędkości; w naszym przypadku +/- 5%.
Analizując kod doszliśmy, że na samym początku analizowany jest wciśnięty przycisk, potem wywoływana komenda doń przypisana. U nas w przypadku wciśnięcia klawisza ~,1...9,0 dawało skutek ustawienia skali prędkości od 0 do 100% z dokładnością 10%.
Gdy jednak to okazało się dla nas mało satysfakcjonujące, zaczęliśmy szukać sposobu, aby używać do zmiany prędkości tylko trzech przycisków, i tak:
~ - 0%
1 - -5%
2 - +5%
Problem pojawił się jednak w tym, że wstępnie wywoływana jest procedura następująca:

Kod: Zaznacz cały

def activate_axis_or_set_feedrate(n)
W której to zawiera się odnośnik do kolejnej, czyli:

Kod: Zaznacz cały

def set_feedrate(n):
    widgets.feedoverride.set(n)
I tu się nasza wyliczanka zakończyła, bo nie potrafiliśmy z tym pójść dalej. Odkryliśmy jednak, że obecna wartość skali prędkości "przechowywana" jest w funkcji (?) feedrate. Problem pojawia się tutaj dość poważny, ponieważ nie wiemy, pod jaką zmienną kryje się owa obecna wartość, czyli wielkość odpowiadająca procentom przy przesuwaku na ekranie monitora.
Drugą sprawą, która nas także zaciekawiła, to ustawienie 'prędkości posuwu' tak, aby na starcie programu była ona maksymalna, czyli taka jak na skali poniżej. Wkurzające jest to, jak trzeba przejechać od razu w jednej, czy dwóch osiach, a tu się wszystko 'ślimaczy' :P

Pozdrawiam
Łukasz

Awatar użytkownika

ArturM
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 160
Rejestracja: 12 kwie 2008, 07:53
Lokalizacja: Kozienice
Kontakt:

#6

Post napisał: ArturM » 04 cze 2015, 21:22

Foxik20 pisze:

Kod: Zaznacz cały

def set_feedrate(n):
    widgets.feedoverride.set(n)
I tu się nasza wyliczanka zakończyła, bo nie potrafiliśmy z tym pójść dalej. Odkryliśmy jednak, że obecna wartość skali prędkości "przechowywana" jest w funkcji (?) feedrate. Problem pojawia się tutaj dość poważny, ponieważ nie wiemy, pod jaką zmienną kryje się owa obecna wartość, czyli wielkość odpowiadająca procentom przy przesuwaku na ekranie monitora.
Trop bardzo dobry :D

Wywołanie:

Kod: Zaznacz cały

widgets.feedoverride.get()
zwróci aktualnie ustawioną wartość.

Robimy więc taką funkcję:

Kod: Zaznacz cały

def activate_axis_or_set_feedrate(n):                                             
  ustawiona_predkosc = widgets.feedoverride.get()

  if n == 0:
    set_feedrate(0)
  if n == 1:
    ustawiona_predkosc -= 5
    if ustawiona_predkosc < 0:
      ustawiona_predkosc = 0 
    set_feedrate(ustawiona_predkosc) 
  if n == 2:
    ustawiona_predkosc += 5
    if ustawiona_predkosc > 100:
      ustawiona_predkosc = 100 
    set_feedrate(ustawiona_predkosc)
i mamy: ~ - 0%, 1 - -5%, 2 - +5%

Pozwoliłem sobie na stronce tez dodać - żeby nie zginęło :D


Autor tematu
Foxik20
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 8
Posty: 52
Rejestracja: 01 lis 2013, 21:40
Lokalizacja: Krasnystaw

#7

Post napisał: Foxik20 » 05 cze 2015, 08:18

Wielkie dzięki! Już uruchamiam komputer i wgrywam Twój kod ;) Punkty lecą w pełni zasłużone ;)


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

#8

Post napisał: IMPULS3 » 05 cze 2015, 08:20

Że tak nieśmiało zapytam :) , jak mam pod klawiszami 1,2,3, - 2-4-6% to czy jest mozliwość pozostałym klawiszom dać prędkości np. Aby 4 zaczynał się od 15%, 5 np.25% i tak do 100%. Dlatego ze jest zbyt duży przeskok pomiędzy 6% i od razu 40% a przesuwanie prędkości myszką jest mało wygodne. :)


hecza
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 403
Rejestracja: 06 mar 2012, 13:25
Lokalizacja: Częstochowa

#9

Post napisał: hecza » 05 cze 2015, 08:38

IMPULS3 pisze:Że tak nieśmiało zapytam :) , jak mam pod klawiszami 1,2,3, - 2-4-6% to czy jest mozliwość pozostałym klawiszom dać prędkości np. Aby 4 zaczynał się od 15%, 5 np.25% i tak do 100%. Dlatego ze jest zbyt duży przeskok pomiędzy 6% i od razu 40% a przesuwanie prędkości myszką jest mało wygodne. :)
Tak - można.

Pozdrawiam


IMPULS3
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 7549
Rejestracja: 25 gru 2010, 21:55
Lokalizacja: LUBELSKIE

#10

Post napisał: IMPULS3 » 05 cze 2015, 10:07

Tak - można.
Jesteś po prostu genialny. :) (inaczej) :)
To że mozna to dla programistów jest oczywiste, pytam czy mozna to zrobić prostym poleceniem i jak tak to jakim.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”