# E-DIO24

An OEM version of this device is also available:

- E-DIO24-OEM

The E-DIO24 supports the following features. Unless otherwise indicated, the OEM version supports the same features as the standard version.

## Digital I/O

Configuration

Functions

UL: cbDConfigBit(), cbDConfigPort()

UL for .NET: DConfigBit(), DConfigPort()

Python for Windows: d_config_bit(), d_config_port()

PortNum

AuxPort0, AuxPort1, AuxPort2

PortType

AuxPort

Port I/O

Functions

UL: cbDIn(), cbDInArray(), cbDOut()

UL for .NET: DIn(), DInArray(), DOut()

Python for Windows: d_in(), d_in_array(), d_out(),

Rate

5 kHz, max, typical, on a local network

PortNum

AuxPort0 (8 bits, bit-configurable)

AuxPort1 (8 bits, bit-configurable)

AuxPort2 (8 bits, bit-configurable)

DataValue

0 to 255 on AuxPort0

0 to 255 on AuxPort1

0 to 255 on AuxPort2

Bit I/O

Functions

UL: cbDBitIn(), cbDBitOut()

UL for .NET: DBitIn(), DBitOut()

Python for Windows: d_bit_in(), d_bit_out()

PortType

AuxPort

BitNum

0 to 23 on AuxPort

## Counter I/O

Functions

UL: cbCClear(), cbCIn()*, cbCIn32(), cbCLoad()**, cbCLoad32()**

UL for .NET: CClear(), CIn()*, CIn32(), CLoad()**, CLoad32()**

Python for Windows: c_clear(), c_in()*, c_in_32(), c_load()**, c_load_32()**

*Although cbCIn()/CIn()/c_in() are valid for use with this counter, cbCIn32()/CIn32()/c_in_32() may be more appropriate, since the values returned may be greater than the data types used by cbCIn()/CIn()/c_in() can handle.

**cbCLoad()/cbCLoad32(), CLoad()/CLoad32(), and c_load()/c_load32() only accept Count=0. These functions are used to reset the counter.

CounterNum

0

Count

0 to 232–1 when reading the counter.

0 when loading the counter.

cbCLoad() and cbCLoad32() / CLoad() and CLoad32() are only used to reset the counter for this board to 0. No other values are valid.

The Basic signed integers guidelines apply when using cbCIn() or CIn() for values greater than 32,767, and when using cbCIn32() or CIn32() for values greater than 2,147,483,647.

RegNum

LOADREG0

## Miscellaneous

Functions

UL: cbFlashLED()

UL for .NET: FlashLED()

Python for Windows: flash_led()

Causes the device LED to blink. When you have several devices connected, use this function to identify a particular device.

## Configuration

This hardware supports device detection with the API. Refer to the InstaCal, API Detection, or Both? section for information about whether to use InstaCal or the API to detect and configure hardware.

#### InstaCal

MAC address

Listed as MAC Address (read only)

Factory serial number

Listed as Factory Serial No. (read only)

Identifier

Device Identifier text box

Calibration date

Listed as Calibrated (read only)

Hardware version

Listed as Firmware Version (read only)

Connection code

Listed as Connection Code

Note: Network settings are stored on the device, and can only be changed through InstaCal, except for the network connection code which can be changed with the API. Additional information is specified in the Hardware Considerations section below.

#### Programmable API Functions

MAC Address

UL: cbGetConfigString()

ConfigItem = BIDEVMACADDR

UL for .NET: GetDeviceMacAddress()

Python for Windows:

Python for Windows: get_config_string()

config_item = DEVMACADDR

Factory serial number

UL: cbGetConfigString()

ConfigItem = BIDEVSERIALNUM

UL for .NET: GetDeviceSerialNum()

Python for Windows: get_config_string()

config_item = DEVSERIALNUM

Identifier

UL: cbGetConfigString(), cbSetConfigString()

ConfigItem = BIUSERDEVID

maxConfigLen = up to 64 characters

UL for .Net: GetUserDeviceId(), SetUserDeviceId()

Python for Windows: get_config_string(), set_config_string()

config_item = USERDEVID

max_config_len = up to 64 characters

Connection code

UL: cbGetConfigString(), cbSetConfigString()

ConfigItem = BINETCONNECTIONCODE

UL for .Net: GetNetConnectionCode(), SetNetConnectionCode()

Python for Windows: set_config()

config_item = NETCONNECTIONCODE

Hardware version

UL: cbGetConfigString()

ConfigItem = BIDEVVERSION

DevNum = VER_FW_MAIN

UL for .NET: GetDeviceVersion()

Type = VersionType.FW_MAIN

Python for Windows: get_config_string()

config_item = DEVVERSION

dev_num = MAIN

Note: Alarm and network settings are stored on the device, and can only be changed through InstaCal (except for the network connection code, which can be changed with the API). Additional information is specified in the Hardware Considerations section below.

## Hardware considerations

##### Checking the port/bit direction

To disable automatic checking of the direction of a port or bit, use the ConfigItem option DIDISABLEDIRCHECK with cbGetConfig().

##### Hardware compatability

The E-DIO24 is compatible with USB-DIO24 Series and USB-1024 Series hardware.

Refer to the "Digital Input/Output Hardware" topic for additional details on using digital I/O boards with the UL DIO functions and methods.

##### Shared DIO and counter functionality

Pin P2D7 is both a digital I/O bit and an event counter.

##### Factory default reset

To restore the network and alarm configuration settings to factory default values, press and hold the device reset button for approximately 4 seconds, until the device Power and Activity LEDs blink once. This indicates taht default settings have been restored. If you release the button before the LEDs bline, the current network settings will not be changed.

##### Firmware update mode

If a firmware update fails, you can force the device into firmware update mode in order to recover from the failure. Press and hold the device reset button before powering up to put the device into firmware update mode. When power is applied, the device LEDs will continuously blink. InstaCal will detect a device in firmware update mode as a bootloader device. Download the firmware, click the Refresh Boards toolbar button, and add the device to InstaCal again.

##### Adding an Ethernet device to InstaCal

To add an Ethernet device to InstaCal, click the Add Board toolbar button and select the ENET tab.

- All devices within the local subnet will be detected and displayed. Select each device that you want to add to the InstaCal configuration file and click Add.
- A device that is not within the local subnet must be manually added to InstaCal: in the Detection type list select Manual, and enter the IP address to use in the broadcast. For a remote network also enter the port. Click Add to add the device to the InstaCal configuration file.

##### Network parameters

Set network parameters with InstaCal on the Network Settings tab of the Board Configuration dialog box. Configuration options are stored in non-volatile memory in EEPROM, and are loaded on power up.

- MAC Address: The unique 64-bit physical (MAC) address assigned to the device. This value cannot be changed.
- Connection Code: A value (between 0 (default) and 999999999) that prevents other users from connecting to the device. The device is visible to other users, but connection by another user is not allowed.

The Current Settings area lists the network parameters currently set for the device:

- Configure IPv4 address: The IP address configuration. Select DHCP or Link Local, Link Local Only, DHCP Local Only, or Static.
- Subnet Mask: The Subnet Mask that is currently stored on the device.
  The Subnet Mask is the part of the IP address that denotes the local Subnet. It is set automatically by default when a DHCP server is available. When manually setting a static IP address, enter the value in the Default Settings area Subnet Mask field.
- Gateway: The Gateway IP address that is currently stored on the device.
  The Gateway parameter is used for communication between devices on different networks. It is set automatically by default when a DHCP server is available. When manually setting a static IP address, enter the value in the Default Settings area Gateway field.

The Default Settings area list the default network parameters for the device. You can change these values when manually configuring the network settings.

- IP4V Address: Enter a static IP address if DHCP is not enabled, or if you want to manually configure a device.
- Subnet Mask: Enter the Subnet Mask value when using a static IP address.
- Gateway: Enter the Gateway value when using a static IP address.