2.3 - IO0-IO3 [U12 Datasheet]
Connections to 4 of the LabJack’s 20 digital I/O are made at the screw terminals, and are referred to as IO0-IO3. Each pin can individually be set to input, output high, or output low. These 4 channels include a 1.5 kΩ series resistor that provides overvoltage/short-circuit protection. Each channel also has a 1 MΩ resistor connected to ground.
All digital I/O are set to input on power-up or reset.
One common use of a digital input is for measuring the state of a switch as shown in Figure 2.3-1. If the switch is open, IO0 reads FALSE. If the switch is closed, IO0 reads TRUE.
While providing overvoltage/short-circuit protection, the 1.5 kΩ series resistor on each IO pin also limits the output current capability. For instance, with an output current of 1 mA, the series resistor will drop 1.5 volts, resulting in an output voltage of about 3.5 volts.
Software
The easy functions EDigitalIn or EDigitalOut are used to read or set the state of one digital line, and both take up to 20 ms to execute.
The functions AOUpdate and DigitalIO are used to set the direction, set the state, and/or read the state, of each IO pin. Both of these functions take up to 20 ms to execute, providing a maximum update rate of about 50 Hz per pin.
The function AISample can set/read the state of each IO, but setting the state will have no effect unless the IO have been configured as outputs using another function. The function Counter reads the state of each IO.
The functions AIBurst and AIStreamRead, take a reading of the IO states and return it with the analog data. The states of the 4 IO are read simultaneously every 4 samples, providing a data rate of up to 2048 Hz per pin for burst mode, or 300 Hz per pin for stream mode. For 1 or 2 channel scans, duplicate data (4x or 2x) will be added to the read array such that the size is numScans.