แสดงวิธีการใช้Store ProcedureในMS SQL Serverเพื่อคำนวนค่าAverageและSummary แล้วนำมาใช้ใน ICONICS OPC UA Server
สมมุติมีตารางข้อมูลปกติที่ต้องการคำนวน Average
และต้องการนำข้อมูล Average ไปใส่ในตาราง A2 ซึ่งมีคอลัมน์ date_time (datetime) และ v (float) โดยเป็นค่า Average ทุก 30 นาที
เราจะสร้าง Store Procedure ดังนี้
CREATE PROCEDURE calAvg
AS
INSERT INTO A2
SELECT getdate() as dt
,AVG(v1) as avgKWH
FROM [test].[dbo].[A1]
where date_time between DATEADD(n,-30,getdate()) and getdate()
Group by convert(varchar, date_time, 101)
GO
การนำStore Procedureไปใช้ใน ICONICS OPC UA Server
สร้าง OPC Configโดยใช้Driver = ODBC Client ไปยัง Store Procedureดังกล่าว (วิธีการใช้งาน ICONCIS OPC UA)
แล้วใช้Unified Data Mining ส่งค่า 1 ไปยัง tag Execute ของOPC ที่สร้างไว้ทุกช่วง 30นาที
จะทำให้ข้อมูลถูกเก็บไปไว้ในตาราง A2 แบบค่า Average ทถุก 30 นาที
ส่วนกรณี SUM ด้วย Average ด้วยก็สามารถใช้
CREATE PROCEDURE calAvg
AS
INSERT INTO A2
SELECT getdate() as dt
,SUM(v1) as sumKWH, AVG(v1) as avgKWH
FROM [test].[dbo].[A1]
where date_time between DATEADD(n,-30,getdate()) and getdate()
Group by convert(varchar, date_time, 101)
โดยตาราง A2 ต้องมี 3 คอลัมน์เพื่อเก็บ date_time, ค่าSum, ค่าavg ด้วยตามลำดับครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น