FieldPoint Family

cancel
Showing results for 
Search instead for 
Did you mean: 

Sampling interval not respected

I have a software loop in a VI running at the highest priority sending buffers to a storage task running at a lower priority through a Message Queue. The stored data shows missed samples. Can a write operation to a queue lead to the loss of a buffer or can it block the calling VI for a short time ?

I have another question concerning write accesses to the embedded flash, are there deterministic (for a fixed amount of data equal to 512 bytes) ? If so, what is the upper bound of the time taken to perform this operation ?
0 Kudos
Message 1 of 2
(3,050 Views)
Hello,

In order to use a queue to pass data between an Enqueue loop (producing data) and a Dequeue loop (consuming data), you will need to control the speed of the 2 processes. If both loops run at the same speed, the queue does not fill up.
When the Enqueue loop runs fast and the Dequeue loop runs slow, the queue quickly fills up and the Enqueue loop must wait for the Dequeue loop to remove elements.
If the Enqueue loop runs slow and the Dequeue loop runs fast, the queue is quickly emptied and the Dequeue loop must wait for the Enqueue loop to insert elements.

Concerning your question on file I/O performance, you will find below an application note dealing with this subject:
* Optimizing File I/O in LabVIEW and LabVIEW RT
http://zone.ni.com/devzone/con
ceptd.nsf/webmain/7134EFC95243E39286256AE2004F9386
and an example of programming:
* Fast File Writing in LabVIEW Real-Time
http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3E19D56A4E034080020E74861&p_node=174823&p_source=external

Sincerely.
Matthieu Gourssies
0 Kudos
Message 2 of 2
(3,050 Views)