Home Solution(ถาม-ตอบ) แสดง Database Tag แบบ OPC โดยใช้วันที่ในการค้นหา (Advance GENESIS32)

EDA International ตัวแทนจำหน่ายเป็นทางการ ICONICS, PRElectronics, M-System, Graphon, ABB

ซอร์ฟแวร์ตรวจสอบ/บริหารงานอุตสาหกรรม วิศวกรรม SCADA/HMI (ICONICS GENESIS32/64), Report Solution, Cloud, อุปกรณ์วัดคุม แสดงผล เทอร์มินัล อุปกรณ์ป้องกันทางอิเล็คทรอนิกส์ 

แสดง Database Tag แบบ OPC โดยใช้วันที่ในการค้นหา (Advance GENESIS32)

 

ใน GENESIS32 SCADA มีความสามารถติดต่อกับข้อมูลในฐานข้อมูลต่าง ๆ เช่น MS SQL, MySQL, SAP, Oracle, MS Access และ ODBC, OLEDB อื่น ๆ เมื่อเรามีข้อมูลที่ใช้วันเวลาเป็น Primary Key ต้องการแสดงข้อมูลในคอลัมน์ใด ๆ ของ Database Table เหมือน OPC ก็มีเทคนิคในการแสดงข้อมูลผ่าน Data Mining ดังนี้ครับ

ปกติถ้าเรามีข้อมูลดังนี้

image

รูปที่ 1

จากตัวอย่างเป็นตารางเก็บระยะเวลาการทำงานของเครื่องจักร โดยสร้างแถวข้อมูลไว้ล่วงหน้า 10 ปี (3650 แถว) เมื่อเครื่องจักรเริ่มทำงาน GENESIS32 SCADA จะตรวจว่าทำงานไปแล้วเท่าใด(วินาที)แล้วเอาข้อมูลเวลาทำงานของเครื่องจักรนั้นบวกกลับเข้าไปในคอลัมน์ของเครื่องจักรนั้น ๆ (v1, v2,….) โดยใส่ให้ตรงกับวันที่ที่ทำงานอยู่

เมื่อต้องการเอาข้อมูลมาแสดงว่าเครื่องจักรแต่ละตัวทำงานนานเท่าใด เราสามารถใช้ GENESIS32 SCADA ดึงข้อมูลออกมาโดยแปลงเป็นชั่วโมงหรือ % KPI ได้จากการใช้ Expression (เช่นเวลาที่ทำงานหารด้วย 24 x 60 x 60) จะได้ % การทำงาน หรือ KPI ง่าย ๆ ตามที่ต้องการ

การเอาข้อมูลมาแสดงจะต้องใช้เงื่อนไขในการค้นหา ซึ่งในที่นี้คือคอลัมน์ Time_Date เช่นเครื่องจักร v1 ทำงานได้ 138 วินาที (ตัวอย่าง) ในวันที่ 1 มีนาคม 2555 เป็นต้น โดยเราจะทำได้แบบนี้ก็ต่อเมื่อไปสร้าง Data Mining Configurator เพื่อกำหนดเงื่อนไขในการค้นหา และคอลัมน์ที่ต้องการเอามาแสดง เทคนิคในการใช้เงื่อนไขการค้นหาคือ เราแยกวัน เดือน ปี ออก ไว้ในคอลัมน์แยกต่างหาก ดังตัวอย่างคอลัมน์ dy, mn, yr ซึ่งเราใช้ SQL Command ใน MS SQL Management Studio หรือ MSDE Database Manager ของ ICONICS ในการแยกวันที่ในคอลัมน์ Time_Date ออกมาดังนี้

UPDATE    KPI
SET              dy = DAY(Time_Date), mn = MONTH(Time_Date), yr = YEAR(Time_Date)

เท่านี้วันที่ทั้ง 3650 แถวก็จะแยกวันที่ เดือน ปี ใส่ในคอลัมน์ต่าง ๆ ให้

จากนั้นใน Data Mining Configurator ก็สร้าง Data Source ขึ้นมาเพื่อระบุใช้เงื่อนไขในการค้นหาข้อมูล โดยใช้คอลัมน์ dy, mn, yr ทั้งสามคอลัมน์ จากตาราง KPI ที่เก็บข้อมูลในรูปที่ 1

image

รูปที่ 2

เมื่อต้องการเอาข้อมูลไปแสดงใน GraphWorX32 หรือ AlarmWorX, TrendWorX และ SCADA อื่น ๆ เราก็ลิงค์ผ่าน Data Mining ของ GENESIS32 ดังตัวอย่างรูปที่ 3

image

รูปที่ 3

จากรูปที่ 3 เลือก Data Source ที่สร้างไว้ แล้วเลือก @@Column จะปรากฏ Tag ในช่องข้อความด้านบนเป็น

ICONICS.DatabaseOPCServer.3\KPI.TKPI<dy;mn;yr>.<Column>

ให้เราใส่ค่าแทน dy, mn, yr เป็นวันเดือนปี และระบุ Column ที่ต้องการ เช่น

ICONICS.DatabaseOPCServer.3\KPI.TKPI<1;3;2012>.<v2>

ซึ่งหมายถึงเอาค่า v2 ของวันที่ 1 เดือนมีนาคม 2555 มาแสดง

ถ้าเราต้องการให้ Tag นี้ใส่วันเวลาปัจจุบันให้เราเลย เราก็สามารถทำได้โดยไปสร้าง Data Source ใหม่ใน Data Mining ดังรูปที่ 4 ซึ่งเป็นแบบSQL Command แล้วคลิ้กปุ่ม Edit เพื่อใส่ SQL Command ที่จะได้ข้อมูลของวันปัจจุบันเท่านั้น

image

รูปที่ 4

จากนั้นเราก็สามารถลิงค์ข้อูลไปใช้ใน SCADA ได้ดังรูปที่ 5 ซึ่งในตัวอย่างเป็นการเอาข้อมูล v1 ของวันนี้ไปแสดง จะเห็นว่าเราว่างเงื่อนไขวันที่ไปเลย

image

รูปที่ 5

คุณสมบัติของ GENESIS32 SCADA ซึ่งมี Data Mining มาด้วยแล้ว ทำให้การเข้าถึงข้อมูลและนำไปใช้งานต่อ(แม้ด้วย SCADA ยี่ห้ออื่น) เป็นเรื่องง่ายครับ

 

สิ่งที่น่าสนใจ