G kodu yorumunda parantezlere izin veriliyor mu?


9

Bu G-kodu parçasının geçerli olup olmadığını merak ediyorum:

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

Bunu Çin CNC makinemde test ettim ve yorumu çıkarıyor ve kusursuz çalışıyor.

Makine G0Y10Z-5bunu benim için doğru bir yaklaşım gibi görüyor.

Ancak gerçek CNC uygulamasında böyle bir yorum görmedim. Herhangi birinin CNC / 3D Yazıcısında test edebilmesi hoş olurdu.

İnternetteki birçok G kodu simülatörü, ayrıştırıcılarında böyle bir hattı işleyemediğinden beni karıştırıyor. RepRap Wiki'de ve hatta Google'da hiçbir şey bulamadım.


BTW ... 3D Baskıya Hoş Geldiniz! : o)
Pᴀᴜʟsᴛᴇʀ2

1
Neden sadece satır başı ";" kullanmıyorsunuz ve tüm risklerden kaçınıyorsunuz?
Carl Witthoft

Nominal bir ücret karşılığında :-), tüm "(*)" 'i çekip yeni bir satırla değiştiren bir normal ifade yazacağım "; *" Sed vs awk alev savaşları başlasın.
Carl Witthoft

Haklısın Carl. Ben sadece bir gün işlemek gerekebilir üçüncü taraf kodu bakıyordu. Sadece şahsen kullanıyorum; yorumlar. :-)
Jan Vorisek

Yanıtlar:


12

Bu evrensel olarak geçerli bir G kodu değildir ve nasıl işlendiği uygulamaya bağlıdır. Bu yorum stilini bazı makinelerde kullanabilirsiniz, ancak hepsini kullanamazsınız.

Ayrıştırma eskiden Marlin'de uygulandı (çok yaygın bir 3D yazıcı ürün yazılımı), yorum dizesi X, Y, Z, E veya F karakteri içermediği sürece iyi çalışır. Ayrıştırıcı sadece X / Y / Z / E / F'nin ilk oluşumunu arar ve ardından bu karakterden sonra görünen metin parçasını bir sayıya ayrıştırmaya çalışır. Dize sayı olarak ayrıştırılamazsa, bunun yerine varsayılan olarak 0 olur. Örneğin,

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

olarak yorumlanır G0 Y0 Z-5ve değil G0 Y10 Z-5( "Y") ilk geçtiği sonra görünen dize herhangi bir geçerli sayıya ayrıştırmak değil ")", çünkü. Yorum dizesi özel karakterler içermediğinden, örneğin iyi çalışıyor.

Marlin, noktalı virgülle başlayıp satır sonuna kadar devam etmesi gereken satır sonu yorumlarını destekler.

Eski Marlin versiyonlarında böyle çalışırdı. Yeni Marlin sürümleri daha gelişmiş bir ayrıştırıcıya sahiptir, ancak yine de bu parantez stili yorumlarda iyi sonuç vermez. Uyumluluk garanti edilmediğinden, bunlardan kaçınmak en iyisidir.


Bu bana çok daha garip geliyor. Bu davranış hakkında örneğin RepRap reprap.org/wiki/G-code#Comments
Jan Vorisek

@ JanVorisek Marlin'in yeni sürümlerinde biraz farklı olduğunu fark ettim. Yine de, parantez tarzı yorumlar desteklenmemektedir.
Tom van der Zanden

1
Haklısın. Sadece Marlin de dahil olmak üzere birkaç parsers kontrol etti. 3D yazıcı yazılımlarının çoğunun yorum olarak yalnızca noktalı virgülleri ayrıştırdığı sonucuna vardım. Parantez gibi mi görünüyor? CNC Freze tezgahlarında tercih edilen yol. Üç boyutlu yazdırmayı önemsediğim için noktalı virgül kullanacağım. Yine de zaman ayırdığınız için teşekkürler :-)
Jan Vorisek

4

Parantez içindeki yorumlara çok sayıda ayrıştırıcıda (örneğin Marlin) izin verilmiyor gibi görünüyor. Bu, 3D yazıcıların çoğu için geçerli gibi görünüyor. Klasik CNC freze makineleri parantezleri sorunsuz kullanır.

Onların belirtildiği gibi Prusa yazıcılarda çalışmalıdır Wiki . Ne yazık ki yorumların iç içe geçmesi ile ilgili bir kelime yok.

Ancak cnczone.com forumlarında yorumların parantez içine yerleştirilmesiyle ilgili bir yorum buldum.

Parantez içindeki yazdırılabilir karakterler ve beyaz boşluk bir yorumdur. Sol parantez her zaman bir yorum başlatır. Yorum, daha sonra bulunan ilk sağ parantezde sona erer.

Bir satıra sol parantez yerleştirildikten sonra, satırın sonundan önce eşleşen bir sağ parantez görünmelidir.

Yorumlar iç içe olmayabilir; bir yorumun başlangıcından sonra ve yorumun bitiminden önce sol parantez bulunması bir hatadır.

Yorum içeren bir satıra örnek: G80 M5 (stop motion)

Kaynak: cnczone.com

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.