ezeio2:ioexpander

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ezeio2:ioexpander [2022-05-23 22:15] johparezeio2:ioexpander [2025-06-13 16:26] (current) – [Connect via EXP port] andreh
Line 12: Line 12:
  
  
-^ Quantity ^ eze-CAN ^ Modbus RTU ^+ ^ 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 ^ For use with 
-| EM2088 | ezeio I/O Expander | eze CAN / Modbus RTU | +| EM2088 | ezeio I/O Expander | eze CAN  | ezeio controller only | 
 +| 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's LEDs will begin to roll red and green. Enter the desired address by clicking the button (5 clicks = address 5)   * The I/O Expander's LEDs will begin to roll red and green. Enter the desired address by clicking the button (5 clicks = address 5)
-  * 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's "Device" tab or the [[ezeio2:userinterface:configuration:devicelist|Drivers]] section of this manual.
 +  * If utilizing the I/O Expander in conjunction with a 3rd party Modbus master, refer to the I/O's [[ezeio2/ioexpander/regmap|register map]]. 
 +  
  
 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/eze-CAN. Update rates will vary based on the number of devices and registers polled. Update rate could range from several times per second to a slow as once per minute, with high traffic and/or comm issues. 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/eze-CAN. Update rates will vary based on the number of devices and registers polled. Update rate could range from several times per second to a slow as once per minute, with high traffic and/or comm issues.
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's LEDs will begin to roll red and green. Enter the desired address by clicking the button (5 clicks = address 5)   * The I/O Expander's LEDs will begin to roll red and green. Enter the desired address by clicking the button (5 clicks = address 5)
-  * 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/Resistance (4.87k pull-up to +5V) | Ohm |  
-| 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. 
- 
- 
  • ezeio2/ioexpander.1653344146.txt.gz
  • Last modified: 2022-05-23 22:15
  • by johpar