GENESIS32 SCADA ติดต่อWeb Service

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

ชมเวอร์ชั่น VDO

ขั้นตอน

สร้าง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ดังรูปล่าง

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s