This page describes the device driver and the device window for the AutomationDirect Terminator-IO data IO unit. The device driver monitors and controls the digital inputs/outputs of various modules hosted by the Terminator-IO unit. The driver supports digital I/O modules only, analog modules cannot be monitored with this driver.
The AutomationDirect-Terminator device driver is part of the sat-nms framework for M&C of plain digital I/O functions. Monitoring alarm circuits or controlling waveguide switches are indicatives for applications of this framework.
The application configuration normally does not access the AutomationDirect-Terminator device driver directly. There are a couple of application level logical devices (e.g. Input , Output or WG-Switch ) which may use the device driver as a low level driver to access the physical I/O ports.
Port addressing
The AutomationDirect-Terminator device driver provides 32 input and 32 output variables when each mirror 16 bits of the device's IO data space. This corresponds to the maximum number of IO modules which can be attached to the AutomationDirect Terminator-IO base device.
Without individual configuration of the device using the software coming with the AutomationDirect Terminator-IO , the device puts each single IO bit like beads on a chain, starting with the module next to the base unit at the lowest address. Input and output modules use different address spaces, hence if you put a 16 bit input and a 16 bit output module to the base unit, the input bits appear in the driver's I01 variable, the output bits in Q01 - regardless if the input or the output module is mounted first.
As the device allocates addresses bitwise, there may be configurations where the inputs or outputs of a module are spread over two driver variables. This happens, if 8 and 16 bit modules are mixed.
Configuration settings
If used with the sat-nms framework for M&C of plain digital I/O functions, the Terminator-IO device acts like an unprogrammed PLC device. It is intended, that the device driver processes switch settings and changes of input circuits as fast as possible. The following settings are necessary to achieve this:
Device window pages
The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .
--- Shows / commands I/O port states.
--- The faults page.
--- The device info page.
--- The maintenance page. The configuration parameters described below are set at this page.Configuration parameters
At the maintenance page of the device window there are a couple of configuration parameters which must be set to make the software talk to the device.
| parameter | description |
|---|---|
| address | Must always be set to 1 |
Variables defined by this device driver
| name | type | flags | range |
|---|---|---|---|
| info.driver | TEXT | R/O | StringRange R/O |
| lowLevel.cmd | TEXT | StringRange | |
| lowLevel.reply | TEXT | R/O | StringRange R/O |
| faults.99 | ALARM | R/O | AlarmFlagRange R/O (Communication) |
| faults.commstat | TEXT | R/O | StringRange R/O |
| info.type | TEXT | R/O | StringRange R/O |
| info.port | TEXT | R/O | StringRange R/O |
| info.frame | TEXT | R/O | StringRange R/O |
| info.revision | TEXT | R/O | StringRange R/O |
| I01 | HEX | R/O | HexRange R/O (0 .. 0) |
| I02 | HEX | R/O | HexRange R/O (0 .. 0) |
| I03 | HEX | R/O | HexRange R/O (0 .. 0) |
| I04 | HEX | R/O | HexRange R/O (0 .. 0) |
| I05 | HEX | R/O | HexRange R/O (0 .. 0) |
| I06 | HEX | R/O | HexRange R/O (0 .. 0) |
| I07 | HEX | R/O | HexRange R/O (0 .. 0) |
| I08 | HEX | R/O | HexRange R/O (0 .. 0) |
| I09 | HEX | R/O | HexRange R/O (0 .. 0) |
| I10 | HEX | R/O | HexRange R/O (0 .. 0) |
| I11 | HEX | R/O | HexRange R/O (0 .. 0) |
| I12 | HEX | R/O | HexRange R/O (0 .. 0) |
| I13 | HEX | R/O | HexRange R/O (0 .. 0) |
| I14 | HEX | R/O | HexRange R/O (0 .. 0) |
| I15 | HEX | R/O | HexRange R/O (0 .. 0) |
| I16 | HEX | R/O | HexRange R/O (0 .. 0) |
| I17 | HEX | R/O | HexRange R/O (0 .. 0) |
| I18 | HEX | R/O | HexRange R/O (0 .. 0) |
| I19 | HEX | R/O | HexRange R/O (0 .. 0) |
| I20 | HEX | R/O | HexRange R/O (0 .. 0) |
| I21 | HEX | R/O | HexRange R/O (0 .. 0) |
| I22 | HEX | R/O | HexRange R/O (0 .. 0) |
| I23 | HEX | R/O | HexRange R/O (0 .. 0) |
| I24 | HEX | R/O | HexRange R/O (0 .. 0) |
| I25 | HEX | R/O | HexRange R/O (0 .. 0) |
| I26 | HEX | R/O | HexRange R/O (0 .. 0) |
| I27 | HEX | R/O | HexRange R/O (0 .. 0) |
| I28 | HEX | R/O | HexRange R/O (0 .. 0) |
| I29 | HEX | R/O | HexRange R/O (0 .. 0) |
| I30 | HEX | R/O | HexRange R/O (0 .. 0) |
| I31 | HEX | R/O | HexRange R/O (0 .. 0) |
| I32 | HEX | R/O | HexRange R/O (0 .. 0) |
| Q01 | HEX | HexRange (0 .. 0) | |
| Q02 | HEX | HexRange (0 .. 0) | |
| Q03 | HEX | HexRange (0 .. 0) | |
| Q04 | HEX | HexRange (0 .. 0) | |
| Q05 | HEX | HexRange (0 .. 0) | |
| Q06 | HEX | HexRange (0 .. 0) | |
| Q07 | HEX | HexRange (0 .. 0) | |
| Q08 | HEX | HexRange (0 .. 0) | |
| Q09 | HEX | HexRange (0 .. 0) | |
| Q10 | HEX | HexRange (0 .. 0) | |
| Q11 | HEX | HexRange (0 .. 0) | |
| Q12 | HEX | HexRange (0 .. 0) | |
| Q13 | HEX | HexRange (0 .. 0) | |
| Q14 | HEX | HexRange (0 .. 0) | |
| Q15 | HEX | HexRange (0 .. 0) | |
| Q16 | HEX | HexRange (0 .. 0) | |
| Q17 | HEX | HexRange (0 .. 0) | |
| Q18 | HEX | HexRange (0 .. 0) | |
| Q19 | HEX | HexRange (0 .. 0) | |
| Q20 | HEX | HexRange (0 .. 0) | |
| Q21 | HEX | HexRange (0 .. 0) | |
| Q22 | HEX | HexRange (0 .. 0) | |
| Q23 | HEX | HexRange (0 .. 0) | |
| Q24 | HEX | HexRange (0 .. 0) | |
| Q25 | HEX | HexRange (0 .. 0) | |
| Q26 | HEX | HexRange (0 .. 0) | |
| Q27 | HEX | HexRange (0 .. 0) | |
| Q28 | HEX | HexRange (0 .. 0) | |
| Q29 | HEX | HexRange (0 .. 0) | |
| Q30 | HEX | HexRange (0 .. 0) | |
| Q31 | HEX | HexRange (0 .. 0) | |
| Q32 | HEX | HexRange (0 .. 0) | |
| itick | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| otick | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| initialized | TEXT | R/O | StringRange R/O |
| i.01 | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| i.02 | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| i.03 | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| T01 | HEX | R/O | HexRange R/O (0 .. 0) |
| T02 | HEX | R/O | HexRange R/O (0 .. 0) |
| T03 | HEX | R/O | HexRange R/O (0 .. 0) |
| T04 | HEX | R/O | HexRange R/O (0 .. 0) |
| T05 | HEX | R/O | HexRange R/O (0 .. 0) |
| T06 | HEX | R/O | HexRange R/O (0 .. 0) |
| T07 | HEX | R/O | HexRange R/O (0 .. 0) |
| T08 | HEX | R/O | HexRange R/O (0 .. 0) |
| T09 | HEX | R/O | HexRange R/O (0 .. 0) |
| T10 | HEX | R/O | HexRange R/O (0 .. 0) |
| T11 | HEX | R/O | HexRange R/O (0 .. 0) |
| T12 | HEX | R/O | HexRange R/O (0 .. 0) |
| T13 | HEX | R/O | HexRange R/O (0 .. 0) |
| T14 | HEX | R/O | HexRange R/O (0 .. 0) |
| T15 | HEX | R/O | HexRange R/O (0 .. 0) |
| T16 | HEX | R/O | HexRange R/O (0 .. 0) |
| T17 | HEX | R/O | HexRange R/O (0 .. 0) |
| T18 | HEX | R/O | HexRange R/O (0 .. 0) |
| T19 | HEX | R/O | HexRange R/O (0 .. 0) |
| T20 | HEX | R/O | HexRange R/O (0 .. 0) |
| T21 | HEX | R/O | HexRange R/O (0 .. 0) |
| T22 | HEX | R/O | HexRange R/O (0 .. 0) |
| T23 | HEX | R/O | HexRange R/O (0 .. 0) |
| T24 | HEX | R/O | HexRange R/O (0 .. 0) |
| T25 | HEX | R/O | HexRange R/O (0 .. 0) |
| T26 | HEX | R/O | HexRange R/O (0 .. 0) |
| T27 | HEX | R/O | HexRange R/O (0 .. 0) |
| T28 | HEX | R/O | HexRange R/O (0 .. 0) |
| T29 | HEX | R/O | HexRange R/O (0 .. 0) |
| T30 | HEX | R/O | HexRange R/O (0 .. 0) |
| T31 | HEX | R/O | HexRange R/O (0 .. 0) |
| T32 | HEX | R/O | HexRange R/O (0 .. 0) |