Jump to content

As of July 17, 2015, the LabJack forums here at forums.labjack.com are shut down. New registrations, topics, and replies are disabled. All forums are in a read-only state for archive purposes.

Please visit our current forums at labjack.com/forums to view and make new posts. To post on the current forums, use your labjack.com login account. Your old LabJack forums login credentials have been retired. There are no longer separate logins for labjack.com and LabJack forums.


Photo

U6 Stream vs eAIN


  • Please log in to reply
4 replies to this topic

#1 stein

stein
  • Members
  • 2 posts

Posted 01 April 2014 - 06:23 PM

Hi, I've been testing the U6-Pro for weighing at high speeds (4+ objects/second), it is amplified with inamp for measuring 4 load cells.
The software used is Labview, load cells are 5kg rated 2mv/v and precision below 5 grams is desirable at about 4 objects per second.
However, with the U6 eAIN example I’ve accomplished a 10-20 grams precision at resolution 10 (11 is too slow). After testing stream functions, they seem to give better precision but are harder to implement and execution errors are persistent.
The program also uses a U6 counter to know when to meassure (through an inductive sensor), but I’ve not been able to implement stream functions succesfully to the program, only the less precise eAIN, which also deliver less scans/second.
 
It is easier to receive a count (pulse) and meassure with eAIN, but when I program it to receive a count (pulse) and start the stream, according to the pulse, labjack sends error.
 
Also, which example would you recommend for this application of the U6-Pro?

 

Regards



#2 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 02 April 2014 - 07:24 AM

You can read about command-response mode and stream mode here:

 

http://labjack.com/s...6/users-guide/3

 

 

What are you using for excitation for your 4 load cells?

 

Since you have the LJTIAs as pre-amps, are you using the +/-10V range on the U6-Pro (gain=1)?

 

If you are using the +/-10V range, then to acquire 4 channels in <250ms the maximum ResolutionIndex you can use in command-response mode is 10:

 

http://labjack.com/s...users-guide/3.1

 

In stream mode, you can't use the hi-resolution converter, so the max ResolutionIndex is 8:

 

http://labjack.com/s...users-guide/3.2

 

To see the expected noise level see Appendix B.  You should be able to recreate these numbers if you test with a grounded channel:

 

http://labjack.com/s...uide/appendix-b

 

 

 

So I suggest you use command-response mode.  I suggest you use a single Add/Go/Get block:

 

http://labjack.com/s...users-guide/4.1

 

... where you do 4x iotypes LJ_ioGET_AIN or LJ_ioGET_AIN_DIFF and 1x iotype LJ_ioGET_COUNTER.  In LabVIEW, start with "U6 Multiple IO Example.vi", or for something with a loop look at "U3 Multiple IO Example Loop.vi".



#3 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 02 April 2014 - 07:52 AM

Here is a new example "U6 Multiple IO Example Loop.vi" that would be a good starting place for you.

Attached Files



#4 stein

stein
  • Members
  • 2 posts

Posted 02 April 2014 - 08:26 AM

Hi the excitation voltage is the pre amp 2.5 volts, and yes the range is  +/-10V.

I've been using the U6 eAIN example,which works, should I change it to U6 Multiple IO? If I reduce the number of channels to two could it reduce the 250ms? How do I do it? with IOtypes?

 

Also I include an image of my IO code

Attached Thumbnails

  • Captura.JPG


#5 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 03 April 2014 - 04:22 PM

Your code generally looks OK, but my first observation is that you have split the error cluster.  This makes it difficult to follow the data flow and determine where an error came from.  I suggest you wire the error cluster in series only.

 

Look at the loop example I posted above and follow these guidelines demonstrated in the example:

 

  1.  Error cluster is in series only.  No splits.

  2.  When error cluster passes in/out loop use a shift register.

  3.  Stop loop if there is an error.

  4.  User ErrorToString when done to interpret error.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users