โปรแกรมจาก CAM เดินช้ากว่าที่ประเมิน — เครื่องไม่ถึง F ที่สั่ง และกระตุกเมื่อส่ง NC ทาง RS-232
โปรแกรมเก็บผิวจาก CAM สั่ง F2000 แต่ใช้เวลานานกว่าที่ CAM ประเมิน และเครื่องกระตุกเมื่อเดินแบบส่ง NC ไปพร้อมเดินงาน สาเหตุคือชุดควบคุมลดอัตราป้อนเองที่มุม ส่วนโค้งเล็ก และบรรทัดเดินสั้น และข้อมูลส่งเข้าเครื่องไม่ทัน บทความนี้แสดงวิธีตรวจหน้าเครื่องว่าช้าเพราะอะไร ตัวเลขที่คำนวณได้ และวิธีแก้ใน CAM ที่การส่งโปรแกรม และที่ชุดควบคุม
โปรแกรมเก็บผิวโค้งจาก CAM สั่ง F2000 ตลอดทาง CAM ประเมินเวลาไว้ 12 นาที แต่เมื่อเดินจริงใช้เวลา 16 นาที และเมื่อเดินแบบส่งโปรแกรมเข้าเครื่องไปพร้อมกับเดินทาง RS-232 ใช้เวลาเกือบสองชั่วโมง เครื่องกระตุกตลอดทาง และผิวงานมีรอยหยุดเป็นระยะ ความเร็วรอบและอัตราป้อนในโปรแกรมไม่ได้ผิด สิ่งที่เกิดขึ้นคือ เครื่องไม่ได้เดินที่ F ที่สั่ง บทความนี้อธิบายวิธีตรวจหน้าเครื่องว่าช้าเพราะอะไร สาเหตุสามข้อที่พบบ่อยพร้อมตัวเลข และวิธีแก้ ตัวอย่างตลอดบทความใช้โปรแกรมเก็บผิวนี้ ซึ่งมีเส้นทางยาวรวม 24 เมตร (12 นาที × 2000 มม./นาที) และ CAM แบ่งผิวโค้งเป็นเส้นตรงยาวประมาณ 0.1 มม. ต่อบรรทัด
อาการ
- เวลาจริงนานกว่าเวลาที่ CAM ประเมินมาก ทั้งที่ปุ่มปรับอัตราป้อน (Feed override) อยู่ที่ 100%
- ค่า F จริงบนหน้าจอตำแหน่งต่ำกว่าค่า F ในโปรแกรม และขึ้นลงตลอดเวลา
- ผิวโค้งเป็นแถบมันและด้านสลับกัน หรือมีรอยหยุดเป็นจุดๆ
- เมื่อเดินแบบส่งไปพร้อมเดิน (DNC หรือ Drip feed) เครื่องเดินกระตุก หยุดสั้นๆ แล้วเดินต่อ ทั้งที่โปรแกรมเดียวกันเดินจากหน่วยความจำได้ราบรื่น
ตรวจหน้าเครื่องว่าช้าเพราะอะไร
ก่อนแก้ ให้แยกให้ได้ก่อนว่าช้าเพราะสาเหตุใด เพราะวิธีแก้ต่างกัน
- ดูค่า F จริง บนหน้าจอตำแหน่ง (ACT.F หรือ Actual feed) ขณะเครื่องเดิน ถ้าต่ำกว่า F ในโปรแกรมเฉพาะที่มุมและส่วนโค้งเล็ก เป็นการลดอัตราป้อนตามปกติของชุดควบคุม ถ้าต่ำตลอดช่วงที่บรรทัดสั่งเดินสั้นๆ เป็นข้อจำกัดของจำนวนบรรทัดต่อวินาที
- เทียบการเดินจากหน่วยความจำกับการเดินแบบ DNC ถ้าตัดโปรแกรมช่วงสั้นๆ มาเดินจากหน่วยความจำได้เร็วและราบรื่นกว่ามาก ปัญหาอยู่ที่การส่งข้อมูล
- ดูระยะเคลื่อนที่ต่อบรรทัดในโปรแกรม เปิดไฟล์แล้วดูช่วงที่ช้า ถ้าระยะระหว่างพิกัดของบรรทัดที่ติดกันสั้นเพียงประมาณ 0.1 มม. หรือน้อยกว่า หรือมีบรรทัด
G01สั้นๆ เรียงกันเป็นพันบรรทัดในช่วงที่ควรเป็นส่วนโค้งG02G03ปัญหาเริ่มจาก CAM - ดูว่าเปิดฟังก์ชันอ่านล่วงหน้าหรือยัง บนชุดควบคุมแบบ Fanuc ที่มีตัวเลือกนี้ ดูว่าโปรแกรมมี
G05.1 Q1ก่อนเส้นทางเก็บผิวหรือไม่ ถ้าไม่มี ชุดควบคุมมองเห็นข้างหน้าได้น้อยบรรทัด และต้องเดินช้าพอที่จะหยุดได้ในระยะสั้น
สาเหตุ
ชุดควบคุมรุ่นใหม่ใช้ F ในโปรแกรมเป็น อัตราป้อนสูงสุด แล้วลดลงเองเมื่อจำเป็น สาเหตุที่ทำให้โปรแกรมจาก CAM ช้ามีสามข้อ
1. มุมและส่วนโค้งรัศมีเล็ก
แกนขับเคลื่อนของเครื่องจักรมีขีดจำกัดด้านความเร่งและแรงเฉื่อย เซอร์โวมอเตอร์แต่ละแกนทำงานภายใต้วงรอบควบคุมตำแหน่ง (Position Loop Gain: ) ในขณะที่แกนเคลื่อนที่ด้วยอัตราป้อน ตำแหน่งจริงเชิงกลจะตามหลังตำแหน่งที่คำนวณในชุดควบคุมเสมอด้วยระยะล้าหลัง (Servo lag หรือ Following error: )
หากเครื่องจักรเคลื่อนที่ผ่านมุมเลี้ยวหักศอกหรือส่วนโค้งด้วยความเร็วสูงโดยไม่ชะลอ แกนหนึ่งจะยังเบรกหยุดไม่สมบูรณ์ขณะที่อีกแกนหนึ่งเริ่มออกตัว ส่งผลให้เกิดการตัดมุม (Corner rounding) หรือรัศมีผิดรูป เพื่อรักษาความแม่นยำ ชุดควบคุมจึงต้องชะลอความเร็วก่อนถึงมุม และจำกัดความเร็วบนส่วนโค้งไว้ตามความเร่งสู่ศูนย์กลางที่ยอมรับได้:
เมื่อ คือความเร่งสูงสุดที่ยอมให้ และ คือรัศมีส่วนโค้ง ที่ความเร่ง 1000 มม./วินาที² ส่วนโค้ง R0.5 เดินได้เพียงประมาณ 1340 มม./นาที แม้จะสั่ง F2000 นอกจากนี้ การเร่งและลดความเร็วของชุดควบคุมสมัยใหม่ใช้เส้นโค้งรูปกระดิ่ง (S-curve Bell-shaped acceleration) เพื่อลดแรงกระตุก (Jerk) โครงสร้างเครื่องจึงไม่สั่นสะเทือน แต่ระบบต้องการระยะทางและจำนวนบล็อกล่วงหน้าในการค่อยๆ ปรับลดความเร็ว
2. บรรทัดเดินสั้นเกินกว่าที่ชุดควบคุมประมวลผลทัน
บรรทัดเดินสั้นคือบรรทัดที่เคลื่อนที่เป็นระยะสั้น ชุดควบคุมใช้เวลาประมวลผลบรรทัดละช่วงหนึ่ง ถ้าเครื่องเดินจบบรรทัดเร็วกว่านั้น ชุดควบคุมต้องลดอัตราป้อนลง อัตราป้อนสูงสุดเท่ากับระยะเคลื่อนที่ต่อบรรทัดหารด้วยเวลาประมวลผลต่อบรรทัด
ถ้าเวลาประมวลผลต่อบรรทัดคือ 4 มิลลิวินาที (ค่าตัวอย่าง ค่าจริงขึ้นกับรุ่นและตัวเลือกของชุดควบคุม) บรรทัดที่เคลื่อนที่ 0.1 มม. เดินได้ไม่เกิน 0.1 / 0.004 × 60 = 1500 มม./นาที โปรแกรมตัวอย่างที่ยาว 24 เมตรจึงใช้เวลาอย่างน้อย 24000 / 1500 = 16 นาที แทน 12 นาที ก่อนนับเวลาที่เสียที่มุม
3. ข้อมูลส่งเข้าเครื่องไม่ทัน (Buffer Underrun)
เมื่อเดินแบบส่งไปพร้อมเดิน (Drip feed) ความเร็วของสายส่งข้อมูลจำกัดจำนวนบรรทัดต่อวินาทีอีกชั้น หากอัตราการส่งข้อมูลช้ากว่าอัตราที่เครื่องจักรเคลื่อนที่จบบล็อก ข้อมูลในคิวประมวลผลล่วงหน้าของชุดควบคุมจะหมดลงจนเป็นศูนย์ (ภาวะ Buffer Underrun หรือ Block Starvation)
เมื่อไม่มีข้อมูลพิกัดของบรรทัดถัดไป ตัวคำนวณการเคลื่อนที่ (Motion Interpolator) จะไม่สามารถวางแผนการเชื่อมต่อความเร็วต่อเนื่อง (Velocity blending) ได้ ระบบจำเป็นต้องสั่งลดความเร็วจนหยุดนิ่ง () และเมื่อมีข้อมูลใหม่ส่งมาถึง จึงเริ่มเร่งความเร็วออกตัวใหม่ การหยุดชะงักและออกตัวสลับกันตลอดเวลานี้ทำให้เกิดอาการกระตุก คมตัดหยุดแช่บนเนื้อวัสดุทำให้เกิดรอยหยุด (Dwell marks) บนผิวงาน และอุณหภูมิสะสมที่คมตัดเฉพาะจุด
RS-232 ที่ 9600 baud ตั้งแบบที่ใช้กับ Fanuc ทั่วไป (7 บิตข้อมูล Even parity 2 บิตหยุด) ส่งตัวอักษรละ 11 บิต จึงได้ประมาณ 870 ตัวอักษรต่อวินาที บรรทัดอย่าง X12.345 Y-23.456 Z-1.234 รวมรหัสจบบรรทัดมี 25 ตัวอักษร จึงส่งได้ประมาณ 35 บรรทัดต่อวินาที ที่บรรทัดละ 0.1 มม. เครื่องเดินได้เพียงประมาณ 210 มม./นาที โปรแกรมตัวอย่างจึงใช้เวลา 24000 / 210 ≈ 115 นาที ซึ่งตรงกับอาการที่เดินเกือบสองชั่วโมง
| วิธีเดินโปรแกรม | อัตราป้อนจริงในช่วงบรรทัดเดินสั้น (มม./นาที) | เวลาของโปรแกรมตัวอย่าง |
|---|---|---|
| ตามที่ CAM ประเมิน | 2000 | 12 นาที |
| จากหน่วยความจำ บรรทัดละ 0.1 มม. | ไม่เกิน 1500 | อย่างน้อย 16 นาที |
| DNC ทาง RS-232 9600 baud บรรทัดละ 0.1 มม. | ประมาณ 210 | ประมาณ 115 นาที |
จากหน่วยความจำ บรรทัดละ 0.2 มม. หรือส่งส่วนโค้งเป็น G02 G03 |
ถึง 2000 ได้ในช่วงส่วนใหญ่ | ใกล้ 12 นาที บวกเวลาที่มุม |
วิธีแก้
ที่ CAM
- ส่งส่วนโค้งเป็น
G02G03(Arc fitting) แทนเส้นตรงสั้นๆ จำนวนมาก ส่วนโค้งหนึ่งบรรทัดแทนเส้นตรงได้หลายสิบบรรทัด เป็นวิธีที่ได้ผลมากที่สุด - ใช้ค่าความคลาดเคลื่อนของ CAM ให้เหมาะกับงาน ค่าที่เล็กเกินจำเป็นทำให้บรรทัดเดินสั้นลงโดยผิวงานไม่ได้ดีขึ้น เพราะความคลาดเคลื่อนของผิวสุดท้ายรวมค่าที่ชุดควบคุมยอมให้ตัดมุมไว้ด้วย
- เกลี่ยจุดให้ระยะเคลื่อนที่ต่อบรรทัดใกล้เคียงกัน บรรทัดเดินสั้นและเดินยาวสลับกันทำให้อัตราป้อนขึ้นลงตาม ผิวจึงเป็นแถบมันและด้าน CAM ส่วนใหญ่มีตัวเลือกปรับการกระจายจุดหรือเกลี่ยเส้นทาง
- ตรวจว่าโพสต์โพรเซสเซอร์ใส่คำสั่งเปิดการอ่านล่วงหน้า เช่น
G05.1 Q1บนเครื่อง Fanuc ที่มีตัวเลือกนี้ หลังเรียกค่าชดเชยความยาวและก่อนเส้นทางเก็บผิว และปิดด้วยG05.1 Q0ก่อนเปลี่ยนเครื่องมือ
ที่การส่งโปรแกรม
- เดินจากหน่วยความจำ การ์ดหน่วยความจำ หรือเซิร์ฟเวอร์ข้อมูลผ่าน Ethernet ถ้าโปรแกรมใหญ่เกินหน่วยความจำ ให้แบ่งเป็นหลายโปรแกรมตามเครื่องมือ
- ถ้าต้องใช้ RS-232 ตั้ง Baud rate ให้สูงสุดที่ทั้งสองฝั่งทำงานได้เสถียร และให้โพสต์โพรเซสเซอร์ตัดเลข N ช่องว่าง และศูนย์ท้ายทศนิยมที่ไม่จำเป็น เพื่อลดจำนวนตัวอักษรต่อบรรทัด ดูการต่อสายที่การต่อสาย RS-232 และโปรแกรมส่งไฟล์ DNC
ที่ชุดควบคุม
- เลือกระดับความแม่นยำตามขั้นตอนงาน เครื่องหลายรุ่นแยกค่าไว้เป็นงานหยาบ กึ่งละเอียด และละเอียด ค่าสำหรับงานหยาบเดินเร็วกว่าเพราะยอมให้ตัดมุมได้มากกว่า บน Haas ใช้
G187บน Siemens ใช้รอบคำสั่งCYCLE832ส่วนบน Fanuc ขึ้นกับพารามิเตอร์ที่ผู้ผลิตตั้งไว้ - อย่าเพิ่ม F เพื่อชดเชยเวลา ถ้าอัตราป้อนถูกจำกัดด้วยระยะเคลื่อนที่ต่อบรรทัดหรือการส่งข้อมูล การเพิ่ม F ไม่ทำให้เร็วขึ้นในช่วงนั้น แต่จะเพิ่มภาระต่อคมในช่วงที่เดินได้เต็ม F
ป้องกันไม่ให้เกิดซ้ำ
- ตั้งค่าเริ่มต้นของ CAM ให้ส่งส่วนโค้งเป็น
G02G03และใช้ค่าความคลาดเคลื่อนตามขั้นตอนงาน ไม่ใช่ค่าที่เล็กที่สุดทุกงาน - จดเวลาจริงของโปรแกรมแรกเทียบกับเวลาที่ CAM ประเมิน แล้วใช้อัตราส่วนนี้ประเมินงานถัดไปบนเครื่องเดียวกัน
- ใช้การเดินจากหน่วยความจำหรือ Ethernet เป็นวิธีมาตรฐานสำหรับโปรแกรมเก็บผิว และใช้ RS-232 เฉพาะโปรแกรมที่แต่ละบรรทัดเคลื่อนที่เป็นระยะยาว
- เมื่อคำนวณภาระต่อคม ให้ใช้อัตราป้อนจริงในช่วงที่ช้าที่สุดตรวจด้วยว่าคมยังตัดอยู่ ไม่ได้ถู
สรุป
- ชุดควบคุมรุ่นใหม่ใช้ F เป็นค่าสูงสุด และลดอัตราป้อนเองที่มุม ส่วนโค้งเล็ก และช่วงที่บรรทัดเดินสั้น เวลาที่ CAM ประเมินจาก F จึงสั้นกว่าเวลาจริงเสมอ
- แยกสาเหตุหน้าเครื่องก่อน ดูค่า F จริง เทียบการเดินจากหน่วยความจำกับ DNC และดูระยะเคลื่อนที่ต่อบรรทัดในไฟล์
- บรรทัดที่เคลื่อนที่ 0.1 มม. ที่เวลาประมวลผล 4 มิลลิวินาทีเดินได้ไม่เกิน 1500 มม./นาที และถ้าส่งทาง RS-232 ที่ 9600 baud เดินได้เพียงประมาณ 210 มม./นาที
- วิธีที่ได้ผลมากที่สุดคือส่งส่วนโค้งเป็น
G02G03และเดินจากหน่วยความจำหรือ Ethernet
พบข้อผิดพลาดหรือมีข้อเสนอแนะ? ส่งอีเมลแจ้งเรา