Skip to main content

smartIO 8x24

Description

PCB smartIO 8x24

The smartIO 8x24 offers connection options for 8 analog signal sources for voltage or current measurement with the following selectable measuring ranges:

  • ±160V, ±80V, ±40V, ±20V, ±10V, ±5V
  • ±200mA, ±100mA, ±50mA, ±25mA

Other key parameters are

  • Sampling rate up to 1 kHz
  • 24-bit analog-to-digital converter
  • Common-mode voltage up to 100V
  • Current input with overload protection
  • Sensor linearization via polynomial
  • Various filter options
  • Isolation between process, supply, and digital interfaces up to 1700 V DC

The module is configured via a serial interface (USB) and the comprehensive SCPI command set using any terminal program or, preferably, optiCONTROL. This configuration also includes the addresses, transmission rates, and assignment of CAN messages. Configuration in the field can be carried out via the CAN bus using the console application smiocan. This is included in the current versions of Yocto Linux for the smart family (smartMINI, smartRAIL, etc.).

Each module is individually tested as a RAIL version with regard to voltage resistance and insulation between the process and USB sides. With its sturdy aluminum housing and protective coating on the circuit board in accordance with EN50155, it also meets the requirements for use on rail vehicles.

Even though the module is integrated into the smartRAIL housing, the connection for CAN and power supply is made via the two M12 connectors. These can be connected in series with the smartRAIL connection using a short M12 connection cable.

optiMEAS reserves the right to make changes and errors in this and all other data, descriptions, or examples relating to this product.

Function

Input channel diagram

The smartIO 8x24 has 8 inputs, each of which identical in design:

  • The voltage input connections (U_IN, COM) are each connected with a high impedance of Rin=1MΩR_{\rm{in}} = 1 M\Omega, an operating mode selector switch, and the subsequent input amplifier with a Sallen-Key filter (SKF).

  • The current input connections (I_IN, COM) are connected to each other via a fuse (F)1 for overload protection and a small shunt resistor RShunt=10ΩR_{\rm{Shunt}} = 10 \Omega. The voltage tap on the shunt has a high impedance of Rin=1MΩR_{\rm{in}} = 1 M\Omega and leads via the operating mode selector switch to the subsequent input amplifier with Sallen-Key filter (SKF).

The COM connections of the 8 channels are only connected to each other via the input impedances RinR_{\rm{in}} and a virtual ground point. This means that the inputs are designed for differential measurement in every operating mode. It is therefore essential to set the COM connection to a reference potential on each channel used.

  • The common-mode voltage2 between the inputs may be up to 100V DC.

  • The Sallen-Key filter limits the input bandwidth to 480 Hz, thus acting as an anti-aliasing filter for the subsequent AD converter.

  • The AD converter, which uses the delta-sigma method, can be configured for sampling rates of up to 1 kHz, synchronously for all input channels. The programmable input gain allows for different measuring ranges, and the conversion width is 24 bits.

  • A calibration data set is stored for each gain and operating mode (U/I), which is used to calculate the measurement voltage or measurement current at the input.

  • This calibrated measured variable can be calculated using a user polynomial3 to map a sensor characteristic curve. This allows the module to output the physical measured variable of the sensor directly via CAN.

  • This physical measured variable is fed in parallel to different filter stages:

    • a first-order low-pass filter
    • a moving average filter
    • a moving RMS filter

The window width of the moving filters and the time constant for the low-pass filters can be set jointly for all channels. With a window width of 300 samples, true RMS values can also be measured directly for AC signals with typical frequencies of 50 Hz (15 periods), 60 Hz (18 periods), and 16 2/3 Hz (5 periods).


Communication

The measured values are transmitted on the CAN bus in individual messages. Up to 20 CAN messages can be configured with:

  • CAN ID (11-bit, 29-bit)
  • Transmission rate in ms, after device start or RTR
  • Content

A wide range of data elements is available for the content, including not only the filtered measured values, but also status information about the channel, the internal temperature of the module, firmware and hardware status, and the physical unit. The measured values are preferably transmitted as 4-byte <float>, which eliminates the need for further scaling on the receiver side if the module is planned and set up accordingly. Transmission as <int16> is also possible. In this case, however, the scaling of the output variable depends on the selected measuring range or the user polynomial in order to make the best possible use of the limited value range.

Configuration is carried out using an extended SCPI protocol via the serial interface4, which is available on the USB configuration port (COM, /dev/tty). The serial interface can be addressed with any terminal program5. The module supplements an editable command input with history and offers optional color output. For certain commands that affect multiple channels simultaneously, the output is structured in a readable manner. In addition, the line ending used (CR, LF, CRLF) is determined automatically, enabling operation on a (classic) terminal. Using the __? command, a detailed, documented list of all commands can be retrieved directly from the device. Critical commands are protected by a passcode. The configuration software optiCONTROL provides easy-to-use input masks for the essential settings for configuring the module.

A service connection to the new smartIO family can also be established in the field via two reserved CAN messages (0x011, 0x012). An extended ISO-TP protocol is run via the messages. In addition to the actual data connection (ASCII/binary), asynchronous status information for connection management and command processing on the device side is also implemented. This makes it possible to select a device for communication on the same CAN messages and to transfer even large amounts of data securely and bidirectionally. Furthermore, access protection is implemented using a seed key procedure.

About this service connection

  • the device's SCPI command set is used for configuration and
  • a firmware update of the device software can be performed.

In the current versions of the YOCTO environment, the console application smiocan can be used on devices of the smart family for communication via this service connection. The app offers the following options:

  • Perform device search
  • Set device time/date
  • Various logbook outputs
  • Commands from
    • the Linux command line
    • a batch file or
    • interactively
  • Perform firmware updates for a specific device or all devices

Isolation of connection groups

The input group for supply voltage and CAN bus, the USB configuration interface, and the connections to the process are isolated from each other and suitable for use in railway applications with a nominal operating voltage of 110V up to an insulation voltage of 1.7kV DC.

Isolation ESP32

Depending on the module design, process inputs are connected with high impedance to the internal analog reference point (virtual GND) and thus also to each other, which is usually negligible.

Module interfaces

Measurement inputs (X10)

Double-row Phoenix terminals with a 3.5 mm pitch are used for the measurement inputs [X10]. The position of pin 1 and the counting direction are marked on the housing.

Measuring input X10

ChannelI_INCOMU_IN
1Pin 1Pin 3Pin 5
2Pin 2Pin 4Pin 6
3Pin 7Pin 9Pin 11
4Pin 8Pin 10Pin 12
5Pin 13Pin 15Pin 17
6Pin 14Pin 16Pin 18
7Pin 19Pin 21Pin 23
8Pin 20Pin 22Pin 24

Suitable connectors from Phoenix are

  • Art.-Nr. 1790399, DFMC 1,5/12-STF-3,5
  • Art.-Nr. 1790580, DFMC 1,5/12-ST-3,5-LR

The base housing of the plug connection on the smartIO and the plugs can be uniquely marked using the coding profile if several smartIO modules are used. This enables pre-assembly of the plugs and connection without confusion.

  • Item no. 1790647, CP-DMC 1.5 NAT - Coding profile

Voltage measurement

The U_IN and COM inputs must be used for voltage measurement. The measurement is differential, so both connections must always be used. The potential difference between different input channels must be within the permissible common-mode voltage range.

In the smartIO configuration, deactivate current measurement for the corresponding channel (adc:current N, 0) and select a suitable measuring range (adc:gain N, G). The optiCONTROL software is recommended for configuration; configuration via the SCPI interfaces is also possible.

The following example shows the voltage measurement on any component in the process:

Voltage measurement

An active sensor with an integrated amplifier and (bipolar) voltage output can be connected as follows, for example:

Voltage measurement_2

The following measurement ranges can be set:

Gain GMeasuring range
1±160V\pm160\rm{V}
2±80 V
4±40 V
8±20 V
16±10 V
32±5 V

Current measurement

The I_IN and COM inputs must be used for current measurement. The measurement is performed differentially via the internal shunt resistor; both connections must always be used. The measurement can be performed at any position in the measuring circuit of the signal source (high/low side). The potential difference between different input channels must be within the permissible common-mode voltage range.

In the smartIO configuration, activate current measurement for the corresponding channel (adc:current N, 1) and select a suitable measuring range (adc:gain N, G). The optiCONTROL software is recommended for configuration; configuration via the SCPI interfaces is also possible.

A 2-wire sensor that modulates the measured variable as a 4-20mA current signal to the supply voltage is connected according to the following diagram:

Current measurement

If a sensor with an integrated amplifier and (bipolar) current output (e.g., LEM current transformer) is used, the connection is made as follows:

Current measurement_2

The following measuring ranges can be set:

Gain GMeasuring range
1±200mA\pm200\rm{mA}
2±100 mA
4±50 mA
8±25 mA
note

The scaling factors 16 and 32 are not calibrated and must not be used for measurements.

tip

For clean wiring of 2-wire sensors, the Initiator Terminal 270-560 from Wago with the appropriate accessories (power supply terminal -564, bridge -409, termination plates -319). This ensures the distribution of the supply voltage and ground return for all sensors and provides sufficient connections for the sensor cables and measurement inputs of the smartIO 8x24.

Wago 270 560

warning

The fuse (500mA, fast-acting) is intended as a last resort to protect the measurement input from damage caused by incorrect wiring. It may only be replaced by optiMEAS Service! To avoid unnecessary downtime, the wiring must be carefully checked before commissioning!

If 24V supply voltage is accidentally applied directly to the input, a current flows through the measuring shunt RshuntR_{shunt} without appropriate protection. flow through the measuring shunt RshuntR_{shunt} without appropriate protection.

Ishunt=UR=24V10Ω=2.4A.I_{shunt}=\frac{U}{R}=\frac{24 V}{10 \Omega}=2.4 A.

This means a power loss of

Pshunt=UI=U2R=I2R=57.6W.P_{shunt}=U\cdot I=\frac{U^2}{R}=I^2\cdot R=57.6 W.

This would quickly lead to significant, irreparable damage to SMD components and the circuit board.

Sensor scaling

The measured input variables voltage or current are transmitted via the CAN bus in float format using the factory settings. Scaling to the measuring range used in the DBC file is not necessary. Scaling to the physical measured variable recorded at the sensor can be performed in the DBC file or, better still, via the polynomial definition in smartIO. The latter also enables the correct display of the true RMS values calculated in smartIO.

Sensor scaling

The following is an example of how to determine the coefficients for connecting a 4-20mA pressure sensor:

The polynomial to be determined specifies the relationship between the measurement signal xx (voltage or current at the measurement input) and the physical measurement variable yy of the sensor:

y(x)=Polynomial(x)=k=0n1akxk=+a2x2+a1x+a0y(x)=scalex+offset\begin{array}{l} y(x) = Polynomial(x) = \sum\limits_{k = 0}^{n - 1} {{a_k}{x^k} = \ldots + {a_2}{x^2} + {a_1}x + {a_0}} \\ y(x) = \it{scale} \cdot x + \it{offset} \end{array}

The following information can be found in the sensor data sheet:

[xminxmax]=[4mA20mA][yminymax]=[50hPa150hPa]\begin{array}{l} \left[{\begin{array}{cc} {{x_{\min }}}&{{x_{\max }}} \end{array}} \right] = \left[ {\begin{array}{cc} {4{\rm{mA}}}&{20{\rm{mA}}} \end{array}} \right]\\ \left[ {\begin{array}{cc} {{y_{\min }}}&{{y_{\max }}} \end{array}} \right] = [\begin{array}{cc} { - 50{\rm{hPa}}}&{150{\rm{hPa}}} \end{array}] \end{array}

Substituting these points into the above equation, we obtain:

scale=ymaxyminxmaxxmax=12.5hPamAoffset=y(xmin)scalexmin=yminscalexmin=100hPa\begin{array}{l} \it{scale} = \frac{{{y_{\max }} - {y_{\min }}}}{{{x_{\max }} - {x_{\max }}}} = 12.5\frac{{hPa}}{{mA}}\\ \it{offset} = y({x_{\min }}) - \it{scale} \cdot {x_{\min }} = {y_{\min }} - scale \cdot {x_{\min }} = - 100hPa \end{array}

In this case, the following polynomial would be set in smartIO for channel N=2:

adc:polynomial 2, 12.5, -100.0
adc:unit 2, "hPa"

The dialog-guided configuration using optiCONTROL is much easier:

Polynomial setting in optiCONTROL

All result values on the CAN bus are then correctly scaled in hPa for this channel.

Power supply, CAN bus, configuration (X20 - X22)

The supply voltage and CAN bus are available on two M12 connectors (A coded) [X20] and [X22] according to the Device-Net assignment. The 24V power supply and the CAN bus connection are looped through from the connector to the socket. This allows several different smartIO modules to be connected in series. If no further smartIO module follows, the terminated directly at the Phoenix terminal using a connector with an integrated terminating resistor (120 Ω) or terminated directly at the Phoenix terminal. CAN-GND is identical to the supply ground .

M12 connector, USB

CAN In/Out (X20, X22)

The two connections [X20] and [X22] are internally connected 1:1 and have identical functions. The male/female pair design allows the CAN bus to be continued directly, bypassing the smartIO.

PinSignalDescription
1CAN shieldCable shielding, is passed through
2+24 VPower supply +24V (nom., see technical data)
3GNDReference ground for power supply and CAN bus
4CAN HCAN bus: CAN high
5CAN LCAN bus: CAN low
6CAN LCAN bus: CAN low

Standard Device-Net cables with female to male connectors can be used. For pre-assembled cables, twisted pair cable bundles must be selected for connection pairs 2 and 3 as well as 4 and 5.

The smartIO itself does not have an internal terminating resistor for the CAN bus. This is available as an accessory in M12 format.

  • Item no. 1507816, SAC-5P-M12MS CAN TR (Male)

  • Item no. 1529344, SAC-5P-M12FS CAN TR (Female)

For information on setting up CAN bus networks and their termination, please refer to this article.

USB (X21)

The USB-UART configuration interface [X21] conceals a USB-serial converter (CP2102N), which is mapped as a virtual COM port under Windows and as /dev/tty* and /dev/serial/by*... under Linux. This connection is also electrically isolated from the process level. The ASCII-based SCPI protocol is used to configure the module. However, the optiCONTROL software from optiMEAS is recommended for configuring the smartIO modules, as it provides a graphical user interface with appropriately prepared dialogs.

Certifications

EC Declaration of Conformity

CE

The CE mark indicates compliance with the

  • EMC Directive,
  • RoHS 2011/65/EU (June 8, 2011) and the
  • Low Voltage Directive.

Railway applications—Electronic equipment on railway vehicles, EN 50155:2017

TopicDescriptionStandard
EN50155In addition to the CE declaration of conformity, the following classifications and certifications to EN50155 are also carried out for the smartRAIL version:
EN50155 ClimateEnvironmental conditions:
- AX (2000m)
- TX (...)
- Cold
- Dry heat
- Cyclical humid heat

EN 50125-1 §4.2.1
EN 50155 §4.1.2
EN 50155 §13.4.4
EN 50155 §13.4.5
EN 50155 §13.4.7
IEC61373Oscillations and shocks
- Oscillations
- Shocks

IEC61373 §8 + 9
IEC61373 §10
EN50121EMC + Insulation
Unit tests are performed and logged
in accordance with EN50155 §12.2

- Visual inspection
- Insulation 500V DC
- Withstand voltage 1.7kV
EN50121-3-2
EN 61000-3-2/3
EN 55016-2-1/2

EN50155 §12.2.1
EN50155 §12.2.9.1
EN50155 §12.2.9.2
EN45545Fire protectionEN45545-2

Technical data

Supply voltage / Ambient conditions

ParameterCommentMinTypeMaxUnit
Supply voltagewith reverse polarity protection836V
Overvoltage protectionno
ESD protectionTVS diode40V
Current consumption@ 24V5060mA
ConnectorA-coded (M + F)M12
Operating temperatureEN 50155 / Range TX6-4085°C
Relative humidity(condensing)595%
PCB coatingEN50155PC2
HousingAluminum
Length(without plug)124mm
Width85mm
Height35mm
Weight330g
CoolingPassive
Protection classISO 20653IP54
MountingMounting rail (EN 50022)TS 35
Design RAIL
Insulation resistance@ 500V10GΩG\Omega
Withstand voltage test60s1.7kV

CPU

ParameterCommentValueUnit
ProcessorESP32-S3
FamilyXtensa® 32-bit LX7
Clock240MHz
ROMFLASH384kB
RAMSRAM512kB
Data bus32bit
Analog inputs, digitization1616-bit

Analog inputs, digitization

ParameterCommentMinTypeMaxUnit
NumberVoltage, differential78
Measuring rangeGain = 1-160160V
Gain = 2-8080V
Gain = 4-4040V
Gain = 8-2020V
Gain = 16-1010V
Gain = 32-55V
Accuracyrms(ΔU)/URangerms(\Delta U)/U_{\rm{Range}}0.02% FS
Input resistanceRinR_{\rm{in}} to virt. MP1MΩM\Omega
NumberCurrent, differential78
Gain = 1-200200mA
Gain = 2-100100mA
Gain = 4-5050mA
Gain = 8-2525mA
Accuracyrms(ΔI)/IRangerms(\Delta I)/I_{\rm{Range}}0.50% FS
CM suppressionΔc/cmax\Delta c/c_{\rm{max}}0.05% FS
ShuntRShuntR_{\rm{Shunt}}, 1.5W610Ω\Omega
Fuse32V, fast
Replacement only by optiMEAS Service
500mA
Input resistanceRinR_{\rm{in}} to virt. MP1MΩM\Omega
Anti-aliasing filterSallen-Key filter, 2nd order, switchable480Hz
ConverterDelta-Sigma24bit
Sampling rate1000Hz
Output ratevia CAN01000Hz
Software filterLowpass, 1st order01000ms
MiWe, RMS300500Samples
LinearizationPolynomiala0x0a_0\cdot x^0a14x14a_{14}\cdot x^{14}

Interfaces

ParameterCommentMinTypeMaxUnit
NumberCAN 2.0 B1
Baud rateConfigurable5001000kbit/s
ConnectorA-coded (M + F)M12
Terminating resistorno
NumberSerial/USB1
Baud rateFixed38400kbit/s
ConnectorMicro-USB
ChipsetPower supply via USBCP2102N
ProtocolSCPI

Both interfaces are isolated from each other and from the measurement input.

The module responds to the SCPI query *idn? with an identification according to the following pattern, whereby the serial number, version status, and date/time stamp will vary:

optiMEAS, smartIO, 8X24, 1, 24006200011, 1.35, 0, Nov 22 2024 15:50:07, 20240610

Process image

The following messages are reserved for the smartIO family with ESP controller:

CAN ID (dec)CAN ID (hex)Data typeDirectionDescriptionUnit
160x010uint48to all smartIOTimestamp (Unix, 1970-01-01)ms
uint80
uint8Checksum
170x011ISO-TP+8to all smartIODiagnostic interface
180x012ISO-TP+8from activated smartIODiagnostic interface

The process image for measurement data and status information is freely configurable via the SCPI interface. With the factory settings, the following messages and contents are sent in Motorola format (MSB) at a baud rate of 500 kbit:

can:msg      0x0F0,    -2, 9000, 9001, 9002
can:msg 0x0F1, 10, 0, 1
can:msg 0x0F2, 10, 2, 3
can:msg 0x0F3, 10, 4, 5
can:msg 0x0F4, 10, 6, 7
can:msg 0x0F5, 100, 200, 201
can:msg 0x0F6, 100, 202, 203
can:msg 0x0F7, 100, 204, 205
can:msg 0x0F8, 100, 206, 207
can:msg 0x0FD, 1000, 8000, 8001, 8002, 8300, 8301, 8110
CAN ID (dec)CAN ID (hex)Param. IDData typeOutput clockDescriptionUnit
2400x0F09000uint40Startup + RTRSerial Number
240062#####
9001uint8HW Version
9002uint16SW Version0.01\cdot 0.01
2410x0F10float10 msInput 1, PT1 filterV, mA, X
1floatInput 2, PT1 filterV, mA, X
2420x0F22float10 msInput 3, PT1 filterV, mA, X
3floatInput 4, PT1 filterV, mA, X
2430x0F34float10 msInput 5, PT1 filterV, mA, X
5floatInput 6, PT1 filterV, mA, X
2440x0F46float10 msInput 7, PT1 filterV, mA, X
7floatInput 8, PT1 filterV, mA, X
2450x0F5200float100 msInput 1, RMS[300]V, mA, X
201floatInput 2, RMS[300]V, mA, X
2460x0F6202float100 msInput 3, RMS[300]V, mA, X
203floatInput 4, RMS[300]V, mA, X
2470x0F7204float100 msInput 5, RMS[300]V, mA, X
205floatInput 6, RMS[300]V, mA, X
2480x0F8206float100 msInput 7, RMS[300]V, mA, X
207floatInput 8, RMS[300]V, mA, X
2530x0FD8000uint81000 msCPU0 load%
8001uint8CPU1 load%
8002uint16PCB Temperature0.1 °C
8300uint8Status SK filter, bool[8]
8301uint8Current modes, bool[8]
8110uint16Missing ADC
cycles

Footnotes

  1. If the fuse is destroyed due to overload, the device must be checked and repaired by the optiMEAS service department. Replacement of the SMD component by the user is not intended.

  2. Based on the average voltage potential between U_IN or I_IN and COM.

  3. Polynomial up to a14x14+...a2x2+a1x+a0a_{14}\cdot x^{14} + ... a_2 \cdot x^2 + a_1 \cdot x + a_0, the polynomial is calculated using Horner's scheme.

  4. 38400 baud, 8 data, 1 stop, no parity, [x] local echo, [x] implicit CR with LF (receive)

  5. E.g., PuTTY or TeraTerm – these are not included in the scope of delivery

  6. The measured currents are converted directly at the shunts into a corresponding heat output of up to 0.4W/channel at 200mA. If all channels are operated constantly at 200 mA, this results in an additional heat output of 3.2W on the module! Although this has been tested and is permissible as a continuous load, it can lead to significant heating of the entire module depending on the ambient conditions. No negative effects are to be expected for typical measurement operations with dynamic measurement signals. 2

  7. Either voltage measurement or current measurement mode must be selected for each input. 2

  8. For the diagnostic interface, the ISO-TP protocol has been extended to include type code 0xE0 for the connection management layer (CML). Depending on their content and function, the data packets have a length of 1 to 8 bytes. 2