Search the Community

Showing results for tags 'LabJack'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • DAQFactory
    • Alarming
    • Channels, Conversions and general data acquisition
    • Graphing
    • Logging
    • Modbus
    • Networking: web, email, FTP etc.
    • PID
    • Screen Components and User Interface
    • Sequences and scripting
    • Serial Communications
    • General DAQFactory
    • DAQFactory and the LabJack
    • DAQFactory Express
    • DAQConnect
    • DAQFactory New Feature Requests
    • The DAQFactory Guru's Articles
    • DAQFactory Newletters

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 10 results

  1. I am encountering erroneous frequency data when reading frequency with labjack T4. I am using DAQ factory express. Initially I encountered this in a real application, but I have been able to duplicate it in a simple .ctl, which is attached. I am reading frquency on FIO4 using the time interval method (time between rising edges). I display the result (after some calculations) and also graph the result. I am also sampling three analog channels. In experimentation I have noticed that the problem seems to go away when I delete the three analog channels. Is there any reason why the analog read operations would interfere with the read to FIO4? As far as my test setup goes, I am testing using a function generator to supply 100 Hz square wave to FIO4. I have probed it with an oscilloscope and it is a very clean signal. I do not suspect noise is any part of the problem. I have tried it on two T4 devices, and they both behaved the same way. I also attached a screenshot of the ctl file "in action." RPM is calculated from the FIO4. Basically RPM is proportional to frequency. The correct result SHOULD be 600 RPM. But often I see much higher frequencies (corresponding to shorter intervals) which are not correct. Any help or suggestions would be much appreciated. quick_freq_test_with_ADC.ctl
  2. I start DAQFactory with a specific LabJack U3-HV and receive the following error message The Labjack is setup with two Dig Out channels: 6 and 7 (screenshot attached). What is DF trying to tell me? Is my LabJack broken? Is DAQFactory broken? (This is DAQFactory Base 5.87c Build 2050 running on Windows 7 Ultimate x64. I would upgrade all of this, if it was permitted.)
  3. Hello all, I'm trying to measure a 0-40mV signal with a differential setting using channels AIN2 and AIN3 in addition to measuring a 0-5V signal on AIN1. I've read tutorials but can't seem to get my 100 gain setting for channels 2 and 3 to work, the output I'm getting doesn't seem to be multiplied by 100. I pulled the following code from a combination of tutorials, could someone troubleshoot this? From //Configure all analog inputs for max resolution. Like most //settings, this will apply to all further measurements until //the parameter is changed or the DLL unloaded. AddRequest (lngHandle, LJ_ioPUT_CONFIG, LJ_chAIN_RESOLUTION, 12, 0, 0); //Configure AIN1 for +/- 10 volt range. AddRequest (lngHandle, LJ_ioPUT_AIN_RANGE, 1, LJ_rgBIP10V, 0, 0); //Configure AIN2 for +/- 0.1 volt range. This applies to any //reading, single-ended or differential, where the positive //channel is AIN2. AddRequest (lngHandle, LJ_ioPUT_AIN_RANGE, 2, LJ_rgBIPP1V, 0, 0); //Request a single-ended read from AIN1. AddRequest (lngHandle, LJ_ioGET_AIN, 1, 0, 0, 0); //Request a differential read of AIN2-AIN3. AddRequest (lngHandle, LJ_ioGET_AIN_DIFF, 2, 0, 3, 0); //Request a single-ended read of AIN2. Here we use the DIFF //IOType, but pass x1=199 which does a single-ended measurement. AddRequest (lngHandle, LJ_ioGET_AIN_DIFF, 2, 0, 199, 0); //Execute the requests. GoOne (lngHandle); //Since multiple requests were made with the same IOType //and Channel, and only x1 was different, GetFirst/GetNext //must be used to retrieve the results. The simple //GetResult function does not use the x1 parameter and //thus there is no way to specify which result is desired. //Rather than specifying the IOType and Channel of the //result to be read, the GetFirst/GetNext functions retrieve //the results in order. Normally, GetFirst/GetNext are best //used in a loop, but here they are simply called in succession. //Retrieve AIN1 voltage. GetFirstResult returns the IOType, //Channel, Value, x1, and UserData from the first request. //In this example we are just retrieving the results in order //and Value is the only parameter we need. GetFirstResult (lngHandle, 0, 0, &dblValue, 0, 0); //Get the AIN2-AIN3 voltage. GetNextResult (lngHandle, 0, 0, &dblValue, 0, 0); //Get the AIN2. GetNextResult (lngHandle, 0, 0, &dblValue, 0, 0);
  4. I'm having trouble in my project when reading some channels in a sequence at load time. The Channels are set up, but none of the A to D channels are set to read automatically (I just want to read at specific times). Basically when my init sequence runs I get an error such as "Request made on pin not properly configured for analog/digital". The sequence contains about half a dozen Read() commands on various inputs and an assortment of digital output settings. Now, since the initialization sequence failed I'll restart it manually, and get similar results but it gets a few commands further before giving an error. I'll do it again, and everything seems to go fine but one of my digital outputs is in the wrong state (always the same one). Then, running it a 4th or 5th time, everything goes fine. This only happens when the LabJack hasn't been used since being plugged in (i.e. I can restart the whole project after it works and it'll work the first time). The biggest problem I have is that I can't even catch all of these issues with OnAlert (to fully automate the retry process). On the last time through an output is in the wrong state so I get no alert. Why does it take so many attempts to get this working? I have a debug/testing project I set up with the same Channel list as my main project. This other one DOES automatically poll certain channels. When I plug in the LabJack while it's running I get the similar "Request made on pin not properly configured for analog/digital" errors for several reads before they go away. The issue seems to be based on the number of attempted reads rather than real time. I.e. in the first example if I wait a full minute between retries it still takes 4 or 5 times through my init sequence. If the failed reads aren't something I can fix altogether, I need some way to programmatically get to the point where all my I/Os operate as expected, and to know for sure that I'm there.
  5. steveandrews

    Device Error Handling

    Hi, I want to catch the device errors thrown by Daqfactory when a labjack is disconnected or not present on startup. I have some startup code that autoruns and initiates the labjack etc. I want this code to try to communicate and catch the device error if no labjack is present and display a message box saying the labjack should be plugged in etc. Then when the message box is 'ok'd', it tries to run the startup sequence again. I also want to catch the error when it's disconnected whilst running, although in this case it will reconnect automatically but I would stop a sequence running and display a message. The error code is D0050:01:1007 for no labjack found - i assume the 01 is the device number and the last 4 digits the unique code. It's 1015 for labjack disconnected. I know how to catch 'C' errors and display messages etc. I have tried catch("D0050") and catch ("D0050:01:1007") with no luck. Any tips? Cheers Steve
  6. We are using ethernet cabled LabJack T7 devices (channels and streaming) and found that the device identifier (IP address in my case) seems to associate with some internal handle used to initially open the device with that identifier. If there is a short network error (or remote T7 power failure) and reconnection fails, LabJack reports LJME_RECONNECT_FAILED. However, at this point DF can no longer reconnect to the device. I cannot find a way to reopen the device using the same IP identifier, since it remains associated with the now non-working handle. I must close/reopen my .ctl file. If I setup my own extern methods to call into the LabJackM library, I can use 'LJM_Open' to obtain a new handle and even call other helpful methods such as 'LJM_eReadAddresses' as needed. If I receive a connection error, I can close / reopen the device and obtain a new handle. However, streaming methods in the library seems to require special support which I may not be able to create myself with this extern method (and DAQFactory already has nice methods for this, as in the LJM_Stream example). Is there some way to reset any DAQFactory mapping between 'identifier' and its internal LJM_Open handle? Or, is there some way to force close/reopen of the device again? I tried Channel.Reset(), and creating a new Channel, but it did not work (and certainly not for LJM_eWriteName methods). Once such a device error occurs, DAQFactory seems to attempt using the same handle for the given identifier. You can duplicate the problem by setting up an extern method to manually call LJM_Close on DF's handle (or LJM_CloseAll). While not totally fair to DF, it does show that once the driver handle goes bad, DF cannot reconnect to the device using the same device identifier (e.g. IP address). Since it's possible that a wireless T7 may experience such troubles, it would be important to have a reconnection after failure procedure that does not require rebooting the DF application. Thanks for your comments.
  7. Hi, I am trying to display 2 different values from the same input in DF. Using 2 different channels, one of them has the built in 'Conversion: Thermocouple' selected and the other does not. I want to display the converted temperature reading and the raw voltage reading at the same time using the built in converter equation for the temp channel. However, when this is implemented, the channel that does not have the conversion selected is automatically converted to the temperature value. Is there a way around this that would easily let me display both values without hard-coding the conversion equation. -Using DF 5.91 with a Labjack U6-PRO and a type J Thermocouple. In picture the 2 channels in question are RAWVOLTAGE and Temperature.
  8. New to LabJack, Azeotech and Lua, I have just written a Lua script to average N pulse-width measurements taken every ms; each time N (typ 1000) is reached it calculates the average and updates a register in Lua IO Memory for DaqFactory to read and plot. I also want to be able to update N in Lua IO Memory with a DaqFactory Variable Value Component: Set To action from the Graph page. My Lua script works but I do not yet know how to go about accessing these shared registers from DaqFactory.
  9. burt4munger

    Labjack T7 Support

    I was checking to see if the new compiler DAQFactory version 5.90 supports the T7. I don't see it listed in the device list, there is no reference to T7 under help, and it doesn't seem to just connect using the USB driver. This forum prevents searching using the term "T7" so I can't really see if there is already an answer. Also, what is the status of the buggenie tracking for the new version? It doesn't seem to have been updated in a long while. Should new compiler issues and suggestions go in this forum under New Features?
  10. While trying to recover from the issue in this thread: I exported (working) LabJack channels from a backup project and imported them into the main one. The list gets populated correctly and everything looks fine, but when read the A to D channels show an integer value. Looks like the automatic conversion to floating point volts isn't happening. If I add the channels one at a time manually they behave normally, so that will work for the time being. Attached is the channel export and a screenshot of the table. (renamed the channels to .txt to allow upload) lt-channels.txt