GENESIS64 SCADA : ต้องการเรียกโปรแกรมภายนอกเมื่อมีเหตุการณ์ตรงตามเงื่อนไข

หากต้องการให้GENESSIS64 สั่งงานโปรแกรมภายนอกเช่นExcel, Notepad, Word, bat, exe, ฯลฯ เมื่อเงื่อนไขที่เรากำหนดนั้นเป็นจริงขึ้นมาจะต้องทำอย่างไร?

คำตอบ :

แม้ว่าGENESIS64จะมีBridgworXและWorkflowมาให้แต่ก็ไม่สามารถสั่งงานเรียกโปรแกรมภายนอกได้ เรามีสองทางเลือกเพื่อสั่งงานโปรแกรมภายนอกเมื่อเหตุการณ์เป็นไปตามเงื่อนไข เช่นเมื่อสัญญาณเปลี่ยนแปลงตรงตามที่กำหนด

ทางเลือกที่หนึ่ง คือใช้GraphWorX64โดยวางCheckboxให้ทำงานแบบTimerและตรวจสอบเงื่อนไขเมื่อเงื่อนไขเป็นจริงก็สั่งงานไปยังโปรแกรมด้วยCommandคือ Start Application ซึ่งสามารถกำหนดArgumentsเช่นพารามิเตอร์ของโปรแกรมได้ เช่นเรียกโปรแกรม Notepad ให้เปิดไฟล์ test.txt ที่อยู่ใน C:\HHLog ซึ่งต้องเซตCheckWhen PropertyและData Sourceให้เหมาะสมเพื่อให้ทำงานเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้นไม่ต้องทำงานซ้ำๆขณะที่ไม่มีการเปลี่ยนแปลง

ทางเลือกที่สอง คือใช้ ScriptWorX64 ซึ่งยืดหยุ่นกว่า

(ScriptWorX64ต้องติดตั้งเพิ่มเนื่องจากไม่ได้ถูกติดตั้งมาโดยอัตโนมัติ สามารถติดตั้งจากตัวติดตั้งของGENESIS64ได้เลย และมีไลเซนส์มาพร้อมกับGENESIS64แล้ว) มีข้อดีกว่าทางเลือกแรกเนื่องจากสามารถใช้Triggerมาสั่งงานได้ ซึ่งTriggerจะทำงานเฉพาะเมื่อมีการเปลี่ยนแปลงและเงื่อนไขตรงตามที่กำหนดจึงไม่ต้องมาหาวิธีป้องกันการสั่งงานซ้ำเมื่อยังไม่มีการเปลี่ยนแปลง ยิ่งกว่านั้นยังมีTriggerหลากหลายแบบให้ใช้ การทำงานของTriggerและScriptWorX64จะเหมือนScriptWorXในGENESIS32 และทำงานอยู่เบื้องหลังแบบServiceได้ ตัวอย่างการใช้TriggerของScriptWorXในGENESIS32 และสามารถใช้Alarm/EventของAlarmWorXมาเป็นเงื่อนไขได้ เมื่อต้องการยกเลิกการทำงานของScriptWorXส่วนScriptใดๆก็สามารถDisableได้ ส่วนหลักการของScriptก็คือโค้ด VBA ที่ใช้คำสั่ง shell เช่น

Shell "C:\Windows\notepad.exe C:\HHLog\test.txt"

ข้อมูลการติดตั้ง ScriptWorX64

ซื้อ OPC / SCADA ที่ www.eda.co.th และ www.edagroups.com

Advertisement
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 )

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