ICONICS OPC UA Server เป็นซอร์ฟแวร์OPC Serverหน้าตาเหมือนKepwareแต่เป็นOEMของค่ายICONICSที่สามารถใช้กับอุปกรณ์หลากหลายแบบครับ บทความนี้แสดงขั้นตอนการใช้กับอุกรณ์ Modbus เพื่อเป็นแนวทางสำหรับท่านที่เริ่มต้นใหม่กับการใช้งานOPCให้สามารถคอนฟิกการติดต่อOPC Serverกับอุปกรณ์นั้นๆเพื่อนำไปใช้กับSCADAเช่นGENESIS32, GENESIS64, และSCADAอื่น ๆ ที่สามารถติดต่อOPC Server ได้ครับ
1. ต้องมีข้อมูล Modbus Register Address ของอุปกรณ์
รู้Modbus ID, Buadrate/Parity/Stop bit
โดยข้อมูลModbus Register Address นั้นดูได้จากคู่มือของอุปกรณ์นั้นๆ เช่นในรูป
จากรูปที่ 1 ของอุปกรณ์ Power Meter รุ่น 53U ของ M-System บอกให้เรารู้ว่าถ้าต้องการอ่านค่ากระแสไฟฟ้า Line1 ต้องใช้ Register หมายเลข 33 ซึ่งมีData typeแบบDWord (ใช้ 2Word) หน่วยเป็น mA และย่านสัญญาณอยู่ในช่วง 0 ถึง 2,000,000,000 mA
Modbus ID, Buadrate/Parity/Stop bit สามารถดูที่ตัวอุปกรณ์อย่าง Power Meter ว่าเซตไว้ที่เท่าใด ถ้าเป็นPLCหรือ RTU สามารถดูในซอร์ฟแวร์คอนฟิกหรือProgramming SoftwareของPLCนั้น ๆว่าเซตไว้อย่างไร
2. ดาวน์โหลด OPC Server เช่น ICONICS OPC UA Server V5
จากที่นี่ ทำการติดตั้งตามปกติ (ในบทความนี้ใช้รูปจาก V4 ประกอบ)
3. ทำการคอนฟิก OPC File
โดยเปิดโปรแกรม ICONICS OPC UA Server จาก Start > Programs > ICONICS > ICONIC OPC Server Suite 5 > ICONIC OPC Server 5 Configuration
เมื่อเปิดโปรแกรมขึ้นมาแล้วให้สร้างไฟล์ใหม่โดยเลือก File > New (ตอบ Yes, Update เมื่อมีPopupถาม)
สร้างChannelขึ้นมาใหม่โดยคลิ้กไอคอน Click to add a channel
ตั้งชื่อ Channel ในหน้าต่างที่ปรากฏขึ้นมา แล้วคลิ้ก Next
เลือก Device Driver เป็น Modbus Serial ดังรูปแล้วคลิ้ก Next
เลือก COM Port ที่เราใช้งานเพื่อติดต่อกับอุปกรณ์ พร้อมBaud rate, Data bit, Parity, Stop bit … แล้วคลิ้กNext, Next , Finish จนเสร็จสิ้นขั้นตอนสร้าง Channel
สร้าง Device ขึ้นมาในChannelที่เราสร้างไว้โดยคลิ้กไอคอน Click to add a device
ตั้งชื่อ Device ในหน้าต่างที่ปรากฏขึ้นมาแล้วคลิ้ก Next
เลือก Device model เป็น Modbus แล้วคลิ้ก Next
ใส่ ID ของอุปกรณ์ที่เราต้องการใช้งาน (Modbus ID ที่ทราบจากตัวอุปกรณ์ ที่กำหนดในตัวอุปกรณ์หรือซอร์ฟแวร์ของอุปกรณ์) จากนั้นคลิ้ก Next
คลิ้ก Next ไปจนถึงหน้าต่าง Data Encoding Settings
ดูในส่วน First word low in 32 bit data types ให้เอาเครื่องหมายถูกออกถ้าWordแรกของข้อมูลประเภท32บิตเป็นHigh (ดูได้จากคู่มือของอุปกรณ์)
แต่ในตัวอย่างนี้ Power Meter รุ่น 53U ของ M-System มีข้อมูลในคู่มือคือ Wordแรก(n)ของข้อมูล32บิตเป็นlow ส่วนWordต่อไปเป็นHigh ดังนั้นเราจึงต้องคงเครื่องหมายถูกในช่อง First word low in 32 bit data types ไว้เช่นเดิม
ส่วนของอุปกรณ์ยี่ห้ออื่นอาจจะต่างกันเช่น Power Meter รุ่น NEMO 96 มีการเรียงWordของข้อมูล32บิตดังรูป
นั่นคือWordแรกจะเป็นHigh(Most Significant Word) ดังนั้นต้องเอาเครื่องหมายถูกข้างต้นออกจากช่อง First word low in 32 bit data types
คลิ้ก Next ต่อไปจนเสร็จสิ้น
สร้าง OPC tag ขึ้นมาโดยคลิ้ก “Click to add a static tag. …”
ตั้งชื่อ OPC tag ในช่องName และใส่ Modbus Register Addressในช่อง Address โดยเนื่องจากICONICS OPC UA และKEPware ต้องระบุAddressแบบเต็มลงไปในช่องAddress และเนื่องจากข้อมูลจากPower Meter เป็น Holding Register จึงต้องเติม 400000 + Addressของอุปกรณ์ จึงกลายเป็น 400000 + 33 (บางอุปกรณ์ก็ใส่หมายเลขแบบเต็มมาให้ในคู่มืออุปกรณ์แล้ว)
เลือก Data Type ให้ตรงกับคู่มือ เช่นในที่นี้เป็น DWORD
คลิ้ก Apply
สร้าง OPC tag อื่น ๆ ที่เราต้องการให้ครบ เป็นอันเสร็จสิ้น ให้Save File ไว้ด้วยนะครับ
บางครั้งคู่มืออุปกรณ์ที่เรามีอาจแสดงRegister Address แบบเลขฐานอื่น เช่นฐานสิบหก เราต้องแปลงให้เป็นฐานสิบเสียก่อนนะครับเช่นใช้โปรแกรมCalculatorของWindowsในการแปลงก็ได้ครับ ค่อยนำRegisterที่แปลงแล้วมาใช้งานต่อ
เช่นจากรูป Phase1 Voltage 0x301 แปลงได้เป็น 769 เวลาเอาไปใช้ใน ICONICS OPC UA หรือ KEPware ก็ใช้เป็น 400000 + 769 = 400769 เนื่องจากเป็นHolding Register
4. ทดสอบติดต่อกับ SCADA เช่น GENESIS32
ในGENESIS32 เปิดโปรแกรม GraphWorX32ขึ้นมาเพื่อทดสอบ
นำ Process Point วางลงไปในพื่อนที่ว่าง
จะพบหน้าต่าง Unified Data Browser ให้คลิ้ก Data Tags.. เข้าไปเลือก OPC tag ที่เราต้องการ แล้วคลิ้ก OK
เข้าสู่โหมด Runtime โดยกดปุ่ม Ctrl + M
หมายเหตุ
กรณีใช้ ICONICS Modbus OPC Server ดังรูป จะไม่ต้องกำหนดAddress แบบเต็มเหมือน ICONICS OPC UA Server และจะมีตัวอย่างการคอนฟิกดังนี้
การกำหนดขนาด Block size เพื่อให้อุปกรณ์สามารถบริการข้อมูลได้ทัน ส่วนWord swap ใช้กรณี First word low/high ของข้อมูล 32 บิต