ในยุค Industry 4.0 การดึงข้อมูลจากเครื่องจักรรุ่นเก่า (Legacy Machines) มาวิเคราะห์เป็นเรื่องสำคัญ แต่ปัญหาคือเครื่องเหล่านี้มักไม่รองรับโปรโตคอลสมัยใหม่ บทความนี้จะสอน ขั้นตอนการเขียนโค้ด OPC UA Server เพื่อเปลี่ยนเครื่องจักรดั้งเดิมให้สื่อสารผ่านโครงข่ายอัจฉริยะได้
ทำไมต้องใช้ OPC UA กับเครื่องจักร Legacy?
เครื่องจักรเก่ามักสื่อสารผ่าน Modbus RTU หรือ Serial Port การสร้าง OPC UA Server ทำหน้าที่เป็นตัวกลาง (Gateway) ช่วยให้เราส่งข้อมูลเข้าสู่ระบบ ERP, MES หรือ Cloud ได้อย่างปลอดภัยและเป็นมาตรฐานเดียวกัน
ขั้นตอนการพัฒนา OPC UA Server
1. การติดตั้ง Library ที่จำเป็น
เราจะใช้ภาษา Python และ Library python-opcua หรือ opcua-asyncio ซึ่งเป็นที่นิยมที่สุดในการทำ Industrial IoT (IIoT)
pip install asyncua
2. โครงสร้างโค้ด Python สำหรับ OPC UA Server
นี่คือตัวอย่างโค้ดเบื้องต้นในการประกาศ Node และส่งค่าจากเครื่องจักร:
import asyncio
from asyncua import Server
async def main():
# สร้าง Server Object
server = Server()
await server.init()
server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/")
# ตั้งค่า Namespace
uri = "http://examples.freeopcua.github.io"
idx = await server.register_namespace(uri)
# สร้าง Object สำหรับเครื่องจักร
myobj = await server.nodes.objects.add_object(idx, "LegacyMachine01")
# เพิ่มตัวแปร (เช่น อุณหภูมิ หรือ สถานะเครื่อง)
temp_var = await myobj.add_variable(idx, "Temperature", 0.0)
await temp_var.set_writable() # อนุญาตให้เขียนค่าได้
async with server:
print("OPC UA Server เริ่มทำงานที่: opc.tcp://localhost:4840/")
while True:
# จำลองการอ่านค่าจาก Legacy (เช่น Read Modbus)
new_temp = 25.5
await temp_var.set_value(new_temp)
await asyncio.sleep(1)
if __name__ == "__main__":
asyncio.run(main())
3. การทำ Data Mapping
หัวใจสำคัญของ Legacy Integration คือการ Map ข้อมูลจาก Register ของเครื่องจักร (เช่น Modbus Address 40001) เข้าสู่ OPC UA Node ID เพื่อให้ระบบ IT ภายนอกอ่านค่าได้โดยตรง
สรุป
การเขียนโค้ด OPC UA Server ไม่ได้ยากอย่างที่คิด และเป็นกุญแจสำคัญในการทำ Digital Transformation สำหรับโรงงานที่มีเครื่องจักรเก่า การใช้โปรโตคอลนี้ช่วยเรื่องความปลอดภัย (Security) และความสามารถในการขยายระบบในอนาคต
OPC UA, Legacy Machine, Industrial IoT, Python, Smart Factory, Automation, IIoT, PLC, System Integration
