Difference between revisions of "Kilsen"

From HSYCO
Jump to navigation Jump to search
(29 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>
+
|rowspan="2" |global.alarm
|
 
|R
 
|space separated list of detected loops on loop <l>
 
|-
 
 
 
|rowspan="2" |lcd.offline (O)
 
|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
+
|rowspan="2" |global.test
|1
 
|R
 
|loop <n> open fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|loop <n> no open fault
+
|panel in not in test mode
 
|-
 
|-
 
|rowspan="2" |loop.<n>.voltage
 
 
|1
 
|1
 
|R
 
|R
|loop <n> low voltage fault
+
|panel is in test mode
|-
 
|0
 
|R
 
|loop <n> no low voltage fault
 
 
|-
 
|-
  
|rowspan="2" |module.<l>.<n>.normal
+
|rowspan="2" |global.daynight
|1
 
|R
 
|module <n> on loop <l> normal state
 
|-
 
 
|0
 
|0
 
|R
 
|R
|module <n> on loop <l> error state
+
|panel in day mode
 
|-
 
|-
 
|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
 
|v
 
|R
 
|module <n> on loop <l> fault  (see modules fault error table below)
 
|-
 
|0
 
|R
 
|module <n> on loop <l> no fault
 
|-
 
 
|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
 
|1
 
|R
 
|R
|battery charger unbalance detected
+
|sounders delay in progress
|-
 
|0
 
|R
 
|battery charger unbalance not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.batt.fail
+
|rowspan="2" |global.sounder.outputs.activated
|1
 
|R
 
|battery failure detected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|battery failure not detected
+
|sounders outputs not active
 
|-
 
|-
 
|rowspan="2" |panel.fault.batt.low (O)
 
 
|1
 
|1
 
|R
 
|R
|battery low voltage detected
+
|sounders outputs active
|-
 
|0
 
|R
 
|battery low voltage not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.bex
+
|rowspan="2" |global.sounder.outputs.silenced
|1
 
|R
 
|battery exhausted detected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|battery exhausted not detected
+
|sounders outputs not silenced
 
|-
 
|-
 
|rowspan="2" |panel.fault.earth
 
 
|1
 
|1
 
|R
 
|R
|ground connection fault
+
|sounders outputs silenced
|-
 
|0
 
|R
 
|no ground connection fault
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.undervoltage
+
|rowspan="2" |global.sounder.disabled
|1
 
|R
 
|AC power under-voltage fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no AC power under-voltage fault
+
|sounders are enabled
 
|-
 
|-
 
|rowspan="2" |panel.fault.overvoltage
 
 
|1
 
|1
 
|R
 
|R
|AC power over-voltage fault
+
|sounders are disabled
|-
 
|0
 
|R
 
|no AC power over-voltage fault
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.siren.open
+
|rowspan="2" |global.sounder.override.time.elapsed
|1
 
|R
 
|siren line wire cut detected
 
|-
 
 
|0
 
|0
 
|R
 
|R
|siren line wire cut not detected
+
|override sounders time is not elapsed
 
|-
 
|-
 
|rowspan="2" |panel.fault.siren.short
 
 
|1
 
|1
 
|R
 
|R
|siren line short circuit detected
+
|ovveride sounders time elapsed
|-
 
|0
 
|R
 
|siren line short circuit not detected
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.fuse
+
|rowspan="2" |global.sounder.in.test
|1
 
|R
 
|fuse fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fuse ok
+
|sounders not in test
 
|-
 
|-
 
|rowspan="2" style="white-space:nowrap"|panel.fault.batt.charger.undervoltage
 
 
|1
 
|1
 
|R
 
|R
|battery charger under-voltage fault
+
|sounders in test
|-
 
|0
 
|R
 
|no battery charger under-voltage fault
 
 
|-
 
|-
  
|rowspan="2" |panel.fault.batt.charger.overvoltage
+
|rowspan="2" |global.fire.routing.delay.enabled
|1
 
|R
 
|battery charger over-voltage fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no battery charger over-voltage fault
+
|fire routing delay not enabled
 
|-
 
|-
 
|rowspan="2" |panel.filesystem.clear.error (N)
 
 
|1
 
|1
 
|R
 
|R
|memory delete error
+
|fire routing delay enabled
|-
 
|0
 
|R
 
|no memory delete error
 
 
|-
 
|-
  
|rowspan="2" |panel.filesystem.init.error (N)
+
|rowspan="2" |global.fire.routing.delay.in.progress
|1
 
|R
 
|memory initialization error
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no memory initialization error
+
|fire routing delay not in progress
 
|-
 
|-
 
|rowspan="2" |panel.reliab.par.mod
 
 
|1
 
|1
 
|R
 
|R
|reliability parameters modified warning
+
|fire routing in progress
|-
 
|0
 
|R
 
|no reliability parameters modified warning
 
 
|-
 
|-
  
|rowspan="2" |panel.hardkey.enabled
+
|rowspan="2" |global.fire.routing.ouputs.activated
|1
 
|R
 
|hardware programming key enabled
 
|-
 
 
|0
 
|0
 
|R
 
|R
|hardware programming key not enabled
+
|fire routing outputs not activated
 
|-
 
|-
 
|rowspan="2" |panel.power.on
 
 
|1
 
|1
 
|R
 
|R
|power on phase
+
|fire routing outputs activated
|-
 
|0
 
|R
 
|power on phase completed
 
 
|-
 
|-
  
|rowspan="2" |panel.wdt.reset
+
|rowspan="2" |global.fire.routing.ack
|1
 
|R
 
|main CPU watchdog fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|main CPU watchdog ok
+
|fire routing not in ack
 
|-
 
|-
 
|rowspan="2" |panel.cfg.error (N)
 
 
|1
 
|1
 
|R
 
|R
|configuration error
+
|fire routing ack
|-
 
|0
 
|R
 
|configuration ok
 
 
|-
 
|-
  
|rowspan="2" |panel.filesystem.error (N)
+
|rowspan="2" |global.fire.routing.disabled
|1
 
|R
 
|memory corruption
 
|-
 
 
|0
 
|0
 
|R
 
|R
|memory ok
+
|fire routing enabled
 
|-
 
|-
 
|rowspan="2" |panel.hard.clock (N)
 
 
|1
 
|1
 
|R
 
|R
|internal hardware clock fault
+
|fire routing disabled
|-
 
|0
 
|R
 
|internal hardware clock ok
 
 
|-
 
|-
  
|rowspan="2" |panel.arch.full (N)
+
|rowspan="2" |global.fire.routing.test.on
|1
 
|R
 
|log archive full
 
|-
 
 
|0
 
|0
 
|R
 
|R
|log archive not full
+
|fire routing test is off
 
|-
 
|-
 
|rowspan="2" |panel.arch.full.warning (N)
 
 
|1
 
|1
 
|R
 
|R
|log archive warning (80% full)
+
|fire routing test on
|-
 
|0
 
|R
 
|no log archive warning
 
|-
 
 
 
|rowspan="2" |panel.zone.default (N)
 
|1
 
|R
 
|sensors/modules not yet assigned to zones
 
|-
 
|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
 
|R
 
|SIB board online
 
|-
 
 
 
|rowspan="2" |panel.sib.not.prg (N)
 
|1
 
|R
 
|SIB board not programmed
 
|-
 
|0
 
|R
 
|SIB board programmed
 
|-
 
 
 
|rowspan="2" |panel.pc.invalid.cmd (N)
 
|1
 
|R
 
|invalid command from PC
 
|-
 
 
|0
 
|0
 
|R
 
|R
|no invalid command from PC
+
|fire routing ext delay not in progress
 
|-
 
|-
 
|rowspan="2" |panel.arch.disabled
 
 
|1
 
|1
 
|R
 
|R
|log archive disabled
+
|fire routing ext delay in progress
|-
 
|0
 
|R
 
|log archive enabled
 
 
|-
 
|-
  
|rowspan="2" |panel.lib.<n>.offline
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.prealarm
|1
 
|R
 
|LIB board <n> offline
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LIB board <n> online
+
|not in prealarm
 
|-
 
|-
 
|rowspan="2" |panel.lib.<n>.cfg.error
 
 
|1
 
|1
 
|R
 
|R
|LIB board <n> configuration error
+
|prealarm
|-
 
|0
 
|R
 
|LIB board <n> configured
 
 
|-
 
|-
  
|rowspan="2" |panel.lib.<n>.not.prg
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.alarm
|1
 
|R
 
|LIB board <n> not programmed
 
|-
 
 
|0
 
|0
 
|R
 
|R
|LIB board <n> programmed
+
|not in alarm
|-
 
 
 
|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
+
|alarm
|-
 
|0
 
|R
 
|fire panel error state
 
 
|-
 
|-
  
|rowspan="2" |panel.fire.exclusions
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.fault
|1
 
|R
 
|fire panel has one or more disabled components
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel’s all components are enabled
+
|not in fault
 
|-
 
|-
 
|rowspan="2" |panel.fire.test
 
 
|1
 
|1
 
|R
 
|R
|fire panel test
+
|fault
|-
 
|0
 
|R
 
|fire panel no test
 
 
|-
 
|-
  
 
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.test
|rowspan="2" |panel.fire.fault
 
|1
 
|R
 
|fire panel fault
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel no fault
+
|not in test
 
|-
 
|-
 
|rowspan="2" |panel.fire.alarm
 
 
|1
 
|1
 
|R
 
|R
|fire panel alarm
+
|in test
|-
 
|0
 
|R
 
|fire panel no alarm
 
 
|-
 
|-
  
|rowspan="2" |panel.fire.alarm.silent
+
|rowspan="2" |node.<n>.loop.<l>.sensor.<nowiki><s></nowiki>.dis
|1
 
|R
 
|fire panel alarm silenced
 
|-
 
 
|0
 
|0
 
|R
 
|R
|fire panel no alarm silenced
+
|enabled
 
|-
 
|-
 
|rowspan="2" |panel.fire.ack
 
 
|1
 
|1
 
|R
 
|R
|fire panel with events requing acknowledgement
+
|disabled
|-
 
|0
 
|R
 
|fire panel with no events requing acknowledgement
 
 
|-
 
|-
  
|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)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.prealarm
|1
 
|R
 
|technical panel normal state
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel error state
+
|not in prealarm
 
|-
 
|-
 
|rowspan="2" |panel.tech.exclusions (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel has one or more disabled components
+
|prealarm
|-
 
|0
 
|R
 
|technical panel’s all components are enabled
 
 
|-
 
|-
  
|rowspan="2" |panel.tech.test (N)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.alarm
|1
 
|R
 
|technical panel test
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel no test
+
|not in alarm
 
|-
 
|-
 
|rowspan="2" |panel.tech.fault (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel fault
+
|alarm
|-
 
|0
 
|R
 
|technical panel no fault
 
 
|-
 
|-
  
|rowspan="2" |panel.tech.alarm (N)
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.fault
|1
 
|R
 
|technical panel alarm
 
|-
 
 
|0
 
|0
 
|R
 
|R
|technical panel no alarm
+
|not in fault
 
|-
 
|-
 
|rowspan="2" |panel.tech.ack (N)
 
 
|1
 
|1
 
|R
 
|R
|technical panel with events requing acknowledgement
+
|fault
|-
 
|0
 
|R
 
|technical panel with no events requing acknowledgement
 
|-
 
 
 
|rowspan="2" |sensor.<l>.<n>.normal
 
|1
 
|R
 
|sensor <n> on loop <l> normal state
 
|-
 
|0
 
|R
 
|sensor <n> on loop <l> error state
 
|-
 
 
 
|rowspan="4" |sensor.<l>.<n>.disabled
 
|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
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.test
|1
 
|R
 
|sensor <n> on loop <l> pre-alarm 1
 
|-
 
 
|0
 
|0
 
|R
 
|R
|sensor <n> on loop <l> pre-alarm 1 off
+
|not in test
 
|-
 
|-
 
|rowspan="2" |sensor.<l>.<n>.prealarm.2
 
 
|1
 
|1
 
|R
 
|R
|sensor <n> on loop <l> pre-alarm 2
+
|in test
|-
 
|0
 
|R
 
|sensor <n> on loop <l> pre-alarm 2 off
 
 
|-
 
|-
  
|rowspan="2" |sensor.<l>.<n>.fault
+
|rowspan="2" |node.<n>.loop.<l>.module.<nowiki><s></nowiki>.dis
|v
 
|R
 
|sensor <n> on loop <l> fault (see sensors fault error table below)
 
|-
 
 
|0
 
|0
 
|R
 
|R
|sensor <n> on loop <l> no fault
+
|enabled
 
|-
 
|-
 
|rowspan="2" |sensor.<l>.<n>.alarm
 
 
|1
 
|1
 
|R
 
|R
|sensor <n> on loop <l> alarm
+
|disabled
|-
 
|0
 
|R
 
|sensor <n> on loop <l> no alarm
 
 
|-
 
|-
  
|sensor.<l>.<n>.analog
 
|v
 
|R
 
|sensor <n> on loop <l> analog value
 
|-
 
  
|rowspan="2" |zone.<n>.normal
+
|}
|1
 
|R
 
|zone <n> normal state
 
|-
 
|0
 
|R
 
|zone <n> error state
 
|-
 
  
|rowspan="4" |zone.<n>.disabled
+
== Release Notes ==
|rowspan="2"|1
+
=== 3.7.0 ===
|R
+
*initial release
|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
 
|1
 
|R
 
|zone <n> alarm
 
|-
 
|0
 
|R
 
|zone <n> no alarm
 
|-
 
  
|}
+
''KILSEN is a registered trademark of UTC Climate, Controls & Security''

Revision as of 10:47, 28 December 2020

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.7.0

  • initial release


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