Strona 1 z 2

OpenCAM: cam pod linuksa wart uwagi (GPL)

: 08 maja 2007, 15:33
autor: markcomp77
Witam!

przedstawiam rozwijający się CAM pod Linuksa

Obrazek

program wymaga do uruchomienia GAMBAS-a - czegoś w rodzaju videobasika ale pod linuksa...

pozwala na zaminę PS,PDF,AI w GCODE lub HPGL
można projekt zwielokrotniać... itp
możliwa jest symulacja

więcej na stronie projektu
http://opencam.sourceforge.net/

pobawiłem się nim - i sprawia całkiem przyjemne wrażenie
wymaga jednak GAMBASika... który czasem trzeba sobie skompliować
niestety - pod windowsem GAMBAS dzisiaj jeszcze się nie kompiluje - a szkoda :(

: 08 maja 2007, 18:49
autor: rockykon
a jak sie ma LPT pod linuksem ? czy tam tez jest ograniczenie 45kHz ?
tak naprawde z czego to ograniczenie wynika ??

: 08 maja 2007, 19:00
autor: markcomp77
rockykon pisze:tak naprawdę z czego to ograniczenie wynika ??
ograniczenie szybkości zawsze jest...
jednak pod linuksem - należy przeprowadzić testy - na najgorszy przypadek opóźnienia
i na tej podstawie określić BASE_PERIOD (i wymagań stawianych przez sterowniki - długość wymaganych czasów sterowania)

wniosek z pomiarów różnych maszyn jest taki - nie zawsze szybsza z pozoru maszyna będzie dawać krótszy czas (tzw. latency).... temat jest trochę techniczny - przydałby się nowy wątek (opiszę tam procedurę na przykładzie coolCNC - to pozwoli łatwo oceniać przydatność maszyny również da macha)
duże pogorszenie wyników maszyny - daje np. grafika zintegrowana na płycie głównej (na tej maszynie mach również będzie działał kiepsko - sprawdziłem...) ... jednak wystarczy zamontować cokolwiek do AGP/PCIx/PCI i wyniki się poprawiają....

[ Dodano: 2007-05-08, 19:03 ]
rockykon pisze:czy tam tez jest ograniczenie 45kHz ?
pod linuksem nie ma sztucznie wprowadzanych ograniczeń!

: 08 maja 2007, 23:49
autor: x
markcomp77 pisze:
rockykon pisze:czy tam tez jest ograniczenie 45kHz ?[/quo
te]
pod linuksem nie ma sztucznie wprowadzanych ograniczeń!
W LINUX+ 6/2002 jest bardzo ciekawy artykuł. Autor postanowił mierzyć temperaturę za pomocą układu DS1812, który wymaga bardzo dokładnie taktowanego sygnału sterującego, za pomocą peceta z prockiem 333MHz, i na jądrze z serii 2.4. Po napisaniu programu sterującego jako modułu jądra okazało się, że utrzymywanie taktowania w okolicach kilkunastu mikrosekund nie stanowi problemu. I to bez łaty czasu rzeczywistego! Oczywiście nie da się w tym czasie grać w Quake.

Kurczę, ale DLACZEGO BASIC??? Już nie można było tego zrobić w Python-ie, Perl-u, czy choćby w Tcl?
Skompilowałem Gambas (bardzo przyjemny interfejs - lepszy niż FLUID), później Opencad, ale niestety u mnie działa wszystko oprócz generowania G-code. Może wziąłem inną wersję Gambas (ostatnią stabilną). Albo coś jest inaczej skompilowane. Nie potrafię znaleźć błędu.

Zauważyłem, że Opencad korzysta z programu pstoedit, który mnie znacznie bardziej zaciekawił. W manualu znalazłem wzmiankę n/t pisania własnych filtrów. W źródłach są przygotowane pliki drvsampl.cpp i drvsampl.h z odpowiednimi funkcjami, które mozna wykorzystać jako szablony. Otrzymujemy gotową listę obiektów graficznych, trzeba je tylko wyrzucić do ostream w odpowiednim formacie. Na końcu pliku jest szablon formatu, którym chyba nawet możemy wymusić co otrzymamy do przetworzenia. No i trzeba by jeszcze zarejestrować nowy parametr i jego obsługę (albo nawet samo się to zrobi dzięki wspomnianemu szablonowi), i trącić Makefile.

: 09 maja 2007, 02:23
autor: markcomp77
x pisze:DLACZEGO BASIC???
bo ktoś tak chciał - umiał zrobić... i chciało mu się ;)
x pisze:Skompilowałem Gambas (bardzo przyjemny interfejs - lepszy niż FLUID)
gambas bazuje na QT... stąd ładny interface :)
x pisze:Może wziąłem inną wersję Gambas (ostatnią stabilną). Albo coś jest inaczej skompilowane. Nie potrafię znaleźć błędu.
mi kompiluje się wersja 1.07 Gambasa... wersja 2.coś nie
mam skompilowane QT 3.coś
mam również w systemie najnowsze świeżo skompilowane QT 4.coś... ale ./configure poszukuje QT 3.coś.... nie wiem jeszcze dokładnie dlaczego pada make najnowszego Gambasa :(
x pisze:Zauważyłem, że Opencad korzysta z programu pstoedit
pstoedit - oczywiście wcześniej już poznałem - bo od niego zależy parę innych narzędzi linuksa...

: 09 maja 2007, 22:24
autor: rockykon
ja sie na linuksach za bardzo nie znam, wiec moze jasno mi ktoś odpowie, ile kHz'ów mozna wyciągnąc pod linuxem ?

ewentualnie czy pod dosem tez jest jakies (jakie) ograniczenie ?

: 09 maja 2007, 22:38
autor: markcomp77
rockykon pisze:ja sie na linuksach za bardzo nie znam, wiec moze jasno mi ktoś odpowie, ile kHz'ów mozna wyciągnąc pod linuxem ?
na to pytanie niema odpowiedzi :(

na określonej maszynie takie testy można przeprowadzić - i określić taką graniczną zdolność maszyny do ustalnia dokładnych interwałów czasowych...

a po wyliczeniu setupu dla danego sterownika - wyjdzie nam częstosliwość o gwarantowanej dokładności... spełniającej wymagania danego sterownika

do tego celu - trzeba wyznaczyć tzw. największe średnie opóźnienie... czyli wielkośc po niekąt statystyczną
rockykon pisze:ewentualnie czy pod dosem tez jest jakies (jakie) ograniczenie ?
też są :(

obraniczenia często wynikają z budowy płyty głównej... itp
oczywiście nieprzewidywalny system operacyjny (czytaj wielozadaniowy) jeszcze pogarsza sprawę :(

jednak w przypadku linuksa - mozna zastosować jądro czasu rzeczywistego... które gwarantuje najwyższy priorytet dla zadań "czasowych"... coś podobnego robi sterownik do macha - jednak on jest komercyjny - więc stwarza sztuczne ograniczenia (darmo 25KHz.. za pieniądze 45KHz)

ale nawet w przypadku darmowego mach - 25KHz może nie być realizowane precyzyjnie... bo kiepska jest płyta głowna (nie szybka... czy wolna... mało przewidywalna czasowo... wprowadzająca skandaliczne opóźnienia czasowe).. albo w systemie jest coś co przeszkadza

to oczym mówię można usłyszeć - w postaci drżenia śruby... to same sterownie i frezarka podłączone do jednego komputera drży przy przejazdach... a przy innych komputerze praca jest czysta

: 09 maja 2007, 22:54
autor: rockykon
nie spodziewam sie dokładej częstotliwości, ale np czy da sie uzyskac 2 .. 3 x więcej ? czy moze sa to prędkość porówywalne ( zakładając ze złozymy kompa specjalnie do frezarki..)

sam mam lapka, IBM T60p, (2x2GHz, 256 grafiki ATI) sprzet wydaje sie dosyć dobry, ale czy to sie przełoży na dobre osiągi w sterowaiu frezarka ?

: 09 maja 2007, 23:03
autor: markcomp77
sam mam lapka, IBM T60p, (2x2GHz, 256 grafiki ATI) sprzet wydaje sie dosyć dobry, ale czy to sie przełoży na dobre osiągi w sterowaiu frezarka ?
w tym sęk, że szykość komputera wcale nie koniecznie przekłada się wprost na jego zdolność do precyzyjnego wyznaczania małych odstepów czasu :(

jeśli grafika nie jest zintegrowana - to jeden poważny problem nie istnieje (ostatnio to sprawdziłem na jednej z nowych maszyn)

jednak pewne realizacje płyt głównych... są lepsze do tego, a inne gorsze

przygotowuję się do napisania paru słów na temat wyznaczania "średniego opóżnienia" maszyny pc - na przykładzie liveCD linuksa - coolCNC

wkłada się to do CD- bootuje i już mamy środowisko linuksowe (z jądem czasu rzeczywistego) i... EMC2 (program sterujący maszyną np. tak jak mach)
może jeszcze nie skonfigurowane pod nasze sterowanie... ale wiele do roboty niema
rockykon pisze:ale np czy da sie uzyskac 2 .. 3 x więcej ?
nie sądze - raczej wyniki będą podobne... ale EMC2 niema ograniczeń na ilość wykonywanych linii kodu... i naprawde ma wiele rzeczy których niema gdzie indziej... i można łatwo zajrzeć "po maskę" ;)

: 10 maja 2007, 10:45
autor: gmaro
markcomp77 pisze:nie sądze - raczej wyniki będą podobne... ale EMC2 niema ograniczeń na ilość wykonywanych linii kodu... i naprawde ma wiele rzeczy których niema gdzie indziej... i można łatwo zajrzeć "po maskę" ;)
ale przeraża mnogość opcji i ustawień :(