ezeio2:drivers:doc:discreteinput

Description

This driver (located in the Core drivers folder) is designed for use with the ezeio MkII controller and the ezeio MkII I/O Expander. It is ideal for reading resistance (Ohms), and sensors with DC current (0-30 mA) or voltage (0-10 VDC) signals. This driver does support pulse outputs and thermistors, specialized drivers are offered. The settings on this driver map the source, configure circuitry on the ezeio, and produce signal readings, scaled values, a logic value and statuses. An instance of this driver can be added for each available input terminal on the controller or expanders. This method of individually configuring inputs allows the driver's name to reflect a unique sensor or device. Below are descriptions of the various settings.


Settings

Name - The name is up to the user. Our suggestion is to choose a naming convention that makes the viewing the device list intuitive. Such as referring to the sensor and/or application. Keep the name short as it will be combined with the register name to create the default “Field” name (if added to “Fields”)

Notes - This space can be used to store information specific to the device, such as: location, wiring, scaling, etc.

Active Check box - Check this box and “Save changes” to run the driver. The driver program can be suspended by unchecking the box and clicking on “Save changes”.

Device - Select the ezeio controller or the device number of a connected ezeio I/O Expander.

Input number - Select the input number (1-8) of the selected device.

Input hardware type - Select the type of sensor or signal type (0-10V, 0-30mA (4-20mA), Ohms, thermistor). Some of the thermistor choices are tailored to specific sensors and others are generic (see the table below for details). Options from pulse are shown, but we recommend using the “Pulse input” driver. The Self test is diagnostic setting to test the circuitry of the input when nothing is connected.

REGISTER 1 & 2 modes - Each discrete input is duplicated, providing the opportunity apply two modes of initial processing and two methods of scaling. The ezeio controller's microprocessor reads the onboard inputs at a rate of 1000 times per second and exports the results every 1/10 of a second (connected I/O Expander inputs are sampled slower as they are transmitted via CANbus). Additional processing is applied to logged registers (see "Fields")

Register 1 & 2 modes - These modes control how the analog to digital converter calculates the live values. Separate settings on the individual “Field” settings control how each channel is logged. Choose one of the setting below for registers 1 & 2.

Mode Description Effect
Snapshot Captured value is a single sample 99 samples are rejected
Minimum Lowest of the 100 readings over sample interval 99 samples are rejected
Maximum Highest of the 100 readings over sample interval 99 samples are rejected
Average Average of the 100 readings over sample interval All samples used to find avg.
Pulse rate Rate is shown as frequency (Hz x 1000)
Pulse count Counting total number of pulse
Pulse interval milliseconds elapsed since last pulse
Differential pulse count

SCALING OF REGISTER 1 - Register 1 can be scaled to a unit value such as PSI or LPM with a 2 point linear conversion method. A rough conversion can be obtained by entering corresponding values from a table supplied by the sensor manufacture. For a calibrated conversion, use a trusted gauge or probe to provide readings at two points within the sensors range. Enter the value for one point and use the driver's copy function to capture the corresponding live raw reading. The result of this conversion is shown in register 3. In addition, a Low/High error range (in the scaled unit) can be entered, representing a normal or safe operating range for the application.

Raw value point A & B - By default, the range shown here is set based on the “Input hardware type” selected, such as 0-10V (0.0 - 10.0) or 0-30mA (4.0 - 20.0). This would correlate to the full scale of a typical sensor. These fields can be changed if required to match the output of your sensor or the scale range you wish to use in the next step.

Scaled value at point A & B - Enter values here that correlate to the Min/Max raw values. For example: 4.0mA = 0 psi and 20.0mA = 250 psi

Low error - High error - Enter values here that represent the normal range for the application. This could also represent the operating range of the sensor, so a negative value could indicate an open circuit. When the value is out of this range, the “Driver status” will indicate an “App error”. This error can be see on the Driver status, incorporated in expressions by use of ds(DVCSTAT_APPSTAT) and included in messages with the “Message Template Tag” [DVCSTAT#APPSTAT].

SCALING OF REGISTER 2 - This register's scaling utilizes a multiplying factor and an offset. Using the previous example of a 4-20mA output pressure transducer with a range of 0-250 psi, the offset would be 4 and the factor would be 15.625. The result of this scaling of register 2 is shown as register 4

Offset - Set a starting point or floor for the scaling such as 4 in the case of 4-20mA signals.

Factor - Multiply the raw value to create a linear conversion that matches your sensors scale. To find the factor, divide the sensor full scale range by the number of raw unit steps.

LOGIC STATE - This feature converts any ranging analog value into a digital value (or boolean) by defining a threshold beyond which it is consider true (represented by 1, or 100).

Threshold (Scaled) - Enter a threshold value above or below which the state should be considered true (or ON).

Filter time - Filter out transient value changes by entering a number of seconds (and tenths) in this field. The value must then exceed the threshold for the proscribed time before it is considered true.

Logic - Set the true (or ON) state to be above or below the threshold value, with a value of 1 or 100. Choosing 100, make it easy to use the value to drive a digital output via “Fields”.

For thermistors, more options and features are available in the Thermistor driver

Thermistor Name Source or Generic Part # Application Range
10k type II Generic
10k type III Generic
10k type B=3380 eze System BA0010
2k2 eze System BA0022
100k Generic
TX1001 Pro ThermoWorks TX-1001X-OP
ET7273 ET7273


Device Status

Driver info - Typically this is the name from the program file

Driver updated/version - Date loaded or updated and the version of the driver

Battery & Signal - Signal indicates the progress through the script. If driver fails to operate, signal number indicates progress

Driver status - Color and text of status bubbles give a quick visual reference of Communication, Operation, and Application

Communication - Com count indicates number of successful and unsuccessful data packets received


Available registers

1 Raw electrical value Unit type is set by “Input hardware type”, V, mA, Ohm
2 Raw electrical value Unit type is set by “Input hardware type”, V, mA, Ohm
3 Scaled value, Register 1 Scaled by 2 point calibration
4 Scaled value, Register 2 Scaled by offset and factor
5 Logical state Analog value converted to digital (on/off) based on threshold setting
6 Logical cycles Number of times “Logical state” changes from off to on
7 Logical active time Number of seconds logical state is “on” (runtime)
  • ezeio2/drivers/doc/discreteinput.txt
  • Last modified: 2024-05-09 15:30
  • by andreh