Detnov
DETNOV are multi-area fire panels. The integration with HSYCO can be accomplished via a standard Modbus TCP/IP connection. This I/O server was developed following the MODBUS documentation MODBUS REGISTERS FOR DETNOV ADDRESSABLE SYSTEM VERSION 1.11 ENG
This driver has been tested on DETNOV CAD-150-2 panel. (Should be compatible with CAD 150-1, CAD 150-2, CAD 150-8, CAD 150-8+, CAD 150-4)
Communication
DETNOV panels can be connected via ethernet. A valid IP address must be assigned to the panel. MODBUS PROTOCOL must be enabled. Please refer to the manual for detailed instruction about MODBUS protocol configuration.
HSYCO Configuration
Add a DETNOV I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- Address: IP address of the DETNOV panel
- Port: TCP/IP port for MODBUS communication (default 502)
High Availability
- Shutdown when inactive: defaults to false.
Options
ID | Default | Values | Description |
---|---|---|---|
gui | true | true | enable support for the UI object, UISET actions and USER commands |
false | disable UI support | ||
startupevents | false | true | generate IO events also during the driver’s start-up phase |
false | start generating events only after HSYCO is aligned with the current status of the system | ||
unitid | 1 | > 0 | MODBUS unit ID of the DETNOV panel |
pollingtime | 3000 | n >= 3000 | the data polling interval, in milliseconds. |
detnov.ini
The detnov.ini file is a specific configuration file located in the root directory.
This file is required to provide the I/O Server the name assignment of zones and devices.
This is an example of the file content:
detnov.z1 = Zone 1
detnov.l1.d1 = Device 1 Loop 1
detnov.l8.d4 = Device 8 Loop 4
Where "detnov" is the I/O Server id of the Detnov I/O Server
If you have multiples Detnov I/O Servers:
detnov1.z1 = Zone 1 Detnov 1
detnov2.z1 = Zone 2 Detnov 2
detnov1.l1.d1 = Device 1 Loop 1 Detnov 1
detnov2.l2.d1 = Device 1 Loop 1 Detnov 2
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can't connect to the panel | |
reset | 1 | W | panel reset |
mute | 1 | W | panel mute |
sounderson | 1 | W | enable sounders |
soundersoff | 1 | W | disable sounders |
info.modbus.status | 0 | R | modbus is disconnected |
1 | R | modbus slave is connected | |
info.panel.type | <n> | R | n=1,2 > CAD 150-1, CAD 150-2 n=4,8 > CAD 150-8, CAD 150-8+, CAD 150-4 |
info.panel.version | <n> | R | n is the version of the panel |
info.panel.network.version | <n> | R | n is the network version of the panel |
info.panel.modbus.version | <n> | R | n is the modbus version of the panel |
global.mute | 0 | R | mute is not active |
1 | R | mute is active | |
global.sounders | 0 | R | sounders are not active |
1 | R | sounders are active | |
global.sounders.silenced | 0 | R | sounders are not silenced |
1 | R | sounders are silenced | |
intest.zone.exists | 0 | R | at least one zone is in test |
1 | R | no zones are in test | |
disabled.zone.exists | 0 | R | at least one zone is disabled |
1 | R | no zones are disabled | |
output.disabled | 0 | R | at least one output is disabled |
1 | R | no outputs are disabled | |
sounders.disabled | 0 | R | at least one sounder is disabled |
1 | R | no sounders are disabled | |
sounders.delayed | 0 | R | at least one sounder is delayed |
1 | R | no sounders are delayed | |
global.panel.fault | 0 | R | panel has no fault |
1 | R | there is at least one fault in the panel | |
global.power.fault | 0 | R | panel has no power fault |
1 | R | panel has a power fault | |
global.pcb.fault | 0 | R | panel has no pcb fault |
1 | R | panel has a pcb fault | |
global.loops.fault | 0 | R | the panel has no loop fault |
1 | R | panel has a loop fault | |
global.device.fault | 0 | R | panel has no device fault |
1 | R | panel has a device fault | |
global.alarm | 0 | R | the panel is not in alarm |
1 | R | panel is in alarm | |
global.alarm.from.network | 0 | R | panel is not in network alarm |
1 | R | panel is in network alarm | |
global.mcp.alarm | 0 | R | panel has no mcp alarm |
1 | R | panel has a mcp alarm | |
global.main.supply.fault | 0 | R | panel has no main supply fault |
1 | R | panel has a main supply fault | |
global.ground.fault | 0 | R | panel has no global ground fault |
1 | R | panel has a global ground fault | |
global.sounder<n>.short.cut | 0 | R | the sounder <n> is not in short cut |
1 | R | the sounder <n> is in short cut | |
global.sounder<n>.quiescent | 0 | R | the sounder <n> is not quiescent |
1 | R | the sounder <n> is quiescent | |
global.sounder<n>.short.fault | 0 | R | the sounder <n> is not in short fault |
1 | R | the sounder <n> is in short fault | |
global.sounder<n>.sounders.on | 0 | R | the sounder <n> is not active |
1 | R | the sounder <n> is active | |
global.relay.fault | 0 | R | global relay fault is off |
1 | R | global relay fault is on | |
global.relay.alarm | 0 | R | global relay alarm is off |
1 | R | global relay alarm is on | |
global.faults.counter | <n> | R | n is the number of global faults |
global.alarms.counter | <n> | R | n is the number of global alarms |
loop.<n>.active | 0 | R | loop <n> is not active |
1 | R | loop <n> is active | |
loop.<n>.shortopen.fault | 0 | R | loop <n> is not in short or open fault |
1 | R | loop <n> is in short or open fault | |
loop.<n>.comm.fault | 0 | R | loop <n> is not in communication fault |
1 | R | loop <n> is in communication fault | |
z<n>.fault | 0 | R | zone <n> is not in fault. n = 1..250 |
1 | R | zone <n> is in fault | |
z<n>.alarm | 0 | R | zone <n> is not in alarm. n = 1..250 |
1 | R | zone <n> is in alarm | |
z<n>.normal | 0 | R | zone <n> is not normal status. n = 1..250 |
1 | R | zone <n> is in normal status | |
z<n>.disabled | 0 | R | zone <n> is not disabled. n = 1..250 |
1 | R | zone <n> is disabled | |
z<n>.test | 0 | R | zone <n> is not in test. n = 1..250 |
1 | R | zone <n> is in test | |
z<n>.name | 1 | R | name assigned to the zone <n> |
l<k>.d<n>.fault | 0 | R | device <n> is not in fault. n = 1..250, k = 1..8 |
1 | R | zone <n> is in fault | |
l<k>.d<n>.alarm | 0 | R | device <n> of loop <k> is not in alarm. n = 1..250, k = 1..8 |
1 | R | device <n> of loop <k> is in alarm | |
l<k>.d<n>.normal | 0 | R | device <n> of loop <k> is not normal status. n = 1..250, k = 1..8 |
1 | R | device <n> of loop <k> is in normal status | |
l<k>.d<n>.disabled | 0 | R | device <n> of loop <k> is not disabled. n = 1..250, k = 1..8 |
1 | R | device <n> of loop <k> is disabled | |
l<k>.d<n>.test | 0 | R | device <n> of loop <k> is not in test. n = 1..250, k = 1..8 |
1 | R | device <n> of loop <k> is in test | |
l<k>.d<n> | enable | W | device <n> of loop <k> is activated |
disable | W | device <n> of loop <k> is disabled | |
l<k>.d<n>.name | 1 | R | name assigned to the device <n> of loop <k> |
UISET Actions
ID | Attribute | ||
---|---|---|---|
z<n>.name | value | ||
l<k>.d<n>.name | value | ||
connection.label | visible | true | when datapoint connection = offline |
false | when datapoint connection = online | ||
<datapoint_id>.1.label | visible | true | when datapoint with ID <datapoint_id> has value '1' |
false | when datapoint with ID <datapoint_id> has value '0' | ||
<datapoint_id>.0.label | visible | true | when datapoint with ID <datapoint_id> has value '0' |
false | when datapoint with ID <datapoint_id> has value '1' |
Release Notes
3.9.0
- fixed a bug on loop status update
3.8.0
- initial release
Detnov are registered trademarks of Detnov.