MQTT คืออะไร? MQTT เป็นโปรโตคอลส่งข้อความแบบ Publish/Subscribe อุปกรณ์หรือ Gateway ส่งข้อมูลไปยัง Broker โดยระบุหัวข้อหรือ Topic แล้วระบบที่สนใจหัวข้อนั้นจึงรับข้อมูลต่อ วิธีนี้เหมาะกับการกระจายข้อมูลสถานะเครื่องจักรไปยัง Dashboard, ระบบแจ้งเตือน หรือ Cloud โดยไม่ต้องให้ทุกระบบเชื่อมถึง PLC โดยตรง

ตัวอย่างเช่น เครื่องบรรจุส่งสถานะ “หยุด” พร้อมเวลาและรหัสเครื่อง Edge Gateway ส่งเหตุการณ์ไป Broker จากนั้นระบบ Monitoring รับไปแสดงผล และระบบแจ้งเตือนรับไปประเมินเงื่อนไขแยกกัน จุดสำคัญคือ MQTT ขนส่งข้อความ ไม่ได้บอกความหมายทางธุรกิจของข้อมูลให้เอง
MQTT คืออะไร และทำงานอย่างไรในโรงงาน
Publisher, Broker และ Subscriber
Publisher คือผู้ส่งข้อมูล Broker รับแล้วกระจายให้ Subscriber ที่สมัครรับ Topic นั้น การแยกส่วนนี้ช่วยเพิ่มระบบปลายทางใหม่ได้โดยไม่ต้องเปลี่ยนผู้ส่งทุกครั้ง แต่ Broker กลายเป็นจุดสำคัญที่ต้องดูเรื่องความพร้อมใช้งาน การสำรองข้อมูล และการควบคุมสิทธิ์
ในโรงงาน มักให้ Edge Gateway อ่านค่าจาก PLC หรือ SCADA ด้วยวิธีที่อุปกรณ์รองรับ แล้วแปลงเป็น Event ที่มี MachineId, เวลาต้นทาง, สถานะ และคุณภาพข้อมูล ก่อน Publish การส่งทุกค่า Sensor ทุกมิลลิวินาทีขึ้น Cloud อาจสร้างค่าใช้จ่ายและเสียงรบกวนมากกว่าประโยชน์

สถาปัตยกรรมจากหน้างานถึง Cloud
รูปแบบหนึ่งคือ PLC → Edge Gateway → Broker ภายในโรงงาน → ระบบ Monitoring หรือ Bridge ไป Broker ฝั่ง Cloud โดยแยกเครือข่าย OT กับ IT และกำหนดทิศทางข้อมูลชัดเจน หาก SCADA ต้องใช้ข้อมูลความถี่สูงเพื่อปฏิบัติการหน้างาน ก็ควรประเมินการเชื่อมต่อที่เหมาะกับงานนั้นแยกจาก MQTT สำหรับสรุปหรือกระจาย Event
ระบบปลายทางต้องตรวจ Timestamp, ลำดับเหตุการณ์ และสถานะ “ข้อมูลขาดช่วง” เพราะข้อความที่มาช้าหลังเครือข่ายกลับมาอาจไม่ใช่สถานะปัจจุบัน การใช้ Retained Message ช่วยให้ผู้รับใหม่เห็นค่าล่าสุดได้ แต่ต้องแสดงเวลาและอายุข้อมูลด้วย
ออกแบบ Topic และ QoS ให้ใช้ข้อมูลต่อได้จริง
ชื่อ Topic ควรสะท้อนโรงงาน/ไลน์/เครื่อง/ประเภทข้อมูล เช่น แยกสถานะเครื่องออกจากผลผลิต อย่าใส่ข้อมูลส่วนบุคคลหรือความลับในชื่อ Topic เพราะชื่อเองอาจปรากฏใน Log ให้กำหนด Version ของรูปแบบข้อมูลและ Data Dictionary ก่อนเชื่อมหลายทีม
QoS 0 เน้นส่งอย่างรวดเร็วโดยไม่มีการรับประกันส่งถึง, QoS 1 อาจส่งซ้ำได้ และ QoS 2 ลดปัญหาการรับซ้ำตามกลไกโปรโตคอล แต่ QoS สูงขึ้นแลกกับภาระและความหน่วง การบันทึก Order หรือการคำนวณผลผลิตยังควรมี Event ID และตรวจซ้ำในแอปพลิเคชัน ไม่พึ่งระดับ QoS อย่างเดียว
ประโยชน์และข้อจำกัดทางธุรกิจ
MQTT ช่วยให้แต่ละแผนกได้ข้อมูลเหตุการณ์เดียวกันเร็วขึ้น และลดการทำ Integration แบบจุดต่อจุด เมื่อขยายไลน์หรือไซต์งาน สามารถใช้รูปแบบ Topic และข้อมูลร่วมกันได้ แต่ต้องดูขนาดข้อความ จำนวนผู้รับ การเก็บย้อนหลัง และค่า Cloud/เครือข่ายตามการใช้งานจริง
MQTT ไม่ใช่ฐานข้อมูล Historian และไม่ใช่ระบบควบคุมความปลอดภัยของเครื่องจักร หากต้องวิเคราะห์ข้อมูลย้อนหลังหลายปีหรือควบคุมที่ต้องตอบสนองแน่นอน ควรออกแบบองค์ประกอบอื่นร่วมด้วย
ความปลอดภัยและการรองรับเน็ตล่ม
ใช้ TLS ตามที่อุปกรณ์รองรับ แยกบัญชีหรือ Certificate ต่ออุปกรณ์ จำกัดสิทธิ์ Publish/Subscribe ราย Topic และไม่เปิด Broker ภายในให้สาธารณะเข้าถึงโดยตรง วางแผนเปลี่ยนรหัส/Certificate และบันทึกการเชื่อมต่อผิดปกติ
เมื่อเน็ตออก Cloud ล่ม Edge ควรเก็บคิวในขนาดและระยะเวลาที่กำหนด ส่งต่อเมื่อกลับมา พร้อมติดป้ายเวลาเดิมและป้องกันข้อมูลซ้ำ ต้องทดสอบทั้งกรณี Broker รีสตาร์ต คิวเต็ม และผู้รับปลายทางประมวลผลช้า
เริ่มต้น Pilot อย่างไร
- เลือกเครื่องจักรหนึ่งชุดและคำถามธุรกิจหนึ่งข้อ เช่น ต้องการรู้ Downtime จริง
- นิยาม Event และเจ้าของข้อมูลพร้อมหน่วยและเวลาต้นทาง
- ทดสอบความถี่ส่ง สภาพเครือข่าย และการส่งซ้ำ
- ตรวจสิทธิ์ Broker, Log, Alert และวิธีดูแลเมื่อทีมเปลี่ยน
- เทียบข้อมูลกับบันทึกหน้างานก่อนขยายทุกไลน์
สรุป
MQTT เป็นวิธีส่งเหตุการณ์จากโรงงานไปหลายระบบได้ยืดหยุ่น แต่คุณค่าจริงอยู่ที่การเลือกข้อมูลที่ควรส่ง การตีความข้อมูล และการดูแล Broker/ความปลอดภัยให้เหมาะกับสภาพหน้างาน
คำถามที่พบบ่อย
บางงานใช้แทนกันได้บางส่วน แต่ OPC UA เน้นโครงสร้างและการเข้าถึงข้อมูลอุตสาหกรรม ส่วน MQTT เน้นกระจายข้อความ หลายระบบใช้ทั้งคู่ร่วมกัน
ส่งได้รวดเร็วเมื่อเครือข่ายพร้อม แต่ไม่ควรสมมติว่ามีเวลาตอบสนองตายตัวสำหรับการควบคุมที่ต้องการความแน่นอนสูง
ไม่รับประกันว่าแอปพลิเคชันจะเห็นครั้งเดียว จึงควรใส่ Event ID และตรวจซ้ำที่ปลายทาง
ขึ้นกับการออกแบบ Edge และคิว หากต้องเก็บย้อนหลังต้องทดสอบความจุและการส่งต่อหลังเชื่อมกลับ

