Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ezeio2:ioexpander [2022-05-23 22:15] – johpar | ezeio2:ioexpander [2025-06-13 16:26] (current) – [Connect via EXP port] andreh | ||
---|---|---|---|
Line 12: | Line 12: | ||
- | | ^ Quantity | + | | ^ eze-CAN ^ Modbus RTU ^ |
^ Bus length | Docks directly | 1000 meters | | | ^ Bus length | Docks directly | 1000 meters | | | ||
^ Sample speed | 100 ms | Varies base on # & performance of MB slaves | | | ^ Sample speed | 100 ms | Varies base on # & performance of MB slaves | | | ||
^ Driver options | Same as ezeio controller | 8I8O Expansion Module | | | ^ Driver options | Same as ezeio controller | 8I8O Expansion Module | | | ||
+ | ^ Power | Supplied thru ezeio controller EXP port | Barrel jack or Modbus port | | | ||
==== Model information ==== | ==== Model information ==== | ||
- | ^ Part number ^ Model ^ System connectivity ^ | + | ^ Part number ^ Model ^ System connectivity |
- | | EM2088 | ezeio I/O Expander | eze CAN / Modbus RTU | | + | | EM2088 | ezeio I/O Expander |
+ | | EM2088-MB | ezeio I/O Expander + MB | eze CAN / Modbus RTU | ezeio controller or 3rd party Modbus RTU master | | ||
Local connectivity includes; | Local connectivity includes; | ||
Line 81: | Line 81: | ||
* In the first 30 seconds of start-up, press the button (at the top of the I/O Expander) 3 times | * In the first 30 seconds of start-up, press the button (at the top of the I/O Expander) 3 times | ||
* The I/O Expander' | * The I/O Expander' | ||
- | * The I/O Expender's LEDs will confirm the entry by flashing the address number (5 flashes = address 5) | + | * The I/O Expander's LEDs will confirm the entry by flashing the address number (5 flashes = address 5) |
---- | ---- | ||
Line 97: | Line 97: | ||
==== Connect via Modbus RTU ==== | ==== Connect via Modbus RTU ==== | ||
In this communication mode the I/O Expander functions like a 3rd party device. Since Modbus RTU is an open protocol, it could be sold separately and use with almost any Modbus master. | In this communication mode the I/O Expander functions like a 3rd party device. Since Modbus RTU is an open protocol, it could be sold separately and use with almost any Modbus master. | ||
+ | |||
+ | * When connecting to an ezeio via Modbus RTU a device driver is required. Search for available I/O Exp drivers on the eze.io configuration' | ||
+ | * If utilizing the I/O Expander in conjunction with a 3rd party Modbus master, refer to the I/O's [[ezeio2/ | ||
+ | | ||
One of the effects of using this communication mode is a slower register update rate. Modbus RTU operates at a much slower speed than CANbus/ | One of the effects of using this communication mode is a slower register update rate. Modbus RTU operates at a much slower speed than CANbus/ | ||
Line 124: | Line 128: | ||
* In the first 30 seconds of start-up, press the button (at the top of the I/O Expander) 3 times | * In the first 30 seconds of start-up, press the button (at the top of the I/O Expander) 3 times | ||
* The I/O Expander' | * The I/O Expander' | ||
- | * The I/O Expender's LEDs will confirm the entry by flashing the address number (5 flashes = address 5) | + | * The I/O Expander's LEDs will confirm the entry by flashing the address number (5 flashes = address 5) |
---- | ---- | ||
Line 146: | Line 150: | ||
---- | ---- | ||
- | |||
- | == Modbus/RTU slave registers == | ||
- | |||
- | Read-only input (command 0x03) registers: | ||
- | |||
- | ^ Register ^ Address ^ Type ^ Description ^ | ||
- | | 30001 | 0 | UINT_16 | Input 1 raw value (mV, uA or Ohm) | | ||
- | | 30002 | 1 | UINT_16 | Input 2 raw value (mV, uA or Ohm) | | ||
- | | 30003 | 2 | UINT_16 | Input 3 raw value (mV, uA or Ohm) | | ||
- | | 30004 | 3 | UINT_16 | Input 4 raw value (mV, uA or Ohm) | | ||
- | | 30005 | 4 | UINT_16 | Input 5 raw value (mV, uA or Ohm) | | ||
- | | 30006 | 5 | UINT_16 | Input 6 raw value (mV, uA or Ohm) | | ||
- | | 30007 | 6 | UINT_16 | Input 7 raw value (mV, uA or Ohm) | | ||
- | | 30008 | 7 | UINT_16 | Input 8 raw value (mV, uA or Ohm) | | ||
- | | 30009 | 8 | UINT_16 | Supply Voltage (mV) | | ||
- | | 30010 | 9 | UINT_16 | 5V output (mV) | | ||
- | | 30011 | 10 | UINT_32 | Input 1 raw value (mV, uA or Ohm) | | ||
- | | 30013 | 12 | UINT_32 | Input 2 raw value (mV, uA or Ohm) | | ||
- | | 30015 | 14 | UINT_32 | Input 3 raw value (mV, uA or Ohm) | | ||
- | | 30017 | 16 | UINT_32 | Input 4 raw value (mV, uA or Ohm) | | ||
- | | 30019 | 18 | UINT_32 | Input 5 raw value (mV, uA or Ohm) | | ||
- | | 30021 | 20 | UINT_32 | Input 6 raw value (mV, uA or Ohm) | | ||
- | | 30023 | 22 | UINT_32 | Input 7 raw value (mV, uA or Ohm) | | ||
- | | 30025 | 24 | UINT_32 | Input 8 raw value (mV, uA or Ohm) | | ||
- | | 30027 | 26 | UINT_32 | Supply Voltage (mV) | | ||
- | | 30029 | 28 | UINT_32 | 5V output (mV) | | ||
- | | 30031 | 30 | UINT_32 | Input 1 pulse count | | ||
- | | 30033 | 32 | UINT_32 | Input 2 pulse count | | ||
- | | 30035 | 34 | UINT_32 | Input 3 pulse count | | ||
- | | 30037 | 36 | UINT_32 | Input 4 pulse count | | ||
- | | 30039 | 38 | UINT_32 | Input 5 pulse count | | ||
- | | 30041 | 40 | UINT_32 | Input 6 pulse count | | ||
- | | 30043 | 42 | UINT_32 | Input 7 pulse count | | ||
- | | 30045 | 44 | UINT_32 | Input 8 pulse count | | ||
- | | 30047 | 46 | UINT_32 | not used | | ||
- | | 30049 | 48 | UINT_32 | not used | | ||
- | | 30051 | 50 | UINT_32 | Input 1 pulse interval (ms) | | ||
- | | 30053 | 52 | UINT_32 | Input 2 pulse interval (ms) | | ||
- | | 30055 | 54 | UINT_32 | Input 3 pulse interval (ms) | | ||
- | | 30057 | 56 | UINT_32 | Input 4 pulse interval (ms) | | ||
- | | 30059 | 58 | UINT_32 | Input 5 pulse interval (ms) | | ||
- | | 30061 | 60 | UINT_32 | Input 6 pulse interval (ms) | | ||
- | | 30063 | 62 | UINT_32 | Input 7 pulse interval (ms) | | ||
- | | 30065 | 64 | UINT_32 | Input 8 pulse interval (ms) | | ||
- | | 30067 | 66 | UINT_32 | not used | | ||
- | | 30069 | 68 | UINT_32 | not used | | ||
- | | 30071 | 70 | UINT_32 | Input 1 pulse frequency (Hz*1000) | | ||
- | | 30073 | 72 | UINT_32 | Input 2 pulse frequency (Hz*1000) | | ||
- | | 30075 | 74 | UINT_32 | Input 3 pulse frequency (Hz*1000) | | ||
- | | 30077 | 76 | UINT_32 | Input 4 pulse frequency (Hz*1000) | | ||
- | | 30079 | 78 | UINT_32 | Input 5 pulse frequency (Hz*1000) | | ||
- | | 30081 | 80 | UINT_32 | Input 6 pulse frequency (Hz*1000) | | ||
- | | 30083 | 82 | UINT_32 | Input 7 pulse frequency (Hz*1000) | | ||
- | | 30085 | 84 | UINT_32 | Input 8 pulse frequency (Hz*1000) | | ||
- | | 30087 | 86 | UINT_32 | not used | | ||
- | | 30089 | 88 | UINT_32 | not used | | ||
- | | 30091 | 90 | UINT_16 | Output 1 status (0/100) | | ||
- | | 30092 | 91 | UINT_16 | Output 2 status (0/100) | | ||
- | | 30093 | 92 | UINT_16 | Output 3 status (0/100) | | ||
- | | 30094 | 93 | UINT_16 | Output 4 status (0/100) | | ||
- | | 30095 | 94 | UINT_16 | Output 5 status (0/100) | | ||
- | | 30096 | 95 | UINT_16 | Output 6 status (0/100) | | ||
- | | 30097 | 96 | UINT_16 | Output 7 status (0/100) | | ||
- | | 30098 | 97 | UINT_16 | Output 8 status (0/100) | | ||
- | | 30099 | 98 | UINT_16 | Analog Out 1 status (0-100) | | ||
- | | 30100 | 99 | UINT_16 | Analog Out 2 status (0-100) | | ||
- | | 30101 | 100 | UINT_32 | Uptime (s) | | ||
- | | 30103 | 102 | UINT_16 | constant value 23456 | | ||
- | | 30104 | 103 | UINT_32 | constant value 123456789 | | ||
- | | 30106 | 105 | UINT_16 | constant value 57872 (=hE21O) | | ||
- | |||
- | Read/write holding (command 0x04) registers: | ||
- | |||
- | ^ Register ^ Address ^ Type ^ Description ^ | ||
- | | 40001 | 0 | UINT_16 | Input 1 mode | | ||
- | | 40002 | 1 | UINT_16 | Input 2 mode | | ||
- | | 40003 | 2 | UINT_16 | Input 3 mode | | ||
- | | 40004 | 3 | UINT_16 | Input 4 mode | | ||
- | | 40005 | 4 | UINT_16 | Input 5 mode | | ||
- | | 40006 | 5 | UINT_16 | Input 6 mode | | ||
- | | 40007 | 6 | UINT_16 | Input 7 mode | | ||
- | | 40008 | 7 | UINT_16 | Input 8 mode | | ||
- | | 40091 | 90 | UINT_16 | Output 1 status (0/100) | | ||
- | | 40092 | 91 | UINT_16 | Output 2 status (0/100) | | ||
- | | 40093 | 92 | UINT_16 | Output 3 status (0/100) | | ||
- | | 40094 | 93 | UINT_16 | Output 4 status (0/100) | | ||
- | | 40095 | 94 | UINT_16 | Output 5 status (0/100) | | ||
- | | 40096 | 95 | UINT_16 | Output 6 status (0/100) | | ||
- | | 40097 | 96 | UINT_16 | Output 7 status (0/100) | | ||
- | | 40098 | 97 | UINT_16 | Output 8 status (0/100) | | ||
- | | 40099 | 98 | UINT_16 | Analog Out 1 status (0-100) | | ||
- | | 40100 | 99 | UINT_16 | Analog Out 2 status (0-100) | | ||
- | |||
- | Input modes: | ||
- | |||
- | ^ Mode ^ Description ^ Unit ^ | ||
- | | 0 | 0-10V (high impedance) | mV | | ||
- | | 1 | 0-30mA (200 Ohm internal shunt to common) | uA | | ||
- | | 2 | Pulse/ | ||
- | | 3 | Self-test (4.87k pull-up & 200 Ohm shunt both connected) | Ohm | | ||
- | | 6 | Thermistor, 10k type II | Kelvin * 100 | | ||
- | | 10 | Thermistor, 10k type 3 | Kelvin * 100 | | ||
- | | 14 | Thermistor, 2k2 | Kelvin * 100 | | ||
- | | 18 | Thermistor, 100k | Kelvin * 100 | | ||
- | |||
- | |||
- | |||
- | == Adding Inputs and Outputs to eze.io configuration == | ||
- | |||
- | Device driver provides the means to configure input modes, settings and makes registers available. | ||
- | |||
- |