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.
Info |
---|
The plugin uses the Advantech SDK therefore 3 additional files must also be present in the same plugin folder; Advantech.Adam.dll, Advantech.Common.dll, Advantech.Protocol.dll |
Tip |
---|
The plugin can be selected during setup and will be automatically installed in the correct location along with the required SDK files. |
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:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?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 - A user friendly name for the Adam module
- Index - The unique index of each unit. The index sets the position of this module realtive to others when there are more than one in use. For example, the Adam module with an index of 1 will handle relay ids 1 - 6, the device with an index of 2 will handle relays 7 - 12 and so on.
Note |
---|
It is important that the Index paramter is unique and runs sequentially, i.e. first unit is 1, second unit is 2 and so on. Note that this setting is a 1-based index - so always starts at 1. |
- Port - The port used to access the unit. By default this is the default Modbus port which is 502.
- IPAddress - The IP address of the Adam unit. This can be set using the Adam utility.
- ConnectionTimeout - The amount of time, in milliseconds, the communication protocol will wait before timing out on each connection. The default is 250ms.
- ReadWriteTimeout - The amount of time, in milliseconds, the communication protocol will wait before timing out on each read and write. The default is 200ms.
Note |
---|
We recommend that these settings are left as defaults. The only situation where you might consider changing these values is if the network reliability is poor or the latency is high. |
- UniqueId - The internal unique id of this device. This is system generated and must not be changed.
To add more than one relay, the entire relay element should be duplicated, the following code demonstrates 2 configured units:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<Relays> <AdamRelayUnit ModuleName="Unit1" IndexId="1" Port="502" IPAddress="10.0.2.200" ConnectionTimeout="250" ReadWriteTimeout="200" UniqueId="36099ff9-e158-48fa-8d4b-a3d95dbdad63" /> <AdamRelayUnit ModuleName="Unit2" IndexId="2" Port="502" IPAddress="10.0.2.201" ConnectionTimeout="250" ReadWriteTimeout="200" UniqueId="cf39344c-398e-4973-a754-3ce5870415f0" /> </Relays> |
Tip |
---|
When you create a new relay entry, you do not need to add the UniqueId attribute, this will be added automatically by Canary if it is missing. |
RelayMode
- None - The module will do nothing - it will connect and be monitored but will not respond to Witness events.
- InputOnly - The module will only monitor the digital inputs.
- Alarm - The module will monitor digital inputs and respond to alarm events, if configured.
- Camera - The module will monitor digital inputs and respond to camera events, if configured.
- AlarmAndCamera - The module will monitor digital inputs and respond to both alarm and camera events, if configured.
CameraRelayTimeout
This is the time, in seconds, that the plugin will wait without receiving any camera commands before it opens the relay associated with a camera. If using relay triggers with cameras, the relay will be closed when the camera starts moving, each camera movement will reset this timeout. Once the camera has been idle for longer than this timeout period then the relay will be opened. The default is 10 seconds.
InputActiveState
This specifies the Boolean flag used when a digital input is closed. By default the inputs are flagged as True and switch to False when active. This behaviour can be changed on the ADAM module in which case this setting should be updated to match.
MaxConnectionRetries
This is the number of times the plugin will try to connect to the ADAM module. It will pause after each retry before attempting a further connection. Once this limit has been reached the software will stop trying to connect. All connection attempts, successful and unsuccessful, are logged in the Canary log files.
FailSafeMode
Fail safe mode reverses the behaviour of the relays. By default an ADAM module will close relays on activation and open when idle. For critical installations this behaviour is often reversed so that by default all relays are closed but opened on activation. This means that should anything happen to the module (i.e. lose power) then all the relays open putting everything into an alarm state. This setting must match whatever the configuration is on the ADAM module.
HeartbeatInterval
This setting is not used for the ADAM-6060 plugin.
Related information
Filter by label (Content by label) | ||||
---|---|---|---|---|
|