Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych
Awatar użytkownika

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

#31

Post napisał: markcomp77 » 21 lip 2005, 14:14

GrzegorzK pisze:powinniśmy najpierw skoncentrować na meritum sprawy
w tym meritum jest pare zagadnień...
rozważmy na początek - elementarne zagadnienie... które polecenia zaczniemy analizować?

na początek elementarne: G00, G01, G02, G03, G04, G40, G41, G42, G28, G92
i M03, M04, M05, M06, M02, M30

zgodnie z opisem:
http://www.media.mit.edu/physics/pedago ... /gcode.pdf


polecenie G01
maszyna ma przesunąć narzędzie z punktu A (bieżącego) do punktu B... z szybkością (par. F)... po linii prostej (rozważmy płaszczyznę X-Y)

co trzeba zaplanować:

rozpędzanie... jeśli maszyna stoi
prędkość F z jaką ma się poruszać frez ma składowe X i Y które trzeba wyliczyć i zastosować podczas ruchu...

co z zatrzymaniem?... jeśli następnej instrukcji dotyczącej frezowania niema - to trzeba też przewidzieć wyhamowanie

jakoś sprytnie trzeba rozwiązać kwestię kwantyzacji ruchu... czyli analiza błędu i wybór najmniejszego - są do tego jakieś specjalne algorytmy (poszukam)

proszę o dalsze uwagi o tym co powinien program wykonując taką funkcję...

jak powinna wyglądać główna petla interpretera?
co podczas jedego obiegu pętli trzeba przypilnować?


SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm

Tagi:


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#32

Post napisał: GrzegorzK » 21 lip 2005, 14:26

Wieczorem przymierzę się do realizacji analizatora G-Code.
W przypadku linii prostych kwestia wykrycia potrzeby wyhamowania narzędzia nie będzie trudna do realizacji - wystarczy ustalić kąt między bieżącą prostą a następną (pomijam narazie zmianę zagłębienia frezu w materiale).
(Jako że narazie nie zajmujemy się krzywymi to tyle :) )

...no i wrzucę na FTPa :)
Ostatnio zmieniony 21 lip 2005, 14:35 przez GrzegorzK, łącznie zmieniany 1 raz.

Awatar użytkownika

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

#33

Post napisał: markcomp77 » 21 lip 2005, 14:32

GrzegorzK pisze:Wieczorem przymierzę się do realizacji analizatora G-Code.
W przypadku linii prostych kwestia wykrycia potrzeby wyhamowania narzędzia nie będzie trudna do realizacji - wystarczy ustalić kąt między bieżącą prostą a następną (pomijam narazie zmianę zagłębienia frezu w materiale).
(Jako że narazie nie zajmujemy się krzywymi to tyle )
jak coś napiszesz.. wrzuć na ftp-a... do jakiegoś katalogu
będziemy analizować :idea:

[ Dodano: 2005-07-21, 17:43 ]
do przeanalizowania: https://www.cnc.info.pl/os/emc2/_ems2_cvs_20050721.zip
stan projektu emc2 (linuxcnc)... zawiera źródła i pare ciekawych dokumentów do przeanalizowania

[ Dodano: 2005-07-21, 17:47 ]
gotowy interfejs:
http://wiki.linuxcnc.org/cgi-bin/emcinf ... s_Frontend

Obrazek
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


pit202
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 3
Posty: 863
Rejestracja: 02 lip 2004, 23:38
Lokalizacja: --

#34

Post napisał: pit202 » 21 lip 2005, 18:40

co trzeba zaplanować:

rozpędzanie... jeśli maszyna stoi
prędkość F z jaką ma się poruszać frez ma składowe X i Y które trzeba wyliczyć i zastosować podczas ruchu...
nie zapomnij o Z - wiekosc ludzi uzywa frezarek - a do rozpatrywania G1 nie mozna zapomniec o :
G64 - tryb ruchu ciągłego ( bez za 'trzymanki' ) gdzie sa mozliwe chyba minimalne uchybienia.
G61 - tryb dokladny gdzie maszyna musi dojsc do punktu i dopiero myslec o nastepnym.

nie wiem jak w normalnych sterownikach ( fanuc,siemens ) ale w mach`u praca g61 powodowala szarpany ruch, g64 byl gladki i przyjemny natomiast wydawalo mi sie ze
przy wiekszych predkosciach troche zaokrągla ostre zarożniki.
PiteR


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#35

Post napisał: GrzegorzK » 21 lip 2005, 19:21

markcomp77, narazie jesteśmy w fazie przymiarek do algorytmów podstawowych - ale wizualizacja też będzie. Materiału do przglądania dużo, dzięki :)
pit202, ruch ciągły czy dokładny - zobaczymy co z tym zrobić. Co do osi Z - rzeczywiście jest :o - ja też chcę tego używać do frezowania :)

Awatar użytkownika

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

#36

Post napisał: markcomp77 » 22 lip 2005, 11:56

ALGORYTM zamiana wektora na raster

jak obiecywałem... wracam do przedstawienia tego elementarnego zagadnienia :)
istnieje parę algorytmów na zamianę wektorów, polecenia: "G01,G02, G03 itp" są to wektory - które musimy zamienić na sekwencje pojedyńczych kroczków... wykonanych w odpowiednim czasie... na odpowiednich osiach...

do przerobienia dla zainteresowanych... "Vector-to-Step Conversions"
https://www.cnc.info.pl/os/doc/Vector-t ... rsions.pdf

podyskutujmy na temat algorytmów tam przedstawionych... a może ktoś zna jeszcze lepsze :?:
zapraszam do dyskusji - od tego wyboru będzie zależeć jakość frezowania :!:

przykład z pdf-a...

brute force algorithm

Obrazek

[ Dodano: 2005-07-22, 12:04 ]
Bresenham-like algorithm:
http://lifc.univ-fcomte.fr/~dedu/projects/bresenham/

[ Dodano: 2005-07-22, 12:45 ]
ciekawe...
http://www.gamedev.net/reference/articl ... cle767.asp

[ Dodano: 2005-07-22, 12:50 ]
Primitive Shapes & Lines...
http://www.brackeen.com/home/vga/shapes.html

[ Dodano: 2005-07-22, 13:25 ]
szybki algorytm Bresenhama dla 3D... w maszynach CNC :!:
https://www.cnc.info.pl/os/doc/helix.pdf

tekst ze strony http://www.khwarzimic.org/takveen/index.asp
ciekawostka... strona akademicka z Pakistanu :shock:
Ostatnio zmieniony 22 lip 2005, 14:32 przez markcomp77, łącznie zmieniany 1 raz.
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#37

Post napisał: GrzegorzK » 22 lip 2005, 13:34

Fajne materiałki :) poczytamy - porobimy 8)

Awatar użytkownika

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

#38

Post napisał: markcomp77 » 22 lip 2005, 13:35

jeszcze taki mini tekścik przpomnienie podstaw:
http://www.cnc-hobby.com/motion-controller-design.html
SpotkanieCNC: STOM-TOOL Marzec 2014
http://www.cnc.info.pl/topics79/spotkan ... t55028.htm


vegelus
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 21
Posty: 125
Rejestracja: 19 sty 2005, 10:38
Lokalizacja: Olsztyn

#39

Post napisał: vegelus » 22 lip 2005, 21:10

Witam wszystkich :-)

Chcialbym dolaczyc do grona ludzi tworzacych oprogramowanie OS do obslugi CNC. Sam stworzylem takie cos co odczytuje kod HPGL i wysyla przez LPT odpowiednie impulsy w celu merdania silnikami. Okazalo sie, ze merdalo i to nawet niezle. Program napisany byl w Delphi w raz z wizualizacja. Projekt jednak stanal po obronie pracy.

Tak czytam ten temat i jeszcze nigdzie nie znalazlem glownych zalozen co ten program ma potrafic????

Mysle ze warto sie zastanowic nad tym bo pisanie w ciemno duzego programu w grupie osob rozsianych po kraju moze byc tudne.
Mam kilka pytan na ktore warto odpowiedziec:
1. czy aplikacja ma byc w okienkach czy w szelu
2. piszemy obiektowo czy strukturalnie
3. ma byc wizualizacja
4. jakie standardy ma odczytywac
5. jakie sterowniki ma obslugiwac
6. czy przewidujemy emulacje CNC i wykrywanie kolizji
7. czy ma to byc ladne czy brzydkie ;-)


Autor tematu
GrzegorzK
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 33
Posty: 66
Rejestracja: 17 cze 2005, 09:29
Lokalizacja: Warszawa

#40

Post napisał: GrzegorzK » 22 lip 2005, 21:35

A oto moje gdybania i przemyślunki co do wyglądu tej całości:

Add 1: Uważam, że "front-end" aplikacji powinien być, bo z założenia nie możemy przyjąć że użytkownik lubi obsługę programu la'DOS czy la'Linux - sugeruję budowę modułową (exe + chmara dll'i)
Add 2: ..., że jak najwięcej powinniśmy pisać obiektowo, ale oczywiście bez przesady.
Add 3: ..., że powinna taka być, ale jako oddzielny moduł.
Add 4: ..., podstawowym standardem chyba (tego jeszcze do końca sobie nie ułożyłem w głowie) rozszerzony G-Code - rozszerzony o nasze jakieś "cosie". Kwestia HPGL'a i innych będzie załatwiana przy pomocy modułów konwertujących "coś" na G-Code.
Add 5: za mało wiem o różnorodności sterowników, aby tutaj pisać konkretnie. Skłaniałbym się do zaprojektowania (również) NASZEGO sterownika: elektronika + uP.
Add 6: A co to kolizje ? (pytam bo nie znam dokładnej definicji w przypadku CNC) - ale co by to nie było napewno w przyszłości nie chcielibyśmy się zderzać :mrgreen:
Add 7: Ma to być estetyczne, przejrzyste, ergonomiczne oraz profesjonalne w obsłudze oraz działaniu - ja bubla z pod ręki nie wypuszczę (ew. zrezugnuję z roboty ale nie wypuszczę).

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”