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

บทที่ 32

การจัดการโปรแกรมและข้อมูลระบบควบคุม — เวอร์ชันของโปรแกรม การรับส่งโปรแกรม และการสำรองข้อมูล

การบริหารจัดการข้อมูลสำคัญในหน่วยความจำของชุดควบคุม CNC นอกเหนือจากโปรแกรม ได้แก่ ตารางค่าชดเชยเครื่องมือ, จุดศูนย์งาน, ตัวแปรระบบ และพารามิเตอร์ของเครื่องจักร การตั้งหมายเลขโปรแกรมและการจัดการเวอร์ชันของโปรแกรม (Revision) เพื่อป้องกันการผลิตชิ้นงานด้วยโปรแกรมรุ่นเก่า วิธีการรับส่งโปรแกรมผ่านพอร์ต RS-232, การ์ดหน่วยความจำ CF, ช่องเสียบ USB และระบบเครือข่าย Ethernet การสั่งรันโปรแกรมขนาดใหญ่กว่าหน่วยความจำเครื่องผ่านระบบ DNC กลยุทธ์การสำรองข้อมูลแบบไฟล์ข้อความและแบบ SRAM โคลนทั้งก้อน การบำรุงรักษาแบตเตอรี่สำรองหน่วยความจำ และลำดับขั้นตอนการกู้คืนระบบเมื่อข้อมูลสูญหาย

ชิ้นงานที่ถูกต้องตามแบบวิศวกรรมไม่ได้เกิดขึ้นจากความถูกต้องของโปรแกรม NC เพียงอย่างเดียว แต่ต้องพึ่งพา ความถูกต้องของข้อมูลทั้งหมดที่บันทึกอยู่ในหน่วยความจำของชุดควบคุม CNC ได้แก่ ค่าชดเชยความยาวและรัศมีของมีดตัด, พิกัดจุดศูนย์งาน (G54–G59), ตัวแปรถาวรของมาโคร และพารามิเตอร์ควบคุมกลไกการทำงานของเครื่องจักร ข้อมูลทั้งหมดนี้ถูกเก็บรักษาไว้ในหน่วยความจำชั่วคราวที่มีแบตเตอรี่สำรองไฟเลี้ยงอยู่ร่วมกัน

บทนี้จะรวบรวมแนวทางปฏิบัติในการบริหารจัดการข้อมูลของเครื่องจักร CNC เพื่อป้องกันความเสี่ยง 2 ประการที่พบบ่อยในโรงงาน:

  1. การนำโปรแกรมเวอร์ชันที่ล้าสมัยไปเดินผลิต: เช่น โปรแกรมที่ยังไม่ได้แก้ไขจุดบกพร่องตามแบบงานฉบับแก้ไขใหม่ (Drawing Revision) หรือโปรแกรมเวอร์ชันเก่าที่ไม่มีการบันทึกการปรับปรุงความเร็วและอัตราป้อนที่ช่างเคยทดสอบไว้
  2. ข้อมูลในเครื่องจักรสูญหายทั้งหมด (Total Data Loss): จากสาเหตุแบตเตอรี่สำรองไฟหมดสภาพ, บอร์ดวงจรอิเล็กทรอนิกส์ชำรุด หรือการเผลอกดคำสั่งลบข้อมูลโดยไม่มีไฟล์สำรอง (Backup) สำหรับกู้คืนระบบ

หมายเหตุ: ข้อมูลทางเทคนิคและหมายเลขพารามิเตอร์ในบทนี้อ้างอิงตามชุดควบคุม Fanuc ตระกูล 0i (โดยเฉพาะรุ่น 0i-F) ทั้งนี้ขั้นตอนการใช้งาน ชื่อเมนู และรูปแบบไฟล์อาจแตกต่างกันตามรุ่นของชุดควบคุมและผู้ผลิตเครื่องจักร การสำรองและกู้คืนข้อมูลระบบต้องปฏิบัติตามคู่มือการบำรุงรักษาของเครื่องจักรจริงเสมอ

32.1 ข้อมูลที่จัดเก็บในหน่วยความจำของชุดควบคุม

ข้อมูลในหน่วยความจำของชุดควบคุม CNC สามารถจำแนกออกเป็น 3 กลุ่มหลัก ตามลักษณะผู้ใช้งานและความถี่ในการเปลี่ยนแปลง ซึ่งเป็นเกณฑ์กำหนดความถี่ในการสำรองข้อมูล:

ข้อมูลในหน่วยความจำของชุดควบคุม แบ่งตามผู้ที่เปลี่ยนค่า และความถี่ที่ต้องสำรอง หน่วยความจำที่มีแบตเตอรี่สำรอง (SRAM) BAT เลี้ยงข้อมูล ขณะปิดเครื่อง โปรแกรม ผู้เขียนโปรแกรม โปรแกรมชิ้นงาน โปรแกรมย่อย มาโคร ต้นฉบับอยู่นอกเครื่อง ค่าที่เปลี่ยนทุกวัน ผู้ปฏิบัติงาน ค่าชดเชยเครื่องมือ จุดศูนย์ชิ้นงาน ตัวแปร #500 ขึ้นไป อายุเครื่องมือ สำรองทุกสัปดาห์ ค่าของผู้ผลิตเครื่อง ผู้ผลิตเครื่อง · ช่าง พารามิเตอร์ ค่าชดเชยระยะพิตช์ โปรแกรม PMC สำรองเมื่อรับเครื่อง และทุกปี ทั้งสามกลุ่มอยู่ในหน่วยความจำเดียวกัน แบตเตอรี่หมดหรือแผงวงจรเสียทำให้หายพร้อมกันได้ โปรแกรมโหลดใหม่จากต้นฉบับได้ ส่วนค่าอีกสองกลุ่มกู้ได้จากสำเนาที่สำรองไว้เท่านั้น
รูปที่ 32.1 ข้อมูลในหน่วยความจำของชุดควบคุม
ตารางที่ 32.1 การจำแนกประเภทข้อมูลในหน่วยความจำของชุดควบคุม CNC
ชนิดของข้อมูล ผู้มีหน้าที่แก้ไข ความถี่ในการเปลี่ยนแปลง ผลกระทบหากข้อมูลสูญหายหรือผิดพลาด
โปรแกรมชิ้นงาน (NC Programs) ผู้เขียนโปรแกรม และช่างตั้งเครื่อง (เมื่อปรับจูน) เมื่อมีงานใหม่ หรือมีการปรับปรุงทางเดินมีด หากสูญหาย สามารถโหลดใหม่ได้จากไฟล์ต้นฉบับบนเซิร์ฟเวอร์
ตารางค่าออฟเซ็ตมีด (Tool Offsets) ผู้ปฏิบัติงาน / ช่างตั้งเครื่อง ทุกครั้งที่เปลี่ยนคมตัดใหม่ หรือเซ็ตมีดใหม่ ต้องเสียเวลาวัดความยาวและรัศมีของมีดตัดใหม่ทุกตัวในแม็กกาซีน
พิกัดศูนย์งานชิ้นงาน (Work Offsets) ผู้ปฏิบัติงาน / ช่างตั้งเครื่อง ทุกครั้งที่มีการตั้งเซ็ตงานใหม่ ต้องหาขอบเซ็ตศูนย์ใหม่ และค่าพิกัดของฟิกซ์เจอร์ประจำเครื่องจะสูญหาย
ตัวแปรส่วนกลางถาวร (#500 ขึ้นไป) โปรแกรมมาโคร และผู้ปฏิบัติงาน ตามที่ลูปมาโครบันทึกค่า ข้อมูลสำคัญสูญหาย เช่น ค่าสอบเทียบโพรบวัด, ตัวนับชิ้นงาน, ตัวนับอายุเครื่องมือ
ข้อมูลอายุการใช้งานเครื่องมือ (Tool Life Data) ชุดควบคุม (บันทึกอัตโนมัติ) ทุกจบรอบการตัดเฉือน ระบบไม่สามารถประเมินได้ว่าคมตัดใดใกล้หมดอายุ เสี่ยงต่อการมีดหักคางาน
พารามิเตอร์เครื่องจักร (CNC Parameters) ผู้ผลิตเครื่องจักร (MTB) และช่างซ่อมบำรุง แทบไม่มีการเปลี่ยนแปลง เครื่องจักรใช้งานไม่ได้ทันที หรืออาจเคลื่อนที่ผิดพลาดโดยไม่มี Alarm เตือน
ตารางชดเชยพิตช์เออเรอร์ (Pitch Error Compensation) ผู้ผลิตเครื่องจักร (ได้จากการยิงเลเซอร์) เมื่อมีการสอบเทียบความเที่ยงตรงของแกน ความแม่นยำเชิงตำแหน่งของเครื่องจักรลดลงอย่างมีนัยสำคัญ
โปรแกรมแลดเดอร์และพารามิเตอร์ของ PMC (Ladder) ผู้ผลิตเครื่องจักร (ควบคุมกลไกฮาร์ดแวร์) แทบไม่มีการเปลี่ยนแปลง ระบบเปลี่ยนเครื่องมือ (ATC), ปั๊มน้ำหล่อเย็น และอินเตอร์ล็อกความปลอดภัยไม่ทำงาน

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

32.2 ระบบการตั้งหมายเลขและชื่อโปรแกรม

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

32.2.1 การจัดสรรช่วงหมายเลขโปรแกรม (O-Number Allocation)

ตารางที่ 32.2 ตัวอย่างการจัดสรรช่วงหมายเลขโปรแกรมในโรงงาน
ช่วงหมายเลขโปรแกรม วัตถุประสงค์การใช้งานที่กำหนด
O0001 ถึง O0999 งานชิ้นส่วนทั่วไป หรืองานทดลองผลิต (Proving-out)
O1000 ถึง O1999 งานการผลิตต่อเนื่องของผลิตภัณฑ์กลุ่ม A หรือลูกค้ารายที่ 1
O2000 ถึง O2999 งานการผลิตต่อเนื่องของผลิตภัณฑ์กลุ่ม B หรือลูกค้ารายที่ 2
O7000 ถึง O7999 โปรแกรมย่อยมาตรฐาน และโปรแกรมทดสอบประจำโรงงาน (Warm-up / Spindle Run-in)
O8000 ถึง O8999 โปรแกรมมาโครมาตรฐานของโรงงาน (ล็อกป้องกันการแก้ไขด้วยบิต NE8 ของพารามิเตอร์ 3202 หรือ 3202#0)
O9000 ถึง O9999 โปรแกรมระบบของผู้ผลิตเครื่องจักร (เช่น โปรแกรมเปลี่ยนเครื่องมือ ATC O9001) ล็อกด้วยบิต NE9 ของพารามิเตอร์ 3202 (3202#4) ไม่ใช้และไม่แก้ไข

32.2.2 การตั้งชื่อไฟล์และชื่อโปรแกรม

  • ชื่อไฟล์บนคอมพิวเตอร์ต้องตรงกับหมายเลขโปรแกรมภายในไฟล์เสมอ: เช่น ไฟล์ชื่อ O3201.NC จะต้องมีคำสั่ง O3201 อยู่ในบรรทัดแรกของไฟล์ การตั้งชื่อไฟล์เป็นภาษาไทยหรือชื่อชิ้นงาน (เช่น BRACKET-OP1.NC) จะทำให้ผู้ปฏิบัติงานไม่ทราบว่าโปรแกรมจะไปบันทึกลงหมายเลขใดในเครื่อง เสี่ยงต่อการโหลดไฟล์เข้าไปเขียนทับโปรแกรมอื่นที่กำลังใช้งานอยู่
  • หนึ่งไฟล์ต่อหนึ่งโปรแกรมเดี่ยว: แม้ชุดควบคุมจะอนุญาตให้ส่งไฟล์ที่มีหลายโปรแกรมต่อเรียงกันได้ แต่เมื่อมีการแก้ไขโปรแกรมย่อยตัวใดตัวหนึ่ง การส่งไฟล์รวมเข้าไปใหม่อาจเผลอเขียนทับโปรแกรมหลักเวอร์ชันที่ช่างปรับจูนไว้หน้าเครื่อง ควรเก็บแยกหนึ่งไฟล์ต่อหนึ่งหมายเลขโปรแกรม ยกเว้นกรณีที่เป็นโปรแกรมหลักกับโปรแกรมย่อยเฉพาะงานที่ต้องใช้งานคู่กันตลอดเวลา
  • ใช้เฉพาะอักษรภาษาอังกฤษ ตัวเลข และเครื่องหมายขีด: ชุดควบคุม CNC รุ่นเก่าอ่านชื่อไฟล์บนการ์ดความจำได้เฉพาะระบบ 8.3 (ชื่อยาวไม่เกิน 8 ตัวอักษร นามสกุล 3 ตัวอักษร) และไม่รองรับภาษาไทยหรือช่องว่าง (Space)
  • ใส่เวอร์ชัน (Rev) ไว้ในชื่อโปรแกรมเสมอ: เพื่อให้ผู้ปฏิบัติงานสามารถตรวจเช็กจากหน้าต่างรายการโปรแกรม (Program Directory) บนจอภาพได้ทันทีว่าโปรแกรมที่อยู่ในเครื่องเป็นเวอร์ชันใด

32.3 การจัดการเวอร์ชันของโปรแกรม (Revision)

ในสภาพแวดล้อมการทำงานจริง โปรแกรมเดียวกันมักมีสำเนาตกค้างอยู่หลายแห่ง: ในคอมพิวเตอร์ของผู้เขียนโปรแกรม, ในแฟลชไดรฟ์, ในการ์ดความจำ และในหน่วยความจำของเครื่องจักร หากขาดระบบควบคุมที่รัดกุม การปรับปรุงโปรแกรมจะสูญหายเมื่อมีผู้นำสำเนาเก่าส่งกลับเข้าเครื่องทับ

ต้นฉบับหนึ่งชุด การแก้ทุกครั้งกลับไปที่ต้นฉบับ แล้วจึงเป็นเวอร์ชันใหม่ ต้นทาง CAM หรือ โปรแกรมแก้ไขข้อความ โฟลเดอร์ใช้งาน ต้นฉบับชุดเดียว O3201 เวอร์ชัน B เครื่อง สำเนาในหน่วยความจำ หรือในการ์ด โฟลเดอร์เวอร์ชันเก่า เวอร์ชัน A · ไม่ส่งเข้าเครื่อง ปล่อยเวอร์ชัน ส่งเข้าเครื่อง แก้ที่เครื่อง แล้วส่งกลับ ผู้เขียนโปรแกรมแก้ที่ต้นทาง เวอร์ชันใหม่ออก เวอร์ชันเดิมย้ายไป ทุกเวอร์ชันมีอักษร Rev วันที่ และเหตุผลในหัวโปรแกรม ก่อนเดินงานซ้ำ ตรวจว่าโปรแกรมในเครื่องเป็นเวอร์ชันเดียวกับในโฟลเดอร์ใช้งาน
รูปที่ 32.2 ต้นฉบับหนึ่งชุด การแก้ทุกครั้งกลับไปที่ต้นฉบับ

หลัก 5 ข้อในการจัดการเวอร์ชันของโปรแกรม CNC:

  1. ยึดหลักแหล่งความจริงเพียงหนึ่งเดียว (Single Source of Truth — SSOT): ไฟล์โปรแกรมต้นฉบับต้องถูกเก็บรักษาไว้บนเซิร์ฟเวอร์ส่วนกลางของโรงงานเพียงแห่งเดียว โปรแกรมที่อยู่ในเครื่องจักรและการ์ดความจำเป็นเพียง “สำเนาชั่วคราว” สำหรับรันงานเท่านั้น
  2. ระบุเวอร์ชัน (Revision Letter) และวันที่ในหัวโปรแกรมทุกครั้ง: เมื่อมีการแก้ไข ปรับเวอร์ชันขึ้นเสมอ (เช่น จาก REV A เป็น REV B) ไม่บันทึกทับไฟล์เดิมโดยไม่เปลี่ยนรหัสเวอร์ชัน
  3. จัดเก็บเวอร์ชันเก่าแยกไว้ในโฟลเดอร์ Archive: ย้ายโปรแกรมเวอร์ชันเดิมไปไว้ในโฟลเดอร์ประวัติ (ไม่ลบทิ้ง เพราะอาจต้องใช้อ้างอิงหรือย้อนกลับหากเวอร์ชันใหม่พบปัญหา) และต้องไม่มีไฟล์เวอร์ชันเก่าหลงเหลืออยู่ในโฟลเดอร์ที่ช่างเลือกไฟล์ไปใช้งาน
  4. การปรับจูนหน้าเครื่องต้องส่งกลับมาอัปเดตที่ต้นฉบับเสมอ (Closed-loop Feedback): หากช่างหน้าเครื่องปรับลดอัตราป้อนหรือเปลี่ยนความสูงปลอดภัย ต้องส่งโปรแกรมที่แก้แล้วกลับมาให้ผู้เขียนโปรแกรมตรวจสอบ และนำการแก้นั้นไปบันทึกลงในโปรเจกต์ CAM ต้นทางด้วย มิฉะนั้นการสั่งโพสต์โปรเซสเซอร์ในอนาคตจะล้างค่าที่ปรับไว้หน้าเครื่องทั้งหมด
  5. ตรวจสอบเวอร์ชันก่อนเดินงานซ้ำทุกครั้ง: ตรวจเช็กเวอร์ชันในหัวโปรแกรมบนเครื่องให้ตรงกับใบสั่งผลิตล่าสุด หากไม่แน่ใจ ให้ส่งโปรแกรมในเครื่องกลับมาเทียบกับต้นฉบับก่อน เพราะอาจมีการแก้ที่หน้าเครื่องที่ยังไม่ได้บันทึกลงต้นฉบับตามข้อ 4 เมื่อนำการแก้ที่ต้องเก็บไว้ไปลงต้นฉบับแล้ว จึงโหลดต้นฉบับล่าสุดจากเซิร์ฟเวอร์เข้าเครื่องแทนโปรแกรมเดิม

32.3.1 การบันทึกประวัติการแก้ไขในหัวโปรแกรม (Revision History Block)

%
O3201 (B220 OP1 REV C)
(DWG BRKT-220 REV B  MAT A6061)
(VMC-2  G54 X0 Y0 = LEFT REAR CORNER  Z0 = TOP)
(REV C 2026-10-24 SK  T03 FINISH Z-12.0 TO Z-12.2 - DWG REV B)
(REV B 2026-10-10 SK  T05 F120 TO F90 - REDUCE CHATTER)
(REV A 2026-09-30 SK  FIRST RELEASE AFTER PROVE-OUT)
(T01 FACE MILL D50)
(T03 END MILL D10 FINISH)
(T05 DRILL D6.8)
...
  • แยกเวอร์ชันของโปรแกรมออกจากฉบับแก้ไขของแบบงาน (Drawing Revision): แบบงานอาจยังเป็นฉบับเดิม แต่โปรแกรมสามารถอัปเดตเป็น REV B หรือ REV C ได้เพื่อปรับจูนสภาพการตัดเฉือน เช่น ลดความสั่นสะท้าน (Chatter)
  • ระบุเหตุผลในการแก้ไขอย่างกระชับ: ช่วยให้วิศวกรหรือช่างคนอื่นเข้าใจในอนาคตว่า ทำไมดอกสว่านจึงใช้อัตราป้อน F90 และไม่ควรเปลี่ยนกลับเป็น F120
  • เก็บประวัติเฉพาะ 3–5 เวอร์ชันล่าสุด: เพื่อไม่ให้หัวโปรแกรมยาวเกินไปจนเปลืองหน่วยความจำเครื่องจักร รายละเอียดประวัติทั้งหมดควรบันทึกไว้ในระบบเอกสารของโรงงาน

32.4 ช่องทางการรับส่งโปรแกรมเข้าสู่เครื่องจักร

เครื่องจักร CNC มีพอร์ตเชื่อมต่อสำหรับโหลดโปรแกรมหลายช่องทาง ขึ้นอยู่กับปีที่ผลิตและออปชันเสริมของเครื่อง:

ตารางที่ 32.3 การเปรียบเทียบช่องทางการรับส่งข้อมูลเข้าสู่ชุดควบคุม CNC
ช่องทางการเชื่อมต่อ ความเร็วในการถ่ายโอน อุปกรณ์ที่จำเป็นต้องใช้ ลักษณะการใช้งานที่เหมาะสม
พอร์ตสื่อสารอนุกรม RS-232 ช้ามาก (ประมาณ 9,600 ถึง 19,200 baud หรือ ~1–2 KB/s) สายสัญญาณซีเรียล, คอมพิวเตอร์ หรืออุปกรณ์ DNC Box เครื่องจักรรุ่นเก่าที่ไม่มีช่องเสียบการ์ดหรือเครือข่าย
การ์ด CF (CompactFlash) เร็วมาก (อ่านเขียนทันที) การ์ด CF พร้อมอะแดปเตอร์แปลงเป็น PCMCIA วิธีการมาตรฐานที่เสถียรที่สุดสำหรับเครื่อง Fanuc ส่วนใหญ่
ช่องเสียบ USB Flash Drive เร็วมาก แฟลชไดรฟ์มาตรฐาน (ฟอร์แมตแบบ FAT32) เครื่องจักรรุ่นใหม่ เพิ่มความสะดวกในการพกพาไฟล์
ระบบเครือข่าย Ethernet (LAN) เร็วที่สุดและปลอดภัยสูงสุด สายแลน, การตั้งค่า IP Address และระบบเซิร์ฟเวอร์ FTP โรงงานที่มีเครื่องจักรจำนวนมาก ต้องการโหลดไฟล์ตรงจากเซิร์ฟเวอร์
พิมพ์ผ่านคีย์บอร์ดที่แผงควบคุม (MDI/EDIT) ช้ามากและเสี่ยงต่อการพิมพ์ผิด — ใช้เฉพาะการแก้ไขตัวเลขไม่กี่คำสั่งเท่านั้น ห้ามพิมพ์โปรแกรมทั้งไฟล์

32.4.1 การตั้งค่า I/O CHANNEL บนชุดควบคุม Fanuc

สาเหตุอันดับหนึ่งที่ทำให้ส่งโปรแกรมไม่เข้าเครื่อง หรือเครื่องฟ้อง Alarm การสื่อสาร คือ การตั้งค่าหมายเลขช่องทางรับส่งข้อมูล (I/O CHANNEL) ในหน้าจอตั้งค่า (SETTING) ไม่ตรงกับพอร์ตที่กำลังเชื่อมต่อ โดยค่า I/O CHANNEL คือพารามิเตอร์ระบบหมายเลข 0020:

  • ช่อง 0 หรือ 1: กำหนดให้รับส่งผ่านพอร์ตสื่อสารอนุกรม RS-232 ช่องที่ 1
  • ช่อง 4: กำหนดให้รับส่งผ่านช่องเสียบการ์ดความจำ (Memory Card / CF Card ด้านหน้าจอ)
  • ช่อง 17: กำหนดให้รับส่งผ่านช่องเสียบ USB ด้านหน้าตู้ควบคุม (บนชุดควบคุม Fanuc 0i-F)
  • ช่อง 5 หรือ 9: กำหนดให้รับส่งผ่านระบบเครือข่าย Ethernet หรือบอร์ด Data Server

ขั้นตอนปฏิบัติ: ทุกครั้งที่เสียบการ์ดหรือต่อสายแล้วส่งโปรแกรมไม่เข้า ให้กดปุ่ม OFS/SET เข้าหน้าต่าง SETTING ตรวจสอบตัวเลขในช่อง I/O CHANNEL เป็นอันดับแรก ก่อนที่จะตรวจเช็กสายสัญญาณหรือตัวไฟล์โปรแกรม

32.4.2 แนวทางปฏิบัติในการใช้การ์ดความจำและ USB

  • ฟอร์แมตการ์ดให้ถูกต้อง: ชุดควบคุม Fanuc รองรับการฟอร์แมตระบบไฟล์แบบ FAT16 หรือ FAT32 เท่านั้น และเครื่องรุ่นเก่ามักรองรับการ์ดความจุต่ำ (เช่น 128 MB ถึง 2 GB) การนำการ์ดรุ่นใหม่ความจุสูงมาก (เช่น 64 GB) หรือการ์ดที่ฟอร์แมตแบบ NTFS/exFAT มาใช้งาน อาจทำให้เครื่องอ่านไม่พบหรือเครื่องแฮงก์
  • ห้ามถอดการ์ดขณะไฟแสดงสถานะกำลังอ่านเขียน: การดึงการ์ดความจำหรือแฟลชไดรฟ์ออกกะทันหันขณะระบบกำลังถ่ายโอนข้อมูล จะทำให้โครงสร้างไฟล์และพาร์ทิชันชำรุดเสียหายทันที
  • ตรวจสอบความสมบูรณ์ของโครงสร้างไฟล์: ไฟล์ต้องมีเครื่องหมายเปอร์เซ็นต์ % เปิดที่บรรทัดแรกและปิดที่บรรทัดสุดท้าย ไม่มีตัวอักษรภาษาไทยหรืออักขระพิเศษแปลกปลอม และใช้รหัสขึ้นบรรทัดใหม่แบบ CRLF ตามมาตรฐาน สามารถใช้เครื่องมือตรวจไฟล์โปรแกรม NC ตรวจสอบความถูกต้องก่อนคัดลอกลงการ์ด

32.5 การรันโปรแกรมที่มีขนาดใหญ่กว่าหน่วยความจำ (DNC Operation)

หน่วยความจำมาตรฐานของชุดควบคุม CNC มักถูกระบุเป็นความยาวของเทปเจาะรูในอดีต เช่น เครื่องรุ่นเก่ามีความจุเทียบเท่าเทปยาว 320 เมตร (จุข้อมูลได้ประมาณ 128 KB) ขณะที่โปรแกรมกัดผิวโค้ง 3 มิติจาก CAM มีขนาดไฟล์หลายสิบล้านไบต์ (หลายสิบเมกะไบต์) ซึ่งไม่สามารถบันทึกลงในหน่วยความจำภายในของเครื่องจักรได้

ทางออกคือการสั่งรันโปรแกรมแบบสตรีมมิ่งผ่านโหมด DNC (Direct Numerical Control) หรือโหมด RMT (Remote) โดยเครื่องจักรจะอ่านบล็อกคำสั่งจากแหล่งข้อมูลภายนอกเข้ามาประมวลผลทีละบรรทัดแล้วทิ้งไป ไม่ได้บันทึกค้างไว้ใน RAM ของเครื่อง:

  1. สตรีมผ่านพอร์ต RS-232: ช้าที่สุด อัตราป้อนจริงอาจถูกจำกัดด้วยความเร็วการส่งข้อมูล (Baud Rate) จนเครื่องสะดุด
  2. สตรีมผ่านการ์ดความจำ (DNC Operation from Memory Card): สะดวกและเสถียรมาก ชุดควบคุม Fanuc 0i สามารถสั่งรันไฟล์โปรแกรมจากการ์ดความจำได้โดยตรงในโหมด RMT (ต้องเปิดพารามิเตอร์อนุญาต เช่น พารามิเตอร์ 0138 บิต 7)
  3. สตรีมผ่านบอร์ด Data Server หรือ Ethernet: รวดเร็วและเชื่อถือได้สูงสุด รองรับโปรแกรมขนาดใหญ่ได้ไม่จำกัด

ข้อจำกัดทางเทคนิคสำคัญของการรันโหมด DNC:

  • ไม่สามารถกระโดดหรือวนซ้ำได้: เนื่องจากชุดควบคุมไม่ได้เก็บไฟล์ทั้งหมดไว้ในหน่วยความจำ คำสั่งกระโดดและวนซ้ำของมาโคร เช่น GOTO และ WHILE ใช้ไม่ได้ในโหมด DNC (ชุดควบคุมขึ้น Alarm PS0123) และการกลับจากโปรแกรมย่อยด้วย M99 P_ ที่ระบุหมายเลขบรรทัดก็ใช้ไม่ได้เช่นกัน
  • โปรแกรมย่อยต้องอยู่ในหน่วยความจำเครื่อง: โปรแกรมที่สตรีมผ่าน DNC สามารถสั่งเรียกโปรแกรมย่อยและมาโครที่อยู่ในหน่วยความจำเครื่องได้ แต่เรียกโปรแกรมบนการ์ดความจำด้วย M198 ไม่ได้ (ชุดควบคุมขึ้น Alarm PS0210) เพราะช่องทาง I/O ของการ์ดความจำกำลังถูกใช้สตรีมโปรแกรมหลักอยู่จึงเปิดอ่านไฟล์อื่นซ้อนพร้อมกันไม่ได้ M198 ใช้ได้เมื่อโปรแกรมหลักเดินจากหน่วยความจำของเครื่อง
  • การเริ่มรันต่อกลางคันทำได้ยาก: หากเกิดมีดหักกลางคันในไฟล์ DNC ขนาดใหญ่ จะไม่สามารถกดค้นหาบรรทัดได้ทันที ต้องค้นหาบรรทัดแล้วเริ่มส่งใหม่จากคอมพิวเตอร์ หรือแยกโปรแกรมตามเครื่องมือตัดตั้งแต่ใน CAM

32.6 ยุทธศาสตร์การสำรองข้อมูลของเครื่องจักร (Backup Strategy)

การสำรองข้อมูลระบบของเครื่องจักร CNC ต้องทำควบคู่กัน 2 รูปแบบเสมอ:

  1. การสำรองเป็นไฟล์ข้อความแยกตามประเภทข้อมูล (Text/ASCII Backup): เป็นการสั่งส่งออก (Export / Punch) ไฟล์ข้อความออกมาจากหน้าจอต่างๆ ในโหมด EDIT เช่น ไฟล์พารามิเตอร์ (ALL-PRM.TXT), ไฟล์ค่าออฟเซ็ต (OFFSET.TXT), ไฟล์พิกัดศูนย์งาน (WORK.TXT), ตัวแปรมาโคร (MACRO.TXT) และโปรแกรมทั้งหมด (PROGRAM.TXT)
    • ข้อดี: เปิดอ่านและตรวจสอบบนคอมพิวเตอร์ได้, เปรียบเทียบผลต่างของไฟล์ (Diff) ได้ง่าย และสามารถเลือกกู้คืนเฉพาะหมวดข้อมูลที่ต้องการได้
  2. การโคลนหน่วยความจำ SRAM ทั้งก้อน (SRAM Image Backup): เป็นการคัดลอกข้อมูลในหน่วยความจำแบบ SRAM ทั้งหมดลงในการ์ดความจำผ่านหน้าต่างระบบ BOOT SYSTEM (เข้าได้โดยการกดปุ่มซอฟต์คีย์ด้านขวาสุด 2 ปุ่มค้างไว้ขณะเปิดสวิตช์เครื่อง) จะได้ไฟล์ไบนารีระบบ เช่น SRAM_BAK.001
    • ข้อดี: เป็นไฟล์ Snapshot จำลองสภาพเครื่องจักร ณ วินาทีนั้นครบถ้วน สามารถกู้คืนระบบทั้งหมดให้กลับมาทำงานได้ในเวลาไม่กี่นาที
    • ข้อควรระวัง: เป็นไฟล์ไบนารีที่เปิดอ่านแก้ไขไม่ได้ และต้องใช้กู้คืนกับเครื่องจักรตัวเดิมที่มีซีเรียลและเวอร์ชันซอฟต์แวร์ตรงกันเท่านั้น
ตารางที่ 32.4 ตารางความถี่ในการสำรองข้อมูลเครื่องจักร CNC
รายการข้อมูลที่ต้องสำรอง ความถี่ในการสำรองข้อมูลที่แนะนำ
ตารางค่าออฟเซ็ต, พิกัดศูนย์งาน, ตัวแปรมาโคร สำรอง ทุกสัปดาห์ หรืออย่างน้อยทุกครั้งที่มีการเปลี่ยนล็อตการผลิต และต้องทำก่อนเปลี่ยนแบตเตอรี่
โปรแกรม NC ในเครื่องจักร สำรองเมื่อมีการปรับจูนหน้างาน โดยส่งกลับไปอัปเดตไฟล์ต้นฉบับบนเซิร์ฟเวอร์
พารามิเตอร์, ชดเชยพิตช์เออเรอร์, ข้อมูล PMC สำรอง ในวันรับมอบเครื่องจักรใหม่, ทุกครั้งหลังช่างซ่อมบำรุงเข้ามาปรับแต่งระบบ และทำซ้ำ ทุกปี
ไฟล์โคลน SRAM ทั้งก้อน (หน้าจอ BOOT) สำรอง ในวันรับมอบเครื่องจักร, สำรองประจำปี และทำก่อนเริ่มงานซ่อมบำรุงระบบควบคุม

หลักการจัดเก็บไฟล์สำรอง:

  • ตั้งชื่อโฟลเดอร์สำรองโดยระบุ ชื่อเครื่องจักรและวันที่อย่างชัดเจน เช่น VMC-02_BACKUP_2026-11-01 ไม่นำไฟล์สำรองของเครื่องหนึ่งไปกู้คืนให้อีกเครื่องหนึ่ง แม้จะเป็นเครื่องจักรยี่ห้อและรุ่นเดียวกัน เพราะพารามิเตอร์และตารางชดเชยระยะพิตช์เออเรอร์เป็นค่าเฉพาะตัวของกลไกแต่ละเครื่อง
  • จัดเก็บสำเนาไฟล์สำรองไว้นอกเครื่องจักรอย่างน้อย 2 แหล่ง (บนเซิร์ฟเวอร์โรงงาน และบน Flash Drive แยกต่างหาก) การเสียบการ์ดความจำทิ้งไว้ที่หน้าตู้ควบคุมไม่นับเป็นการสำรองข้อมูลที่ปลอดภัย

32.6.1 การบันทึกและกู้คืนค่าชดเชยด้วยโปรแกรมคำสั่ง G10

ชุดควบคุม Fanuc รองรับการกำหนดค่าออฟเซ็ตเครื่องมือและพิกัดจุดศูนย์งานผ่านโปรแกรม G-code ด้วยคำสั่ง G10 ตามที่อธิบายในบทที่ 12 และบทที่ 22 ช่วยให้สามารถบันทึกค่าออฟเซ็ตของฟิกซ์เจอร์และเครื่องมือตัดประจำงานนั้นเป็นโปรแกรมเก็บไว้ เมื่อต้องรันงานซ้ำในอนาคต เพียงแค่รันโปรแกรม G10 รอบเดียว ระบบจะบันทึกตัวเลขลงตารางออฟเซ็ตทั้งหมดโดยอัตโนมัติ ช่างไม่ต้องเสียเวลาคีย์ข้อมูลด้วยมือทีละช่อง:

%
O3290 (VMC2 OFS 261101)
(TOOL AND WORK OFFSETS - VMC-2  OFFSET MEMORY C)
(SAVED 2026-11-01  RUN ONLY TO RESTORE SETUP)
N10 G90 G10 L10 P1 R118.550 (T01 GEOM H)
N20 G10 L11 P1 R0.          (T01 WEAR H)
N30 G10 L12 P1 R25.000      (T01 GEOM D)
N40 G10 L13 P1 R0.          (T01 WEAR D)
N50 G10 L10 P3 R96.312      (T03 GEOM H)
N60 G10 L11 P3 R-0.020      (T03 WEAR H)
N70 G10 L12 P3 R5.000       (T03 GEOM D)
N80 G10 L13 P3 R-0.015      (T03 WEAR D)
N90 G10 L2 P1 X-412.330 Y-208.115 Z-311.420 (G54 WORK OFFSET)
N100 M30
%

(หมายเหตุ: ต้องใส่คำสั่ง G90 กำกับเสมอ หากอยู่ในโหมด G91 ค่าตัวเลขจะถูกนำไปบวกเพิ่มสะสมกับค่าเดิมในตาราง)

32.7 การจัดการแบตเตอรี่และลำดับการกู้คืนระบบเมื่อข้อมูลสูญหาย

เครื่องจักร CNC มีระบบแบตเตอรี่สำรองไฟแยกกัน 2 ชุดอย่างอิสระ:

  1. แบตเตอรี่สำรองหน่วยความจำชุดควบคุม (CNC Memory Battery): ทำหน้าที่จ่ายไฟเลี้ยงหน่วยความจำ SRAM เพื่อรักษาพารามิเตอร์, โปรแกรม, ตารางออฟเซ็ต และตัวแปรมาโครขณะปิดสวิตช์เครื่อง เมื่อแรงดันตก ชุดควบคุม Fanuc จะแสดงสัญญาณไฟเตือนตัวอักษร BAT สีเหลืองกะพริบ ที่แถบสถานะด้านล่างของหน้าจอ
  2. แบตเตอรี่ตัวเข้ารหัสตำแหน่งสัมบูรณ์ (Absolute Pulse Coder Battery): ติดตั้งอยู่บริเวณตู้ขับเซอร์โวมอเตอร์ด้านหลังเครื่อง ทำหน้าที่รักษาตำแหน่งพิกัดทางกายภาพของแกนจักรกล เมื่อแบตเตอรี่ชุดนี้อ่อนแรง เครื่องจะแสดง Alarm ในกลุ่ม DS หรือ APC

32.7.1 ขั้นตอนเมื่อพบสัญญาณเตือนแบตเตอรี่อ่อน

  1. สำรองข้อมูลระบบทั้งหมดในวันนั้น: ถ่ายโอนไฟล์พารามิเตอร์ ตารางออฟเซ็ต และโคลนไฟล์ SRAM ออกสู่การ์ดความจำ โดยไม่ปล่อยทิ้งไว้
  2. จัดซื้อและเปลี่ยนแบตเตอรี่ก้อนใหม่ตามขั้นตอนในคู่มือ:
    • คำเตือนสำคัญ: สำหรับชุดควบคุม Fanuc รุ่นใหม่ (เช่น 0i-F) ขั้นตอนมาตรฐานคือ ให้เปิดสวิตช์เครื่องทิ้งไว้ประมาณ 30 วินาทีเพื่อให้ตัวเก็บประจุภายในสะสมประจุไฟเต็มที่ จากนั้น ปิดสวิตช์เครื่องจักร แล้วดำเนินการเปลี่ยนแบตเตอรี่ก้อนใหม่ให้เสร็จสิ้นภายในระยะเวลาที่กำหนด (ปกติไม่เกิน 10 ถึง 30 นาที) ซึ่งตัวเก็บประจุจะทำหน้าที่จ่ายไฟสำรองแทนชั่วคราว
    • สำหรับชุดควบคุมรุ่นเก่าบางรุ่น คู่มืออาจระบุให้ เปลี่ยนแบตเตอรี่ขณะเปิดสวิตช์เครื่องจักร
    • การเปลี่ยนแบตเตอรี่ผิดขั้นตอนจะทำให้ข้อมูลพารามิเตอร์ใน SRAM สูญหายทั้งหมด
  3. ตรวจสอบและบันทึกประวัติ: ยืนยันว่าสัญญาณเตือน BAT หายไป และลงบันทึกวันที่เปลี่ยนแบตเตอรี่ในแฟ้มประจำเครื่อง แนะนำให้วางแผนเปลี่ยนแบตเตอรี่เชิงป้องกันเป็นประจำทุก 1 ถึง 2 ปี

32.7.2 ลำดับขั้นตอนการกู้คืนระบบเมื่อข้อมูลในเครื่องสูญหายทั้งหมด

หากข้อมูลในหน่วยความจำสูญหายไปทั้งหมด (เช่น แบตเตอรี่หมดเกลี้ยง) หากมีไฟล์โคลน SRAM จากหน้าจอ BOOT จะสามารถกู้คืนระบบทั้งหมดกลับมาได้ในครั้งเดียว แต่หากต้องกู้คืนจากไฟล์ข้อความ (Text files) ต้องดำเนินการตามลำดับขั้นต่อไปนี้เท่านั้น เพราะข้อมูลในขั้นหลังต้องพึ่งพาโครงสร้างที่กำหนดโดยขั้นก่อนหน้า:

  1. โหลดไฟล์พารามิเตอร์เครื่องจักร (Parameters): โหลดพารามิเตอร์หลักเข้าสู่ระบบ แล้วปิด-เปิดสวิตช์เครื่องใหม่ เพื่อให้ชุดควบคุมสร้างโครงสร้างตารางและระบบควบคุมแกนขึ้นมาใหม่
  2. โหลดตารางชดเชยพิตช์เออเรอร์ และโปรแกรมแลดเดอร์ของ PMC: เพื่อให้ระบบควบคุมการทำงานของแผงสวิตช์, ปั๊มน้ำมันหล่อลื่น และระบบเปลี่ยนเครื่องมือ ATC กลับมาทำงาน
  3. กำหนดตำแหน่งอ้างอิงของแกนเครื่องจักร (Origin Setting): หากระบบขับเคลื่อนลืมตำแหน่งพิกัดศูนย์เครื่องจักร ช่างซ่อมบำรุงจะต้องตั้งตำแหน่งพิกัดอ้างอิงของแกนใหม่ตามสเปกของผู้ผลิตเครื่อง
  4. โหลดตารางค่าออฟเซ็ตเครื่องมือ จุดศูนย์งาน และตัวแปรมาโคร: เรียกข้อมูลออฟเซ็ตและตัวแปรถาวรกลับคืนสู่ตาราง
  5. โหลดไฟล์โปรแกรม NC จากแหล่งต้นฉบับ (SSOT บนเซิร์ฟเวอร์): โหลดเฉพาะโปรแกรมเวอร์ชันล่าสุดที่ได้รับการรับรองแล้วเข้าสู่เครื่อง
  6. ดำเนินการทดสอบระบบใหม่ทั้งหมด (Complete Prove-out): ถือเสมือนว่าเครื่องจักรเพิ่งได้รับการติดตั้งใหม่ ให้ส่งแกนกลับจุดอ้างอิง เลื่อนแกนไปวัดระยะเทียบกับจุดอ้างอิงที่ทราบค่า และทดสอบเดินโปรแกรมชิ้นงานแรกตามขั้นตอนในบทที่ 21 อย่างเคร่งครัด

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

ตารางที่ 32.5 ข้อผิดพลาดที่พบบ่อยในการบริหารจัดการข้อมูลเครื่องจักร CNC
ข้อผิดพลาดที่เกิดขึ้น ผลเสียตามมา แนวทางการป้องกัน
แก้โปรแกรมที่หน้าเครื่องแล้วไม่ส่งกลับเข้าต้นฉบับ งานล็อตถัดไปดึงไฟล์เก่ามารันและเกิดปัญหาเดิมซ้ำ ส่งไฟล์ที่ปรับแก้กลับมาอัปเดตในระบบ CAM ต้นทางทุกครั้ง
มีไฟล์โปรแกรมกระจายอยู่หลายเครื่องคอมพิวเตอร์ ไม่มีใครทราบว่าไฟล์ใดคือเวอร์ชันล่าสุดที่ถูกต้อง กำหนดพื้นที่จัดเก็บไฟล์ต้นฉบับเพียงแห่งเดียว (Single Source of Truth)
แก้ไขเนื้อหาโปรแกรมโดยไม่ปรับเวอร์ชัน ไฟล์ในเครื่องกับบนเซิร์ฟเวอร์ไม่ตรงกันแต่มองไม่เห็น ปรับรหัส Revision Letter และลงบันทึกในหัวโปรแกรมทุกครั้ง
ปล่อยไฟล์เวอร์ชันเก่าปะปนในโฟลเดอร์ใช้งาน ผู้ปฏิบัติงานเลือกหยิบไฟล์เวอร์ชันที่ถูกยกเลิกไปรันงาน ย้ายไฟล์เวอร์ชันเก่าเข้าสู่โฟลเดอร์ Archive ทันที
ไฟล์ที่โหลดเข้าเครื่องมีหมายเลขโปรแกรมซ้ำกับของเดิม เขียนทับโปรแกรมงานอื่นที่กำลังผลิตอยู่โดยไม่รู้ตัว จัดสรรช่วงหมายเลขโปรแกรมให้ชัดเจน และตั้งชื่อไฟล์ให้ตรงกับหมายเลข O
ใช้การ์ดความจำเป็นแหล่งจัดเก็บไฟล์ต้นฉบับ ต้นฉบับสูญหายเมื่อการ์ดชำรุด สูญหาย หรือถูกเขียนทับ การ์ดความจำและแฟลชไดรฟ์มีไว้สำหรับขนส่งไฟล์ชั่วคราวเท่านั้น
ไม่เคยสำรองไฟล์พารามิเตอร์ของเครื่องจักร เมื่อแบตเตอรี่หมด เครื่องจักรต้องหยุดรอไฟล์จากต่างประเทศหลายสัปดาห์ สำรองพารามิเตอร์ตั้งแต่วันแรกที่รับมอบเครื่องจักร และทำซ้ำประจำปี
สำรองข้อมูลแล้วแต่ไม่เคยเปิดตรวจสอบไฟล์ เมื่อเกิดเหตุฉุกเฉินกลับพบว่าเป็นไฟล์ว่างเปล่าหรือไฟล์ที่เสียหาย ทดลองเปิดอ่านไฟล์สำรองบนคอมพิวเตอร์ทุกครั้งหลัง Export
นำไฟล์สำรองของเครื่องอื่นที่เป็นรุ่นเดียวกันมากู้คืน ค่าชดเชยและพารามิเตอร์ไม่ตรงกับกลไกจริง เครื่องทำงานเพี้ยน ใช้ไฟล์สำรองเฉพาะของเครื่องจักรเครื่องนั้นตามหมายเลขซีเรียลเท่านั้น
ละเลยสัญญาณเตือนแบตเตอรี่อ่อนจนไฟหมดเกลี้ยง พารามิเตอร์และโปรแกรมทั้งหมดใน SRAM สูญหายถาวร สำรองข้อมูลทันทีที่เห็นไฟเตือน และเปลี่ยนแบตเตอรี่อย่างถูกวิธี

สรุป

  • ข้อมูลในเครื่องจักรมีมากกว่าโปรแกรม NC: ค่าชดเชย, จุดศูนย์งาน, ตัวแปรมาโคร และพารามิเตอร์ระบบถูกเก็บรักษาไว้ใน SRAM เดียวกัน และพร้อมจะสูญหายไปพร้อมกันเมื่อแบตเตอรี่หมด
  • ยึดหลัก Single Source of Truth: ไฟล์ต้นฉบับต้องอยู่ที่เซิร์ฟเวอร์กลางเพียงชุดเดียว โปรแกรมในเครื่องจักรและการ์ดความจำเป็นเพียงสำเนาชั่วคราว และทุกการปรับจูนหน้าเครื่องต้องส่งกลับมาอัปเดตที่ต้นฉบับเสมอ
  • จัดการเวอร์ชันให้ตรวจย้อนได้: ทุกไฟล์ต้องระบุรหัส Revision Letter, วันที่ และเหตุผลในการแก้ไขไว้ในหัวโปรแกรม และย้ายไฟล์เวอร์ชันเก่าเข้าโฟลเดอร์ Archive ทันที
  • ตรวจสอบพารามิเตอร์ I/O CHANNEL ก่อนเสมอ: เมื่อถ่ายโอนข้อมูลไม่สำเร็จ ให้เช็กหมายเลขช่องทางในหน้าจอ SETTING เป็นอันดับแรก (0/1 = RS-232, 4 = การ์ดความจำ, 17 = USB)
  • การรันโปรแกรมโหมด DNC: ช่วยแก้ปัญหาไฟล์ขนาดใหญ่เกินความจุหน่วยความจำ แต่ต้องตระหนักถึงข้อจำกัดที่ไม่สามารถสั่งวนลูปย้อนกลับ และการเริ่มงานต่อกลางคันทำได้ยาก
  • ยุทธศาสตร์การสำรองข้อมูลแบบคู่ขนาน: ต้องสำรองทั้งไฟล์ข้อความ (Text) ที่เปิดอ่านได้ และไฟล์โคลน SRAM ไบนารีผ่านหน้าจอ BOOT สำหรับกู้คืนระบบฉุกเฉิน
  • เปลี่ยนแบตเตอรี่เชิงป้องกัน: สำรองข้อมูลทันทีเมื่อเห็นสัญญาณเตือน BAT เปลี่ยนแบตเตอรี่ตามขั้นตอนของคู่มือ และหากต้องกู้คืนระบบ ให้โหลดพารามิเตอร์เป็นอันดับแรกเสมอ

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