LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to do fifo in labview?

Hi Nishant,
 
If i understood it right, it give data of each channel - row wise ( since you said ' if the End Channel no is 4 and samples/ch is 10, then it will give 5 rows and 10columns' it means channel data is 'row wise' as each row corresponds to one channel's data)
 
Ok look at the Modified Vi i Have attache.
it should do the trick
 
( note if it still does not work, just see if i am indexing out the row data correctly)
 
regards
 
Dev
0 Kudos
Message 31 of 50
(1,370 Views)

Hiii, Dev

               Here i ve done the modification in your VI, but one big mistake is i am erasing the data which is coming inspite of the 1st record, can you suggest me the solution for that, bcoz if i am selecting the 0th row, it doesnt do that, it is erasing the last column's last n records, which i dont want, here i am sending you the vi in which i am writing 2 files, 1 normal and 1 for the FIFO(which is not happening),so please modify, if youo can.

Thanks,

Nishant

Message 32 of 50
(1,362 Views)

Hi Nishant,

You have missed out on two things.

1. The shift register logic to realise FIFO.

2. The true condition insert and delete logic.

Just incorporate these two features as i have shown in the VI titled '2026_ScanMultAD_32chs_filewrite13_1.vi' that you will find in the previous posts.

It will work

Regards

Dev

 

 

Message Edited by devchander on 12-19-2005 06:01 AM

0 Kudos
Message 33 of 50
(1,359 Views)
I've pasted a screenshot of my VI. This should help you build it. Hope this helps.

Kudos are the best way to say thanks 🙂
0 Kudos
Message 34 of 50
(1,370 Views)

Hiii, Dev,

             Y'day after i mail u, i realise the logic about inserting and deleting, and if suppose i ll insert ur logic of shift register what it will do is, as number increases from the shift register,the number between 2 timestamps(mean if s.r. count is 0 the time stamp is at next sample, if s.r. count is 1, time stamp is left out in the 1 sample, if 2, left out in 2 samples, thats why i ve delete the shift register logic, but as u told i ll again try it differrently with shift register logic.

Thanks,

Nishant 

Message 35 of 50
(1,366 Views)

Thanks Max,

               I ve try to implement wat u ve shown me but there is a problem in the vi, when trying to flush the buffer and getting the data output,it shows the error as shown in the figure.

Thanks,
Nishant
Message 36 of 50
(1,361 Views)

Hii Dev,

           Can you please tel me that how much time while loop is taking in the LV to execute? is it exceeding 10 msecs, or is it below that? please answer me asap, i am so keane about that, coz i am taking the data from PCI card and writing it to the excel sheet, it has the resolution 15msecs, and we require the min of 10 msecs. so pleaseSmiley SadSmiley Mad answer me.

Thanks,

Nishant

Message 37 of 50
(1,334 Views)
Ok, can you post your code here ? I need to have a look at it because mine works perfectly fine. I bet there is a mismatch in the type of data.

Kudos are the best way to say thanks 🙂
0 Kudos
Message 38 of 50
(1,343 Views)

Hiiii,

          Here I am sending you the code.

Thanks,

Nishant

Message 39 of 50
(1,337 Views)

Couple of things.

1. In the case TRUE statement, u need a dequeue. You've used a get status. We need to dequeue the elements if the buffer size is more than what you specified.

2. In the case FALSE statement, you need to wire the queue refnum, and the error. False statement denotes that your buffer is not full and you continue to enqueue the elements.


Kudos are the best way to say thanks 🙂
0 Kudos
Message 40 of 50
(1,329 Views)