Saturday, September 18, 2010

Continuous Data Acquisition

           วิธีการที่เรานิยมเรียกว่า Circular Buffering หรืออาจเรียกได้อีกชื่อหนึ่งว่า Continuous Data Acquisition หรือ real-time Data Acquisition จะเป็นการให้ใช้ข้อมูลในระหว่างกระบวนการเก็บข้อมูลโดยไม่มีการขัดจังหวะการ เก็บข้อมูล วิธีการนี้จะเริ่มจากการกำหนดขนาดของ Buffer ที่แน่นอนล่วงหน้าไว้ก่อน จากนั้นจะเก็บข้อมูลชนิดวนไปเรื่อยๆ คือเริ่มเก็บข้อมูลไปจนกระทั่งเต็ม Buffer จากนั้นจะย้อนเริ่มกับมาเก็บที่จุดเริ่มต้นใหม่ โดยเขียนทับข้อมูลที่ใส่ไว้ในรอบที่ผ่านมาโดยไม่สนใขว่าจะมีการอ่านข้อมูล เหล่านั้นหรือยัง ดังนั้นโดยหลักการเราก็จะต้องอ่านข้อมูลที่เก็บไว้ใน Buffer ให้เสร็จสิ้นก่อนที่จะมีการเขียนข้อมูลทับของเก่าลงไป วิธีการนี้จะเกี่ยวข้องกับการใช้ Circular Buffer ดังที่แสดงในรูปต่อไปนี้



เริ่มจากเรากำหนดขนาดของ Circular Buffer จากนั้น DAQ Board จะเก็บข้อมูลและนำไปเก็บไว้ใน Buffer เมื่อ Buffer เต็ม Board ก็จะเริ่มเขียนข้อมูลใหม่จากจุดเริ่มต้นโดยเขียนทับข้อมูลเก่าที่เก็บไว้ในรอบก่อนหน้านี้ ไม่ว่าข้อมูลนี้จะถูกอ่านไปใช้หรือยัง กระบวนการนี้จะดำเนินต่อไป จนกระทั่งระบบเก็บข้อมูลได้ตามต้องการ หรือ LabVIEW ยกเลิกการทำงาน หรือเกิดความผิดพลาดขึ้น การทำ Continuous Data Acquisition นี้มีประโยชน์มากในการเขียนข้อมูลลงไปใน Disk เรื่อยๆ หรือแสดงผลข้อมูลตามเวลาจริง

1 comment:

Pacharaphon said...

อ่ารูปหายอะคับ กำลังหาจะต้องใช้งาน buffer

Post a Comment