- Datasheets
- Accessories
- CB15
- CB25
- CB37 V1.2
- CB37 V2.1
- EB37
- EI-1022
- EI-1034
- EI-1040
- EI-1050
- IDCA-10
- LJTick-CurrentShunt
- LJTick-DAC
- LJTick-DAC Testing Utility
- LJTick-DigitalOut5V
- LJTick-Divider
- LJTick-InAmp
- LJTick-InBuff
- LJTick-LVDigitalIO
- LJTick-OutBuff
- LJTick-Proto
- LJTick-RelayDriver
- LJTick-Resistance
- LJTick-VRef
- Mux80 AIN Expansion Board
- PS12DC
- RB12
- RB16
- T-Series Datasheet
- Preface: Warranty, Liability, Compliance
- 1.0 Device Overview
- 2.0 Installation
- 3.0 Communication
- 4.0 Hardware Overview
- 5.0 USB
- 6.0 Ethernet
- 7.0 WiFi (T7-Pro only)
- 8.0 LEDs
- 9.0 VS, Power Supply
- 10.0 SGND and GND
- 11.0 SPC
- 12.0 200uA and 10uA (T7 Only)
- 13.0 Digital I/O
- 13.1 Flexible I/O (T4 Only)
- 13.2 DIO Extended Features
- 13.2.1 EF Clock Source
- 13.2.2 PWM Out
- 13.2.3 PWM Out with Phase
- 13.2.4 Pulse Out
- 13.2.5 Frequency In
- 13.2.6 Pulse Width In
- 13.2.7 Line-to-Line In
- 13.2.8 High-Speed Counter
- 13.2.9 Interrupt Counter
- 13.2.10 Interrupt Counter with Debounce
- 13.2.11 Quadrature In
- 13.2.12 Interrupt Frequency In
- 13.2.13 Conditional Reset
- 13.3 I2C
- 13.4 SPI
- 13.5 SBUS
- 13.6 1-Wire
- 13.7 Asynchronous Serial
- 14.0 Analog Inputs
- 15.0 DAC
- 16.0 DB37 (T7 Only)
- 17.0 DB15
- 18.0 Internal Temp Sensor
- 19.0 RTC (T7 Only)
- 20.0 Internal Flash
- 21.0 SD Card (T7 Only)
- 22.0 OEM Versions
- 23.0 Watchdog
- 24.0 IO Config, _DEFAULT
- 25.0 Lua Scripting
- Appendix A - Specifications
- Appendix B - Drawings and CAD Models
- Appendix C - Firmware Revision History
- Appendix D - Packaging Information
- Appendix E - Software Options
- U3 Datasheet
- Preface
- 1 - Installation
- 2 - Hardware Description
- 2.1 - USB
- 2.2 - Status LED
- 2.3 - GND and SGND
- 2.4 - VS
- 2.5 - Flexible I/O (FIO/EIO)
- 2.6 - AIN
- 2.6.1 - Channel Numbers
- 2.6.2 - Converting Binary Readings to Voltages
- 2.6.3 - Typical Analog Input Connections
- 2.6.3.1 - Signal from the LabJack
- 2.6.3.2 - Unpowered Isolated Signal
- 2.6.3.3 - Signal Powered By the LabJack
- 2.6.3.4 - Signal Powered Externally
- 2.6.3.5 - Amplifying Small Signal Voltages
- 2.6.3.6 - Signal Voltages Beyond 0-2.44 Volts (and Resistance Measurement)
- 2.6.3.7 - Measuring Current (Including 4-20 mA) with a Resistive Shunt
- 2.6.3.8 - Floating/Unconnected Inputs
- 2.6.3.9 - Signal Voltages Near Ground
- 2.6.4 - Internal Temperature Sensor
- 2.7 - DAC
- 2.8 - Digital I/O
- 2.9 - Timers/Counters
- 2.9.1 - Timer Mode Descriptions
- 2.9.1.1 - PWM Output (16-Bit, Mode 0)
- 2.9.1.2 - PWM Output (8-Bit, Mode 1)
- 2.9.1.3 - Period Measurement (32-Bit, Modes 2 & 3)
- 2.9.1.4 - Duty Cycle Measurement (Mode 4)
- 2.9.1.5 - Firmware Counter Input (Mode 5)
- 2.9.1.6 - Firmware Counter Input With Debounce (Mode 6)
- 2.9.1.7 - Frequency Output (Mode 7)
- 2.9.1.8 - Quadrature Input (Mode 8)
- 2.9.1.9 - Timer Stop Input (Mode 9)
- 2.9.1.10 - System Timer Low/High Read (Modes 10 & 11)
- 2.9.1.11 - Period Measurement (16-Bit, Modes 12 & 13)
- 2.9.1.12 - Line-to-Line Measurement (Mode 14)
- 2.9.2 - Timer Operation/Performance Notes
- 2.9.1 - Timer Mode Descriptions
- 2.10 - SPC (… and SCL/SDA/SCA)
- 2.11 - DB15
- 2.12 - U3-OEM
- 2.13 - Hardware Revision Notes
- 3 - Operation
- 4 - LabJackUD High-Level Driver
- 4.1 - Overview
- 4.2 - Function Reference
- 4.2.1 - ListAll()
- 4.2.2 - OpenLabJack()
- 4.2.3 - eGet() and ePut()
- 4.2.4 - eAddGoGet()
- 4.2.5 - AddRequest()
- 4.2.6 - Go()
- 4.2.7 - GoOne()
- 4.2.8 - GetResult()
- 4.2.9 - GetFirstResult() and GetNextResult()
- 4.2.10 - DoubleToStringAddress()
- 4.2.11 - StringToDoubleAddress()
- 4.2.12 - StringToConstant()
- 4.2.13 - ErrorToString()
- 4.2.14 - GetDriverVersion()
- 4.2.15 - TCVoltsToTemp()
- 4.2.16 - ResetLabJack()
- 4.2.17 - eAIN()
- 4.2.18 - eDAC()
- 4.2.19 - eDI()
- 4.2.20 - eDO()
- 4.2.21 - eTCConfig()
- 4.2.22 - eTCValues()
- 4.3 - Example Pseudocode
- 4.3.1 - Open
- 4.3.2 - Configuration
- 4.3.3 - Analog Inputs
- 4.3.4 - Analog Outputs
- 4.3.5 - Digital I/O
- 4.3.6 - Timers & Counters
- 4.3.7 - Stream Mode
- 4.3.8 - Raw Output/Input
- 4.3.9 - Easy Functions
- 4.3.10 - SPI Serial Communication
- 4.3.11 - I²C Serial Communication
- 4.3.12 - Asynchronous Serial Communication
- 4.3.13 - Watchdog Timer
- 4.3.14 - Miscellaneous
- 4.4 - Errorcodes
- 5 - Low-level Function Reference
- 5.1 - General Protocol
- 5.2 - Low-Level Functions
- 5.2.1 - Bad Checksum
- 5.2.2 - ConfigU3
- 5.2.3 - ConfigIO
- 5.2.4 - ConfigTimerClock
- 5.2.5 - Feedback
- 5.2.5.1 - AIN: IOType = 1
- 5.2.5.2 - WaitShort: IOType=5
- 5.2.5.3 - WaitLong: IOType=6
- 5.2.5.4 - LED: IOType=9
- 5.2.5.5 - BitStateRead: IOType=10
- 5.2.5.6 - BitStateWrite: IOType=11
- 5.2.5.7 - BitDirRead: IOType=12
- 5.2.5.8 - BitDirWrite: IOType=13
- 5.2.5.9 - PortStateRead: IOType=26
- 5.2.5.10 - PortStateWrite: IOType=27
- 5.2.5.11 - PortDirRead: IOType=28
- 5.2.5.12 - PortDirWrite: IOType=29
- 5.2.5.13 - DAC# (8-bit): IOType=34,35
- 5.2.5.14 - DAC# (16-bit): IOType=38,39
- 5.2.5.15 - Timer#: IOType=42,44
- 5.2.5.16 - Timer#Config: IOType=43,45
- 5.2.5.17 - Counter#: IOType=54,55
- 5.2.5.18 - Buzzer: IOType=63
- 5.2.6 - ReadMem (ReadCal)
- 5.2.7 - WriteMem (WriteCal)
- 5.2.8 - EraseMem (EraseCal)
- 5.2.9 - Reset
- 5.2.10 - StreamConfig
- 5.2.11 - StreamStart
- 5.2.12 - StreamData
- 5.2.13 - StreamStop
- 5.2.14 - Watchdog
- 5.2.15 - SPI
- 5.2.16 - AsynchConfig
- 5.2.17 - AsynchTX
- 5.2.18 - AsynchRX
- 5.2.19 - I²C
- 5.2.20 - SHT1X
- 5.2.21 - SetDefaults (SetToFactoryDefaults)
- 5.2.22 - ReadDefaults (ReadCurrent)
- 5.2.23 - 1-Wire
- 5.3 - Errorcodes
- 5.4 - Calibration Constants
- Appendix A - Specifications
- Appendix B - Enclosure and PCB Drawings
- U3 Firmware Revision History
- U6 Datasheet
- Preface: Warranty, Liability, Compliance
- 1 - Installation
- 2 - Hardware Description
- 2.1 - USB
- 2.2 - Power and Status LED
- 2.3 - GND and SGND
- 2.4 - VS
- 2.5 - 10UA and 200UA
- 2.6 - AIN
- 2.6.1 - Channel Numbers
- 2.6.2 - Converting Binary Readings to Voltages
- 2.6.3 - Typical Analog Input Connections
- 2.6.3.1 - Signal from the LabJack
- 2.6.3.2 - Unpowered Isolated Signal
- 2.6.3.3 - Signal Powered By the LabJack
- 2.6.3.4 - Signal Powered Externally
- 2.6.3.5 - Amplifying Small Signal Voltages
- 2.6.3.6 - Signal Voltages Beyond ±10 Volts (and Resistance Measurement)
- 2.6.3.7 - Measuring Current (Including 4-20 mA) with a Resistive Shunt
- 2.6.3.8 - Floating/Unconnected Inputs
- 2.6.4 - Internal Temperature Sensor
- 2.6.5 - Signal Range
- 2.7 - DAC
- 2.8 - Digital I/O
- 2.9 - Timers/Counters
- 2.9.1 - Timer Mode Descriptions
- 2.9.1.1 - PWM Output (16-Bit, Mode 0)
- 2.9.1.2 - PWM Output (8-Bit, Mode 1)
- 2.9.1.3 - Period Measurement (32-Bit, Modes 2 & 3)
- 2.9.1.4 - Duty Cycle Measurement (Mode 4)
- 2.9.1.5 - Firmware Counter Input (Mode 5)
- 2.9.1.6 - Firmware Counter Input With Debounce (Mode 6)
- 2.9.1.7 - Frequency Output (Mode 7)
- 2.9.1.8 - Quadrature Input (Mode 8)
- 2.9.1.9 - Timer Stop Input (Mode 9)
- 2.9.1.10 - System Timer Low/High Read (Modes 10 & 11)
- 2.9.1.11 - Period Measurement (16-Bit, Modes 12 & 13)
- 2.9.1.12 - Line-to-Line Measurement (Mode 14)
- 2.9.2 - Timer Operation/Performance Notes
- 2.9.1 - Timer Mode Descriptions
- 2.10 - SPC (or VSPC)
- 2.11 - DB37
- 2.12 - DB15
- 2.13 - OEM Connector Options
- 3 - Operation
- 4 - LabJackUD High-Level Driver
- 4.1 - Overview
- 4.2 - Function Reference
- 4.2.1 - ListAll()
- 4.2.2 - OpenLabJack()
- 4.2.3 - eGet() and ePut()
- 4.2.4 - eAddGoGet()
- 4.2.5 - AddRequest()
- 4.2.6 - Go()
- 4.2.7 - GoOne()
- 4.2.8 - GetResult()
- 4.2.9 - GetFirstResult() and GetNextResult()
- 4.2.10 - DoubleToStringAddress()
- 4.2.11 - StringToDoubleAddress()
- 4.2.12 - StringToConstant()
- 4.2.13 - ErrorToString()
- 4.2.14 - GetDriverVersion()
- 4.2.15 - TCVoltsToTemp()
- 4.2.16 - ResetLabJack()
- 4.2.17 - eAIN()
- 4.2.18 - eDAC()
- 4.2.19 - eDI()
- 4.2.20 - eDO()
- 4.2.21 - eTCConfig()
- 4.2.22 - eTCValues()
- 4.3 - Example Pseudocode
- 4.3.1 - Open
- 4.3.2 - Configuration
- 4.3.3 - Analog Inputs
- 4.3.4 - Analog Outputs
- 4.3.5 - Digital I/O
- 4.3.6 - Timers & Counters
- 4.3.7 - Stream Mode
- 4.3.8 - Raw Output/Input
- 4.3.9 - Easy Functions
- 4.3.10 - SPI Serial Communication
- 4.3.11 - I²C Serial Communication
- 4.3.12 - Asynchronous Serial Communication
- 4.3.13 - Watchdog Timer
- 4.3.14 - Miscellaneous
- 4.4 - Errorcodes
- 5 - Low-level Function Reference
- 5.1 - General Protocol
- 5.2 - Low-Level Functions
- 5.2.1 - Bad Checksum
- 5.2.2 - ConfigU6
- 5.2.3 - ConfigIO
- 5.2.4 - ConfigTimerClock
- 5.2.5 - Feedback
- 5.2.5.1 - AIN: IOType = 1
- 5.2.5.2 - AIN24: IOType = 2
- 5.2.5.3 - AIN24AR: IOType = 3
- 5.2.5.4 - WaitShort: IOType=5
- 5.2.5.5 - WaitLong: IOType=6
- 5.2.5.6 - LED: IOType=9
- 5.2.5.7 - BitStateRead: IOType=10
- 5.2.5.8 - BitStateWrite: IOType=11
- 5.2.5.9 - BitDirRead: IOType=12
- 5.2.5.10 - BitDirWrite: IOType=13
- 5.2.5.11 - PortStateRead: IOType=26
- 5.2.5.12 - PortStateWrite: IOType=27
- 5.2.5.13 - PortDirRead: IOType=28
- 5.2.5.14 - PortDirWrite: IOType=29
- 5.2.5.15 - DAC# (8-bit): IOType=34,25
- 5.2.5.16 - DAC# (16-bit): IOType=38,39
- 5.2.5.17 - Timer#: IOType=42,44,46,48
- 5.2.5.18 - Timer#Config: IOType = 43, 45, 47, 49
- 5.2.5.19 - Counter#: IOType = 54, 55
- 5.2.6 - ReadMem (ReadCal)
- 5.2.7 - WriteMem (WriteCal)
- 5.2.8 - EraseMem (EraseCal)
- 5.2.9 - SetDefaults (SetToFactoryDefaults)
- 5.2.10 - ReadDefaults (ReadCurrent)
- 5.2.11 - Reset
- 5.2.12 - StreamConfig
- 5.2.13 - StreamStart
- 5.2.14 - StreamData
- 5.2.15 - StreamStop
- 5.2.16 - Watchdog
- 5.2.17 - SPI
- 5.2.18 - AsynchConfig
- 5.2.19 - AsynchTX
- 5.2.20 - AsynchRX
- 5.2.21 - I²C
- 5.2.22 - SHT1X
- 5.2.23 - 1-Wire
- 5.3 - Errorcodes
- 5.4 - Calibration Constants
- Appendix A - Specifications
- Appendix B - Noise and Resolution Tables
- Appendix C - Enclosure and PCB Drawings
- U6 Firmware Revision History
- Digit Datasheet (Discontinued)
- UE9 Datasheet
- Preface
- 1 - Installation
- 2 - Hardware Description
- 2.1 - USB
- 2.2 - Ethernet
- 2.3 - Vext (Screw Terminals and Power Jack)
- 2.4 - Comm and Control LEDs
- 2.5 - GND and SGND
- 2.6 - VS
- 2.7 - AIN
- 2.7.1 - Channel Numbers
- 2.7.2 - Converting Binary Readings to Voltages
- 2.7.3 - Typical Analog Input Connections
- 2.7.3.1 - Signal from the LabJack
- 2.7.3.2 - Unpowered Isolated Signal
- 2.7.3.3 - Signal Powered by the LabJack
- 2.7.3.4 - Signal Powered Externally
- 2.7.3.5 - Amplifying Small Signal Voltages
- 2.7.3.6 - Signal Voltages Beyond ±5 Volts (and Resistance Measurement)
- 2.7.3.7 - Measuring Current (Including 4-20 mA) with a Resistive Shunt
- 2.7.3.8 - Floating/Unconnected Inputs
- 2.7.4 - Internal Temperature Sensor
- 2.8 - DAC
- 2.9 - Digital I/O
- 2.10 - Timers/Counters
- 2.10.1 - Timer Mode Descriptions
- 2.10.1.1 - PWM Output (16-Bit, Mode 0)
- 2.10.1.2 - PWM Output (8-Bit, Mode 1)
- 2.10.1.3 - Period Measurement (32-Bit, Modes 2 & 3)
- 2.10.1.4 - Duty Cycle Measurement (Mode 4)
- 2.10.1.5 - Firmware Counter Input (Mode 5)
- 2.10.1.6 - Firmware Counter Input With Debounce (Mode 6)
- 2.10.1.7 - Frequency Output (Mode 7)
- 2.10.1.8 - Quadrature Input (Mode 8)
- 2.10.1.9 - Timer Stop Input (Mode 9)
- 2.10.1.10 - System Timer Low/High Read (Modes 10 & 11)
- 2.10.1.11 - Period Measurement (16-Bit, Modes 12 & 13)
- 2.10.2 - Timer Operation/Performance Notes
- 2.10.1 - Timer Mode Descriptions
- 2.11 - SCL and SDA (or SCA)
- 2.12 - DB37
- 2.13 - DB15
- 2.14 - OEM Connector Options
- 3 - Operation
- 4 - LabJackUD High-Level Driver
- 4.1 - Overview
- 4.2 - Function Reference
- 4.2.1 - ListAll()
- 4.2.2 - OpenLabJack()
- 4.2.3 - eGet() and ePut()
- 4.2.4 - eAddGoGet()
- 4.2.5 - AddRequest()
- 4.2.6 - Go()
- 4.2.7 - GoOne()
- 4.2.8 - GetResult()
- 4.2.9 - GetFirstResult() and GetNextResult()
- 4.2.10 - DoubleToStringAddress()
- 4.2.11 - StringToDoubleAddress()
- 4.2.12 - StringToConstant()
- 4.2.13 - ErrorToString()
- 4.2.14 - GetDriverVersion()
- 4.2.15 - TCVoltsToTemp()
- 4.2.16 - ResetLabJack()
- 4.2.17 - eAIN()
- 4.2.18 - eDAC()
- 4.2.19 - eDI()
- 4.2.20 - eDO()
- 4.2.21 - eTCConfig()
- 4.2.22 - eTCValues()
- 4.3 - Example Pseudocode
- 4.3.1 - Open
- 4.3.2 - Configuration
- 4.3.3 - Analog Inputs
- 4.3.4 - Analog Outputs
- 4.3.5 - Digital I/O
- 4.3.6 - Timers & Counters
- 4.3.7 - Stream Mode
- 4.3.8 - Raw Output/Input
- 4.3.9 - Easy Functions
- 4.3.10 - SPI Serial Communication
- 4.3.11 - I²C Serial Communication
- 4.3.12 - Asynchronous Serial Communication
- 4.3.13 - Watchdog Timer
- 4.3.14 - Miscellaneous
- 4.4 - Errorcodes
- 5 - Low-level Function Reference
- 5.1 - General Protocol
- 5.2 - Comm Functions
- 5.3 - Control Functions
- 5.3.1 - BadChecksum
- 5.3.2 - ControlConfig
- 5.3.3 - Feedback (and FeedbackAlt)
- 5.3.4 - SingleIO
- 5.3.5 - TimerCounter
- 5.3.6 - StreamConfig
- 5.3.7 - StreamStart
- 5.3.8 - StreamData
- 5.3.9 - StreamStop
- 5.3.10 - ReadMem
- 5.3.11 - WriteMem
- 5.3.12 - EraseMem
- 5.3.13.1 - WatchdogConfig
- 5.3.13.2 - WatchdogRead
- 5.3.13.3 - Extended WatchdogConfig
- 5.3.13.4 - WatchdogClear
- 5.3.15 - Reset
- 5.3.16 - SPI
- 5.3.17 - AsynchConfig
- 5.3.18 - AsynchTX
- 5.3.19 - AsynchRX
- 5.3.20 - I²C
- 5.3.21 - SHT1X
- 5.3.22 - StreamDAC
- 5.3.23 - SetDefaults (SetToFactoryDefaults)
- 5.3.24 - ReadDefaults (ReadCurrent)
- 5.3.25 - 1-Wire
- 5.4 - Low-Level Errorcodes
- 5.5 - Modbus
- 5.6 - Calibration Constants
- 6 - Low-level Native Examples
- Appendix A - Specifications
- Appendix B - Noise and Resolution Tables
- Appendix C - Enclosure and PCB Drawings
- UE9 Firmware Revision History
- U12 Datasheet
- 1 - Installation
- 2 - Hardware Description
- 3 - Example Applications
- 4 - Programming Reference
- 4.1 - EAnalogIn
- 4.2 - EAnalogOut
- 4.3 - ECount
- 4.4 - EDigitalIn
- 4.5 - EDigitalOut
- 4.6 - AISample
- 4.7 - AIBurst
- 4.8 - AIStreamStart
- 4.9 - AIStreamRead
- 4.10 - AIStreamClear
- 4.11 - AOUpdate
- 4.12 - AsynchConfig
- 4.13 - Asynch
- 4.14 - BitsToVolts
- 4.15 - VoltsToBits
- 4.16 - Counter
- 4.17 - DigitalIO
- 4.18 - GetDriverVersion
- 4.19 - GetErrorString
- 4.20 - GetFirmwareVersion
- 4.21 - GetWinVersion
- 4.22 - ListAll
- 4.23 - LocalID
- 4.24 - NoThread
- 4.25 - PulseOut
- 4.26 - PulseOutStart
- 4.27 - PulseOutFinish
- 4.28 - PulseOutCalc
- 4.29 - ReEnum
- 4.30 - Reset (or ResetLJ)
- 4.31 - SHT1X
- 4.32 - SHTComm
- 4.33 - SHTCRC
- 4.34 - Synch
- 4.35 - Watchdog
- 4.36 - ReadMem
- 4.37 - WriteMem
- 4.38 - BuildOptionBits (ActiveX only)
- 4.39 - FourPack (ActiveX only)
- 4.40 - Description of Errorcodes
- 5 - Low-Level Function Reference
- Appendix A - Specifications
- Appendix B - Dimensions
- Appendix C - U12 Hardware Troubleshooting
- Appendix D - Maximum Data Rates for the LabJack U12
- Accessories
59 comments
LabJack and I2C bus
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.
I2C on LabJacks
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
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,
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
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
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
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
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
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
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
How connect Labjack U12 with Scilab ?
For Windows? A better place
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
Is this compatible with Python
Yes, we support Python. Go
Yes, we support Python. Go to our main software page or directly to the LabJackPython page.
hi I need a temporary and
The U6 has 4 timers that can
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
Should be good then. See Section 2.9.2 for the timer edge rate limits.
ok.. but do I need external
You would be using all 4
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
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
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
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
What is the time (expressed in seconds) referenced to in the LJLogger data file?
The timestamp is seconds
The timestamp is seconds since midnight January 1st (Universal Time), 1904. See forum topic #9.
Hi, I just ordered 2 of the
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
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
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
>> 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
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
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
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
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
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
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
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
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
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
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
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
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.
Simultaneous Sampling
Hi, i would like to try T7-OEM for reading 2 signals, one from an accelerometer sensor and one from a tachometric sensor. The point is that i need to sample it simultaneously or however something close to. I don't find information about simultaneous sampling in T7 board, so i ask here if someone could help me.
Thank you so much
Our products send all signals
Our products send all signals on one path behind multiplexers. There are no sample-and-hold circuits, so there will always be some time between sampling 2 different channels. This is called "interchannel delay" and is as low as 8us on the T7.
See Appendix A-1:
https://labjack.com/support/
In command-response mode, the "AIN Sample Time" will be your minimum interchannel delay. In stream mode, the interchannel delay is shown in Table A1.5.
LJLogM with thermocouples
Hello,
I'm trying to plot a temperature using a thermocouple connected to AIN0. I've configured kipling using the T7 thermocouple app note and a valid temperature is displayed in Kipling under analog inputs. When I try to plot the data in LJLogM, it displays an amplitude instead of the temperature. How do I correct this? Tried entering AIN0_EF_READ in the name field but it generates LabJack Error #1294.
Thanks!
~Kevin
After configuration in
After configuration in Kipling, in LJLogM use AIN0_EF_READ_A instead. The "Getting Started" instructions in the Thermocouples with the T7 App Note mentions AIN0_EF_READ by mistake and is not a valid channel name. I corrected the App Note regarding this.
LabJack U6-PRO
HELLO, I AM MAKING A VR APPLICATION IN UNITY 3D. IS IT POSSIBLE, TO TAKE THE OUTPUT DATA OF THE LABJACK U6-PRO, DIRECTLY TO THE UNITY APPLICATION? IF POSSIBLE PLEASE GUIDE ME THROUGH THIS.
THANKS
I haven't used Unity, but I
I haven't used Unity, but I believe you can use the U6's driver, UD, with it. We don't have specific examples for Unity, but the the following will help point you in the right direction.
Unity supports the C# language, which you can try to use with our .NET interface for the UD library. The .NET assembly is LJUDDotNet.dll located in the "\Program Files (x86)\LabJack\Drivers" folder after installing our software. This page mentions how to use a .NET (managed) dll in Unity:
https://docs.unity3d.com/Manual/UsingDLL.html
Our C# examples can be found here:
https://labjack.com/support/software/examples/ud/dotnet
If for some reason LJUDDotNet.dll cannot be used in Unity, you can import the UD driver, LabJackUD.dll, directly in C#. General UD driver documentation can be found here:
https://labjack.com/support/datasheets/u6/high-level-driver
Also, here is a forum topic where someone is using Unity with the U3 and UD driver using the direct dll method:
https://labjack.com/forums/u3/quadrature-unity3d
function input
I purchased your LabJack U12 and I am not yet familiar with it.
I want it for thermal cyceling: the input parameters are an analog signal from a thermometer T actual and a desired temperature T desired, both varying in time. I can define the desired temperature either as a mathematical function, or as a numerical table - whatever most convenient for the LabJack. And the LabJack shoud try to match the actual temperature to the desired temperature, for example by the instruction:
if T actual < T desired + 5 degrees, then heater on,
if T actual > T desired - 5 degrees, then heater off.
This should be simple, I am not (yet) even talking about PID control that is the next step.
The trigger setup of the LJlogger offers an option to do this for fixed values of T desired, but the operands can be only numbers - not functions.
How should I proceed?
LJlogger is too simple a
LJlogger is too simple a program for that. I suggest you consider DAQFactory or develop your own application:
https://labjack.com/support/software/3rd-party-applications/daqfactory
https://labjack.com/support/software/examples/u12
Also note that most new applications would not use the U12, although it is a great device if it meets your needs:
https://labjack.com/products/comparison
High Voltage Probes
I need to measure multiple voltages >350Vdc. Do you provide any guidance using the U6 with high voltage probes (100:1 for instance)? Can I just connect high voltage scope probes to the LabJack U6 inputs or must I terminate the probes at the interface?
Yes, likely need to terminate
Disclaimer: You are in the realm of dangerous voltages, far beyond what our products are designed to work with. The following information is provided in the interest of providing good service, but should only be acted on by someone with the proper expertise.
I believe that a high voltage scope probe simply provides a series resistor which forms a voltage divider with the 1 Meg resistor to ground that is inside the scope. The U6 has high-impedance inputs, so you would need to add a 1 Meg to GND to simulate what is happening with a scope. You would likely then have problems due to the high source impedance caused by the 100:1 probe and would then need the LJTick-InBuff.
As an alternative, I would consider using the LJTick-Divider. It has a voltage divider followed by an op-amp buffer. You can add extra resistance in front to increase the division:
https://labjack.com/support/datasheets/accessories/ljtick-divider
For example, the LJTD-25 has 876k in series with 36.5k to ground, which gives an attenuation of 36.5/(36.5+876) = 0.04. If you add extra series resistance you can easily increase the attenuation as desired. You want to add the resistance externally to get rid of extra voltage before hitting the LJTD screw-terminal, which could be as simple as clamping one end of a resistor in the LJTD screw-terminal and connecting the other end of the resistor to your signal.
You might consider a USB isolator in case you make a mistake. You might damage the U6, but hopefully the isolator will protect your host computer:
http://microcontrollershop.com/product_info.php?currency=USD&products_id...
Pages