The Advantech Adam-6060 remote I/O module is a Modbus TCP device that has 6 digital input channels and 6 relays.
The Adam unit provides the ability for the Witness software to communicate with external systems through the use of relays and in the other direction, external systems can provide useful triggers to Witness through the use of the digital inputs.
Witness can support more than one Adam unit, giving the option of a very large number of relay outputs and digital inputs. The software intelligently handles the indexing of relays and inputs so that the complexity of a multi-module setup is hidden from the user.
Technical Overview
When Witness generates events, such as alarms, or processes targets, it passes all this information to Witness Canary. Witness Canary then converts this information into a appropriate relay triggers. This could be in response to alarms being activated, including health alerts, or cameras being controlled.
Canary monitors the digital inputs on all the attached modules and passes any triggers into Witness software. These can be used to change system behaviour, such as switching system profiles, or deactivating alarms.
Canary uses the Advantech SDK to provide seamless integration with Adam-6060 unit.
The ADAM-6060 Plugin
Witness Canary supports integration with many different types of external systems through the use of plugins. These are stand-alone software libraries which are dynamically loaded by Canary and contain code which knows how to convert the Witness data into the required format for the external system. In this case the Adam-6060 plugin uses the Advantech SDK to convert Witness data into relay triggers and to listen for external digital inputs.
The Adam-6060 plugin file is entitled Witness.Plugin.Adam6060.dll and must be present in the Witness Plugin folder which is inside the main application folder.
Configuring the ADAM-6060 Plugin
When the plugin is installed and Canary starts, the plugin configuration settings are saved to the PluginConfiguration.xml file. This file is located in the Witness main application folder. To change the settings this file should be opened in a text editor, such as Notepad, however we would recommend an editor which is XML aware, such as Notepad++.
Once the file is open, locate the Adam6060Controller section, as illustrated below:
<?xml version="1.0" encoding="utf-8"?>
<Config>
<Plugins>
<Adam6060Controller>
<PluginConfig>
<Relays>
<AdamRelayUnit ModuleName="Unit1" IndexId="1" Port="502" IPAddress="10.0.2.200" ConnectionTimeout="250" ReadWriteTimeout="200" UniqueId="36099ff9-e158-48fa-8d4b-a3d95dbdad63" />
</Relays>
<RelayMode>InputOnly</RelayMode>
<CameraRelayTimeOut>10</CameraRelayTimeOut>
<InputActiveState>False</InputActiveState>
<MaxConnectionRetries>120</MaxConnectionRetries>
<FailSafeMode>False</FailSafeMode>
<HeartbeatInterval>0</HeartbeatInterval>
</PluginConfig>
</Adam6060Controller>
</Plugins>
</Config>
The setting options are as follows:
Relays
A list of each Adam relay unit to be controlled by the plugin.
The settings for each relay are:
ModuleName