Home
GENESIS32 SCADA ติดต่อWeb Service PDF Print E-mail
Written by Administrator   
Wednesday, 16 December 2020 18:45

เราสามารถใช้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ดังรูปล่าง

 


Last Updated ( Wednesday, 16 December 2020 23:57 )
 

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

imageเขียนโค้ดง่ายๆให้ SCADA พูด

**สงวนลิขสิทธิ์ทั้งหมด โดย EDA International LTD.
สงวนลิขสิทธิ์ทั้งหมด ทุกข้อความ รูปภาพ งานกราฟฟิค และภาพเคลื่อนไหว ที่ปรากฎอยู่บนหน้าเว็บไซต์ อยู่ภายใต้การสงวนลิขสิทธิ์และได้รับการคุ้มครองตามกฎหมาย ไม่อนุญาต ให้ทำซ้ำ คัดลอก ดัดแปลง ส่วนหนึ่งส่วนใดหรือทั้งหมด โดยมิได้รับอนุญาตเป็นลายลักษณ์อักษรจากบริษัทฯ