Kompilacja programu w Ubuntu EMC

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

Autor tematu
blue_17
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1715
Rejestracja: 16 kwie 2009, 07:55
Lokalizacja: Kraków/Kornatka

#11

Post napisał: blue_17 » 17 gru 2010, 16:58

To może zadam konkretniejsze pytania czy za pomocą EMC można sterować poprzez port szeregowy :?:


I czy można podłączyć do tego ubuntu monitor z panelem dotykowym :?:
żeby poczuć się jak w MACHU :D


"I siedzieli oni razem pod nagim DOS-em i nie wstydzili sie tego." :D

Tagi:

Awatar użytkownika

markcomp77
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 6
Posty: 3962
Rejestracja: 18 wrz 2004, 12:51
Lokalizacja: k/w-wy
Kontakt:

#12

Post napisał: markcomp77 » 17 gru 2010, 18:03

blue_17 pisze:I czy można podłączyć do tego ubuntu monitor z panelem dotykowym
żeby poczuć się jak w MACHU
panel dotykowy jest obsługiwany trochę jak mysz... więc przez system operacyjny - czyli tak... choć EMC2 nie wie, że go ktoś dotyka... on wciąż mysli, ze jest klikany ;)

co do portu szeregowego... jest to jedno z wielu standardowych złącz systemu operacyjnego... również linuksa
ciekaw jestem w jaki sposób to złącze ma być i do czego stosowane?... albo jeszcze lepiej jakim protokołem? (modbus.... can...)

ale szczerze - o "szeregach" muszę poczytać...
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Awatar użytkownika

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

#13

Post napisał: ArturM » 17 gru 2010, 21:03

blue_17 pisze:To może zadam konkretniejsze pytania czy za pomocą EMC można sterować poprzez port szeregowy :?:
Zerknij np. tu:
http://www.linuxcnc.org/component/optio ... g,english/


Daleki jestem od ferowania wyroków, ale odnoszę wrażenie że jakoś od złej strony to wszystko bierzesz. Zdradź chociaż trochę co chcesz uzyskać.

Jeżeli chcesz czymś sterować przez serial i to z binarki to jaki to ma związek z emc2?


A jeżeli chcesz zrobić program/nakładkę na emc2 (bo np. o panel dotykowy pytasz) to nie wiem czemu kombinujesz z serialem i Pascalem - w miare nowy axis 'łyka' pliki .py - więc nic nie stoi na przeszkodzie, żeby zrobic program w Pythonie który ma jakieś UI i można cośtam kliknąć/wpisac i na tej podstawie wygenerować kod do emc2 (sam tak mam zrobione pierdółki na frezarki/tokarki).
GUI w pythonie zrobisz sobie w PyGTK, wygenerowany kod trzeba po prostu 'wyprintować' - więc skoro znasz Pascala to 2-3 dni nauki i będziesz w stanie takie programiki w Pythonie trzaskać.

Sporo rzeczy można zrobic w pyVCP (ale tu to się praktycznie nie znam)

Można też zrobić swoją nakładkę - jak Axis czy tkemc ale zrobioną pod swoje potrzeby - to juz większa zabawa - ale i tak to IMHO sporo łatwiej niż samemu rzeźbić w Pascalu.

EDIT:
Przeczytalem jeszcze raz cały wątek. Jeżeli chcesz 'dodatkowe okienko w emc2 które cośtam cośtam' - to zainteresuj się poważniej pyVCP: http://wiki.linuxcnc.org/emcinfo.pl?PyVCP
Dosyć rozbudowany przykład pyVCP jest w przykładowej konfiguracji plazmy: plasma-thc-sim

Awatar użytkownika

Autor tematu
blue_17
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1715
Rejestracja: 16 kwie 2009, 07:55
Lokalizacja: Kraków/Kornatka

#14

Post napisał: blue_17 » 17 gru 2010, 23:31

Pytałem o panel dotykowy bo byłem ciekawy czy obsłuży je wersja Ubuntu ale myślę że zależy to od sterowników.

W zasadzie pytam o konkretną wersję Ubuntu i w niej programowanie bo jeśli chcę przygodowość paczkę dla innych użytkowników tego systemu a trzeba powiedzieć że jest on dosyć specyficzny muszę dokonać kompilacji i przygotować paczkę właśnie na tym systemie aby nie miał później jakiś wysublimowanych problemów.

Właściwie chodzi mi o napisanie prostej aplikacji do cnc na port szeregowy, dodatkowe okienko przy głównym oknie aplikacji

Aplikacja miał by być pod Windows i pod Ubuntu EMC koledzy mnie napiętnują ale dlatego to piszę w obiect pascalu ponieważ lazarus jest wieloplatwormowy to znaczy jeśli chcę otrzymać program na windowsa instaluje kompilator na windzie i piszę , jeśli chcę na linuxa instaluje lazarusa na linuxsie przenoszę pliki i kompiluje nie zmienijąc nic w kodzie programu.

Wygoda i łatwość obsługi a tak na przykład programik może pracować koło macha i czymś tam sterować jakiś nadmuch itp i przy EMC również może coś tam załączać tylko poprzez port szeregowy RS232 lub USB a nie LPT

A tak właściwie to chcę spróbować swoich sił :D bo tworzenie daje mi radość :)
"I siedzieli oni razem pod nagim DOS-em i nie wstydzili sie tego." :D

Awatar użytkownika

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

#15

Post napisał: ArturM » 18 gru 2010, 10:08

blue_17 pisze:Pytałem o panel dotykowy bo byłem ciekawy czy obsłuży je wersja Ubuntu ale myślę że zależy to od sterowników.

W zasadzie pytam o konkretną wersję Ubuntu i w niej programowanie bo jeśli chcę przygodowość paczkę dla innych użytkowników tego systemu a trzeba powiedzieć że jest on dosyć specyficzny muszę dokonać kompilacji i przygotować paczkę właśnie na tym systemie aby nie miał później jakiś wysublimowanych problemów.

Właściwie chodzi mi o napisanie prostej aplikacji do cnc na port szeregowy, dodatkowe okienko przy głównym oknie aplikacji
Jeżeli ta 'aplikacja do cnc na port szeregowy' ma przełączać jakies przekaźniki to ja bym bazował na linku który podałem - zrobić prosty moduł w Pythonie do HALa a potem zrobić moduł pyVCP do Axisa - trudno o lepsze zgranie. Oddzielne okienko jest wg mnie bez sensu - np. u nas na maszynach okienko do axisa jest z reguły zmaksymalizowane, możliwe też, ze ludzie odpalają Xy bez window managera a tylko z EMC - wtedy dodatkowe plączące się okienko które trzeba ustawiać, wyciągac do wierzchu itp, tylko przeszkadza. przy panelu dotykowym będzie jeszcze gorzej - żeby w warunkach warsztatowych przełączać okna to będziesz musial pewnie powiekszyc belki i tracić cenne miejsce na monitorze. Dlatego byłbym za pyVCP - masz wtedy swoje zabawki w oknie axisa - integracja totalna :)
blue_17 pisze: Aplikacja miał by być pod Windows i pod Ubuntu EMC koledzy mnie napiętnują ale dlatego to piszę w obiect pascalu ponieważ lazarus jest wieloplatwormowy to znaczy jeśli chcę otrzymać program na windowsa instaluje kompilator na windzie i piszę , jeśli chcę na linuxa instaluje lazarusa na linuxsie przenoszę pliki i kompiluje nie zmienijąc nic w kodzie programu.

Wygoda i łatwość obsługi a tak na przykład programik może pracować koło macha i czymś tam sterować jakiś nadmuch itp i przy EMC również może coś tam załączać tylko poprzez port szeregowy RS232 lub USB a nie LPT
Nie wiem jak bardzo skomplikowany ten program ma być - ale zerknij tak dla ciekawości na pythona i moduł pyserial/pyparallel.
Wtedy dawałbym normalnie źródło które pójdzie z klika pod Ubuntu (no pewnie +- jakies pakiety z dystrybucji). Z mojego doświadczenia wynika, że zdecydowana wiekszość userów nie grzebie w kodzie źródłowym i mało ich obchodzi co jest pod spodem dopóki działa :)

Przemyśl też sprawę oddzielnego programu - masz wtedy więcej roboty, masz do rozwiązania problem komunikacji Twojego programu z programem do CNC itp. Nie wiem czy Macha daje się rozbudowywać - jeżeli tak to chyba lepiej zrobić moduł i korzystać z całej bazy funkcjonalności programu niż samemu bawić się w komunikację, porty itp.

Inna sprawa jest jezeli chcesz to sprzedawać. Na handel to ja bym robił np. tak:
1. Robię normalnie co to pisałem - moduł do emc w pythonie, dodaje okiendko pyVCP
2. Jeżeli mi bardzo zależy na kodzie i mam tam jakieś cuda to szukam czegoś co zapaćka źródło pythona
3. przepakowuję deba emc2 - znaczy robię paczkę z zawartością oryginalną + moje modyfikacje - tak żeby userzy mogli to normalnie zainstalować managerem pakietów.

2. bym sobie na 99% odpuścił - za mały rynek żeby jakies piractwo mogło odchodzić, klient który to kupi i tak pewnie będzie potrzebowal wsparcia, będzie miał prośby o rozbudowanie itp, itd - więc jak dobrze sprawe rozegrasz to będzie 'przywiązany' do Ciebie bez cudowania z kodem.

Co do Windows i Macha to się nie wypowiem - na Windowsa napisałem dosłownie kilka programów dla klientów i wszystkie były w Pythonie + wxWindows (coby działały na Linuksie i Windowsie) :)
blue_17 pisze:A tak właściwie to chcę spróbować swoich sił :D bo tworzenie daje mi radość :)
Jasna sprawa. Tylko widzisz - też parę razy miałem fajne pomysły 'a zrobię to i tamto w Lispie bo lisp jest fajny i będzie fun nie z tej ziemi' :)
A potem przychodzi rzeczywistość i kopie po tyłku - modułów brakuje, userzy marudzą - i z fanu robi się mordęga.
Dlatego ja polecam pójść standardowo - skorzystać z tego co daje emc2 - czyli Python, pyVCP. Potrzeba więcej wejść/wyjść to dorzucam drugi port LPT - chwila konfiguracji i działa.

Awatar użytkownika

Autor tematu
blue_17
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 8
Posty: 1715
Rejestracja: 16 kwie 2009, 07:55
Lokalizacja: Kraków/Kornatka

#16

Post napisał: blue_17 » 18 gru 2010, 14:38

No to powiem tak że kolega mnie przekonał ale niestety nie znam phytona :?

Ale po przykładzie wydaje być się to logiczne.


Z tego co widzę to można zrobić z EMC wszytko co się chce właściwie niema ograniczeń :D

I to jest coolw linuxsie :mrgreen:

http://linuxcnc.org/docs/html/hal_pyvcp_examples.html
"I siedzieli oni razem pod nagim DOS-em i nie wstydzili sie tego." :D

Awatar użytkownika

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

#17

Post napisał: ArturM » 18 gru 2010, 17:04

blue_17 pisze:No to powiem tak że kolega mnie przekonał ale niestety nie znam phytona :?
Ojtam 'nie znam': http://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie
2-3 dni i będziesz znał :)
Przynajmniej w stopniu pozwalającym na rozpoczęcie zabawy.

[ Dodano: 2010-12-31, 15:39 ]
blue_17 pisze:No to powiem tak że kolega mnie przekonał ale niestety nie znam phytona :?
A takie cos mi wpadło w łapy - skoro siedzisz w Lazarusie to może tędy łatwiej:
http://code.google.com/p/moccagui/ - to jest GUI do emc2 (taki Axis) ale pisane w Lazarusie - nic więcej nie wiem bo nie oglądałem tego - ale może informacja Ci się przyda.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”