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 7: Line 7:
  of hard wired serial bus length). For the Modbus RTU option a dedicated driver is used to configure the 8 inputs.     of hard wired serial bus length). For the Modbus RTU option a dedicated driver is used to configure the 8 inputs.   
  
-<WRAP center +<WRAP center round important 60%>
 Do not connect both serial buses. Only one form of serial bus communication can be used to connect to the ezeio controller. Do not connect both serial buses. Only one form of serial bus communication can be used to connect to the ezeio controller.
 </WRAP> </WRAP>
  
  
-^ 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.1653344104.txt.gz
  • Last modified: 2022-05-23 22:15
  • by johpar