บทนำ: ทำไมโปรโตคอลการสื่อสารถึงสำคัญในโรงงานอัจฉริยะ

ในระบบนิเวศ IIoT (Industrial Internet of Things) ที่เชื่อมต่อเครื่องจักร ซอฟต์แวร์ และคนเข้าด้วยกัน หัวใจสำคัญที่ทำให้ทุกอย่างทำงานร่วมกันได้อย่างไร้รอยต่อ คือ โปรโตคอลการสื่อสาร หรือ Communication Protocol — ช่องทางที่ข้อมูลจากเซ็นเซอร์และ PLC ถูกส่งไปยังระบบคลาวด์หรือแพลตฟอร์มอื่นๆ

ในบทความนี้ เราจะเจาะลึกเปรียบเทียบ OPC UA (Open Platform Communications Unified Architecture) และ MQTT (Message Queuing Telemetry Transport) — สองโปรโตคอลที่ได้รับความนิยมสูงสุดในอุตสาหกรรม IIoT ยุคปัจจุบัน โดยวิเคราะห์จากมุมมองทางสถาปัตยกรรม ความปลอดภัย ความสามารถในการจำลองข้อมูล และกรณีการใช้งานจริงในโรงงาน

OPC UA คืออะไร?

OPC UA เป็นมาตรฐานการสื่อสารที่พัฒนาโดย OPC Foundation ออกแบบมาเพื่อการสื่อสารในระดับอุตสาหกรรมโดยเฉพาะ ตั้งแต่เครื่องจักร CNC, Robot, PLC ไปจนถึงระบบ MES และ ERP

จุดเด่นที่สำคัญที่สุดของ OPC UA คือ มาตรฐานการจำลองข้อมูล (Information Model) ที่ครอบคลุม — สามารถอธิบายโครงสร้างข้อมูลที่ซับซ้อน เช่น ข้อมูลการผลิต ข้อมูลการบำรุงรักษา และข้อมูลคุณภาพ ในรูปแบบที่เครื่องจักรต่างยี่ห้อเข้าใจตรงกัน

MQTT คืออะไร?

MQTT เป็นโปรโตคอลแบบ Publish/Subscribe ที่ออกแบบมาสำหรับอุปกรณ์ IoT ที่มีแบนด์วิดท์จำกัดและต้องการการใช้พลังงานต่ำ เช่น เซ็นเซอร์ไร้สายและอุปกรณ์ IIoT ขนาดเล็ก MQTT ใช้หลักการ Broker ทำหน้าที่รับข้อความจาก Publisher และส่งต่อไปยัง Subscriber ที่สนใจ Topic ที่เกี่ยวข้อง

ความแตกต่างทางสถาปัตยกรรม

OPC UA: Client/Server Model

OPC UA ใช้ Client/Server Architecture หมายความว่า Client จะส่งคำขอ (Request) ไปยัง Server และรอรับการตอบกลับ (Response) ลักษณะนี้เหมาะกับการควบคุมกระบวนการ (Process Control) ที่ต้องการ การยืนยันความถูกต้อง ของข้อมูลทุกครั้ง เช่น การอ่านค่าจาก PLC หรือการสั่งการ Robot

MQTT: Publish/Subscribe Model

MQTT ต่างออกไปด้วย Broker-based Publish/Subscribe — อุปกรณ์ (Publisher) ส่งข้อมูลไปยัง Broker โดยไม่ต้องรู้ว่าใครจะรับ และผู้รับ (Subscriber) รอรับข้อมูลจาก Topic ที่สนใจโดยไม่ต้องรู้ว่าใครเป็นผู้ส่ง สถาปัตยกรรมนี้ทำให้ระบบยืดหยุ่นและขยายตัวได้ง่าย เหมาะกับ การเก็บข้อมูลจำนวนมากจากหลายแหล่ง ไปยังระบบคลาวด์หรือแพลตฟอร์ม Analytics

แง่มุม OPC UA MQTT
โมเดลการสื่อสาร Client/Server Publish/Subscribe (Broker)
ความซับซ้อนในการตั้งค่า สูง (ต้องกำหนด Connection ทีละจุด) ต่ำ (เพิ่ม Topic ใหม่ได้ง่าย)
ขนาด Header ใหญ่กว่า (Binary Protocol) เล็กมาก (Minimal Overhead)
การรับประกันการส่ง มี (Reliable Connection) ปรับได้ (QoS 0/1/2)

ความปลอดภัย: X.509 Certificates vs Username/Password + TLS

OPC UA: ระบบความปลอดภัยหลายชั้น

OPC UA มีระบบความปลอดภัยที่ครอบคลุมและซับซ้อนกว่า โดยอาศัย X.509 Certificates สำหรับการยืนยันตัวตน (Authentication) และการเข้ารหัสข้อมูล (Encryption) ในระดับแอปพลิเคชัน ทำให้สามารถควบคุมได้ละเอียดว่า Client ใดสามารถเข้าถึง Node ใดได้บ้าง (Application-Level Security)

MQTT: ความปลอดภัยขึ้นอยู่กับการตั้งค่า

MQTT เองมีกลไกความปลอดภัยในตัวจำกัด คือ Username/Password ในการเชื่อมต่อกับ Broker แต่ความปลอดภัยที่แท้จริงต้องอาศัย TLS/SSL เป็นตัวเข้ารหัสข้อมูลระหว่างทาง และต้องใช้ระบบ Certificate ที่ Broker ด้วย

💡 ข้อควรระวัง: MQTT ที่ไม่ได้ใช้ TLS นั้นส่งข้อมูลแบบ Plaintext ซึ่งหมายความว่าใครก็ตามที่ดักจับข้อมูลบนเครือข่ายสามารถอ่านข้อมูลทั้งหมดได้ ในสภาพแวดล้อมโรงงานที่มีข้อมูลอ่อนไหว ควรใช้ MQTT over TLS (มักเรียกว่า MQTTS) เสมอ

ความสามารถในการจำลองข้อมูล (Data Modeling)

นี่คือจุดที่ OPC UA เหนือกว่า MQTT อย่างชัดเจน OPC UA มาพร้อมกับ Address Space Model ที่สามารถจำลองข้อมูลเชิงโครงสร้างได้อย่างลึกซึ้ง รวมถึง:

  • Historical Data: ข้อมูลประวัติการเปลี่ยนแปลงของแต่ละ Node
  • Alarms & Events: การจัดการ Alarm และ Event ที่มีลำดับชั้น
  • Methods: การเรียก Method บน Server ได้ (เช่น สั่งเครื่องจักรเริ่มทำงาน)
  • Data Types: รองรับ Data Type ที่ซับซ้อน เช่น Array, Structure, Enum

ในขณะที่ MQTT เป็นเพียง Transport Protocol ที่ส่งข้อความ (Message) ผ่านไปมา การตีความข้อมูลว่าหมายความว่าอะไรต้องทำที่แอปพลิเคชัน ซึ่งหมายความว่าทีมพัฒนาต้องกำหนด “สาระะสำคัญ” ของข้อมูล (Data Semantics) เองทั้งหมด

กรณีการใช้งานจริงในโรงงาน

เมื่อใดควรเลือก OPC UA

  • การสื่อสารระหว่างเครื่องจักรหลายยี่ห้อ: OPC UA เป็นมาตรฐานกลางที่ PLC Siemens, ABB, Mitsubishi, Schneider รองรับ
  • ระบบ SCADA ระดับ Plant-wide: เมื่อต้องการรวมข้อมูลจากทุกส่วนของโรงงานเข้าด้วยกัน
  • การควบคุมกระบวนการที่ต้องการความแม่นยำ: เช่น ระบบ Batch Process, ระบบควบคุมคุณภาพ
  • การบูรณาการกับ ERP/MES: เมื่อต้องการดึงข้อมูลการผลิตขึ้นไปสู่ระบบธุรกิจ

เมื่อใดควรเลือก MQTT

  • การเก็บข้อมูลจากเซ็นเซอร์จำนวนมาก: เช่น การมอนิเตอร์อุณหภูมิ ความชื้น การสั่นสะเทือนในโรงงาน
  • อุปกรณ์ IoT ที่มีทรัพยากรจำกัด: เซ็นเซอร์ไร้สาย, อุปกรณ์ Battery-powered
  • การส่งข้อมูลข้ามระบบ Cloud: เชื่อมต่อจากโรงงานไปยัง AWS IoT, Azure IoT Hub, Google Cloud IoT
  • ระบบ Real-time Monitoring Dashboard: ดึงข้อมูลมาแสดงแบบ Live

ทำไมไม่ใช้ทั้งสองโปรโตคอลพร้อมกัน?

ในความเป็นจริง หลายโรงงานใช้ ทั้ง OPC UA และ MQTT ร่วมกัน ในสถาปัตยกรรมแบบ Multi-Protocol Gateway กล่าวคือ:

  • ชั้น Field Level: ใช้ MQTT เก็บข้อมูลจากเซ็นเซอร์จำนวนมากไปยัง Edge Gateway
  • ชั้น Control Level: ใช้ OPC UA สำหรับการสั่งการและควบคุมเครื่องจักรอย่างแม่นยำ
  • ชั้น Enterprise Level: ใช้ MQTT หรือ AMQP ส่งข้อมูลที่ผ่านการประมวลผลไปยังระบบคลาวด์

แนวทางของ Honey Corporation ในการออกแบบ IIoT Communication

ที่ บริษัท ฮันนี่ คอร์ปอเรชั่น จำกัด เราเลือกโปรโตคอลการสื่อสารตาม ข้อกำหนดทางธุรกิจ (Business Requirements) เป็นหลัก ไม่ใช่เพราะเทคโนโลยีแรกแรก

สำหรับโครงการ Smart Factory ที่เราดำเนินการ เรามักแนะนำ OPC UA สำหรับชั้นการควบคุม (Control Layer) เนื่องจากความสามารถในการรับประกันความถูกต้องของข้อมูลและการจำลองข้อมูลที่ครอบคลุม ขณะที่ใช้ MQTT สำหรับชั้นการเก็บข้อมูลและการเชื่อมต่อคลาวด์ เนื่องจากความเรียบง่ายและความสามารถในการขยายตัว

💡 หลักการสำคัญ: อย่าเลือกโปรโตคอลเพราะมันฮอตด์ หรือเพราะทีมรู้จักมันดี — เลือกเพราะมันตอบโจทย์ Business Problem ที่แท้จริงของลูกค้า

สรุป

ทั้ง OPC UA และ MQTT ล้วนเป็นโปรโตคอลที่ยอดเยี่ยมในบริบทของตัวเอง OPC UA เหมาะกับการสื่อสารระดับอุตสาหกรรมที่ต้องการความแม่นยำ ความปลอดภัย และการจำลองข้อมูลที่ซับซ้อน ขณะที่ MQTT เหมาะกับการเก็บข้อมูลจำนวนมากจากอุปกรณ์ที่กระจายตัวไปยังระบบคลาวด์อย่างมีประสิทธิภาพ

การเลือกโปรโตคอลที่เหมาะสมไม่ใช่คำถามว่า อันไหนดีกว่า แต่เป็นคำถามว่า อันไหนเหมาะกับงานนี้มากกว่า — และในหลายกรณี คำตอบคือ “ทั้งสองอย่าง” ในสถาปัตยกรรมที่ออกแบบอย่างเป็นระบบ