ในScriptWorXเราสามารถให้สคริปต์รันแบบตามลำดับกันได้เพื่อประโยชน์ในการลดโหลดของแอพลคิชั่นที่เกี่ยวข้อง ยกตัวอย่างเช่นสลับกันอ่านค่าOPC tagคนละกลุุ่มเพื่อลดภาระของOPC Serverเป็นต้น
จากรูป Scriopt1 และ Script2 ทำงานห่างกัน5 วินาที และจะทำงานเป็นระยะทุก 15 วินาที เป็นอย่างนี้ไปเรื่อย ๆ
หากต้องการให้Sriptต่าง ๆ ทำงานเป็นลำดับดังข้างต้น ให้กำหนดเวลาเริ่มต้นในการทำงานของScriptแต่ละตัวให้ถัดกันไป นั่นคือเราาต้องใช้Time Triggerที่เริ่มทำงาน ณ เวลาที่ต่างกันแต่มีความถี่เท่ากัน จากรูปเป็นScriptซึ่งถูกสั่งการจากTriggerที่ทำงานทุก 10วินาที เราจะต้องเข้าไปดูรายละเอียดของTriggerตัวนี้ในUDM(Unified Data Manager)ว่าเริ่มงานณเวลาใด
จากรายละเอียดของTriggerดังแสดงจะพบว่าเริ่มทำงานที่วินาทีที่ 0 (Start time)
ดังนั้นถ้าเราจะให้Scriptตัวถัดไปทำงานห่างจากScriptแรก 5 วินาที แต่ทำงานซ้ำ ๆ ทุก 10 วินาทีเช่นเดียวกัน เราจะต้องสร้างTriggerขึ้นมาใช้งานอีกตัวหนึ่งแต่ต้องเปลี่ยนStart timeเป็น 00:00:05 ดังรูป (เราสามารถ Copy เดิมแล้วแก้ค่าStart timeได้)
จากนั้นนำTriggerที่สร้างขึ้นใหม่ไปใช้ควบคุมScriptที่ต้องการให้ทำงานถัดกันไป 5 วินาที แต่ยังคงทำงานทุก 10 วินาที ก็จะทำให้Scriptทั้งสองตัวทำงานไม่ตรงกันแต่มีรอบในการทำงานเท่ากัน ซึ่งช่วยให้ระบบทำงานได้ดีขึ้น และผู้ออกแบบสามารถจัดการลำดับการทำงานของScriptที่สัมพันธ์กันได้เช่นScriptที่ต้องรอผลลัพธ์จากScriptก่อนหน้าก่อน เป็นต้น
บทความโดย สุทธิพงษ์ เสนาถี
ไม่มีความคิดเห็น:
แสดงความคิดเห็น