เราสามารถใช้ GENESIS32 SCADA เรียกใช้ Web Service ผ่านอินเทอร์เน็ตได้ ประโยชน์ก็คือขยายความสามารถของ GENESIS32 ให้ใช้ Web Service ที่พัฒนาขึ้นมาเอง หรือมีให้ใช้งานในเครือข่ายทั้ง Internet และ Ethernet ได้
จากรูป เป็นตัวอย่างการอ่านค่าสภาพอากาศโดยกรอกชื่อเมืองชื่อประเทศแล้วคลิ้ก Get Weather Info โดยใช้ Web Service จาก http://www.webservicex.net/globalweather.asmx ซึ่งเป็น Web Service ฟรี (ทั้งนี้ท่านสามารถดู Web Service ฟรีอื่น ๆ ได้จาก http://www.webservicex.net/ws/default.aspx
ก่อนใช้งานตัวอย่างนี้จะต้องตรวจสอบก่อนว่าในคอมพิวเตอร์มีไลบรารี่ของ Microsoft คือ Microsoft Soap Type Library v3.0 และ Microsoft XML โดยในหน้า VBA Editor (คลิ้ก Alt + F11 เพื่อเปิดหน้า VBA Editor) ใส่เครื่องหมายถูกเพื่อทำการเลือกหน้า Library ทั้งสองตัว แล้วคลิ้ก OK แต่ถ้าไม่มีอยู่ในรายการสามารถดาวน์โหลด Microsoft Soap Kit ได้จาก http://microsoft-soap-toolkit.iwdownload.com/ และดาวน์โหลด Microsoft XML จาก http://www.microsoft.com/en-us/download/details.aspx?id=3988
จากนั้นทดสอบรันโปรแกรม GraphWorX จากไฟล์ตัวอย่างที่ดาวน์โหลดมา
อธิบายโค้ด
ส่วนที่สำคัญของโค้ดมีอยู่สองส่วนคือ ส่วนที่ระบุว่าจะใช้ Web Service จาก URL ไหน และส่วนที่เอาข้อมูลมาแสดง
ส่วนที่ระบุว่าจะใช้ Web Service จาก URL ไหน คือโค้ดสองบรรทัดนี้
บรรทัดแรกเป็นการระบุ URL ส่วนบรรทัดที่สองเป็นการส่งพารามิเตอร์คือชื่อเมือง ชื่อประเทศ จาก textBox ชื่อ txtCity และ txtCountry ส่งให้ Web Service ผ่านเมธอดชื่อ GetWeather
แล้วเราจะรู้ได้อย่างไรว่า Web Service นี้มีเมธอดชื่ออะไร?
เรารู้ได้จากข้อมูลของ Web Service นั้น ๆ เช่นเมื่อคลิ้กลิงค์ http://www.webservicex.net/globalweather.asmx ก็จะพบหน้าแสดงเมธอดทั้งหมดของ Web Service นี้ดังรูป
เมื่อคลิ้กเมธอด GetWeather จะพบคำอธิบายดังรูป
เราจะเห็นว่าต้องใส่พารามิเตอร์ 2 ค่าคือ CityName และ CountryName
ส่วนเอาข้อมูลมาแสดง
จากตัวอย่างโค้ดเป็นการเอาค่าอุณหภูมิมาแสดงใน Label ที่ชื่อ temp ใน GraphWorX32
ทำไมต้องเป็น objElem.childNodes(5) ?
นั่นก็เพราะข้อมูลที่ได้จากเมธอดนี้มีหลายตัวตั้งแต่ลำดับที่ 0 ถึง 10 รวม 11 ค่า โดยค่าอุณหภูมิจะอยู่ลำดับที่ 5
จากตัวอย่างผมแสดงค่าทั้งหมดใน Textbox ดังรูปแรกสุดของบทความนี้
การใช้ Web Service เป็นการนำแอพลิเคชั่นมาใช้งานได้ง่ายโดยไม่ต้องสร้างใหม่ สะดวกในการใช้ ผ่านเครือข่ายได้ง่ายไม่ยุ่งยากด้าน Security นอกจากเอามาใช้เพื่อรับ/ส่งข้อมูลยังใช้งานอื่น ๆ ได้เช่นส่ง SMS (http://www.webservicex.net/sendsmsworld.asmx) แสดงข้อมูลสำคัญจากระบบ ERP, กระบวนการผลิตอื่น ฯลฯ