GENESIS64 Tip : เทคนิคการใช้ Timer

ถ้าต้องการใช้งาน Timer เพื่อทำงานบางอย่างซ้ำ ๆ กันตามจังหวะเวลาที่แน่นอน เช่น เขียนค่าไปยัง OPC tag หรือตัวแปร Simulation เราสามารถใช้ Checkbox ทำหน้าที่นี้ได้ดังนี้

 

ในตัวอย่างนี้จะแสดงการใช้ Checkbox เป็น Timer เพื่อเพิ่มค่าให้ตัวแปร Simulation ขึ้นทีละ 1 ทุก500มิลลิวินาที ให้เปิด GraphWorX64 แล้วนำ Processpoint ไปวางไว้ใน Workspace โดยลิงค์กับตัวแปร Simualtion ที่เราจะสร้างขึ้นมา(สร้างตัวแปรโดยการพิมพ์ชื่อไปเลย)ดังรูป จากรูปผมตั้งชื่อตัวแปรว่า test โดยเป็นแบบ Double และค่าสูงสุดอยู่ที่ 1000000000

 

image

 

เมื่อกำหนด Process Point เพื่อแสดงค่าให้รู้ว่ามีการเปลี่ยนแปลงเรียบร้อยแล้ว ให้เอา Checkbox จากแถบริบบอน Dynamics มาวาง

image

 

เลือก Pick Mode ของ Checkbox เป็น Write Value เลือก InitialClick เป็น True (เพื่อบังคับให้ Checkbox ถูกเลือกอัตโนมัติ) และเลือก Data Source เป็นตัวแปร Simulation ที่เราสร้างไว้ข้างต้น (test)

 

image

เลือก ExecuteWhileChecked เป็น True

กำหนด WhileCheckedInterval = 500 มิลลิวินาที

image

 

กำหนดค่าที่เขียนส่งให้ตัวแปร test โดยคลิ้กปุ่ม … ข้าง WhileCheckedValue

image

ที่แท็ป Expression คลิ้กปุ่ม Variables.. เพื่อเลือกสัญญาณ

image

เลือกตัวแปร test คลิ้ก OK

image

จะได้ตัวแปร test ในหน้า Expression

image

ให้บวกหนึ่งเข้าไป แล้วคลิ้ก OK

 

image

นั่นคือการบวกค่า 1 ให้กับ test ก่อนส่งค่าให้ test เอง (บวกค่าเพิ่มให้กับตัวเองทีละ 1 ) โดยเรากำหนด Data Source ของ Checkbox คือตัวแปร test และกำหนดค่าที่จะส่งให้คือ test + 1 นั่นเอง

คลิ้ก OK

ทดสอบรันโปรแกรมจะพบว่าค่าของตัวแปรจะเพิ่มขึ้นทุก 500 มิลลิวินาที

 

ทิปอีกอย่างหนึ่งถ้าต้องการใช้งาน Timer หลาย ๆ ตัวใน Checkbox ตัวเดียวก็ทำได้โดยทำการคัดลอก Dynamic ของ Checkbox ที่มีอยู่แล้วดังรูป

image

จากรูปเป็นตัวอย่างการใช้ Timer (Dynamic Pick แบบ Write Value) หรือแม้แต่ Dynamic อย่างอื่น ๆ หลาย ๆ แบบใน Checkbox ตัวเดียว โดยคลิ้กที่ไอคอน Duplicate selected dynamic จากนั้นเข้าไปแก้ไข Dynamic ตัวใหม่ที่คัดลอกขึ้นมาเพื่อเปลี่ยนพารามิเตอร์ต่าง ๆ เช่น WhileCheckedInterval ให้มีระยะเวลาการทำงานต่างออกไป รวมทั้ง DataSource และWhileCheckedValue(ค่าที่จะส่ง)เป็นต้น และเราสามารถเปลี่ยนชื่อDynamic Pickให้มีชื่อต่างๆกันออกไปตามแต่หน้าที่ได้อีกด้วย

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

Google+ photo

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

Connecting to %s