In ndio AX-3.4 and later, providing that the kitIo module is installed, the conversion selection Generic Tabular provides a way for a VoltageInputPoint or ResistiveInputPoint to support a non-linear signal on a universal input (using point Facets other than temperature). Note that the ThermistorInputPoint also provides non-linear support for resistance-based temperature sensors, but point Facets are limited to temperature.
If you select Conversion type of “Generic Tabular” an edit control (note pad icon) appears in the property sheet beside it. Click the icon to see the Tabular Conversion Dialog, as shown in Figure 13.
This dialog allows you to edit the current “source-to-results” non-linear curve used by the proxy point, import another curve (.xml file), or export (save) the current curve as an .xml file. In this way you can provide any custom non-linear curve needed. Figure 13 shows a point with a non-linear curve described in the example 1.
The following notes apply to using this feature:
A curve requires at least 2 points (rows), each using “Source” to “Results” values.
Source values use the “Device Facets” of the Nrio proxy point, and must be in the range of the controller input. Therefore, if a VoltageInputPoint, source values must be between 0 to 10 (Volts), or if a ResistanceInputPoint, source values must be between 0 to 100000 (Ohms).
Result values are typically the measured value, regardless of units, at each source point. This assumes no further scaling using a LinearCalibrationExt—i.e., its Scale property is the default “1”.
Points are used in ascending order, by the Source column.
You can add as many points as is needed (there is no hard-coded limit). Click the button to add a new row for a point.
If you skip a point, just add it at the end, and then click . This automatically reorders all points in ascending order, by the Source column.
Click the delete icon (trash can) beside any point to delete it from the curve. If you click the button, all points (plus any Description text) is removed (typically, you do this only to enter a new non-linear curve).
Description text appears in the ProxyExt property sheet, beside the Conversion edit icon.
When you click , the curve configuration is stored as part of the conversion object in the station (there is no association with any external file, in case you imported a non-linear curve).
If you update a non-linear curve (say, add a point) after it was imported in one or more Nrio points, you need to export it
(save) and re-import it in other points, in order for them to be updated.
Related to this, see Curve File Import/Export notes.
Example 3. Non-linear sensor example
You have a photoresistor-based illuminance sensor that measures light output from 0 to 800 lux, supplying a resistance of 30K ohms to 3K ohms. Using a ResistiveInputPoint, select the conversion type Generic Tabular, and click the edit control for the Tabular Conversion Dialog (see Figure 13).
In the dialog, enter the sensor’s non-linear response curve (shown below). Configure this point’s facets to have units: “illuminance,” “lux” (lx), and the same units in the point’s Linear Calibration Ext.
| Ohms | Lux |
|---|---|
| 3000 | 800 |
| 3200 | 700 |
| 3500 | 600 |
| 4000 | 500 |
| 4200 | 450 |
| 4600 | 400 |
| 5000 | 350 |
| 5500 | 300 |
| 6100 | 250 |
| 6900 | 200 |
| 8200 | 150 |
| 10200 | 100 |
| 10900 | 90 |
| 11600 | 80 |
| 12400 | 70 |
| 13300 | 60 |
| 14400 | 50 |
| 15800 | 40 |
| 17700 | 30 |
| 20300 | 20 |
| 30000 | 0 |