Czy w komentarzu do kodu G są dozwolone nawiasy?

9

Zastanawiam się, czy ten fragment kodu G jest prawidłowy:

G0 (Some comment (Its G0 command)) Y10 Z-5

Przetestowałem to na mojej chińskiej maszynie CNC, która usuwa komentarz i działa bezbłędnie.

Maszyna przetwarza to, G0Y10Z-5co wydaje mi się poprawnym podejściem do mnie.

Jednak nigdy nie widziałem takiego komentarza w prawdziwej praktyce CNC. Byłoby miło, gdyby ktoś był w stanie przetestować to na swojej drukarce CNC / 3D.

Wiele symulatorów kodu G w Internecie nie przetwarza takiej linii w swoim parserze, więc to mnie dezorientuje. Nie znalazłem nic na ten temat na Wiki RepRap ani nawet w Google.

Jan Vorisek
źródło
BTW ... Witamy w druku 3D! : o)
Pᴀᴜʟsᴛᴇʀ2
1
Dlaczego nie skorzystać po prostu z początku linii „;” i uniknąć wszelkiego ryzyka?
Carl Witthoft,
Za symboliczną opłatą :-), napiszę wyrażenie, które wyciągnie wszystkie „(*)” i zastąpi nową linią ”; *„ Niech zaczną się wojny między płomieniem sed a awk.
Carl Witthoft,
Masz rację Carl. Po prostu dbałem o kod strony trzeciej, z którym być może kiedyś będę musiał sobie poradzić. Ja osobiście korzystam tylko; komentarze :-)
Jan Vorisek

Odpowiedzi:

12

Nie jest to powszechnie obowiązujący kod G, a sposób jego obsługi zależy od implementacji. Możesz użyć tego stylu komentowania na niektórych komputerach, ale nie na wszystkich.

Sposób, w jaki parsowanie było zaimplementowane w Marlin (bardzo powszechnym oprogramowaniu drukarki 3D), działałby dobrze, chyba że łańcuch komentarza zawierałby znak X, Y, Z, E lub F. Analizator składni po prostu szuka pierwszego wystąpienia X / Y / Z / E / F, a następnie próbuje przetworzyć fragment tekstu pojawiającego się po tym znaku na liczbę. Jeśli ciąg nie może zostać przeanalizowany jako liczba, zamiast tego przyjmuje wartość domyślną 0. Na przykład,

 G0 (Some comment containing the character Y) Y10 Z-5

byłoby interpretowane jako G0 Y0 Z-5a nie jako G0 Y10 Z-5, ponieważ „)” (ciąg pojawiający się po pierwszym wystąpieniu „Y”) nie analizuje żadnej poprawnej liczby. Twój przykład działa dobrze, ponieważ ciąg komentarza nie zawiera żadnych znaków specjalnych.

Marlin obsługuje komentarze na końcu wiersza, które powinny zaczynać się średnikiem i kontynuować do końca linii.

Tak to działało w starszych wersjach Marlina. Nowsze wersje Marlin mają bardziej zaawansowany parser, ale nadal nie będzie dobrze grał z komentarzami w nawiasach. Najlepiej ich unikać, ponieważ zgodność nie jest gwarantowana.

Tom van der Zanden
źródło
Brzmi dla mnie jeszcze dziwniej. Nie ma komentarzy na temat tego zachowania, na przykład w RepRap reprap.org/wiki/G-code#Comments
Jan Vorisek
@JanVorisek Właśnie zauważyłem, że jest nieco inny w nowszych wersjach Marlina. Jednak komentarze w nawiasach nie są obsługiwane.
Tom van der Zanden,
1
Masz rację. Właśnie sprawdziłem kilka parserów, w tym Marlin. Doszedłem do wniosku, że większość oprogramowania do drukarek 3D analizuje tylko komentarze jako średniki. Wygląda na to, że nawiasy są / były? preferowany sposób w frezarkach CNC. Pozostanę przy średniku, ponieważ najbardziej zależy mi na drukowaniu 3D. W każdym razie dziękuję za poświęcony czas :-)
Jan Vorisek
4

Wygląda na to, że komentarze w nawiasach nie są dozwolone w wielu parserach (np. Marlin). Wydaje się, że tak jest w przypadku większości drukarek 3D. Klasyczne frezarki CNC bez problemów wykorzystują nawiasy.

Powinien działać na drukarkach Prusa, jak podano na ich Wiki . Niestety nie ma słów o zagnieżdżaniu komentarzy.

Znalazłem jednak komentarz na forach cnczone.com dotyczący zagnieżdżania komentarzy w nawiasach.

Znaki do wydruku i białe znaki w nawiasach to komentarz. Lewy nawias zawsze rozpoczyna komentarz. Komentarz kończy się na pierwszym prawym nawiasie znalezionym później.

Gdy lewy nawias zostanie umieszczony na linii, pasujący prawy nawias musi pojawić się przed końcem linii.

Komentarze nie mogą być zagnieżdżone; jest błędem, jeśli lewy nawias zostanie znaleziony po rozpoczęciu komentarza i przed końcem komentarza.

Oto przykład wiersza zawierającego komentarz: G80 M5 (stop motion)

Źródło: cnczone.com

Jan Vorisek
źródło