คลังบทเรียน / การเขียนโปรแกรม CNC

บทที่ 31

ชุดควบคุมยี่ห้ออื่นเทียบกับ Fanuc — Haas, Mitsubishi, Siemens และระบบเขียนโปรแกรมแบบสนทนา

สิ่งที่เหมือนกันและข้อแตกต่างสำคัญเมื่อนำความรู้การเขียนโปรแกรมไปประยุกต์ใช้กับชุดควบคุมที่ไม่ใช่ Fanuc การเปรียบเทียบกลุ่มรหัส ISO G-code (Haas และ Mitsubishi) กับเรื่องที่ต้องระวังเป็นพิเศษ เช่น พิกัดจุดศูนย์งานเสริม (G154/G54.1), โปรแกรมย่อยภายในไฟล์เดียวกัน (M97) และการตีความตัวเลขที่ไม่มีจุดทศนิยม ระบบชุดควบคุม Siemens SINUMERIK ในภาษาเฉพาะตัวและโหมด ISO Dialect (G290/G291) ข้อควรระวังของรหัสคำสั่งที่ซ้ำซ้อนแต่ความหมายต่างกัน ตัวอย่างโปรแกรมงานเดียวกันบน Fanuc และ Siemens และรายการตรวจสอบความปลอดภัยเมื่อต้องย้ายโปรแกรมข้ามยี่ห้อ

ทุกบทของหนังสือเล่มนี้ใช้ชุดควบคุม Fanuc เป็นแกนหลักในการอธิบาย เนื่องจากเป็นระบบควบคุมเครื่องจักร CNC ที่แพร่หลายที่สุดในโลก และมีผู้ผลิตชุดควบคุมรายอื่นจำนวนมากที่ยึดโครงสร้างคำสั่งตามมาตรฐานเดียวกัน อย่างไรก็ดี ในโรงงานอุตสาหกรรมจริง เครื่องจักร CNC อาจติดตั้งชุดควบคุมยี่ห้ออื่น เช่น Haas, Mitsubishi, Siemens SINUMERIK, Heidenhain หรือ Mazak

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

ข้อควรทราบ: ข้อมูลอ้างอิงในบทนี้รวบรวมจากคู่มือการเขียนโปรแกรมมาตรฐานของผู้ผลิต ได้แก่ Mitsubishi M800/M80 Series, Siemens SINUMERIK 840D sl/828D และคู่มือรหัสคำสั่งของ Haas Automation ทั้งนี้เนื่องจากเครื่องจักรแต่ละยี่ห้อมีฟังก์ชันเสริมและการตั้งค่าพารามิเตอร์ของผู้ผลิตเครื่องจักร (Machine Tool Builder — MTB) ที่แตกต่างกัน ผู้ใช้งานต้องตรวจสอบคู่มือประจำเครื่องจริงเสมอ ก่อนปล่อยโปรแกรมทำงาน

31.1 ชุดควบคุม 2 กลุ่มหลักในวงการ CNC

เมื่อพิจารณาจากภาษาที่ใช้ในการสื่อสารและสั่งการ ชุดควบคุมในอุตสาหกรรม CNC สามารถแบ่งออกเป็น 2 กลุ่มใหญ่:

ชุดควบคุมสองกลุ่ม แบ่งตามภาษาที่ใช้เขียนโปรแกรม เขียนแบบ Fanuc รหัส G และ M ตาม ISO 6983 Fanuc ต้นแบบของหนังสือเล่มนี้ Haas G154 P_ · M97 · Settings Mitsubishi M98 H_ · G54.1 P_ · #1078 Mazak โหมด EIA/ISO โปรแกรมย้ายข้ามเครื่องได้ แก้เฉพาะส่วนที่ต่าง มีภาษาของตัวเอง รูปแบบคำสั่งต่างจาก Fanuc Siemens CYCLE81 · D1 · CR= Heidenhain เขียนแบบสนทนา Mazak Mazatrol ระบบสนทนา ระบบหน้าเครื่อง ของผู้ผลิตเครื่องบางราย โปรแกรมจาก CAM ต้องโพสต์ใหม่สำหรับเครื่องนี้ โหมด ISO G291 ชุดควบคุมกลุ่มขวาหลายรุ่นมีโหมดที่อ่านรหัส G แบบ Fanuc ได้ เช่น โหมด ISO ของ Siemens ก่อนใช้โหมดนี้ ตรวจกับคู่มือของเครื่องว่ารองรับคำสั่งใดบ้าง
รูปที่ 31.1 ชุดควบคุมที่เขียนแบบ Fanuc กับชุดควบคุมที่มีภาษาของตัวเอง
  1. กลุ่มรหัส ISO G-code (Fanuc-compatible): เป็นกลุ่มที่ยึดโครงสร้างคำสั่ง G-code และ M-code ตามมาตรฐาน ISO 6983 / EIA RS-274-D ในรูปแบบเดียวกับ Fanuc ได้แก่ Haas, Mitsubishi, Yasnac, Mazak (ในโหมด EIA/ISO) และชุดควบคุมจากไต้หวันส่วนใหญ่ โปรแกรมในกลุ่มนี้สามารถนำไปใช้งานข้ามยี่ห้อกันได้โดยตรงหรือปรับแต่งเพียงเล็กน้อย องค์ความรู้เกือบทั้งหมดในหนังสือเล่มนี้ใช้กับชุดควบคุมกลุ่มนี้ได้ทันที โดยสิ่งที่แตกต่างมักเป็นเพียงรหัสคำสั่งเสริมเฉพาะรุ่น, หมายเลขพารามิเตอร์ และหน้าตาของสัญญาณเตือน Alarm
  2. กลุ่มที่มีภาษาเฉพาะตัวและระบบสนทนา (Proprietary / Conversational): ได้แก่ Siemens SINUMERIK (ภาษา Siemens Advanced), Heidenhain (ภาษา Klartext), Mazak (ภาษา Mazatrol) และ Hurco ชุดควบคุมกลุ่มนี้มีไวยากรณ์คำสั่ง โครงสร้างการเรียกเครื่องมือ และคำสั่งวัฏจักรเจาะกัดเป็นเอกลักษณ์ของตนเอง อย่างไรก็ดี หลายยี่ห้อในกลุ่มนี้ (โดยเฉพาะ Siemens) จะมี โหมดจำลองภาษา ISO Dialect ที่สามารถสลับมารับโปรแกรม G-code สไตล์ Fanuc ได้

สิ่งที่เหมือนกันในทุกชุดควบคุม: คือหลักการพื้นฐานทางวิศวกรรมการผลิตทั้งหมด ซึ่งไม่ขึ้นกับภาษาหรือรหัสคำสั่ง ได้แก่:

  • กฎมือขวาและระบบพิกัดคาร์ทีเซียน (Cartesian Coordinates) ตามบทที่ 4
  • ระบบพิกัดศูนย์งานชิ้นงาน (G54) ตามบทที่ 6
  • กลศาสตร์การชดเชยความยาวเครื่องมือ (Tool Length Offset) และการชดเชยรัศมีมีดตัด (Cutter Radius Compensation)
  • ขั้นตอนการวางแผนกระบวนการผลิตและการทดสอบโปรแกรมที่หน้าเครื่องตามบทที่ 21
  • ตรรกะงานผลิตต่อเนื่องและการจัดการรอบเวลาตามบทที่ 28

31.2 ชุดควบคุม Haas

ชุดควบคุมของ Haas Automation พัฒนาขึ้นโดยใช้สถาปัตยกรรม ISO G-code ที่ใกล้เคียงกับ Fanuc มากที่สุดในบรรดาชุดควบคุมทั้งหมด โปรแกรมงานกัด Machining Center ส่วนใหญ่ในหนังสือเล่มนี้สามารถนำไปโหลดและสั่งทำงานบนเครื่อง Haas ได้ทันทีโดยไม่ต้องแก้ไข แต่มีจุดแตกต่างสำคัญในทางปฏิบัติ 4 ประการที่ต้องทำความเข้าใจ:

ตารางที่ 31.1 ข้อแตกต่างที่พบบ่อยระหว่าง Fanuc และ Haas
หัวข้อการทำงาน รูปแบบของ Fanuc รูปแบบเฉพาะของ Haas
ระบบพิกัดงานเสริม G54.1 P1 ถึง P48 (หรือขยายถึง P300) ใช้คำสั่ง G154 P1 ถึง P99 (นอกจากนี้ยังรองรับรหัสเดิม G110–G129 ซึ่งเทียบเท่ากับ G154 P1–P20)
การเรียกโปรแกรมย่อยภายในไฟล์เดียวกัน แยกเป็นโปรแกรมของตัวเองแล้วเรียกด้วย M98 P_ หรือใช้ M98 Q_ (Q คือหมายเลขบรรทัด N) ในรุ่นที่มี เช่น Series 30i เมื่อตั้งบิต SQC ของพารามิเตอร์ 6005 เป็น 1 ใช้คำสั่ง M97 P_ โดย P คือหมายเลขบรรทัด N ภายในไฟล์เดียวกัน และจบโปรแกรมย่อยด้วย M99
การปรับแต่งระบบเครื่องจักร ปรับผ่านหน้าพารามิเตอร์ (Parameter) ซึ่งมักถูกล็อกรหัสผ่าน มีหน้าต่าง Setting แยกต่างหาก ให้ผู้ใช้เปิดอ่านคำอธิบายภาษาอังกฤษและปรับตั้งได้เองอย่างอิสระ (เช่น การเปิด/ปิดระบบเป่าลม, โหมดมุมโค้ง)
แอดเดรส P ในวัฏจักรเจาะ P (เวลาหยุดที่ก้นรู) ที่เขียนในบรรทัดที่เจาะเป็นค่าคงสถานะ ใช้กับทุกรูถัดไปจนถึง G80 ตามบทที่ 15 ส่วน P ในบรรทัดที่ไม่ได้เจาะ เช่น G04 P_ หรือ M98 P_ ไม่เปลี่ยนค่านี้ แอดเดรส P มีคุณสมบัติคงสภาวะ (Modal) หากระหว่างวัฏจักร G82 Z-5. P500 มีการสั่ง G04 P1000 หรือ M97 P2000 แทรก ค่า P ใหม่นั้นอาจถูกนำไปใช้เป็นเวลาหยุดที่ก้นรูของรูถัดไปแทน 500

ประเด็นของคำสั่ง M97 ที่ทำให้โปรแกรมย้ายไม่ได้: ผู้เขียนโปรแกรมที่คุ้นเคยกับเครื่อง Haas นิยมใช้คำสั่ง M97 P1000 เพื่อเรียกโปรแกรมย่อยที่วางต่อท้ายโปรแกรมหลัก (อยู่ใต้บรรทัด M30) ซึ่งสะดวกมากเพราะรวมทุกอย่างไว้ในไฟล์เดียว แต่เมื่อนำโปรแกรมนี้ไปรันบน Fanuc ชุดควบคุมจะไม่เข้าใจคำสั่ง M97 และจะเกิด Alarm ขึ้นทันที การแปลงกลับไปใช้บน Fanuc จะต้องตัดส่วนโปรแกรมย่อยแยกออกมาบันทึกเป็นไฟล์ใหม่พร้อมใส่หมายเลข O ของตนเอง แล้วเปลี่ยนคำสั่งเรียกเป็น M98 P... ตามบทที่ 10

Backplot ของเว็บไซต์นี้อ่าน M97 และ G154 ของ Haas ได้ รวมทั้ง M98 Q ของ Fanuc จึงใช้วาดและตรวจโปรแกรมของ Haas ก่อนแปลง และตรวจโปรแกรมที่แปลงแล้วได้

31.3 ชุดควบคุม Mitsubishi

ชุดควบคุม Mitsubishi (เช่น ตระกูล M70, M80 และ M800) เป็นที่นิยมอย่างสูงในเครื่องจักร CNC แบรนด์ญี่ปุ่นและไต้หวัน โครงสร้างภาษา G-code ของ Mitsubishi ถูกออกแบบมาให้เข้ากันได้กับ Fanuc เกือบ 100% เอกสารและคู่มือการเขียนโปรแกรมใช้รหัสคำสั่งเดียวกันแทบทุกบท ข้อแตกต่างสำคัญมักอยู่ที่ความยืดหยุ่นของฟังก์ชันและพารามิเตอร์:

ตารางที่ 31.2 ข้อควรรู้ในการเขียนโปรแกรมบนชุดควบคุม Mitsubishi
หัวข้อการทำงาน ข้อมูลจำเพาะบน Mitsubishi M800/M80 Series
การเรียกโปรแกรมย่อยขั้นสูง รองรับรูปแบบ M98 P_ H_ L_ โดย P คือหมายเลขโปรแกรม, H คือหมายเลขบรรทัด N ที่ต้องการให้เริ่มอ่าน และ L คือจำนวนรอบวนซ้ำ (ทำให้เรียกบรรทัดในไฟล์เดียวกันได้เหมือน M97 ของ Haas) นอกจากนี้ยังรองรับการเรียกด้วยชื่อไฟล์ตรงๆ เช่น M98 <PART-A.NC>
ระบบพิกัดงานเสริม รองรับคำสั่ง G54.1 P1 ถึง P300 เป็นมาตรฐาน
การตีความตัวเลขที่ไม่มีจุดทศนิยม เลือกรูปแบบได้ผ่านพารามิเตอร์ #1078 Decpt2: โดย Type I จะอ่านเป็นหน่วยย่อยที่สุด (0.001 มม.) เหมือน Fanuc ส่วน Type II จะอ่านเป็นหน่วยมิลลิเมตรเต็ม (Pocket Calculator Type)
ตระกูลระบบคำสั่ง G-code สามารถสลับระบบรหัส G ได้ผ่านพารามิเตอร์ #1037 cmdtyp
รหัสสัญญาณเตือน Alarm ใช้รหัสขึ้นต้นด้วยอักษรตัวเดียว เช่น P20, P33 ซึ่งหมายเลขจะไม่ตรงกับรหัส PS ของ Fanuc

ข้อควรระวังเรื่องตัวเลขที่ไม่มีจุดทศนิยม: หากนำโปรแกรมที่เขียนตัวเลขแบบไม่มีจุดทศนิยม เช่น X10 ซึ่งตั้งใจให้เป็น 10 มิลลิเมตร (บนเครื่องที่ตั้ง Type II) ไปรันบนเครื่องจักรที่ตั้งค่าพารามิเตอร์เป็น Type I เครื่องจะอ่านเป็น 10×0.001=0.010 มม.10 \times 0.001 = 0.010\text{ มม.} ส่งผลให้พิกัดสั้นลง 1,000 เท่าตามปัญหาที่อธิบายในบทที่ 23 ดังนั้น เมื่อย้ายโปรแกรมควรใส่จุดทศนิยมกำกับตัวเลขพิกัดระยะทางทุกตัวเสมอ เช่น X10.

31.4 ชุดควบคุม Siemens SINUMERIK

ชุดควบคุม Siemens SINUMERIK (เช่น รุ่น 828D และ 840D sl) ใช้มากในเครื่องจักรจากยุโรปและเครื่อง 5 แกน มีภาษาโปรแกรมเฉพาะตัว เรียกว่า ภาษา Siemens (Siemens Advanced Language) และมีโหมดเสริม ISO Dialect สำหรับรันโปรแกรมรูปแบบ Fanuc

31.4.1 ข้อแตกต่างเชิงเปรียบเทียบระหว่างภาษา Siemens กับ Fanuc

แม้ฟิสิกส์การตัดเฉือนจะเหมือนกัน แต่ไวยากรณ์คำสั่งของภาษา Siemens แตกต่างจาก Fanuc อย่างชัดเจน:

ตารางที่ 31.3 การเปรียบเทียบคำสั่งระหว่าง Fanuc กับภาษา Siemens
หัวข้อการทำงาน ไวยากรณ์บนชุดควบคุม Fanuc ไวยากรณ์ในภาษา Siemens (SINUMERIK)
หน่วยวัดระบบมิลลิเมตร/นิ้ว G21 (มม.) / G20 (นิ้ว) G71 (มม.) / G70 (นิ้ว) หรือคำสั่ง G710/G700
เครื่องหมายระบุข้อความหมายเหตุ อยู่ในวงเล็บกลม ( ... ) อยู่หลังเครื่องหมายอัฒภาค ; ...
การเรียกเครื่องมือและชดเชยความยาว สั่ง T1 M06 แล้วเรียกความยาวด้วย G43 H01 สั่ง T1 M6 หรือเรียกตามชื่อ T="DRILL_8.5" M6 แล้วเปิดใช้ค่าชดเชยความยาวด้วยหมายเลขคมตัด D1 โดยไม่ต้องมีคำสั่ง G43
ตัวเลขที่ไม่มีจุดทศนิยม ตีความเป็นหน่วยย่อยสุด (X10 = 0.010 มม.) ตีความเป็นหน่วยเต็มตามโหมด (X10 = 10.0 มม.)
คำสั่งเจาะสำเร็จรูป คำสั่งคงสภาวะ G81 ถึง G89 สั่งปิดด้วย G80 คำสั่งฟังก์ชันเฉพาะตัว เช่น CYCLE81(...) พร้อมส่งพารามิเตอร์ในวงเล็บ และเรียกวนซ้ำด้วย MCALL
การกำหนดรัศมีส่วนโค้ง ใช้แอดเดรส R_ ใช้คำสั่งกำหนดรัศมีเฉพาะตัว CR=_ (Circle Radius)
ตัวแปรในโปรแกรม ใช้เครื่องหมายชาร์ป เช่น #1–#33, #500 ใช้ตัวแปร R-parameter เช่น R0, R1 หรือตัวแปรที่ตั้งชื่อเป็นตัวอักษรได้อิสระ
การเรียกและการจบโปรแกรมย่อย เรียกด้วย M98 P_ จบด้วย M99 เรียกด้วย ชื่อโปรแกรม ได้โดยตรง จบด้วยคำสั่ง M17 หรือ RET
ระบบพิกัดจุดศูนย์งาน G54 ถึง G59 และ G54.1 P_ G54 ถึง G57 และกลุ่มขยาย G505 ถึง G599 สั่งยกเลิกด้วย G500
การหมุนและแปลงระบบพิกัด สั่งผ่าน G-code เช่น G52, G68, G51.1 ควบคุมผ่านระบบ Frame เช่น TRANS, ROT, MIRROR, SCALE (หรือแบบเพิ่มระยะ ATRANS, AROT)
การกลับจุดอ้างอิงเครื่องจักร สั่งผ่าน G28 หรือ G53 สั่งผ่านคำสั่ง G74 หรือใช้คำสั่งเฉพาะตัว G75 วิ่งเข้าหาตำแหน่งคงที่

คำเตือน

จุดที่ต้องระวังเป็นพิเศษเมื่อนำโปรแกรม Fanuc ไปใช้บน Siemens:

  1. คำสั่ง G70 และ G71: บน Fanuc G71 คือคำสั่งกลึงปอกหยาบหลายเที่ยวตามบทที่ 16 แต่บน Siemens G71 หมายถึง การตั้งหน่วยวัดเป็นมิลลิเมตร หากนำโปรแกรมกลึง Fanuc มารันบน Siemens โดยไม่แปลง เครื่องจะเข้าใจว่าเป็นการเปลี่ยนหน่วยวัดและข้ามกระบวนการกลึงหยาบไปทั้งหมด
  2. การตีความตัวเลขจำนวนเต็ม: Siemens จะอ่าน X10 หรือ Z-20 เป็นระยะเต็ม 10 มม. และ −20 มม. ทันที ตรงกันข้ามกับ Fanuc ที่จะอ่านเป็น 0.010 มม. และ −0.020 มม.

คำสั่งเจาะของ Siemens เขียนขึ้นในรูปแบบฟังก์ชันพารามิเตอร์ เช่น CYCLE81(RTP, RFP, SDIS, DP) โดย RTP คือระดับถอยปลอดภัย (Retract Plane), RFP คือระนาบผิวอ้างอิงชิ้นงาน (Reference Plane), SDIS คือระยะเผื่อก่อนถึงผิว (Safety Distance) และ DP คือระดับความลึกเป้าหมายก้นรู (Final Depth) ในทางปฏิบัติ ช่างมักสร้างคำสั่งเหล่านี้ผ่านหน้าจอกราฟิกกึ่งอัตโนมัติ (ShopMill หรือ ShopTurn) โดยไม่ต้องพิมพ์ทีละตัวอักษร

31.4.2 โหมด ISO Dialect บน Siemens

ชุดควบคุม Siemens มีฟังก์ชันแปลงภาษาในตัว:

  • สั่งคำสั่ง G291 ในบล็อกเดี่ยว เพื่อสลับเข้าสู่โหมด ISO Dialect ทำให้ชุดควบคุมสามารถอ่านคำสั่ง G-code และมาโครสไตล์ Fanuc ได้โดยตรง
  • สั่งคำสั่ง G290 ในบล็อกเดี่ยว เพื่อสลับกลับมาสู่ ภาษา Siemens ปกติ

เมื่อสลับโหมด พิกัดจุดศูนย์งานและออฟเซ็ตเครื่องมือที่กำลังใช้งานอยู่จะคงสภาวะเดิมอย่างต่อเนื่อง โหมด ISO ช่วยให้สามารถนำโปรแกรมที่โพสต์จาก CAM สำหรับ Fanuc มารันบน Siemens ได้สะดวกรวดเร็ว อย่างไรก็ตาม การตั้งค่าพารามิเตอร์เครื่องจักร MD10884 จะเป็นตัวกำหนดว่าตัวเลขที่ไม่มีจุดทศนิยมในโหมด ISO จะถูกอ่านแบบเครื่องคิดเลข (มม.) หรือแบบมาตรฐาน Fanuc (ไมครอน) ดังนั้น จึงต้องใส่จุดทศนิยมในทุกพิกัดเสมอแม้จะรันในโหมด ISO

31.5 ชุดควบคุมระบบสนทนา (Conversational Controls)

ชุดควบคุมชั้นนำบางยี่ห้อถูกออกแบบมาเพื่อเน้นการเขียนโปรแกรมหน้าเครื่องจักรผ่านระบบโต้ตอบเชิงสนทนา (Conversational Programming) โดยเฉพาะ Heidenhain ซึ่งใช้มากในงานกัดแม่พิมพ์และเครื่องกัด 5 แกนจากยุโรป ภาษาหลักของ Heidenhain คือ Klartext (Plain Language) ซึ่งมีโครงสร้างคำสั่งเป็นประโยคสนทนา เช่น TOOL CALL, L X+50 Y+20 R0 FMAX (คำสั่งเดินเส้นตรง) และมีรอบงานเจาะคว้านแบบเฉพาะตัว

31.5.1 Mazak: Mazatrol และ EIA/ISO

ชุดควบคุม Mazatrol ของ Mazak เขียนโปรแกรมได้สองแบบบนเครื่องเดียวกัน เมื่อพบโปรแกรมบนเครื่อง Mazak จึงต้องดูก่อนว่าเป็นแบบใด

  • Mazatrol คือระบบสนทนา ผู้เขียนโปรแกรมกรอกข้อมูลของชิ้นงานและรูปร่างที่ต้องตัดทีละหัวข้อบนหน้าจอ เช่น รูเจาะหรือหลุม แล้วชุดควบคุมคำนวณเส้นทางเดินของเครื่องมือให้ โปรแกรมแบบนี้ไม่มีบรรทัดรหัส G ให้อ่านหรือแก้ไข ความรู้เรื่องรหัส G ในหนังสือเล่มนี้จึงใช้กับโปรแกรมแบบนี้โดยตรงไม่ได้
  • EIA/ISO คือโปรแกรมรหัส G แบบปกติ เนื้อหาส่วนใหญ่ในหนังสือเล่มนี้ใช้ได้ แต่ยังต้องตรวจจุดที่ต่างจาก Fanuc ตามรายการตรวจสอบและคู่มือของเครื่อง

Mazatrol เหมาะกับงานที่เขียนโปรแกรมหน้าเครื่อง เช่น งานจำนวนน้อยที่รูปร่างไม่ซับซ้อน ส่วนโปรแกรมที่ส่งออกจาก CAM มักใช้แบบ EIA/ISO

ข้อจำกัดในการย้ายโปรแกรม: โปรแกรม Mazatrol และรอบงาน (Cycle) ของ Klartext แปลงทีละบรรทัดเป็นรหัส G ของ Fanuc ไม่ได้ เพราะชุดควบคุมคำนวณเส้นทางเดินของเครื่องมือเองจากข้อมูลที่กรอก เมื่อย้ายงานไปเครื่องอื่นจึงต้องสร้างโปรแกรมใหม่ ซึ่งทำได้ตามที่มาของโปรแกรมเดิม

  • โปรแกรมมาจาก CAM: เปิดงานเดิมใน CAM แล้วโพสต์ใหม่ด้วยโพสต์โปรเซสเซอร์ของเครื่องปลายทาง ตามบทที่ 29 โปรแกรม Klartext มักมาจาก CAM โดยเฉพาะงานแม่พิมพ์และงาน 5 แกน ส่วน CAM ที่ส่งงานให้เครื่อง Mazak ส่วนใหญ่โพสต์เป็นแบบ EIA/ISO ซึ่งเป็นรหัส G แบบปกติอยู่แล้ว
  • โปรแกรมเขียนที่หน้าเครื่อง: ซึ่งพบบ่อยกับ Mazatrol ไม่มีงานใน CAM ให้เปิด ต้องเขียนใหม่จากแบบงาน ด้วยรหัส G หรือด้วยระบบสนทนาของเครื่องปลายทาง

ชุดควบคุม Mazak บางรุ่นมีตัวเลือกแปลงโปรแกรม Mazatrol เป็นแบบ EIA/ISO ให้ ถ้าจะใช้ ให้ตรวจกับคู่มือของเครื่องว่ามีตัวเลือกนี้หรือไม่ ไม่ว่าจะได้โปรแกรมใหม่ด้วยวิธีใด ต้องตรวจด้วยแบบจำลองและทดลองด้วย SINGLE BLOCK ก่อนตัดจริงเสมอ

31.6 ตัวอย่าง: งานเจาะชิ้นเดียวกันบนชุดควบคุมต่างระบบ

กรณีศึกษางานเจาะรูขนาด Ø8.5 มม. ลึก 12 มม. จำนวน 4 รู ที่พิกัด X±30X\pm 30 และ Y±20Y\pm 20 บนแผ่นเพลต โดยกำหนดจุดศูนย์งาน G54 ไว้ที่กึ่งกลางผิวบนของชิ้นงาน

31.6.1 โปรแกรมบนชุดควบคุม Fanuc (และใช้ได้บน Haas / Mitsubishi)

%
O3101 (FOUR HOLES - Fanuc)
(G54 X0 Y0 = PLATE CENTER  Z0 = TOP)
N10 G17 G21 G40 G49 G80 G90 G94
N20 T1 M06 (D8.5 DRILL)
N30 G54 G00 X-30. Y-20. S1500 M03
N40 G43 H01 Z50. M08
N50 G99 G81 X-30. Y-20. Z-12. R3. F150
N60 X30.
N70 Y20.
N80 G98 X-30.
N90 G80 M09
N100 M05
N110 G91 G28 Z0
N120 G90
N130 M30
%

ดูเครื่องมือเดินตั้งแต่ N10 ถึง N130 ได้ในตัวจำลองการตัด และBackplot

การรันบน Haas และ Mitsubishi: โปรแกรมนี้สามารถรันบน Haas และ Mitsubishi ได้ทันทีโดยไม่ต้องแก้ไขใดๆ หากต้องการใช้พิกัดงานเสริม บน Haas จะเขียนเป็น G154 P1 ส่วนบน Fanuc และ Mitsubishi จะเขียนเป็น G54.1 P1

31.6.2 โปรแกรมเดียวกันในภาษา Siemens (SINUMERIK Native)

; FOUR HOLES - SIEMENS NATIVE LANGUAGE
; G54 X0 Y0 = PLATE CENTER  Z0 = TOP
G17 G71 G40 G90 G94          ; G71 = กำหนดหน่วยเป็นมิลลิเมตร
T="DRILL_8.5" M6             ; เรียกเครื่องมือตัดตามชื่อที่ลงทะเบียน
D1                           ; เปิดใช้ค่าชดเชยความยาวของคมตัดที่ 1 ทันที
G54 G0 X-30. Y-20. S1500 M3
Z50. M8
MCALL CYCLE81(50., 0., 3., -12.) ; เรียกใช้วัฏจักรเจาะแบบค้างสภาวะ (RTP, RFP, SDIS, DP)
X-30. Y-20.
X30.
Y20.
X-30.
MCALL                        ; ยกเลิกสภาวะการเจาะ (เทียบเท่า G80)
G0 Z100. M9
M5
M30
ตารางที่ 31.4 เปรียบเทียบโค้ดการเจาะชิ้นงานเดียวกันระหว่าง Fanuc และ Siemens
พารามิเตอร์การทำงาน โครงสร้างบน Fanuc โครงสร้างบน Siemens (ภาษาหลัก)
หน่วยวัดมิลลิเมตร คำสั่ง G21 คำสั่ง G71
การเปิดค่าชดเชยความยาว คำสั่ง G43 H01 ควบคู่กับการเคลื่อนที่แกน Z สั่งเปิดหมายเลขคมตัด D1 ใต้บรรทัดเปลี่ยนเครื่องมือ
คำสั่งเจาะสำเร็จรูป คำสั่ง G81 คงสภาวะ ยกเลิกด้วย G80 คำสั่ง MCALL CYCLE81(...) คงสภาวะ ยกเลิกด้วย MCALL เปล่า
ระยะพ้นผิวก่อนเจาะ แอดเดรส R3. (พิกัดสัมบูรณ์ของระนาบจุด R) พารามิเตอร์ SDIS 3. (ระยะสัมพัทธ์เหนือผิวระนาบอ้างอิง RFP)
ระดับถอยปลอดภัย คำสั่งสลับ G98 (ระดับเริ่มต้น) และ G99 (ระดับ R) พารามิเตอร์ RTP 50. (ระนาบถอยปลอดภัยที่ระบุไว้ในฟังก์ชัน)
การใส่จุดทศนิยม มีจุดทศนิยมกำกับทุกตัวเลข แนะนำให้ใส่จุดทศนิยมกำกับเสมอเพื่อความปลอดภัย

31.7 รายการตรวจสอบเมื่อย้ายโปรแกรมข้ามชุดควบคุม

ก่อนนำโปรแกรมที่เขียนหรือส่งออกจากเครื่องจักรยี่ห้อหนึ่งไปรันบนอีกยี่ห้อหนึ่ง ให้ตรวจสอบรายการต่อไปนี้อย่างละเอียด นอกเหนือจากการตรวจตามปกติในบทที่ 29:

ตารางที่ 31.5 รายการตรวจสอบความปลอดภัยเมื่อต้องย้ายโปรแกรมข้ามชุดควบคุม
หัวข้อที่ต้องตรวจสอบ เหตุผลทางเทคนิคและความเสี่ยง
จุดทศนิยมในพิกัดระยะทางทุกค่า ชุดควบคุมต่างยี่ห้อหรือต่างพารามิเตอร์ตีความตัวเลขไม่มีจุดทศนิยมต่างกัน เสี่ยงต่อการวิ่งผิดพลาด 1,000 เท่า
รหัสคำสั่งที่ชื่อซ้ำแต่ความหมายต่างกัน เช่น G70/G71 (หน่วยวัดบน Siemens vs วัฏจักรกลึงบน Fanuc) หรือคำสั่ง M97
รูปแบบระบบพิกัดงานเสริม ตรวจสอบการแปลงระหว่าง G54.1 P_, G154 P_ และกลุ่ม G505–G599
รูปแบบการเรียกโปรแกรมย่อย คำสั่ง M97 ของ Haas, M98 P_ H_ ของ Mitsubishi และการเรียกตามชื่อไฟล์ของ Siemens มีไวยากรณ์ต่างกัน
รหัส M พิเศษของผู้ผลิตเครื่องจักร (MTB) รหัสเปิดปิดน้ำหล่อเย็นแรงดันสูง, ลมเป่าเศษ หรือการปลดล็อกแกนหมุน แตกต่างกันในเครื่องแต่ละยี่ห้อ ตามบทที่ 10
ฟังก์ชันออปชันขั้นสูง คำสั่งทำงาน 5 แกน (เช่น G68.2, G43.4) และคำสั่งควบคุมความเร็วสูง มีไวยากรณ์และเงื่อนไขเฉพาะตัว
หมายเลขตัวแปรระบบของมาโคร หมายเลขตัวแปรที่ใช้อ่านค่าออฟเซ็ตและตำแหน่งแกนปัจจุบันของ Fanuc, Haas และ Mitsubishi มีการจัดสรรต่างกัน
ลำดับบล็อกเปลี่ยนเครื่องมือและส่งแกนกลับโฮม ผู้ผลิตเครื่องจักรแต่ละรายมีลำดับการยกแกนและการเตรียมเครื่องมือตัวถัดไปที่ไม่เหมือนกัน

แนวทางปฏิบัติที่ดีที่สุดในการย้ายงาน: สำหรับโปรแกรมที่มีความยาวหรือโปรแกรมกัดผิว 3 มิติ ควรเปิดโปรเจกต์ในซอฟต์แวร์ CAM แล้วสั่งโพสต์โปรเซสเซอร์ใหม่สำหรับเครื่องจักรเป้าหมายโดยตรง การแก้ไขและแปลงโค้ดด้วยมือเหมาะกับโปรแกรมสั้นๆ ที่เขียนด้วยมือเท่านั้น และทุกครั้งที่ย้ายโปรแกรม ต้องทดสอบบนเครื่องจักรจริงตามขั้นตอนในบทที่ 21 เสมือนเป็นโปรแกรมใหม่ทุกครั้ง

31.8 ข้อผิดพลาดที่พบบ่อย

ตารางที่ 31.6 ข้อผิดพลาดที่พบบ่อยในการทำงานกับชุดควบคุมหลายยี่ห้อ
ข้อผิดพลาดที่เกิดขึ้น ผลเสียตามมา แนวทางการป้องกัน
รันโปรแกรมที่ไม่มีจุดทศนิยมข้ามเครื่อง แกนเครื่องมือวิ่งผิดตำแหน่งไป 1,000 เท่า ชนกระแทกรุนแรง เขียนจุดทศนิยมกำกับตัวเลขพิกัดระยะทางทุกตัวเสมอเป็นนิสัย
นำคำสั่ง G70/G71 ของ Fanuc ไปรันบน Siemens เครื่องจักรเปลี่ยนหน่วยวัดกะทันหัน ไม่เกิดการกลึงตามต้องการ ตรวจสอบคู่มือคำสั่งของชุดควบคุมปลายทางก่อนรันโค้ดเสมอ
นำโปรแกรม Haas ที่มีคำสั่ง M97 ไปรันบน Fanuc เกิด Alarm หรือเครื่องสั่งการรหัส M ผิดพลาด ตัดแยกโปรแกรมย่อยออกเป็นไฟล์อิสระ แล้วเรียกใช้ด้วย M98
นำรหัสพิกัด G154 ไปรันบนเครื่องที่ไม่ใช่ Haas ชุดควบคุมขึ้น Alarm เนื่องจากไม่รู้จักคำสั่ง แปลงรหัสคำสั่งกลับเป็น G54.1 P_ ให้ถูกต้องตามมาตรฐานเครื่อง
คัดลอกบล็อก G43 H_ ไปใส่ในโปรแกรม Siemens ระบบไม่ยอมรับหรือเครื่องมือไม่ได้รับการชดเชยความยาว เปลี่ยนมาใช้ระบบเรียกหมายเลขคมตัด D1 ตามไวยากรณ์ของ Siemens
สันนิษฐานว่าหมายเลข Alarm เหมือนกันทุกยี่ห้อ วิเคราะห์สาเหตุผิดพลาดและเสียเวลาในการซ่อมบำรุง อ่านข้อความเตือนภาษาอังกฤษบนจอและเปิดคู่มือ Alarm ของยี่ห้อนั้น
พยายามแปลงโปรแกรมของระบบสนทนาทีละบรรทัด โครงสร้างคำสั่งผิดพลาด ทางเดินเครื่องมือเบี้ยวรูปทรง โพสต์ใหม่จาก CAM ถ้าโปรแกรมมาจาก CAM หรือเขียนใหม่จากแบบงานถ้าเขียนที่หน้าเครื่อง
ปล่อยเดินโปรแกรมที่เพิ่งย้ายยี่ห้อมาโดยไม่ทดสอบ เกิดการชนกระแทกหรือชิ้นงานเสียหาย ปฏิบัติตามขั้นตอน Prove-out เสมือนเป็นโปรแกรมใหม่ทุกครั้ง

สรุป

  • หลักการพื้นฐานทั้งหมดในหนังสือเล่มนี้ใช้ได้กับทุกชุดควบคุม: ระบบพิกัดคาร์ทีเซียน, จุดศูนย์งาน, ออฟเซ็ตเครื่องมือ, การวางแผนกระบวนการ และการทดสอบโปรแกรมเป็นสากล สิ่งที่ต่างกันคือไวยากรณ์และรูปแบบคำสั่งเท่านั้น
  • Haas และ Mitsubishi ทำงานบนพื้นฐานเดียวกับ Fanuc: Haas เพิ่มคำสั่ง G154 และ M97 ส่วน Mitsubishi เพิ่มคำสั่ง M98 P_ H_, G54.1 P1–P300 และมีพารามิเตอร์เลือกรูปแบบการอ่านตัวเลขที่ไม่มีจุดทศนิยม
  • Siemens มีภาษาเฉพาะตัว: คำสั่งหน่วยวัดคือ G71 (มม.) และ G70 (นิ้ว), ค่าชดเชยความยาวเปิดด้วยหมายเลขคมตัด D_, คำสั่งเจาะเป็นตระกูล CYCLE81 ร่วมกับ MCALL และสามารถสลับมารัน G-code สไตล์ Fanuc ได้ผ่านโหมด ISO Dialect ด้วยคำสั่ง G291
  • Mazak เขียนโปรแกรมได้สองแบบ: Mazatrol เป็นระบบสนทนาที่ไม่มีบรรทัดรหัส G ส่วน EIA/ISO เป็นรหัส G แบบปกติ ต้องดูก่อนว่าโปรแกรมเป็นแบบใด
  • โปรแกรมจากระบบสนทนา (Conversational) แปลงทีละบรรทัดไม่ได้: ต้องสร้างโปรแกรมใหม่ โพสต์ใหม่จาก CAM ถ้าโปรแกรมเดิมมาจาก CAM หรือเขียนใหม่จากแบบงานถ้าเขียนที่หน้าเครื่อง
  • เขียนจุดทศนิยมกำกับตัวเลขระยะทางทุกครั้ง: เป็นวินัยทางวิศวกรรมที่ช่วยป้องกันอุบัติเหตุพิกัดเพี้ยน 1,000 เท่าได้ปลอดภัยที่สุด และ ต้องทดสอบโปรแกรมที่ย้ายมาใหม่ตามขั้นตอน Prove-out เสมอ

พบข้อผิดพลาดหรือมีข้อเสนอแนะ? ส่งอีเมลแจ้งเรา