1.28 Advantech-ADAM5K

This page describes the device driver and the device window for the Advantech ADAM5000/TCP data acquisition unit. The device driver monitors and controls the digital inputs/outputs of various modules hosted by the ADAM5000/TCP unit. Analog or temperature sensor input functions are not covered by this driver, neither are counter/timer timer function of the some modules.

The Advantech-ADAM5K 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 Advantech-ADAM5K device driver directly. There are a couple of application level logical devices (e.g. Input , Output or WG-Switch ) which may use the Advantech-ADAM5K device driver as a low level driver to access the physical I/O ports.

Input ports

The device driver provides eight variables I00001, I00017, I00033, I00049, I00065, I00081, I00097 and I00113 which report the actual input state of digital input modules located in the slots 1..8 of the unit.

I00001 refers to the input ports of the module in the first slot (next to the ADAM5000/TCP communication module). The least significant bit of the variable denotes the state of DI0.

The variables report the physical state if the inputs. A bit is set to '1' if the input is open or externally driven to high level. The bit reads '0' if the input is connected to GND or externally driven to low level.

The device driver always reads the input state for all eight modules, regardles if there is an input module installed in a particular slot or not. This is because reading the information in this way gives the best performance. As a side effect, the driver displays some information for slots which contain other modules than digital inputs. This information should be ignored.

Output ports

The device driver provides eight variables Q00001, Q00017, Q00033, Q00049, Q00065, Q00081, Q00097 and Q00113 which report the output state of digital/realay output modules located in the slots 1..8 of the unit.

Q00001 refers to the output ports of the module in the first slot (next to the ADAM5000/TCP communication module). The least significant bit of the variable denotes the state of DO0.

The variables report the actual state of the outputs. Writing a bit to '1' closes the relay contact / opto-coupler. Reading a '1' reports a closed contact.

The device driver always reads the output state for all eight modules, regardless if there is an output module installed in a particular slot or not. This is because reading the information in this way gives the best performance. As a side effect, the driver displays some information for slots which contain other modules than digital outputs. This information should be ignored.

Output ports are read back by the driver after the sat-nms software has changed an output bit or every 10 seconds.

Configuration settings

If used with the sat-nms framework for M&C of plain digital I/O functions, the Advantech ADAM module 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 .

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
I00001 HEX R/O HexRange R/O (0 .. 0)
I00017 HEX R/O HexRange R/O (0 .. 0)
I00033 HEX R/O HexRange R/O (0 .. 0)
I00049 HEX R/O HexRange R/O (0 .. 0)
I00065 HEX R/O HexRange R/O (0 .. 0)
I00081 HEX R/O HexRange R/O (0 .. 0)
I00097 HEX R/O HexRange R/O (0 .. 0)
I00113 HEX R/O HexRange R/O (0 .. 0)
Q00001 HEX HexRange (0 .. 0)
Q00017 HEX HexRange (0 .. 0)
Q00033 HEX HexRange (0 .. 0)
Q00049 HEX HexRange (0 .. 0)
Q00065 HEX HexRange (0 .. 0)
Q00081 HEX HexRange (0 .. 0)
Q00097 HEX HexRange (0 .. 0)
Q00113 HEX HexRange (0 .. 0)
initialized TEXT R/O StringRange R/O
i.1 HEX R/O HexRange R/O (0 .. 0)
i.2 HEX R/O HexRange R/O (0 .. 0)
i.3 HEX R/O HexRange R/O (0 .. 0)
i.4 HEX R/O HexRange R/O (0 .. 0)
i.5 HEX R/O HexRange R/O (0 .. 0)
i.6 HEX R/O HexRange R/O (0 .. 0)
i.7 HEX R/O HexRange R/O (0 .. 0)
i.8 HEX R/O HexRange R/O (0 .. 0)
i.q HEX R/O HexRange R/O (0 .. 0)