

LabJackSupport
Members-
Content Count
110 -
Joined
-
Last visited
Community Reputation
0 NeutralAbout LabJackSupport
-
Rank
Advanced Member
Recent Profile Visitors
-
LabJackSupport started following Assigning device numbers to multiple Tx Labjacks?, erroneous data when reading frequency with Labjack T4, Increasing sampling frequency and and 1 other
-
erroneous data when reading frequency with Labjack T4
LabJackSupport replied to McKenzie's topic in Channels, Conversions and general data acquisition
Reading the AIN should not influence the digital features of the T4 unless you are using stream mode, in which case your maximum edge rate would drop. Before anything else, please ensure you are using the most recent release version of firmware. This is easiest to check using the Device Updater tab of Kipling. Also install the latest version of LJM. See our LJM installer page: https://labjack.com/support/software/installers/ljm I would recommend you start troubleshooting by closing DAQFactory and configuring the frequency in feature in Kipling as described in the guide below. Add your AIN channels to the active registers just so that everything is consistent with your current program: https://labjack.com/support/software/applications/t-series/kipling/register-matrix/configuring-reading-frequency If you do not have the issue in Kipling, that suggests something going on in your program. Otherwise there is likely something going on at a hardware level. Another good test would be to connect FIO4 to DAC1 and write a 1 to the register DAC1_FREQUENCY_OUT_ENABLE. This will generate a 10Hz square wave on DAC1 that the frequency in feature should agree with. The DAC1 frequency out function is described in our T-series datasheet: https://labjack.com/support/datasheets/t-series/dac -
Which LabJack are you using? U12, UE9, U3, U6, T4 or T7. See related information here: https://labjack.com/support/app-notes/usb-communication-failure My first suggestion would be to remove the relay box from the system and see if the problem goes away.
-
I found another topic here about sinking or open-collector style of control: https://support.azeotech.com/topic/3761-output-low/?tab=comments#comment-12245 Turns out we have an example called Open-Collector_Output.ctl: https://labjack.com/support/software/examples/ud/daqfactory
-
Increasing sampling frequency
LabJackSupport replied to bbosse's topic in Channels, Conversions and general data acquisition
The eStreamStart() identifier specifies the device handle: https://labjack.com/support/software/api/ljm/function-reference/ljmestreamstart That handle will essentially always be the same for each eStreamStart call if you're using the same T4. If you are going to stream in a series, you cannot do 4 consecutive starts like in your code with the same device. Multiple streams cannot run at the same time. You will need to start/configure the stream, do the reads, stop the stream, and then move on to the next set of channels to stream in your series. The structure would look more like this: LJM_eStreamStart(handle, {"AIN0", "AIN1", "AIN2", "AIN3", "AIN120", "AIN121", "AIN122", "AIN123", "AIN124", "AIN125",}, ...) while (more to read) { LJM_eStreamRead(handle, ...) } LJM_eStreamStop(handle) LJM_eStreamStart(handle, {"AIN126", "AIN127", "AIN48", "AIN49", "AIN50", "AIN51", "AIN52", "AIN53", "AIN54", "AIN55",}, ...) while (more to read) { LJM_eStreamRead(handle, ...) } LJM_eStreamStop(handle) LJM_eStreamStart(handle, {"AIN62", "AIN63", "AIN64", "AIN65", "AIN66", "AIN67", "AIN68", "AIN69", "AIN72", "AIN73",}, ...) while (more to read) { LJM_eStreamRead(handle, ...) } LJM_eStreamStop(handle) LJM_eStreamStart(handle, {"AIN74", "AIN75", "AIN76", "AIN77", "AIN78", "AIN79", "AIN86", "AIN88", "AIN90", "AIN92"}, ...) while (more to read) { LJM_eStreamRead(handle, ...) } LJM_eStreamStop(handle) -
A LabJack customer asked about getting started with our original U12 device. They noted that the DAQFactory Quick Tutorial says it is for UD devices only. I suspect most of it applies to the U12, so perhaps AzeoTech support can comment on how to adapt the tutorial to a U12? https://labjack.com/support/software/3rd-party-applications/daqfactory/quick-tutorial
-
Assigning device numbers to multiple Tx Labjacks?
LabJackSupport replied to tryerson's topic in DAQFactory and the LabJack
Just noticed this. It seems we get notified of new topics, but no notification for any posts after that. T series devices do not have a "Local ID" like our older devices. Instead the identifier options are serial number, IP address, or device name. You can edit the device name on the "Device Info" tab of Kipling, but does DAQFactory work with this string parameter? -
LabJackSupport started following DAQFactory and the LabJack
-
addressing LJ-TickDACs on a T7 Labjack
LabJackSupport replied to tryerson's topic in DAQFactory and the LabJack
Our DAQFactory for LJM page is chock full of nuggets so I would go through it thouroughly, and take a good look at the LJM_Basic.ctl example that demonstrates many key things. Per AzeoTech's point about using a DF Channel you can find info here: http://labjack.com/support/software/examples/ljm/daqfactory#LinkingChannels Per AzeoTech's point about DF taking care of Handle, the following hints at that: http://labjack.com/support/software/examples/ljm/daqfactory#Opening ... and then does not seem to be clearly stated, but you can see the example script is passing an LJM identifier as the first parameter: http://labjack.com/support/software/examples/ljm/daqfactory#Script -
Assigning device numbers to multiple Tx Labjacks?
LabJackSupport replied to tryerson's topic in DAQFactory and the LabJack
See "Opening a Device" here: https://labjack.com/support/software/examples/ljm/daqfactory DAQFactory's D# is the Identifier parameter passed to the open call: https://labjack.com/support/software/api/ljm/function-reference/ljmopens "To specify an identifier, use a serial number, IP address, or device name." With USB, serial number would be the common choice to pass. -
What is the best way to trigger DAQFactory Sequence script from Labjack Kipling Lua script?
LabJackSupport replied to bbosse's topic in Sequences and scripting
The modbus write function is documented here: https://labjack.com/support/datasheets/t-series/scripting/labjack-library I don't spot anything wrong in your calls to set FIO0 to output-high and output-low. Check out the Lua example "Toggle DIO 1Hz". We can continue troubleshooting that, but my approach might be a little different. How about using USER_RAM0_U16 and having the Lua script increment it when desired. Then DAQFactory can read that register and note if it has changed from the previous value. That way you never miss a trigger. https://labjack.com/support/datasheets/t-series/lua-scripting -
Labjack U3HV and EI-1050 Temperature and Humidity Probe
LabJackSupport replied to john's topic in DAQFactory and the LabJack
To talk to an EI-1050 through a U3 requires special function calls as described in "UD Library Communication" here: https://labjack.com/support/datasheets/accessories/ei-1050 Have you tried "EI1050 U3.ctl"? https://labjack.com/support/software/examples/ud/daqfactory -
The comment you are seeing in LabJack forum topic is about directly controlling a solid-state relay (SSR), which is best done using "sinking" control. When you do that you need to change the DIO between input (relay off) and output-low (relay-on). https://labjack.com/support/app-notes/Controlling-Relays With the RB12, however, you just change the DIO between output-high (module off) and output-low (module on). The following is from the RB12 Datasheet: "The RB12 behaves with inverted or negative logic. For output modules that means the applicable LabJack DIO must be set to output-low to enable the I/O module. Output modules will be disabled with the DIO set to input or output-high." https://labjack.com/support/datasheets/accessories/rb12
-
We discussed this issue today as a group and noticed one other potential issue. It doesn't look like you properly define your "numWrite" or "array" variables. There is a chance that you could be instructing DAQFactory to write no bytes to the device instead of two. You can easily test this by modifying the line: AddRequest(ID, LJ_ioI2C_COMMUNICATION, LJ_chI2C_WRITE, numWrite, array, 0) to be: AddRequest(ID, LJ_ioI2C_COMMUNICATION, LJ_chI2C_WRITE, 2, array, 0)
-
LabJackSupport started following I2C Questions
-
It looks like your device isn't receiving an "ACK" from your I2C slave sensor so the I2C packet is failing. Can you double check the slave address and make sure that you have pull-up resistors installed? In our I2C app-note we recommend 4.7k resistors. If you haven't already tried switching to the EIO0 and EIO1 ports, please do that as well.
-
Duty Cycle of Clock pulse measurement T7
LabJackSupport replied to Martin's topic in DAQFactory and the LabJack
Sounds like once per second you want to read a value that is the total duty cycle of a waveform over that last second. So if the signal was high 50 ms, low 450 ms, high 150 ms and low 350 ms, you would get a reading of 20% for that 1 second. The duty-cycle measurement timer mode measures every cycle, not the overall duty cycle of some time period, so that will not do what you describe. The only way I can think of to do it in hardware, so DF can read the value once per second as you describe, would be to write a Lua script that measures the percent on of each second and puts that value in user-ram. Sounds like a fairly easy script. -
Hall Effect Current sensor / transducer
LabJackSupport replied to Martin's topic in DAQFactory and the LabJack
I took a look at the ACS712 and have 2 comments: 1. The nominal offset is half the supply voltage. If the supply voltage is exactly 5.0, then the offset will be 2.5, but if you are using VS to power the sensor you should read back the actual value of VS in real time and use that in your math rather than assuming 5.0. 2. The nominal sensitivity is 66 mV/A, which means a swing of +/-1.98 volts, not +/-2.5 volts.