Industry Microcontroller

โรงงานของคุณพูดได้ห้าภาษา: ทำไม OPC UA เพียงอย่างเดียวแก้ปัญหาโปรโตคอลที่กระจัดกระจายไม่ได้

ในโรงงานที่เดินเครื่องมาเกินสิบปี มักมีวิศวกรควบคุมสักคนพูดประมาณว่า "รวมทุกอย่างเป็น OPC UA ให้หมด ปัญหานี้ก็จะหายไปเอง"

แต่มันไม่หายไป คำแนะนำนี้ถูกพูดซ้ำมาสิบกว่าปีแล้ว และโรงงานที่ทำตามก็ยังมีสามโปรโตคอลอยู่บนพื้นโรงงาน พร้อมสเปรดชีตที่คอยเชื่อมส่วนที่เหลือ

ฝูงเครื่องจักรที่คุณมีจริง ไม่ใช่ฝูงที่ whitepaper สมมติไว้

OPC UA เป็นมาตรฐานที่ดีจริง ๆ — เป็นกลาง ปลอดภัยตั้งแต่ออกแบบ และถูกสร้างมาเพื่อแก้ปัญหานี้โดยเฉพาะ ปัญหาไม่ได้อยู่ที่ตัวมาตรฐาน แต่อยู่ที่สมมติฐานที่ซ่อนอยู่ในคำว่า "ใช้ OPC UA ให้หมด" — คือสมมติว่าทุกเครื่องบนพื้นโรงงานพูดภาษานี้ได้

พื้นโรงงานจริง โดยเฉพาะโรงงานในนิคมอุตสาหกรรมหรือเขต EEC ที่ขยายกำลังผลิตมาเรื่อย ๆ หรือผ่านการควบรวมกิจการ มักหน้าตาแบบนี้

  • สายซีเอ็นซีอายุแปดปีที่รัน Siemens S7 ด้วยโปรโตคอลเฉพาะของตัวเอง
  • เซลล์ปั๊มขึ้นรูปรุ่นเก่ากว่าบน Allen-Bradley ที่คุยด้วย EtherNet/IP
  • PLC รุ่นเก่าหลายตัวบน Modbus RTU ผ่านสายซีเรียล เพราะเครื่องเกิดก่อนยุคพอร์ต Ethernet
  • เซลล์ใหม่หนึ่งหรือสองเซลล์ที่มาพร้อม OPC UA server ในตัว
  • เครื่องชั่ง เครื่องพิมพ์ฉลาก และเครื่องสแกนบาร์โค้ดที่ไม่พูดภาษาไหนในลิสต์นี้เลย

การอัปเกรดครึ่งหลังของลิสต์นี้ให้รองรับ OPC UA หมายถึงเฟิร์มแวร์ใหม่ ไลเซนส์ใหม่ หรือฮาร์ดแวร์ใหม่ — บนเครื่องที่ทำงานปกติดีอยู่แล้วและยังใช้งานได้อีกสิบปี สำหรับโรงงานส่วนใหญ่ นั่นไม่ใช่การย้ายโปรโตคอลอีกต่อไป แต่กลายเป็นโปรเจกต์ลงทุนที่ไม่มีใครตั้งงบไว้ เพื่อแก้ปัญหาการเข้าถึงข้อมูลที่จริง ๆ ไม่จำเป็นต้องทำขนาดนั้น

ทำไมคำแนะนำ "รวมมาตรฐานให้หมด" ยังถูกพูดซ้ำอยู่เรื่อย

ไม่ใช่คำแนะนำที่ไม่ดี แต่เป็นคำแนะนำที่ถูกในทางทฤษฎีแต่ผิดในทางปฏิบัติ ด้วยสามเหตุผล

มันสมมติว่าเป็นโรงงานเปิดใหม่ การรวมมาตรฐานเดียวทำได้ง่ายเมื่อคุณกำลังสเปคเครื่องจักรใหม่ แต่เป็นคนละเรื่องเลยเมื่อเครื่องจักรติดตั้งแล้ว เดินสายการผลิตอยู่ และยังไม่ถึงกำหนดเปลี่ยนอีกหลายปี

มันมองว่าโปรโตคอลคือปัญหาทั้งหมด แม้แต่พื้นโรงงานที่เป็น OPC UA ล้วนก็ยังต้องการการจัดเส้นทางข้อมูล การบัฟเฟอร์ และบริบท — ค่าที่อ่านได้เป็นของใบสั่งงานไหน สถานะเครื่องจักรตรงกับ OEE บัคเก็ตไหน จะเกิดอะไรขึ้นเมื่อเครือข่ายหลุดสี่นาทีตอนเปลี่ยนกะ โปรโตคอลให้แค่ไบต์ข้อมูล ไม่ได้จัดระเบียบให้

มันมองข้ามว่าใครเป็นเจ้าของปัญหาจริง ๆ ฝ่าย IT อยากได้อินเทอร์เฟซเดียวที่สะอาด แต่ฝ่าย OT เป็นเจ้าของเครื่องจักรที่แตะต้องไม่ได้ตามใจ ต้องผ่านกระบวนการ change control และช่วง maintenance window การถกเรื่องโปรโตคอลเกิดที่ชั้น IT แต่ข้อจำกัดจริงอยู่ที่ชั้น OT ไม่มีใครรวมมาตรฐานข้ามช่องว่างนี้ไปได้ ต้องเชื่อมมันเข้าด้วยกันต่างหาก

เลเยอร์ที่ทำงานจริง

ทางแก้ไม่ใช่การเลือกโปรโตคอล "ที่ถูกต้อง" แต่คือเลเยอร์เชื่อมต่อที่วางอยู่ระหว่างสิ่งที่เครื่องจักรพูดอยู่แล้ว กับสิ่งที่ระบบส่วนที่เหลือต้องการ — เลเยอร์ที่อ่าน OPC UA ตรงที่มี อ่าน Modbus และ S7 ตรงที่ไม่มี แล้วรวมทุกอย่างเป็นสตรีมเดียวก่อนที่ระบบด้านล่างจะต้องสนใจความต่าง

flowchart LR
 classDef src fill:#0b1220,stroke:#334155,color:#e2e8f0
 classDef acq fill:#083344,stroke:#22d3ee,color:#cffafe
 classDef bridge fill:#3a1f0a,stroke:#f97316,color:#fed7aa
 classDef data fill:#082f49,stroke:#38bdf8,color:#e0f2fe
 classDef office fill:#052e16,stroke:#22c55e,color:#dcfce7

 subgraph FLOOR["พื้นโรงงานตามความเป็นจริง"]
 direction TB
 S7["สาย CNC Siemens S7"]:::src
 AB["เซลล์ปั๊มขึ้นรูป Allen-Bradley"]:::src
 RTU["PLC รุ่นเก่า Modbus RTU"]:::src
 OPCUA["เซลล์ใหม่ OPC UA native"]:::src
 PERIPH["เครื่องชั่ง เครื่องพิมพ์ เครื่องสแกน"]:::src
 end

 subgraph BRIDGE["เลเยอร์เชื่อมต่อ"]
 direction TB
 ADAPT["ตัวปรับโปรโตคอล  S7 · EtherNet/IP · Modbus TCP/RTU · OPC UA"]:::bridge
 BUFFER["บัฟเฟอร์เมื่อออฟไลน์  
ทนต่อเครือข่ายหลุด"]:::bridge
 NORM["รวมเป็นสตรีมเดียว  tag map · เวลา · บริบทหน่วยวัด"]:::bridge
 end

 subgraph DOWN["ระบบด้านล่างทั้งหมด"]
 direction TB
 DB[("ฐานข้อมูล time series / Postgres")]:::data
 MES["แกน MES"]:::office
 SPC["SPC แบบเรียลไทม์"]:::office
 ERP["การปล่อยล็อตใน ERP"]:::office
 end

 S7 --> ADAPT
 AB --> ADAPT
 RTU --> ADAPT
 OPCUA --> ADAPT
 PERIPH --> ADAPT
 ADAPT --> BUFFER --> NORM
 NORM --> DB
 DB --> MES
 DB --> SPC
 DB --> ERP

สามหน้าที่ที่เลเยอร์นี้ต้องทำ ไม่ว่าจะเชื่อมโปรโตคอลไหนก็ตาม

พูดภาษาถิ่น ไม่ใช่แค่มาตรฐาน ตัวปรับสำหรับ S7, EtherNet/IP, Modbus TCP/RTU และ OPC UA เรียงคู่กัน — เซลล์ปั๊มขึ้นรูปอายุสิบห้าปีกับสาย CNC ใหม่เอี่ยม ลงสตรีมเดียวกันได้โดยไม่ต้องเปลี่ยนเครื่องไหนเลย

ทนต่อเครือข่ายที่คุณมีจริง เครือข่ายพื้นโรงงานหลุดเป็นเรื่องปกติ การบัฟเฟอร์แบบ store-and-forward ที่ edge ทำให้เหตุการณ์เครือข่ายหลุดสี่นาทีตอนเปลี่ยนกะ เป็นช่องว่างที่เติมย้อนหลังได้ ไม่ใช่ข้อมูลที่หายไปเลย

รวมข้อมูลให้เรียบร้อยก่อนถึงระบบด้านล่าง MES, SPC และ ERP ไม่ควรต้องรู้เรื่องโปรโตคอลของตัวเอง ควรเห็นสตรีมเหตุการณ์เดียวที่สะอาด — ติด tag ประทับเวลา และผูกกับใบสั่งงานและบริบทเครื่องจักรแล้ว ไม่ว่าต้นทางจะเป็นอะไร

หน้าตาของเลเยอร์นี้ในสองระบบที่เราสร้าง

เลเยอร์เชื่อมต่อนี้ไม่ใช่แค่แนวคิดตรงกลาง แต่เป็นส่วนที่มีชื่อจริงในทั้งสองระบบที่เราส่งมอบ

ใน simpliFactory เลเยอร์นี้คือ simpliInterface — เลเยอร์เชื่อมต่อที่พูด RS-232, USB, Ethernet, Modbus และ OPC UA ข้ามพื้นโรงงานที่มีอุปกรณ์หลายยี่ห้อ ป้อนข้อมูลเข้า IMCS เพื่อจัดเส้นทางค่าการวัด แล้วต่อไปยัง SPC แบบเรียลไทม์และการปล่อยล็อตใน ERP — โดยไม่ต้องแตะเครื่องจักรที่ทำงานปกติดีอยู่แล้ว

ใน MES แบบสั่งทำ เลเยอร์นี้คือ Tier 3 edge layer — Python gateway ที่ทนต่อการออฟไลน์ broker แบบ MQTT/OPC UA และตัวปรับโปรโตคอลเฉพาะสำหรับ Modbus TCP/RTU, Siemens S7 และ Allen-Bradley — สร้างมาเพื่อฝูงเครื่องจักรหลากรุ่นและเครือข่ายที่ไม่เสถียร ซึ่งเป็นเหตุผลที่ "ใช้ OPC UA ให้หมด" เพียงอย่างเดียวใช้ไม่ได้จริง

ระบบไหนเหมาะกับคุณขึ้นอยู่กับปัญหาที่คุณต้องการแก้จริง ๆ ถ้าปัญหาเร่งด่วนคือข้อมูลการวัด — คาลิปเปอร์ เกจ เครื่องชั่ง — ที่ยังค้างอยู่ในสเปรดชีตก่อนถึง SPC หรือ ERP นั่นคือบทสนทนากับ simpliFactory ถ้าปัญหากว้างกว่านั้น — ใบสั่งงาน สถานะเครื่องจักร OEE และการตรวจสอบย้อนกลับทั้งสายหรือทั้งโรงงาน นั่นคือบทสนทนากับ MES และเลเยอร์ตัวปรับโปรโตคอลเป็นแค่ส่วนหนึ่งของงานสร้างที่ใหญ่กว่านั้น

การทดสอบที่ตรงไปตรงมาก่อนเริ่มสร้างอะไรเลย

ก่อนเขียนตัวปรับโปรโตคอลตัวแรก เดินสำรวจพื้นโรงงานและตอบสามคำถามนี้ตรง ๆ

  1. แต่ละเครื่องพูดภาษาอะไรจริง ๆ ในวันนี้ — ไม่ใช่ตามสเปคชีต ไม่ใช่ตามที่ PLC อาจรองรับได้ถ้า reflash ใหม่ ดึงคู่มือมาดู เช็คพอร์ตจริง ยืนยันให้ชัด
  2. อะไรที่อ่านไม่ได้จริง ๆ เครื่องบางเครื่อง — injection molder รุ่นเก่าที่ปิดผนึก หรือเครื่องนำเข้าบางตัวที่เวนเดอร์เลิกกิจการไปแล้ว — อ่านค่าไม่ได้เว้นแต่จะรีโทรฟิต ต้องรู้ว่าเครื่องไหนบ้างก่อนสัญญาไทม์ไลน์
  3. เครือข่ายที่แต่ละสถานีจริง ๆ เป็นอย่างไร จุดอับสัญญาณไร้สาย Ethernet อุตสาหกรรมที่ใช้ร่วมกัน PLC ที่อยู่บนเซกเมนต์เครือข่ายที่ IT ไม่ได้ควบคุม — ทั้งหมดนี้เปลี่ยนว่า store-and-forward เป็นแค่ของดีที่มีก็ได้ หรือเป็นสิ่งที่ทำให้ทั้งระบบเชื่อถือได้จริง

การสำรวจโปรโตคอลนี้เป็นงานส่งมอบชิ้นแรกทั้งใน architecture review และ MES pilot ด้วยเหตุผลเดียวกัน — มันคือความต่างระหว่างเลเยอร์เชื่อมต่อที่ทำงานได้จริงบนพื้นโรงงานของคุณ กับเลเยอร์ที่ทำงานได้แค่บนพื้นโรงงานที่ whitepaper สมมติไว้

สำหรับโรงงานที่อยู่ภายใต้ พ.ร.บ. การรักษาความมั่นคงปลอดภัยไซเบอร์ มาตรา 59 หรือเป็นผู้ให้บริการโครงสร้างพื้นฐานสำคัญ การแบ่งเครือข่าย OT ออกจาก IT อย่างชัดเจนในเลเยอร์เชื่อมต่อนี้ ยังช่วยตอบโจทย์การแบ่งเซกเมนต์เครือข่ายที่หน่วยงานกำกับดูแลมักถามถึงด้วย

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

แปลว่าไม่ต้องสนใจ OPC UA เลยใช่ไหม
ไม่ใช่ — OPC UA ยังคงเป็นเป้าหมายที่ถูกต้องสำหรับอะไรก็ตามที่คุณสเปคใหม่ และเป็นแหล่งข้อมูลที่สะอาดที่สุดที่จะเชื่อมต่อในจุดที่มีอยู่แล้ว ประเด็นไม่ใช่การเลี่ยง OPC UA แต่คือการเลิกมองมันเป็นแผนย้ายระบบสำหรับเครื่องจักรที่ไม่ได้จะเปลี่ยนไปไหน

การสำรวจโปรโตคอลใช้เวลานานแค่ไหน
สายเดียวใช้เวลาเดินสำรวจหนึ่งถึงสองวัน บวกกับเช็คคู่มือสำหรับส่วนที่ไม่มีเอกสาร โรงงานเต็มที่มีเครื่องจักรหลากรุ่นใช้เวลาใกล้เคียงหนึ่งสัปดาห์ — นี่คือเหตุผลที่มันถูกกำหนดเป็นเฟสแรกอย่างชัดเจน ไม่ใช่สมมติฐานที่ซ่อนอยู่ในข้อเสนอ

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

นี่เป็นปัญหาของ simpliFactory หรือ MES กันแน่
บ่อยครั้งเป็นทั้งสองอย่าง และคำตอบที่ตรงไปตรงมาขึ้นอยู่กับขอบเขตงาน ซึ่งเป็นสิ่งที่ architecture review หรือคอลเทคนิค 30 นาทีมีไว้เพื่อตอบคำถามนี้โดยเฉพาะ


โรงงานของคุณมีโปรโตคอลมากกว่าที่ใครจะยอมรับหรือเปล่า จองรีวิวสถาปัตยกรรม simpliFactory ถ้าปัญหาคือข้อมูลการวัดที่ค้างอยู่ในสเปรดชีต หรือ จองคอลเทคนิค MES 30 นาที ถ้าปัญหากว้างกว่านั้น ไม่ว่าทางไหน hello@simplico.net จะพาคุณไปคุยกับวิศวกร ไม่ใช่ทีมขาย