
เราสามารถใช้Data MiningในGENESIS32 SCADA ติดต่อWeb Serviceได้ ทำให้สามารถใช้เป็นช่องทางติดต่อกับแอพพลิเคชั่นได้หลากหลาย เช่น ERP (SAP/ Microsoft Dynamic / ฯลฯ), IoT Server, .Net/Java Application Server, Controllerที่มีWeb Service และอื่นๆอีกมาก
ขั้นตอน
สร้างDatabase ConnectionในData Mining Configurator

ระบุSQL Serverที่เราจะใช้งานเพื่อรันSQL Command ในที่นี้ให้ใช้ MS SQL Server Express ที่ติดตั้งมาพร้อมกับGENESIS32 (ชื่อServer name อาจจะเป็น (local)\sqlexpress2017เป็นต้น ขึ้นอยู่กับเวอร์ชั่นที่ใช้) และระบุDatabaseที่จะใช้งาน ถ้าไม่รู้ว่าจะใช้Databaseอะไรก็สามารถใช้Northwind

สร้าง Datasource

ตั้งชื่อData Source แล้วเลือกSpecify Datasetแบบ SQL Command/Store Procedure แล้วคลิ้กEditเข้าไปสร้างSQL Commandตามตัวอย่าง
Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Exec sp_OACreate 'MSXML2.XMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'get',
'http://air4thai.pcd.go.th/services/getNewAQI_JSON.php?stationID=40t', --Your Web Service Url (invoked)
'false'
Exec sp_OAMethod @Object, 'send'
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Select * from OPENJSON(@ResponseText) WITH (
stationID NVARCHAR(10) '$.stationID',
nameEN NVARCHAR(50) '$.nameEN',
lat float '$.lat',
long float '$.long',
[date] NVARCHAR(20) '$.LastUpdate.date',
[time] NVARCHAR(20) '$.LastUpdate.time',
[PM25] int '$.LastUpdate.PM25.value' ,
[PM25Unit] NVARCHAR(10) '$.LastUpdate.PM25.unit'
)
Exec sp_OADestroy @Object
ตัวอย่างSQL Commandข้างต้นเป็นการอ่านWeb Service (REST)จาก http://air4thai.pcd.go.th/services/getNewAQI_JSON.php?stationID=40t ซึ่งจะมีข้อมูลดังแสดงข้างล่าง เราสามารถประยุกต์เปลี่ยนแปลงโค้ดตามเนื้อหาข้อมูลที่ได้รับโดยดูจากตัวอย่างSQL Commandข้างต้น เช่นในWeb Serviceนี้มีข้อมูล stationID, nameEN, PM25.value เป็นต้น ซึ่งใช้ในSQL Command เช่นโค้ด
[PM25] int '$.LastUpdate.PM25.value'
เป็นการเอาข้อมูลvalueในPM25มาสร้างเป็นคอลัมน์ชื่อ PM25 และกำหนดข้อมูลเป็นinteger


คลิ้กOK คลิ้ก Apply
ทดสอบโดยคลิ้ก Test SQL… แล้วคลิ้ก Test SQL Query จะได้ผลลัพธ์ใน SQL Query Result Preview

การนำข้อมูลไปใช้งาน
สามารถลิงค์Data Miningกับโมดูลต่างๆของGENESIS32เช่นGraphWorXก็แสดงข้อมูลบน ProcessPoint โดยระบุคอลันม์ที่ต้องการเช่น PM25

หรือแสดงบนData Gridดังรูปล่าง
