« Close

Datasheets and User Guides

App Notes

Software & Driver

 

FAQ

40 comments

Having seen LabJack at a contractors we use I am looking to purchase either a U12 or UE9.  I believe the LabJack digital IO can function as an I2C bus master and presumably slave and that you can supply Visual basic drivers for these functions.  What maximum I2C clock speed will LabJack support?  Is it limited by the 50Hz per IO?  Thanks.  Martin.

Sounds like you are considering bit banging I2C from the application layer. I recommend using our I2C function. With the I2C function the clock is limited to about 50kHz. The actual maximum will vary between devices and can change with firmware versions. Other concurrent operations such as timers, counters, stream will also affect the maximum speed.

The LabJack U3, U6, and UE9 can function as a bus master, not a slave. The U12 does not have I2C support.

We provide a driver that can be called by VB and VB examples to work from. You can grab the examples here: http://labjack.com/support/ud/examples

 

VB or C# ?

Whats your recommendation ?

I had some experience programming in C before but I feel that VB has some better and resolved high level funtions like for GUI or humen interface or fylesystem managment ? or Am I Worng ?, on the other side VB doesnt have Byte or binary shift operators probaly a lot usefull in this application ?

C is more compact more clear for engineers.

In terms of language I know both are fully object oriented and only syntax is basically the difference.

In terms of support which one you support most ?

In terms of flexibility which one will be the best ?

In terms of speed ?

Which one to shoose if youa to start ?

Thanks

 

Between VB.net and C#.net, our preference would definitely be C#.  We feel like VB is old news and constrained by its origins and find it to be cumbersome and slow.  I have a theory that the main reason VB hangs around is that the "B" stands for "basic" and thus gives the false impression that VB is easier/simpler than other languages.

 

How labjack works in terms of external events ?

If I'm measuring something or controlling anything in a different I/O's and some other I/O has a Switch or signal that change the state for some ms like a pulse did I miss it in that time when I was controlling other stuff ? or remains the info some king of interrupt register or something ?

IF not, in that case how should I program in windows C or VB in a never ending While loop checking all inputs all the time ?

Where is it done in windows programming in the Load Form Event ? whih event is always running like that ?

Thanks

You have to look at the length of an event.  For events that last less than 1 ms, you need to use hardware to catch them, so that typically means using a timer or counter or stream mode.  For example, connect the switch to a counter which increments an internal hardware register for each falling edge it sees and your software can then read that register whenever convenient.  For longer events, you can consider whether you can poll fast enough even while doing other things, but it depends on the particulars.

Here you mention the poll fast enough, wher is this poll loop placed ina Windows Form application ? Which Windows event is a loop to poll constantly for events in the Labjack IO's ?

 

If you are using an event-driven language like VB, you might use a timer event.  For example, set the timer to 100 ms, and every time the event fires call eAIN (to read an analog input) and eDAC (to set an analog output).  For more programming specifics, move this discussion to the forum or email.

Hi...,

I've a question on this, in my case i'm using U3 with VB6 for encoding quadrature inputs. I've configured two timers for quadrature signal, so it starts to monitor and  increment or decrements as per signal. And i can read this value at any time.

After the configuration quadrature monitor, i am working on Some digital IO and Dac etc. and after some time i am reading quadrature value.

Is this works fine or working on other IOs will affect monitoring quadrature signal?

Thanks in advance..,

It's a question of processing power. The LabJack is reading your quadrature signals and processing USB packets. At some rate of incoming packets and quadrature pulses the processor will be overwhelmed and quadrature edges will be missed. If you stay within the edge rate specs and keep your polling down to around 10Hz it should be safe. It should would work at higher rates, but that is tough to determine.

How connect Labjack  U12 with Scilab ?

For Windows?  A better place for this question would be the U12 Windows Driver Documentation, the U12 Windows Examples, or the LabJack Forum.  I don't know of anyone using the U12 with Scilab, but the place to start would be by looking at the U12 Matlab support.

Also, moving forward, our newer devices (U3/U6/UE9) are more likely to have easy Scilab support.

Is this compatible with Python

Yes, we support Python.  Go to our main software page or directly to the LabJackPython page.

hi I need a temporary and cheap solution for my Motion device that's damaged. my main goal is to be able to measure physical dimensions in small components. need to: 1. capture 2 quadrature encoders and calculate some physical dimensions using Labview 2. read 2 analog signals from joysticks and command moves to my servos ( pulse/direction) Any clue if I can use the U6 as a temporary solution??

The U6 has 4 timers that can monitor 2 quadrature encoders, and has analog & digital I/O, so it does sound like a solution for you.  You might want to give us some information about speed of the inputs and outputs so we can comment on that.

Should be good then.  See Section 2.9.2 for the timer edge rate limits.

ok.. but do I need external hardware for this device to generate the pulses for my servo drive( Step/Direction) ????since all 4 timers would be reading the encoders????

You would be using all 4 timers for your 2 quadrature inputs.  That means you would do software commands to create the step pulses.  I think you would always use a software command to set the direction output high/low.

It takes roughly 1 ms to execute a command through software, and you could do a handful of pulses in 1 command, so that gives you and idea of the speed you could get making the steps in software.

Timers/counters are part of the DIO EF system on the new T7, and it looks like you can do quadrature on FIO2/3 & FIO6/7, leaving FIO0/4/5 available for PWM or pulse output.  So the T7 might be something to consider.

Hi,

We are planning to use LabJack on non-x86 processors, such ARM(android, etc)

Can we have support and drivers for Android Platforms?

Thanks in advance 

 

At this time, we only support USB on Windows, Mac, and Linux.  For other environments, the best option is to use the Ethernet interface on the T7 (or WiFi on the T7-Pro), as you can talk to the device directly using TCP and do not need any drivers.

Hi,

I tried downloading the drivers and software for my newly bought U6. The download seems to stop at 48.5Mb i.e 99% and gets downloaded after a while. Upon execution the file gives an error. Did it using various browsers but still the same issue. U6 is just sitting on my desk doing nothing. Please provide an alternate link or solution.

Thanks.

What is the time (expressed in seconds) referenced to in the LJLogger data file?

The timestamp is seconds since midnight January 1st (Universal Time), 1904.  See forum topic #9.

Hi, I just ordered 2 of the Digit-TL data loggers, and I have a (kinda dumb) question about the alarms. I'm using these for field research and don't want to use the alarms because these will be placed in animal habitats and I'm trying to be as un-intrusive as possible. Am I able to disable the use of any alarms/sounds while the loggers are collecting data?

There are no speakers or other sound-emitting electronics on the Digit-TL. The alarms (when triggered) will simply produce a different LED behavior when you plug it into a powered USB port.  Furthermore, the alarms are disabled by default, and it is fairly straightforward to turn them on/off within software.

Hi,

Recently, i've been using Labjack U3-LV and using Flowstone as a prog language. However, i found difficulty in configure the U3 UART for asynchronous communication in flowstone. Therefore, would u like to explain more about it? Additionally, is it possible for me to use 2 timers and U3 UART simultaneously? Thx :)

>> use USB<=>RS232 which connecting to the Arduino then it controls
>> digital input of U3 Labjack, is it make any sense?

No, that does not make sense to me.  Software sends some command out RS232, which goes to an Arduino, then the Arduino sets some of its digital outputs, which are connected to digital inputs on the U3, and software reads those digital inputs.  I don't see the point of that.  I suggest posting on our forum to discuss this further if needed.

>> Actually i need 4 DAC, as U3 only provides 2 DAC

Yes, you can use the 2 timers on the U3 to produce PWM output which you filter (providing 0-3.3V DACs), or you could buy an LJTick-DAC.  See Section 2.7.

Thank you for your fast respond, information and suggestion,.i'll try to figure it out and find the solution, thx :)

Hey guys i am trying to read the input value of the labjack AIN0 using the following code. It is connected to a voltage source with a constant 0.800 mV

The value it gives though is not very accurate and it fluctuates a lot

import u6, time

d = u6.U6()

d.getCalibrationData()

... <more code deleted>

If you need help with your python code I would suggest posting on our forum.  Perhaps try using d.getAIN(0) to get started.

First grab readings with AIN0 jumpered to GND.  You should get noise levels similar to what is in Appendix B.  Once you get that working correcting connect your signal wires back up to AIN0 and GND.

I just did that and by using d.getAIN(0) it reads the value of voltage but on my voltage source the value is 0.300 and the one shown on the computer is 0.295 is there any way to get a more accurate result ? i cant find anything on the forums.

Thanks for your help.

The U6 is very accurate, so most likely it is correct.  I suggest you jumper DAC0 to an analog input.  Set DAC0 to some voltage such as 3.0 volts.  Note the voltage reported by the U6, and at the same time use a DMM to measure the voltage from AINx to GND, and you should see that the match (except that the DMM is likely not as accurate as the U6).

For further troubleshooting I suggest starting a topic on our forum rather than posting comments on this FAQ page.

Hallo,

I try to execute LJTest.exe. Therfore I need Labview Runtime 6x.

I have no admin rights to install. On our system Labview 2012, 2013 is installed.

Where can i find the Ljtest.vi or Ljtest.exe for Labview 2012, 2013 ?

 

Thanks

Martin

 

LJtest.exe, an application for the LabJack U12, is compiled in LabVIEW 6.0.2 (or LabVIEW 7.1 in an upcoming U12 installer).  To run it you have to have the matching LabVIEW RTE installed:

http://www.ni.com/download/labview-run-time-engine-6.0.2/697/en/

http://www.ni.com/download/labview-run-time-engine-7.1/703/en/

Hello,

I was wondering which of your models had analog I/Os that could handle continuous +/- 15V and also atleast 20-30mA currents? Thank you very much.

I was remotely updating the firmware on a machine we have in Germany when the updater showed a error as he couldn't erase some page and suggested trying again. Done that, I lost completely comunication to the labjack EU9 so I can't restore any previous version or use the instrument attached to that is on a production site. 

The problem came when updating using the UE9control_226_04092012.bin. On the contrary the update using the UE9comm_158_10142013.bin went correctly.

Is there any way to get back control over the labjack?

The UE9 update process will sometimes need to be restarted, but it is very unlikely that the device became bricked or un-recoverable from an update.  Do any LEDs come on when the device receives power?  Can you open a connection to the UE9 using LJControlPanel or LJSelfUpgrade?  Try USB if you were previously using Ethernet, because Ethernet settings will be erased when updating from very old firmware versions.

Also, please read through the troubleshooting options listed on this page. http://labjack.com/support/ue9/users-guide/1.2

We purchased new T7 and I'm trying to configure using the examples.

I succeeded to change IP address of the device but I can't change the name using the same function as in the example:

 

                str = "SSB - 111";

                _LjmError = LJM.eWriteNameString(handle, "DEVICE_NAME_DEFAULT", str);

                _LjmError = LJM.eReadNameString(handle, "DEVICE_NAME_DEFAULT", ref str);

                Console.WriteLine("\nDevice NEW name : " + str);

 

I get the old name. 

If I'm using the Kipling app it is done well. 

Thanks

 

On the T7, a name change doesn't take effect until power cycle or reset.  To make it appear changed in Kipling, it stores a local copy of the new name(in addition to writing it to the device) so that users see the new name without a power cycle or reset.  This behavior is to prevent users from changing the name in a loop and breaking flash by exceeding the write endurance.  Rest assured that when you write a new name, the device will remember it, you just can't read the result until after a power cycle or reset.