ข้ามไปยังเนื้อหาหลัก

ระบบนับช็อตเครื่องฉีดพลาสติก Toshiba และ JSW ต่อ Part No. สำหรับผู้ผลิตชิ้นส่วนยานยนต์ในไทย

ลูกค้า: ผู้ผลิตชิ้นส่วนยานยนต์ (ในเครือญี่ปุ่น)

เราพัฒนาโปรแกรมอ่านไฟล์บันทึกช็อตจากเครื่องฉีดพลาสติก Toshiba และ JSW แล้วสรุปจำนวนช็อตต่อ Part No. (รหัสชิ้นงาน) ให้ผู้ผลิตชิ้นส่วนยานยนต์ในไทย เราปิดโครงการ Phase 1 ในปี 2563 และใน Phase 2 ปี 2564 เรานำข้อมูลชุดนี้ไปใช้เป็นฐานของเว็บแอปเตือนรอบบำรุงรักษาแม่พิมพ์

หน้าจอเว็บ Mold Monitoring แสดงตารางแม่พิมพ์ แถบความคืบหน้า และป้ายสถานะ OK หรือ PM ของแต่ละรายการ
อุตสาหกรรม
ยานยนต์
ปี
2563–2564
ขอบเขตงาน
Phase 1: โปรแกรม Toshiba Report และ JSW Report (Python แบบ Command Line) อ่านไฟล์ช็อตจาก IPAQ3 และ NET100 ออกรายงานจำนวนช็อตต่อ Part No. เป็นไฟล์ .txt ติดตั้งบน IPC Server (Siemens, Windows 10) ที่เชื่อมไลน์ฉีดพลาสติกผ่านเครือข่าย 4G พร้อมคู่มือการใช้งาน; Phase 2: เว็บแอป Mold PM Monitoring ที่ใช้ข้อมูล Part No. จาก Phase 1

สรุปสั้น

  • เราพัฒนาโปรแกรมภาษา Python 2 ตัว คือ Toshiba Report และ JSW Report ให้ผู้ผลิตชิ้นส่วนยานยนต์ในไทย อ่านไฟล์ช็อตจาก IPAQ3 และ NET100 แล้วนับช็อตต่อ Part No. (รหัสชิ้นงาน)
  • กติกาการนับต่างกันตามยี่ห้อ: ฝั่ง Toshiba นับแถวที่มี Part No. เดียวกัน ส่วนฝั่ง JSW ถอดไฟล์ FDB เป็น CSV แล้วนับเฉพาะช็อตในช่วงสถานะผลิต (Production)
  • ผลทดสอบตอนปิดโครงการ Phase 1: จำนวนช็อตในรายงานตรงกับจำนวนแถวในไฟล์ต้นทางของเครื่องทั้ง 2 ยี่ห้อ
  • Phase 2 นำ Part No. ชุดนี้ไปใช้ในเว็บแอป Mold PM Monitoring ที่แสดงสถานะ OK / Warning / PM และส่งอีเมลเตือนรอบบำรุงรักษาแม่พิมพ์
  • เราปิดโครงการ Phase 1 ในเดือนธันวาคม 2563 พร้อมคู่มือการใช้งาน และปิดโครงการ Phase 2 ในเดือนกุมภาพันธ์ 2564
01

โจทย์หน้างาน

เครื่องฉีด Toshiba และ JSW ในไลน์ฉีดพลาสติกของลูกค้าเก็บข้อมูลช็อต (Shot คือการฉีดหนึ่งครั้ง) ไว้คนละโปรแกรมและคนละรูปแบบไฟล์ คือไฟล์ CSV จาก IPAQ3 และไฟล์ FDB จาก NET100 ที่ต้องถอดรหัสก่อนอ่าน โรงงานจึงไม่เห็นยอดช็อตต่อ Part No. ของเครื่องทุกเครื่องรวมกัน และต้องการรายงานวันละ 2 รอบ เวลา 07.30 น. และ 19.30 น. เพื่อใช้เป็นข้อมูลตั้งต้นของการดูแลแม่พิมพ์

02

สิ่งที่เราทำ

ใน Phase 1 เราพัฒนาโปรแกรมภาษา Python 2 ตัว คือ Toshiba Report และ JSW Report บน IPC Server ของโรงงาน โปรแกรมอ่านไฟล์ของเครื่องทั้ง 2 ยี่ห้อ นับช็อตต่อ Part No. และออกรายงานเป็นไฟล์ข้อความ (.txt) ใน Phase 2 เรานำ Part No. ชุดนี้ไปใช้ในเว็บแอป Mold PM Monitoring ที่แสดงสถานะ OK / Warning / PM และส่งอีเมลเตือนรอบบำรุงรักษาแม่พิมพ์

03

ผลลัพธ์

ในการทดสอบปิดโครงการ Phase 1 เดือนธันวาคม 2563 จำนวนช็อตในรายงานของโปรแกรมตรงกับจำนวนแถวในไฟล์ต้นทางของเครื่องทั้ง Toshiba และ JSW เราปิดโครงการ Phase 2 ในเดือนกุมภาพันธ์ 2564 และยอดช็อตต่อ Part No. ชุดนี้เป็นฐานข้อมูลของหน้าเว็บเตือนรอบบำรุงรักษาแม่พิมพ์

ที่มาของโจทย์

โจทย์ของเคสนี้คือการรู้ยอดช็อตต่อ Part No. ของเครื่องฉีดทุกเครื่องรวมกัน เพื่อใช้เป็นข้อมูลตั้งต้นของการดูแลแม่พิมพ์ ไลน์ฉีดพลาสติกของลูกค้าใช้เครื่องฉีด 2 ยี่ห้อ คือ Toshiba และ JSW ข้อมูลช็อตมีอยู่แล้วในโปรแกรมที่มากับเครื่อง แต่แยกอยู่คนละโปรแกรมและคนละรูปแบบไฟล์

เครื่อง Toshiba บันทึกข้อมูลผ่านโปรแกรม IPAQ3 เป็นไฟล์ CSV (ไฟล์ตารางข้อความ) รายวัน ส่วนเครื่อง JSW บันทึกผ่านโปรแกรม NET100 เป็นไฟล์ FDB (ไฟล์ข้อมูลที่โปรแกรม NET100 สร้างขึ้น) ซึ่งต้องถอดรหัสก่อนจึงจะอ่านได้ โรงงานจึงไม่เห็นยอดรวมต่อชิ้นงานในที่เดียว

ช็อต (Shot) กับ Part No. คืออะไร

ช็อตคือการฉีดพลาสติกเข้าแม่พิมพ์หนึ่งครั้ง ส่วน Part No. คือรหัสของชิ้นงานที่กำลังผลิต เมื่อรู้ยอดช็อตสะสมของแต่ละ Part No. ฝ่ายที่ดูแลแม่พิมพ์จะรู้ว่าแม่พิมพ์ชุดนั้นถูกใช้งานไปมากเท่าไรแล้ว

ข้อกำหนดและข้อจำกัด

ระบบต้องอ่านไฟล์จากโปรแกรมของเครื่องฉีดทั้ง 2 ยี่ห้อที่โรงงานใช้อยู่ และทำงานบนเครื่องกลางของโรงงาน ข้อกำหนดและข้อจำกัดหลักมีดังนี้

  • อ่านไฟล์ CSV จาก IPAQ3 ของเครื่อง Toshiba และไฟล์ FDB จาก NET100 ของเครื่อง JSW ซึ่งต้องถอดเป็น CSV ก่อนนับ
  • นับรวมเฉพาะแถวที่มี Part No. ตรงกัน และฝั่ง JSW นับเฉพาะช็อตที่เกิดในช่วงที่เครื่องอยู่ในสถานะผลิต (Production)
  • ทำงานบน IPC Server (คอมพิวเตอร์อุตสาหกรรมที่ใช้เป็นเครื่องกลาง) ยี่ห้อ Siemens ระบบปฏิบัติการ Windows 10 ซึ่งเชื่อมกับไลน์ฉีดผ่านเครือข่าย 4G
  • ข้อกำหนดของโครงการระบุให้รายงานวันละ 2 รอบ เวลา 07.30 น. และ 19.30 น. และอ่านเฉพาะไฟล์ของวันใหม่ ไม่นำไฟล์ของวันที่ผ่านมาประมวลผลซ้ำ
  • โปรแกรมต้องแจ้งข้อผิดพลาดบนหน้าจอเมื่อตั้งค่าที่อยู่ไฟล์ต้นทางหรือปลายทางผิด

ทำไมเลือกอ่านไฟล์จากโปรแกรมของเครื่องฉีด

เราเลือกอ่านไฟล์จากโปรแกรมของเครื่องฉีด เพราะข้อมูลช็อตมีอยู่ในไฟล์ของ IPAQ3 และ NET100 แล้ว งานนี้จึงไม่ติดเซนเซอร์เพิ่มที่เครื่อง งานหลักคือทำให้ไฟล์ 2 รูปแบบนับด้วยกติกาที่ตกลงกันและออกรายงานในรูปแบบเดียวกัน

Phase 1 เป็นโปรแกรม Command Line (สั่งงานผ่านหน้าจอข้อความ) เอกสารปิดโครงการระบุว่าโปรแกรมนี้พัฒนาต่อเป็นหน้าจอแบบกราฟิกได้ในอนาคต และ Phase 2 ต่อยอดเป็นหน้าเว็บหลังจากยอดช็อตผ่านการทดสอบแล้ว ขั้นตอนการทำงานของ Phase 1 มีดังนี้

  1. 1

    เครื่องฉีดบันทึกช็อตลงไฟล์รายวัน

    โปรแกรม IPAQ3 และ NET100 สร้างไฟล์ของแต่ละวันขึ้นเองอัตโนมัติ ผู้ดูแลตั้งค่าโฟลเดอร์ต้นทางและปลายทางของโปรแกรมตามคู่มือ

  2. 2

    โปรแกรมอ่านไฟล์ของวันใหม่

    ผู้ดูแลสั่งรันโปรแกรม Toshiba Report และ JSW Report ผ่านหน้าจอ Command Line ตามคู่มือ โปรแกรมอ่านเฉพาะไฟล์ของวันใหม่

  3. 3

    นับช็อตแยกตาม Part No.

    ฝั่ง Toshiba นับจำนวนแถวที่มี Part No. เดียวกันในไฟล์ CSV ส่วนฝั่ง JSW ถอดไฟล์ FDB เป็น CSV ก่อน แล้วนับช็อตที่เกิดในช่วงสถานะผลิตของแต่ละ Part No.

  4. 4

    ออกรายงานและแจ้งเมื่อตั้งค่าผิด

    ผลลัพธ์ออกเป็นไฟล์ข้อความ (.txt) ในโฟลเดอร์ที่กำหนด ถ้าตั้งค่าที่อยู่ไฟล์ต้นทางหรือปลายทางผิด โปรแกรมแจ้งข้อผิดพลาดบนหน้าจอ Command Line

สิ่งที่ส่งมอบ

เราส่งมอบโปรแกรม 2 ตัวสำหรับ Phase 1 ติดตั้งบน IPC Server ของโรงงาน พร้อมคู่มือการใช้งาน และส่งมอบเว็บแอปสำหรับ Phase 2 รายการที่ส่งมอบมีดังนี้

  • โปรแกรม Toshiba Report: อ่านไฟล์ CSV จาก IPAQ3 และออกรายงานจำนวนช็อตต่อ Part No.
  • โปรแกรม JSW Report: ถอดไฟล์ FDB จาก NET100 เป็น CSV และออกรายงานจำนวนช็อตต่อ Part No.
  • รายงานผลเป็นไฟล์ .txt ในโฟลเดอร์ที่ผู้ดูแลกำหนด
  • คู่มือการใช้งาน: การตั้งค่าโฟลเดอร์ การสั่งรันผ่านหน้าจอ Command Line และวิธีแก้ปัญหาเบื้องต้น
  • Phase 2: เว็บแอป Mold PM Monitoring บนเครื่องเดียวกัน ที่ใช้ Part No. จาก Phase 1

Phase 1 และ Phase 2 ต่อกันอย่างไร

Phase 2 ใช้ข้อมูล Part No. ที่ Phase 1 เก็บไว้ แล้วนำไปแสดงบนหน้าเว็บสำหรับดูแลแม่พิมพ์ Phase 1 ทำให้ยอดช็อตของเครื่องทั้ง 2 ยี่ห้ออยู่ในรูปแบบเดียวกันก่อน Phase 2 จึงสร้างหน้าจอและการแจ้งเตือนบนข้อมูลชุดนั้น ลำดับงานมีดังนี้

  1. ธันวาคม 2563: ปิดโครงการ Phase 1 โปรแกรม Toshiba Report และ JSW Report พร้อมคู่มือการใช้งาน
  2. กุมภาพันธ์ 2564: ปิดโครงการ Phase 2 เว็บแอป Mold PM Monitoring แสดงความคืบหน้าของช็อตเทียบกับรอบบำรุงรักษาเป็นสถานะ OK / Warning / PM และส่งอีเมลเตือน

ในเว็บแอป Phase 2 การล้างค่าช็อตหลังบำรุงรักษาแม่พิมพ์ต้องให้ 2 ฝ่ายที่โรงงานกำหนดยืนยันครบก่อน รายละเอียดของเว็บแอปและงานที่ต่อยอดหลังจากนั้นอยู่ในเคสระบบนับช็อตแม่พิมพ์และเตือนรอบบำรุงรักษา (Mold PM)

ผลที่ยืนยันได้จากการทดสอบปิดโครงการ

ในการทดสอบปิดโครงการ Phase 1 เดือนธันวาคม 2563 จำนวนช็อตในรายงานของโปรแกรม Toshiba Report และ JSW Report ตรงกับจำนวนแถวในไฟล์ต้นทางของเครื่องทั้ง 2 ยี่ห้อ เคสนี้ไม่มีตัวเลขวัดผลทางธุรกิจ เราจึงรายงานเฉพาะผลที่มีเอกสารยืนยัน

ยอดช็อตต่อ Part No. จาก Phase 1 เป็นฐานข้อมูลของเว็บแอป Mold PM Monitoring ใน Phase 2

สิ่งที่เราเรียนรู้

งานนี้ให้หลักการต่อไปนี้สำหรับงานรวมข้อมูลจากเครื่องจักรต่างยี่ห้อ

  • ตกลงกติกาการนับของแต่ละแหล่งข้อมูลก่อนเขียนโปรแกรม คำว่าช็อตในไฟล์ของแต่ละยี่ห้อไม่ได้มีความหมายเดียวกันเสมอ ในงานนี้ฝั่ง Toshiba นับแถวของ Part No. เดียวกัน ส่วนฝั่ง JSW ต้องนับเฉพาะช่วงสถานะผลิต
  • ตรวจยอดกับไฟล์ต้นทางก่อนต่อยอด ระบบเตือนและหน้าจอที่สร้างทีหลังจะเชื่อถือได้เท่ากับข้อมูลที่อยู่ข้างใต้ งานนี้จึงเทียบรายงานกับไฟล์ต้นทางตอนปิด Phase 1 ก่อนเริ่ม Phase 2
  • โปรแกรมที่ทำงานที่หน้างานต้องบอกปัญหาได้เอง ในงานนี้โปรแกรมแจ้งข้อผิดพลาดบนหน้าจอเมื่อตั้งค่าที่อยู่ไฟล์ผิด และเราส่งมอบคู่มือแก้ปัญหาเบื้องต้น ผู้ดูแลที่หน้างานจึงแก้การตั้งค่าได้เองโดยไม่ต้องรอทีมจากภายนอก

นำแนวทางนี้ไปใช้กับโรงงานของคุณได้อย่างไร

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

ส่วนที่ใช้ซ้ำได้ และส่วนที่ต้องปรับ

ส่วนของงานใช้ซ้ำได้ต้องปรับเมื่อ
การอ่านไฟล์การอ่านไฟล์ CSV จาก IPAQ3 (Toshiba) และการถอดไฟล์ FDB จาก NET100 (JSW)เครื่องเป็นยี่ห้ออื่น หรือโปรแกรมของเครื่องเก็บไฟล์รูปแบบอื่น ต้องตรวจไฟล์ตัวอย่างก่อน
กติกาการนับการนับต่อ Part No. และการนับเฉพาะช่วงสถานะผลิตโรงงานของคุณนิยามช็อตที่ใช้นับต่างจากนี้ ต้องตกลงกติกาใหม่ก่อน
รายงานรายงานจำนวนช็อตต่อ Part No. เป็นไฟล์ข้อความต้องการส่งข้อมูลเข้าระบบอื่นหรือแสดงบนหน้าเว็บ ต้องวางเป็นงานเฟสถัดไป
การติดตั้งติดตั้งบนเครื่องกลางในโรงงานยังไม่มีเครือข่ายที่เชื่อมไลน์ฉีดกับเครื่องกลาง ต้องเตรียมก่อน
  • ตรวจว่าโปรแกรมของเครื่องฉีดแต่ละยี่ห้อบันทึกข้อมูลช็อตไว้ที่ไหน ในรูปแบบไฟล์ใด และสร้างไฟล์ใหม่เมื่อไร
  • กำหนดเวลาที่ต้องการรายงาน และโฟลเดอร์ต้นทางกับปลายทาง เพราะถ้าตั้งค่าที่อยู่ไฟล์ผิด โปรแกรมจะออกรายงานไม่ได้
  • กำหนดผู้ดูแลเครื่องกลางที่หน้างาน ซึ่งอ่านคู่มือและแก้การตั้งค่าเบื้องต้นได้

เทคโนโลยีที่ใช้

Toshiba IPAQ3 (iPAQET3 Server)JSW NET100ถอดไฟล์ FDB เป็น CSVPythonโปรแกรม Command Line บน Windows 10IPC Server (Siemens)เครือข่าย 4Gเว็บแอป Mold PM Monitoringแจ้งเตือนทางอีเมล

คำถามที่พบบ่อย

ต้องติดเซนเซอร์เพิ่มที่เครื่องฉีดหรือไม่

ในเคสนี้ไม่ต้อง โปรแกรมอ่านข้อมูลจากไฟล์ที่ IPAQ3 ของเครื่อง Toshiba และ NET100 ของเครื่อง JSW สร้างไว้อยู่แล้ว ถ้าเครื่องของคุณมีโปรแกรมเก็บข้อมูลแบบนี้ ก็เริ่มจากการอ่านไฟล์ได้ แต่ต้องตรวจไฟล์จากเครื่องจริงก่อนยืนยัน

ระบบนี้ดึงข้อมูลจากเครื่องฉีดยี่ห้อใดได้บ้าง

ในเคสนี้คือเครื่อง Toshiba ผ่านไฟล์ CSV ของโปรแกรม IPAQ3 และเครื่อง JSW ผ่านไฟล์ FDB ของโปรแกรม NET100 ซึ่งต้องถอดเป็น CSV ก่อนนับ เครื่องยี่ห้ออื่นต้องตรวจก่อนว่าโปรแกรมของเครื่องเก็บข้อมูลช็อตไว้แบบใด

รู้ได้อย่างไรว่ายอดช็อตที่นับได้ถูกต้อง

ตอนปิดโครงการ Phase 1 เราเทียบรายงานของโปรแกรมกับจำนวนแถวในไฟล์ต้นทางของเครื่อง Toshiba และเครื่อง JSW ผลตรงกันทั้ง 2 ยี่ห้อ

ถ้าตั้งค่าโปรแกรมผิดจะเกิดอะไรขึ้น

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

ราคาระบบแบบนี้เท่าไร

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

อยากได้ระบบแบบนี้ในงานของคุณ?