Difference between revisions of "Kilsen"

From HSYCO
Jump to navigation Jump to search
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
KILSEN KFP-A 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 P/N 00-3243-505-1603-01 • ISS 14DEC15
 
KILSEN KFP-A 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 P/N 00-3243-505-1603-01 • ISS 14DEC15
 +
This driver is also compatible with Aritech 2x series.
 +
 +
{{tip| KILSEN KFP-A control panels have a limit of one MODBUS request per second. This limit cannot be changed, it's probably related to the hardware capabilities of the panels. Due to this limitation this I/O server can be considerably slow in case of high amount of loops, sensors, modules. To partially solve the issue this I/O servers has a double polling implementation: fast polling for global status, slow polling for modules and sensors status. This means that the global panel status is requested more frequently. For example in case of fire alarm the global alarm will be approximately notified within one minute or less, the specific sensor alarm will be notified later, with a delay proportional to the numbers of loop, sensors, modules declared in the driver's options. }}
 +
  
 
[[File:IO Server Kilsen Panel.jpg|center]]
 
[[File:IO Server Kilsen Panel.jpg|center]]
Line 84: Line 88:
  
 
== Datapoints ==
 
== Datapoints ==
 
{{tip|Data points marked with (N) are not available with older firmware versions. Data points marked with (O) are only available with older firmware versions.}}
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 104: Line 106:
 
|-
 
|-
  
|rowspan="2" |annunciator.<n>.<m>.offline (N)
+
|reset
 
|1
 
|1
|R
+
|W
|annunciator <n>.<m> offline
+
|panel reset
|-
 
|0
 
|R
 
|annunciator <n>.<m> online
 
 
|-
 
|-
  
|rowspan="2" |annunciator.<n>.<m>.fault (N)
+
|panel.silence
 
|1
 
|1
|R
+
|W
|annunciator <n>.<m>fault
+
|silence panel
|-
 
|0
 
|R
 
|annunciator <n>.<m> no fault
 
 
|-
 
|-
  
|rowspan="2" |annunciator.<n>.<m>.cfg.error (N)
+
|rowspan="2" |sounders.set
|1
 
|R
 
|annunciator <n>.<m> configuration error
 
|-
 
 
|0
 
|0
|R
+
|W
|annunciator <n>.<m> configured
+
|stop sounders
 
|-
 
|-
 
|rowspan="2" |annunciator.<n>.offline (O)
 
 
|1
 
|1
|R
+
|W
|annunciator <n> offline
+
|start sounders
|-
 
|0
 
|R
 
|annunciator <n> online
 
|-
 
 
 
|rowspan="2" |annunciator.<n>.fault (O)
 
|1
 
|R
 
|annunciator <n> fault
 
|-
 
|0
 
|R
 
|annunciator <n> no fault
 
|-
 
 
 
|detected.annunciators
 
|
 
|R
 
|space separated list of detected annunciators
 
|-
 
 
 
|detected.lcds
 
|
 
|R
 
|space separated list of detected LCDs
 
|-
 
 
 
|detected.modules.<l>
 
|
 
|R
 
|space separated list of detected modules on loop <l>
 
|-
 
 
 
|detected.loops
 
|
 
|R
 
|space separated list of detected loops
 
 
|-
 
|-
  
|detected.sensors.<l>
 
|
 
|R
 
|space separated list of detected loops on loop <l>
 
|-
 
  
|rowspan="2" |lcd.offline (O)
+
|rowspan="2" |global.alarm
|1
 
|R
 
|LCD/Terminal offline
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LCD/Terminal offline
+
|no alarm
 
|-
 
|-
 
|rowspan="2" |lcd.<n>.offline (N)
 
 
|1
 
|1
 
|R
 
|R
|LCD <n> offline
+
|at lest one sensor of module on alarm
|-
 
|0
 
|R
 
|LCD <n> online
 
 
|-
 
|-
  
|rowspan="2" |lcd.<n>.fault (N)
+
|rowspan="2" |global.fault
|1
 
|R
 
|LCD <n> fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LCD <n> no fault
+
|no faults
 
|-
 
|-
 
|rowspan="2" |lcd.<n>.cfg.error (N)
 
 
|1
 
|1
 
|R
 
|R
|LCD <n> configuration error
+
||at lest one sensor of module on fault status
|-
 
|0
 
|R
 
|LCD <n> configured
 
 
|-
 
|-
  
|rowspan="2" |loop.<n>.disabled (O)
+
|rowspan="2" |global.disable
|1
 
|R
 
|loop <n> disabled
 
|-
 
 
|0
 
|0
 
|R
 
|R
|loop <n> not disabled
+
|no sensors of modules disabled
 
|-
 
|-
 
|rowspan="2" |loop.<n>.short
 
 
|1
 
|1
 
|R
 
|R
|loop <n> short circuit
+
|at lest one sensor of module is disabled
|-
 
|0
 
|R
 
|loop <n> no short circuit
 
|-
 
 
 
|rowspan="2" |loop.<n>.open
 
|1
 
|R
 
|loop <n> open fault
 
|-
 
|0
 
|R
 
|loop <n> no open fault
 
 
|-
 
|-
  
|rowspan="2" |loop.<n>.voltage
+
|rowspan="2" |global.test
|1
 
|R
 
|loop <n> low voltage fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|loop <n> no low voltage fault
+
|panel in not in test mode
 
|-
 
|-
 
|rowspan="2" |module.<l>.<n>.normal
 
 
|1
 
|1
 
|R
 
|R
|module <n> on loop <l> normal state
+
|panel is in test mode
|-
 
|0
 
|R
 
|module <n> on loop <l> error state
 
|-
 
 
 
|rowspan="4" |module.<l>.<n>.disabled
 
|rowspan="2"|1
 
|R
 
|module <n> on loop <l> disabled
 
|-
 
|W
 
|disable module <n> on loop <l>
 
|-
 
|rowspan="2"|0
 
|R
 
|module <n> on loop <l> enabled
 
|-
 
|W
 
|enable module <n> on loop <l>
 
|-
 
 
 
|rowspan="4" |module.<l>.<n>.out
 
|rowspan="2"|1
 
|R
 
|module <n> on loop <l> output active (ON)
 
|-
 
|W
 
|turn ON out of module <n> on loop <l>
 
|-
 
|rowspan="2"|0
 
|R
 
|module <n> on loop <l> output not active (OFF)
 
|-
 
|W
 
|turn OFF out of module <n> on loop <l>
 
 
|-
 
|-
  
|rowspan="2" | module.<l>.<n>.fault
+
|rowspan="2" |global.daynight
|v
 
|R
 
|module <n> on loop <l> fault  (see modules fault error table below)
 
|-
 
 
|0
 
|0
 
|R
 
|R
|module <n> on loop <l> no fault
+
|panel in day mode
 
|-
 
|-
 
|rowspan="2" |module.<l>.<n>.alarm
 
 
|1
 
|1
 
|R
 
|R
|module <n> on loop <l> alarm
+
|panel is night mode
|-
 
|0
 
|R
 
|module <n> on loop <l> no alarm
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.batt.disconn
+
|rowspan="2" |global.mcpalarm
|1
 
|R
 
|batteries disconnected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|batteries connected
+
|mcp alarm off
 
|-
 
|-
 
|rowspan="2" |panel.fault.power
 
 
|1
 
|1
 
|R
 
|R
|mains power failure
+
|mcp alarm on
|-
 
|0
 
|R
 
|mains power ok
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.supply.main (O)
+
|rowspan="2" |global.sounder.delay.enabled
|1
 
|R
 
|main power supply failure
 
|-
 
 
|0
 
|0
 
|R
 
|R
|main power supply ok
+
|sounders delay disabled
 
|-
 
|-
 
|rowspan="2" |panel.fault.supply.aux (O)
 
 
|1
 
|1
 
|R
 
|R
|aux power supply failure
+
|sounders delay enabled
|-
 
|0
 
|R
 
|aux power supply ok
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.supply.aux.disc (O)
 
|1
 
|R
 
|aux power supply disconnected
 
|-
 
|0
 
|R
 
|aux power supply not disconnected
 
|-
 
  
|rowspan="2" |panel.fault.supply.aux.not.prg (O)
+
|rowspan="2" |global.sounder.delay.in.progress
|1
 
|R
 
|aux power supply not programmed
 
|-
 
 
|0
 
|0
 
|R
 
|R
|aux power supply programmed
+
|sounders delay not in progress
 
|-
 
|-
 
|rowspan="2" |panel.fault.batt.unbal
 
|1
 
|R
 
|battery charger unbalance detected
 
|-
 
|0
 
|R
 
|battery charger unbalance not detected
 
|-
 
 
|rowspan="2" |panel.fault.batt.fail
 
 
|1
 
|1
 
|R
 
|R
|battery failure detected
+
|sounders delay in progress
|-
 
|0
 
|R
 
|battery failure not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.batt.low (O)
+
|rowspan="2" |global.sounder.outputs.activated
|1
 
|R
 
|battery low voltage detected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|battery low voltage not detected
+
|sounders outputs not active
 
|-
 
|-
 
|rowspan="2" |panel.fault.bex
 
 
|1
 
|1
 
|R
 
|R
|battery exhausted detected
+
|sounders outputs active
|-
 
|0
 
|R
 
|battery exhausted not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.earth
+
|rowspan="2" |global.sounder.outputs.silenced
|1
 
|R
 
|ground connection fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no ground connection fault
+
|sounders outputs not silenced
 
|-
 
|-
 
|rowspan="2" |panel.fault.undervoltage
 
 
|1
 
|1
 
|R
 
|R
|AC power under-voltage fault
+
|sounders outputs silenced
|-
 
|0
 
|R
 
|no AC power under-voltage fault
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.overvoltage
+
|rowspan="2" |global.sounder.disabled
|1
 
|R
 
|AC power over-voltage fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no AC power over-voltage fault
+
|sounders are enabled
 
|-
 
|-
 
|rowspan="2" |panel.fault.siren.open
 
 
|1
 
|1
 
|R
 
|R
|siren line wire cut detected
+
|sounders are disabled
|-
 
|0
 
|R
 
|siren line wire cut not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.siren.short
+
|rowspan="2" |global.sounder.override.time.elapsed
|1
 
|R
 
|siren line short circuit detected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|siren line short circuit not detected
+
|override sounders time is not elapsed
 
|-
 
|-
 
|rowspan="2" |panel.fault.fuse
 
 
|1
 
|1
 
|R
 
|R
|fuse fault
+
|ovveride sounders time elapsed
|-
 
|0
 
|R
 
|fuse ok
 
 
|-
 
|-
  
|rowspan="2" style="white-space:nowrap"|panel.fault.batt.charger.undervoltage
+
|rowspan="2" |global.sounder.in.test
|1
 
|R
 
|battery charger under-voltage fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no battery charger under-voltage fault
+
|sounders not in test
 
|-
 
|-
 
|rowspan="2" |panel.fault.batt.charger.overvoltage
 
 
|1
 
|1
 
|R
 
|R
|battery charger over-voltage fault
+
|sounders in test
|-
 
|0
 
|R
 
|no battery charger over-voltage fault
 
 
|-
 
|-
  
|rowspan="2" |panel.filesystem.clear.error (N)
+
|rowspan="2" |global.fire.routing.delay.enabled
|1
 
|R
 
|memory delete error
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no memory delete error
+
|fire routing delay not enabled
 
|-
 
|-
 
|rowspan="2" |panel.filesystem.init.error (N)
 
 
|1
 
|1
 
|R
 
|R
|memory initialization error
+
|fire routing delay enabled
|-
 
|0
 
|R
 
|no memory initialization error
 
 
|-
 
|-
  
|rowspan="2" |panel.reliab.par.mod
+
|rowspan="2" |global.fire.routing.delay.in.progress
|1
 
|R
 
|reliability parameters modified warning
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no reliability parameters modified warning
+
|fire routing delay not in progress
 
|-
 
|-
 
|rowspan="2" |panel.hardkey.enabled
 
 
|1
 
|1
 
|R
 
|R
|hardware programming key enabled
+
|fire routing in progress
|-
 
|0
 
|R
 
|hardware programming key not enabled
 
 
|-
 
|-
  
|rowspan="2" |panel.power.on
+
|rowspan="2" |global.fire.routing.ouputs.activated
|1
 
|R
 
|power on phase
 
|-
 
 
|0
 
|0
 
|R
 
|R
|power on phase completed
+
|fire routing outputs not activated
 
|-
 
|-
 
|rowspan="2" |panel.wdt.reset
 
 
|1
 
|1
 
|R
 
|R
|main CPU watchdog fault
+
|fire routing outputs activated
|-
 
|0
 
|R
 
|main CPU watchdog ok
 
 
|-
 
|-
  
|rowspan="2" |panel.cfg.error (N)
+
|rowspan="2" |global.fire.routing.ack
|1
 
|R
 
|configuration error
 
|-
 
 
|0
 
|0
 
|R
 
|R
|configuration ok
+
|fire routing not in ack
 
|-
 
|-
 
|rowspan="2" |panel.filesystem.error (N)
 
 
|1
 
|1
 
|R
 
|R
|memory corruption
+
|fire routing ack
|-
 
|0
 
|R
 
|memory ok
 
 
|-
 
|-
  
|rowspan="2" |panel.hard.clock (N)
+
|rowspan="2" |global.fire.routing.disabled
|1
 
|R
 
|internal hardware clock fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|internal hardware clock ok
+
|fire routing enabled
 
|-
 
|-
 
|rowspan="2" |panel.arch.full (N)
 
 
|1
 
|1
 
|R
 
|R
|log archive full
+
|fire routing disabled
|-
 
|0
 
|R
 
|log archive not full
 
 
|-
 
|-
  
|rowspan="2" |panel.arch.full.warning (N)
+
|rowspan="2" |global.fire.routing.test.on
|1
 
|R
 
|log archive warning (80% full)
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no log archive warning
+
|fire routing test is off
 
|-
 
|-
 
|rowspan="2" |panel.zone.default (N)
 
 
|1
 
|1
 
|R
 
|R
|sensors/modules not yet assigned to zones
+
|fire routing test on
|-
 
|0
 
|R
 
|zones/modules assignment done
 
 
|-
 
|-
  
|rowspan="2" |panel.sib.offline (N)
+
|rowspan="2" |global.fire.routing.ext.delay.in.progress
|1
 
|R
 
|SIB board offline
 
|-
 
 
|0
 
|0
 
|R
 
|R
|SIB board online
+
|fire routing ext delay not in progress
 
|-
 
|-
 
|rowspan="2" |panel.sib.not.prg (N)
 
 
|1
 
|1
 
|R
 
|R
|SIB board not programmed
+
|fire routing ext delay in progress
|-
 
|0
 
|R
 
|SIB board programmed
 
 
|-
 
|-
  
|rowspan="2" |panel.pc.invalid.cmd (N)
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.prealarm
|1
 
|R
 
|invalid command from PC
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no invalid command from PC
+
|not in prealarm
 
|-
 
|-
 
|rowspan="2" |panel.arch.disabled
 
 
|1
 
|1
 
|R
 
|R
|log archive disabled
+
|prealarm
|-
 
|0
 
|R
 
|log archive enabled
 
 
|-
 
|-
  
|rowspan="2" |panel.lib.<n>.offline
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.alarm
|1
 
|R
 
|LIB board <n> offline
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LIB board <n> online
+
|not in alarm
 
|-
 
|-
 
|rowspan="2" |panel.lib.<n>.cfg.error
 
 
|1
 
|1
 
|R
 
|R
|LIB board <n> configuration error
+
|alarm
|-
 
|0
 
|R
 
|LIB board <n> configured
 
 
|-
 
|-
  
|rowspan="2" |panel.lib.<n>.not.prg
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.fault
|1
 
|R
 
|LIB board <n> not programmed
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LIB board <n> programmed
+
|not in fault
|-
 
 
 
|rowspan="4" |panel.fire
 
|silence
 
|W
 
|fire alarm silence
 
|-
 
|reset
 
|W
 
|fire alarm reset
 
|-
 
|activate
 
|W
 
|output re-activation
 
|-
 
|ack
 
|W
 
|acknowledge
 
 
|-
 
|-
 
|rowspan="2" |panel.fire.normal
 
 
|1
 
|1
 
|R
 
|R
|fire panel normal state
+
|fault
|-
 
|0
 
|R
 
|fire panel error state
 
 
|-
 
|-
  
|rowspan="2" |panel.fire.exclusions
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.test
|1
 
|R
 
|fire panel has one or more disabled components
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel’s all components are enabled
+
|not in test
 
|-
 
|-
 
|rowspan="2" |panel.fire.test
 
 
|1
 
|1
 
|R
 
|R
|fire panel test
+
|in test
|-
 
|0
 
|R
 
|fire panel no test
 
 
|-
 
|-
  
 
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.dis
|rowspan="2" |panel.fire.fault
 
|1
 
|R
 
|fire panel fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel no fault
+
|enabled
 
|-
 
|-
 
|rowspan="2" |panel.fire.alarm
 
 
|1
 
|1
 
|R
 
|R
|fire panel alarm
+
|disabled
|-
 
|0
 
|R
 
|fire panel no alarm
 
 
|-
 
|-
  
|rowspan="2" |panel.fire.alarm.silent
 
|1
 
|R
 
|fire panel alarm silenced
 
|-
 
|0
 
|R
 
|fire panel no alarm silenced
 
|-
 
  
|rowspan="2" |panel.fire.ack
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.prealarm
|1
 
|R
 
|fire panel with events requing acknowledgement
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel with no events requing acknowledgement
+
|not in prealarm
|-
 
 
 
|rowspan="4" |panel.tech (N)
 
|silence
 
|W
 
|technical alarm silence
 
|-
 
|reset
 
|W
 
|technical alarm reset
 
|-
 
|activate
 
|W
 
|output re-activation
 
|-
 
|ack
 
|W
 
|acknowledge
 
 
|-
 
|-
 
|rowspan="2" |panel.tech.normal (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel normal state
+
|prealarm
|-
 
|0
 
|R
 
|technical panel error state
 
 
|-
 
|-
  
|rowspan="2" |panel.tech.exclusions (N)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.alarm
|1
 
|R
 
|technical panel has one or more disabled components
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel’s all components are enabled
+
|not in alarm
 
|-
 
|-
 
|rowspan="2" |panel.tech.test (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel test
+
|alarm
|-
 
|0
 
|R
 
|technical panel no test
 
 
|-
 
|-
  
|rowspan="2" |panel.tech.fault (N)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.fault
|1
 
|R
 
|technical panel fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel no fault
+
|not in fault
 
|-
 
|-
 
|rowspan="2" |panel.tech.alarm (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel alarm
+
|fault
|-
 
|0
 
|R
 
|technical panel no alarm
 
 
|-
 
|-
  
|rowspan="2" |panel.tech.ack (N)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.test
|1
 
|R
 
|technical panel with events requing acknowledgement
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel with no events requing acknowledgement
+
|not in test
 
|-
 
|-
 
|rowspan="2" |sensor.<l>.<n>.normal
 
 
|1
 
|1
 
|R
 
|R
|sensor <n> on loop <l> normal state
+
|in test
|-
 
|0
 
|R
 
|sensor <n> on loop <l> error state
 
 
|-
 
|-
  
|rowspan="4" |sensor.<l>.<n>.disabled
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.dis
|rowspan="2"|1
 
|R
 
|sensor <n> on loop <l> disabled
 
|-
 
|W
 
|disable sensor <n> on loop <l>
 
|-
 
|rowspan="2"|0
 
|R
 
|sensor <n> on loop <l> enabled
 
|-
 
|W
 
|enable sensor <n> on loop <l>
 
|-
 
 
 
|rowspan="2" |sensor.<l>.<n>.prealarm.1
 
|1
 
|R
 
|sensor <n> on loop <l> pre-alarm 1
 
|-
 
 
|0
 
|0
 
|R
 
|R
|sensor <n> on loop <l> pre-alarm 1 off
+
|enabled
 
|-
 
|-
 
|rowspan="2" |sensor.<l>.<n>.prealarm.2
 
 
|1
 
|1
 
|R
 
|R
|sensor <n> on loop <l> pre-alarm 2
+
|disabled
|-
 
|0
 
|R
 
|sensor <n> on loop <l> pre-alarm 2 off
 
 
|-
 
|-
  
|rowspan="2" |sensor.<l>.<n>.fault
 
|v
 
|R
 
|sensor <n> on loop <l> fault (see sensors fault error table below)
 
|-
 
|0
 
|R
 
|sensor <n> on loop <l> no fault
 
|-
 
  
|rowspan="2" |sensor.<l>.<n>.alarm
+
|}
|1
 
|R
 
|sensor <n> on loop <l> alarm
 
|-
 
|0
 
|R
 
|sensor <n> on loop <l> no alarm
 
|-
 
  
|sensor.<l>.<n>.analog
+
== Release Notes ==
|v
+
=== 3.8.0 ===
|R
+
*fixed a bug that could cause an error on the connection status datapoint when multiple KILSEN I/O servers are defined
|sensor <n> on loop <l> analog value
 
|-
 
  
|rowspan="2" |zone.<n>.normal
+
=== 3.7.0 ===
|1
+
*initial release
|R
 
|zone <n> normal state
 
|-
 
|0
 
|R
 
|zone <n> error state
 
|-
 
  
|rowspan="4" |zone.<n>.disabled
+
----
|rowspan="2"|1
 
|R
 
|zone <n> disabled
 
|-
 
|W
 
|disable zone <n>
 
|-
 
|rowspan="2"|0
 
|R
 
|zone <n> enabled
 
|-
 
|W
 
|enable zone <n>
 
|-
 
  
|rowspan="2" |zone.<n>.fault
 
|1
 
|R
 
|zone <n> fault
 
|-
 
|0
 
|R
 
|zone <n> no fault
 
|-
 
  
|rowspan="2" |zone.<n>.alarm
+
''KILSEN is a registered trademark of UTC Climate, Controls & Security''
|1
 
|R
 
|zone <n> alarm
 
|-
 
|0
 
|R
 
|zone <n> no alarm
 
|-
 
 
 
|}
 

Latest revision as of 09:45, 9 August 2021

KILSEN KFP-A 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 P/N 00-3243-505-1603-01 • ISS 14DEC15 This driver is also compatible with Aritech 2x series.

Note  KILSEN KFP-A control panels have a limit of one MODBUS request per second. This limit cannot be changed, it's probably related to the hardware capabilities of the panels. Due to this limitation this I/O server can be considerably slow in case of high amount of loops, sensors, modules. To partially solve the issue this I/O servers has a double polling implementation: fast polling for global status, slow polling for modules and sensors status. This means that the global panel status is requested more frequently. For example in case of fire alarm the global alarm will be approximately notified within one minute or less, the specific sensor alarm will be notified later, with a delay proportional to the numbers of loop, sensors, modules declared in the driver's options.


IO Server Kilsen Panel.jpg

Communication

KILSEN 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 KILSEN I/O Server in the I/O Servers section of the Settings and set its parameters:

Communication

  • Address: IP address of the KILSEN 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 KILSEN panel
nodes 1 nodes list. Multiple nodes should be separated by semicolons
loopsnumber 1 > 0 total number of loops
sensorsnsumber 1 0 ... 128 set to the highest sensor number configured in the panel
modulesnumber 1 0 ... 128 set to the highest module number configured in the panel


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
panel.silence 1 W silence panel
sounders.set 0 W stop sounders
1 W start sounders
global.alarm 0 R no alarm
1 R at lest one sensor of module on alarm
global.fault 0 R no faults
1 R at lest one sensor of module on fault status
global.disable 0 R no sensors of modules disabled
1 R at lest one sensor of module is disabled
global.test 0 R panel in not in test mode
1 R panel is in test mode
global.daynight 0 R panel in day mode
1 R panel is night mode
global.mcpalarm 0 R mcp alarm off
1 R mcp alarm on
global.sounder.delay.enabled 0 R sounders delay disabled
1 R sounders delay enabled
global.sounder.delay.in.progress 0 R sounders delay not in progress
1 R sounders delay in progress
global.sounder.outputs.activated 0 R sounders outputs not active
1 R sounders outputs active
global.sounder.outputs.silenced 0 R sounders outputs not silenced
1 R sounders outputs silenced
global.sounder.disabled 0 R sounders are enabled
1 R sounders are disabled
global.sounder.override.time.elapsed 0 R override sounders time is not elapsed
1 R ovveride sounders time elapsed
global.sounder.in.test 0 R sounders not in test
1 R sounders in test
global.fire.routing.delay.enabled 0 R fire routing delay not enabled
1 R fire routing delay enabled
global.fire.routing.delay.in.progress 0 R fire routing delay not in progress
1 R fire routing in progress
global.fire.routing.ouputs.activated 0 R fire routing outputs not activated
1 R fire routing outputs activated
global.fire.routing.ack 0 R fire routing not in ack
1 R fire routing ack
global.fire.routing.disabled 0 R fire routing enabled
1 R fire routing disabled
global.fire.routing.test.on 0 R fire routing test is off
1 R fire routing test on
global.fire.routing.ext.delay.in.progress 0 R fire routing ext delay not in progress
1 R fire routing ext delay in progress
node.<n>.loop.<l>.sensor.<s>.prealarm 0 R not in prealarm
1 R prealarm
node.<n>.loop.<l>.sensor.<s>.alarm 0 R not in alarm
1 R alarm
node.<n>.loop.<l>.sensor.<s>.fault 0 R not in fault
1 R fault
node.<n>.loop.<l>.sensor.<s>.test 0 R not in test
1 R in test
node.<n>.loop.<l>.sensor.<s>.dis 0 R enabled
1 R disabled
node.<n>.loop.<l>.module.<s>.prealarm 0 R not in prealarm
1 R prealarm
node.<n>.loop.<l>.module.<s>.alarm 0 R not in alarm
1 R alarm
node.<n>.loop.<l>.module.<s>.fault 0 R not in fault
1 R fault
node.<n>.loop.<l>.module.<s>.test 0 R not in test
1 R in test
node.<n>.loop.<l>.module.<s>.dis 0 R enabled
1 R disabled

Release Notes

3.8.0

  • fixed a bug that could cause an error on the connection status datapoint when multiple KILSEN I/O servers are defined

3.7.0

  • initial release


KILSEN is a registered trademark of UTC Climate, Controls & Security