อนุญาตให้ใส่วงเล็บในความคิดเห็น G-code หรือไม่


9

ฉันสงสัยว่ารหัส G นี้ถูกต้องหรือไม่:

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

ฉันได้ทดสอบสิ่งนี้กับเครื่องซีเอ็นซีของจีนและมันแสดงความคิดเห็นออกมาและทำงานได้อย่างไร้ที่ติ

เครื่องประมวลผลสิ่งนี้G0Y10Z-5ซึ่งดูเหมือนว่าแนวทางที่ถูกต้องสำหรับฉัน

อย่างไรก็ตามฉันไม่เคยเห็นความคิดเห็นดังกล่าวในการฝึกซ้อม CNC จริง คงจะดีถ้าทุกคนทดสอบกับเครื่องพิมพ์ CNC / 3D ได้

ตัวจำลอง G-code หลายตัวบนอินเทอร์เน็ตไม่สามารถประมวลผลบรรทัดดังกล่าวใน parser ของพวกเขาดังนั้นมันทำให้ฉันสับสน ฉันไม่พบอะไรเกี่ยวกับ RepRap Wiki หรือแม้แต่ Google


BTW ... ยินดีต้อนรับสู่การพิมพ์ 3 มิติ! : o)
Pᴀᴜʟsᴛᴇʀ2

1
ทำไมไม่ใช้แค่จุดเริ่มต้น ";" และหลีกเลี่ยงความเสี่ยงทั้งหมด?
Carl Witthoft

สำหรับค่าธรรมเนียมเล็กน้อย :-) ฉันจะเขียน regex ที่ดึง "(*)" ออกทั้งหมดและแทนที่ด้วยบรรทัดใหม่ "; *" ปล่อยให้สงคราม vs sed เปลวไฟ awk เริ่มขึ้น
Carl Witthoft

คุณพูดถูก ฉันแค่ดูแลรหัสบุคคลที่สามที่ฉันอาจต้องจัดการในวันหนึ่ง ฉันใช้เป็นการส่วนตัวเท่านั้น; แสดงความคิดเห็น :-)
Jan Vorisek

คำตอบ:


12

รหัสนี้ไม่ถูกต้องในระดับสากลและวิธีการจัดการขึ้นอยู่กับการนำไปใช้ คุณสามารถใช้ความคิดเห็นลักษณะนี้ในเครื่องบางเครื่อง แต่ไม่ทั้งหมด

วิธีการแยกวิเคราะห์ที่ใช้ใน Marlin (เฟิร์มแวร์เครื่องพิมพ์ 3D ทั่วไป) จะทำงานได้ดีเว้นแต่สตริงความคิดเห็นจะรวมอักขระ X, Y, Z, E หรือ F ตัวแยกวิเคราะห์จะค้นหาการเกิดขึ้นครั้งแรกของ X / Y / Z / E / F จากนั้นพยายามแยกส่วนของข้อความที่ปรากฏหลังจากตัวอักษรนั้นเป็นตัวเลข หากไม่สามารถวิเคราะห์สตริงเป็นตัวเลขได้ค่าดีฟอลต์คือ 0 แทน ตัวอย่างเช่น,

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

จะถูกตีความเป็นG0 Y0 Z-5และไม่เป็นG0 Y10 Z-5เพราะ ")" (สตริงที่ปรากฏหลังจากการปรากฏตัวครั้งแรกของ "Y") ไม่ได้แยกวิเคราะห์หมายเลขที่ถูกต้องใด ๆ ตัวอย่างของคุณทำงานได้ดีเพราะสตริงความคิดเห็นไม่มีอักขระพิเศษใด ๆ

Marlin สนับสนุนการแสดงความคิดเห็นในตอนท้ายของบรรทัดซึ่งควรเริ่มต้นด้วยเครื่องหมายอัฒภาคและทำต่อไปจนจบบรรทัด

นี่คือวิธีการทำงานในเวอร์ชันเก่าของ Marlin เวอร์ชันที่ใหม่กว่า Marlin มีตัวแยกวิเคราะห์ขั้นสูงกว่า แต่ก็ยังคงเล่นได้ไม่ดีกับความคิดเห็นสไตล์วงเล็บเหล่านี้ ทางที่ดีควรหลีกเลี่ยงเพราะไม่รับประกันความเข้ากันได้


นี่ฟังดูแปลกยิ่งสำหรับฉัน ไม่มีความคิดเห็นเกี่ยวกับพฤติกรรมนี้เช่นใน RepRap reprap.org/wiki/G-code#Comments
Jan Vorisek

@JanVorisek ฉันเพิ่งสังเกตเห็นว่ามันแตกต่างกันเล็กน้อยใน Marlin รุ่นใหม่กว่า ยังคงความคิดเห็นสไตล์วงเล็บไม่ได้รับการสนับสนุน
Tom van der Zanden

1
คุณพูดถูก เพิ่งตรวจสอบตัวแยกวิเคราะห์สองสามตัวรวมถึง Marlin ฉันได้ข้อสรุปว่าส่วนใหญ่ของ บริษัท เครื่องพิมพ์ 3 มิติแยกเซมิโคลอนเป็นความคิดเห็นเท่านั้น ดูเหมือนว่าวงเล็บเป็น / เคย? วิธีที่ต้องการในเครื่องกัดซีเอ็นซี ฉันจะใช้เครื่องหมายอัฒภาคเพราะฉันสนใจการพิมพ์ 3 มิติเป็นส่วนใหญ่ ขอบคุณสำหรับเวลาของคุณยัง :-)
ม.ค. Vorisek

4

ดูเหมือนว่าไม่อนุญาตให้ใส่ความคิดเห็นในวงเล็บในตัวแยกวิเคราะห์จำนวนมาก (เช่น Marlin) สิ่งนี้ดูเหมือนจะเป็นจริงสำหรับเครื่องพิมพ์ 3D ส่วนใหญ่ เครื่องกัดซีเอ็นซีแบบคลาสสิกใช้วงเล็บโดยไม่มีปัญหา

มันควรจะทำงานในเครื่องพิมพ์พรูซาตามที่ระบุไว้ในของพวกเขาวิกิพีเดีย น่าเสียดายที่ไม่มีคำพูดเกี่ยวกับการซ้อนความคิดเห็น

อย่างไรก็ตามฉันพบความคิดเห็นในฟอรัม cnczone.com เกี่ยวกับการซ้อนความคิดเห็นภายในวงเล็บ

อักขระที่พิมพ์ได้และช่องว่างสีขาวภายในวงเล็บคือความคิดเห็น วงเล็บซ้ายจะเริ่มความคิดเห็นเสมอ ความคิดเห็นสิ้นสุดลงที่วงเล็บขวาแรกที่พบหลังจากนั้น

เมื่อวางวงเล็บซ้ายบนบรรทัดวงเล็บขวาที่ตรงกันจะต้องปรากฏขึ้นก่อนที่จะจบบรรทัด

ความคิดเห็นอาจไม่ซ้อนกัน; มันเป็นข้อผิดพลาดหากพบวงเล็บซ้ายหลังจากเริ่มต้นความคิดเห็นและก่อนสิ้นสุดความคิดเห็น

นี่คือตัวอย่างของบรรทัดที่มีความคิดเห็น: G80 M5 (stop motion)

ที่มา: cnczone.com

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.