Strona 1 z 1
Interpreter kodu G
: 24 lut 2012 22:40
autor: Grisp
Witam,
tytułem wstępu: mam za zadanie przerobić robota pracującego na kodzie G dla maszyn CNC na VI. Jest to mój pierwszy projekt przy użyciu LabVIEW, zatem przy okazji chcę się tego środowiska nauczyć. Na forum NI znalazłem tylko informację, że taki interpreter istnieje, jednak żadnego kodu źródłowego takiego VI. W sieci udało mi się znaleźć tylko takie coś:
http://ni.lithium.com/t5/LabVIEW/G-code ... -p/1212005
Interpreter kodu G
: 25 lut 2012 01:49
autor: n_dakota
Mógłbyś troszkę rozszerzyć problem? Jest szansa na zamieszczenie przykładu takiego kodu w G na CNC?
Interpreter kodu G
: 25 lut 2012 01:50
autor: czab
Jeśli dobrze rozumiem, chodzi nie o przerobienie komunikatów przyjmowanych przez samego robota, tylko o dodanie możliwości jego sterowania z poziomu LabVIEW?
Czy ma to działać w drugą stronę - tzn. robot zacznie pracować pod kontrolą LabVIEW, a skonstruować chcesz parser kodu G do VI?
Interpreter kodu G
: 25 lut 2012 09:55
autor: Grisp
Chodzi o to, bym mógł sterować robotem programem LabView. Robot sterowany jest przez LPT, a muszę jakoś przepisać kod G, który dotychczas sterował robotem (przez Macha2). Jeśli chodzi o przykład kodu to zamieszczam fragment sterowania ramieniem robota:
Kod: Zaznacz cały
G0 X5 Y8
G0 C0
M4
G4 P7
M5
M3
G4 P40
M5
G0 C10
G4 P5
Re: Interpreter kodu G
: 27 lut 2012 10:05
autor: czab
Nie znam się na samym sterowaniu robotem przez LPT i rodzajem poleceń, jednak mogę zasugerować samą konstrukcję takiego interpretera. Wejściowy kod rozbiłbym na dwuwymiarową tablicę typu String, w której każdy wiersz to całe polecenie - rozbite tak, że w pierwszej komórce byłoby samo polecenie, a w następnych - parametry jego wywołania. Kolejne polecenia obsługiwać można przy pomocy struktury case (warunkowej).
Wczytywanie kodu z pola tekstowego można zastąpić wczytywaniem danych z pliku. Taka konstrukcja pozwoli rozbić program na dwie logiczne części - osobno zrobisz sobie logikę odpowiedzialną za sterowanie robota z poziomu LabVIEW i osobno działać będzie interpreter pozwalający na wykorzystanie starych programów - wydaje mi się to dość elastycznym rozwiązaniem.
To oczywiście szkic, zarys architektury, nie gotowa aplikacja. Niestety nie mam możliwości zapisania tego w 7.1, więc wrzucam tylko snippet i zrzut ekranu z działającej aplikacji.