05-21-2007 06:09 AM
05-21-2007 07:34 AM - edited 05-21-2007 07:34 AM
Message Edited by mr_nice on 05-21-2007 07:35 AM
05-21-2007 07:59 AM - edited 05-21-2007 07:59 AM
I've got a couple of 9221 USB DAQs and can easily get 800KS/s out of them. I did get a similar error when I tried to sample at that rate on a USB1/USB1.1 speed port. It was connected to a USB2.0 PCI card but the USB2.0 PCI driver hadn't installed properly and I was only getting USB1 speeds. I tested it by transferring a 100MB file off a USB flash drive. If it takes more than about 10 seconds then your port probably isn't giving you 480Mb/s.
Once I got the driver installed properly it worked fine.
PS. haven't had a chance to look at your vi yet, just going off the top of my head.
Message Edited by Troy Kujawski on 05-22-2007 12:02 AM
05-21-2007 08:27 AM
05-21-2007 06:53 PM
05-22-2007 08:31 AM
Thanks Troy thought I would post my findings and my new application.
I read the two links below to understand this queueing system and have rebuilt the vi that I previously posted using the enqueue/dequeue functions in a producer-consumer architecture, and now it works at 12kS/s. Can someone please have a look to see if this is the correct way to make a vi with this queue functionality it seems to work lovely just not entirely sure if its correct.
http://zone.ni.com/devzone/cda/tut/p/id/5897
http://zone.ni.com/devzone/cda/tut/p/id/3023
05-22-2007 05:45 PM
05-23-2007 06:17 AM - edited 05-23-2007 06:17 AM
Ref: http://forums.ni.com/ni/board/message?board.id=170&message.id=246667
Thanks for all your help Troy I really appreciate it. Ok I am trying to make one last step now where I am trying to include two DAQ cards and acquire data. This is part of the another post that I want to make sure I include with this in order for people who are making the same LabVIEW journey as me to make it easier for them (I am also changing the message subject clightly to reflect this).
The VI I have included I beleive this is the most efficient method to aquire data as fast as possible without starting to have buffer overruns, I woudl appreciate any comments. I realise that I am not using write to binary but after having about ten posts I have never had the issue of how to append to binary answered (If my loops collects 1000 samples at 32 channels for 10 loops my ASCII collects 32x10000 but I only ever collect 32x1000 with binaray) therefore I have to stick with just writing ASCII files, if anyone ever wants to modify this VI so that I can push my data to binary and read back from it again I would be most grateful.
In this VI I have not used the getQueueStatus.vi because I am not sure exactly what it is for, I mean I understand that it must get the queue status but I am unsure how that is relevant in this application, any comments is it needed and if so where should it go and why.
Message Edited by mr_nice on 05-23-2007 06:18 AM
05-23-2007 11:34 AM
05-23-2007 06:48 PM