Difference between revisions of "Hephais"

From HSYCO
Jump to navigation Jump to search
(Created page with "The SD3 HEPHAIS 1600 is a multi-zones fire panel. The integration with HSYCO can be accomplished via a standard Modbus RTU slave interface. This I/O Server requires HEPHAIS 16...")
 
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The SD3 HEPHAIS 1600 is a multi-zones fire panel. The integration with HSYCO can be accomplished via a standard Modbus RTU slave interface.
+
The SD3 HEPHAIS 1600 / DEF is a multi-zones fire panel. The integration with HSYCO can be accomplished via a standard Modbus RTU slave interface.
This I/O Server requires HEPHAIS 1600 with protocol modbus JBUS V0.13
+
This I/O Server requires HEPHAIS 1600 with protocol modbus JBUS V0.13.
 +
 
 +
[[File:IO Servers Hephais Panel.png]]
  
  
Line 7: Line 9:
 
== Modbus Connections ==
 
== Modbus Connections ==
  
The HEPHAIS 1600 has a Modbus interface. The default connection parameters are:
+
The HEPHAIS 1600 has a Modbus interface.
Modbus address: 1 (can be set to 1 - 247)
+
 
communication parameters: 9600 bps, 8 bits, 1 stop bit, no parity.
+
*Modbus address: 1 (can be set to 1 - 247)
 +
 
 +
*RS-422 parameters:
 +
{| class="wikitable"
 +
| '''Baud rate'''
 +
| 9600
 +
|-
 +
| '''Data bits'''
 +
| 8
 +
|-
 +
| '''Stop bit'''
 +
| 1
 +
|-
 +
| '''Parity'''
 +
| none
 +
|-
 +
| '''Flow control'''
 +
| none
 +
|}
 +
 
 
Refer to the HEPHAIS 1600 manuals for installation, wiring and power supply requirements.
 
Refer to the HEPHAIS 1600 manuals for installation, wiring and power supply requirements.
  
Line 15: Line 36:
  
 
The Modbus-TCP/IP gateway used for the connection must support RS-422/JBUS.
 
The Modbus-TCP/IP gateway used for the connection must support RS-422/JBUS.
 +
 +
[[File:IO Servers Hephais Connections.png]]
  
 
== HSYCO Configuration ==
 
== HSYCO Configuration ==
 +
You can define and connect more than one HEPHAIS panel on the same Modbus bus gateway or through different gateways.
 +
 +
Add an Hephais I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:
 +
 +
=== Communication ===
 +
*'''Comm ID''': select a MODBUSTCP I/O server if using a Modbus gateway, or the serial port id when using a direct RS-485 port with HSYCO acting as Modbus RTU master.
 +
 +
=== High Availability ===
 +
*'''Shutdown when inactive''': defaults to false.
  
 
=== Options ===
 
=== Options ===
Line 90: Line 122:
  
 
<pre>
 
<pre>
fire.m1.l1.1.name = Entrance
+
fire.m1.l1.1.name = Entrance
fire.m1.l1.1.zone = 1
+
fire.m1.l1.1.zone = 1
fire.m1.l1.2.name = Corridor
+
fire.m1.l1.2.name = Corridor
fire.m1.l1.2.zone = 2
+
fire.m1.l1.2.zone = 2
  
fire.z1.name = Zone 1
+
fire.z1.name = Zone 1
fire.z2.name = Zone 2
+
fire.z2.name = Zone 2
 
</pre>
 
</pre>
  
Line 106: Line 138:
 
!R/W
 
!R/W
 
!Description
 
!Description
 
 
|-
 
|-
  
Line 117: Line 148:
 
|R
 
|R
 
|HSYCO can't connect to the panel
 
|HSYCO can't connect to the panel
 
 
|-
 
|-
  
 
|rowspan="2" |alarm
 
|rowspan="2" |alarm
|0
 
|R
 
|no partition is alarmed
 
|-
 
 
|1
 
|1
 
|R
 
|R
|at least one partition is alarmed
+
|fire panel in alarm
 
 
|-
 
 
 
|rowspan="6" |armed
 
|rowspan="2" |0
 
|R
 
|all partitions are disarmed
 
|-
 
|W
 
|disarm all partitions
 
|-
 
|1
 
|R
 
|the system is (partially) armed
 
|-
 
|away
 
|W
 
|arm all partitions in away mode
 
|-
 
|stay
 
|W
 
|arm all partitions in stay mode
 
 
|-
 
|-
|auto
 
|W
 
|initiate auto-arm for all partitions
 
 
|-
 
 
|rowspan="7" |p<n>.armed
 
|rowspan="2" |0
 
|R
 
|partition <n> is disarmed
 
|-
 
|W
 
|disarm partition <n>
 
|-
 
|rowspan="2" |away
 
|R
 
|partition <n> is armed in away mode
 
|-
 
|W
 
|arm partition <n> in away mode
 
|-
 
|rowspan="2" |stay
 
|R
 
|partition <n> is armed in stay mode
 
|-
 
|W
 
|arm partition <n> in stay mode
 
|-
 
|auto
 
|W
 
|initiate auto-arm on partition <n>
 
 
|-
 
 
|rowspan="2" |p<n>.alarm
 
 
|0
 
|0
 
|R
 
|R
|partition <n> is not in an alarm state
+
|no alarm
|-
 
|1
 
|R
 
|partition <n> is in an alarm state
 
 
 
 
|-
 
|-
  
|rowspan="2" |p<n>.tamper
+
|rowspan="2" |fault
|0
 
|R
 
|no tamper condition for partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|partition <n> has been tampered
+
|fire panel fault
 
 
|-
 
 
 
|p<n>.last.user
 
|<num>
 
|R
 
|last user number entered was <num>
 
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.fire
 
 
|0
 
|0
 
|R
 
|R
|no fire on partition <n>
+
|no fault
 
|-
 
|-
|1
 
|R
 
|fire on partition <n>
 
  
|-
+
|rowspan="2" |oos
 
 
|rowspan="2" |p<n>.fire.trouble
 
|0
 
|R
 
|no fire trouble on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|fire trouble on partition <n>
+
|at least one point out of service
 
 
 
|-
 
|-
 
|rowspan="3" |p<n>.buzzer
 
 
|0
 
|0
 
|R
 
|R
|buzzer off on partition <n>
+
|no point out of service
 
|-
 
|-
|rowspan="2"|1
 
|R
 
|buzzer on on partition <n>
 
|-
 
|W
 
|start buzzer on partition <n>
 
  
|-
+
|rowspan="2" |test
 
 
|rowspan="2" |p<n>.tlm.fault
 
|0
 
|R
 
|TLM ok
 
|-
 
 
|1
 
|1
 
|R
 
|R
|TLM memory fault
+
|at least one zone in test mode
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.instant
 
 
|0
 
|0
 
|R
 
|R
|instant flag not set on partition <n>
+
|no zone in test mode
 
|-
 
|-
|1
 
|R
 
|instant flag set on partition <n>
 
  
|-
+
|rowspan="2" |error.sys
 
 
|rowspan="2" |p<n>.siren
 
|0
 
|R
 
|siren off on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|siren on on partition <n>
+
|system fault
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.steady.siren
 
 
|0
 
|0
 
|R
 
|R
|steady siren off on partition <n>
+
|no system fault
 
|-
 
|-
|1
 
|R
 
|steady siren on on partition <n>
 
  
|-
+
|rowspan="2" |prealarm
 
 
|rowspan="2" |p<n>.alarm.mem
 
|0
 
|R
 
|alarm memory flag not set on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|alarm memory flag set on partition <n>
+
|fire panel in pre-alarm
 
 
|-
 
 
 
|rowspan="3" |p<n>.cancel
 
|0
 
|R
 
|no cancel command entered on partition <n>
 
|-
 
|rowspan="2" |1
 
|R
 
|cancel command entered on partition <n>
 
|-
 
|W
 
|issue cancel command
 
 
 
 
|-
 
|-
 
|rowspan="3" |p<n>.exit.silent
 
 
|0
 
|0
 
|R
 
|R
|silent exit disabled on partition <n>
+
|no pre-alarm
 
|-
 
|-
|rowspan="2" |1
 
|R
 
|silent exit enabled on partition <n>
 
|-
 
|W
 
|enable silent exit for this arm cycle on partition <n>
 
  
|-
+
|rowspan="2" |alarm.tec
 
 
|rowspan="3" |p<n>.chime.mode
 
|0
 
|R
 
|chime mode off on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|chime mode on on partition <n>
+
|fire panel in technical alarm
|-
 
|toggle
 
|W
 
|toggle chime mode on partition <n>
 
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.entry
 
 
|0
 
|0
 
|R
 
|R
|entry inactive on partition <n>
+
|no technical alarm
 
|-
 
|-
|1
 
|R
 
|entry active on partition <n>
 
  
|-
+
|rowspan="2" |sound
 
 
|rowspan="2" |p<n>.delay.exp
 
|0
 
|R
 
|delay expiration warning off
 
|-
 
 
|1
 
|1
 
|R
 
|R
|delay expiration warning on
+
|H.S. speaker active
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.exit.1
 
 
|0
 
|0
 
|R
 
|R
|exit 1 inactive on partition <n>
+
|H.S. speaker not active
 
|-
 
|-
|1
 
|R
 
|exit 1 active on partition <n>
 
  
|-
+
|rowspan="2" |error.com
 
 
|rowspan="2" |p<n>.exit.2
 
|0
 
|R
 
|exit 2 inactive on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|exit 2 active on partition <n>
+
|fire panel communication error
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.exit.error
 
 
|0
 
|0
 
|R
 
|R
|exit error not triggered on partition <n>
+
|no fire panel communication error
 
|-
 
|-
|1
 
|R
 
|exit error triggered on partition <n>
 
  
|-
+
|rowspan="2" |error.battery
 
 
|rowspan="2" |p<n>.night.mode
 
|0
 
|R
 
|night mode inactive on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|night mode active on partition <n>
+
|fire panel battery error
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.reexit
 
 
|0
 
|0
 
|R
 
|R
|re-exit inactive on partition <n>
+
|no fire panel battery error
 
|-
 
|-
|1
 
|R
 
|re-exit active on partition <n>
 
  
|-
+
|rowspan="2" |error.sector
 
 
|rowspan="2" |p<n>.force.arm
 
|0
 
|R
 
|no force arm triggered on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|force arm triggered by auto arm on partition <n>
+
|fire panel sector fault
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.arm.ready
 
 
|0
 
|0
 
|R
 
|R
|partition <n> not ready to arm
+
|no fire panel sector fault
 
|-
 
|-
|1
 
|R
 
|partition <n> ready to arm
 
  
|-
+
|z<n>.name
 
+
|<text>
|rowspan="2" |p<n>.force.arm.ready
 
|0
 
 
|R
 
|R
|partition <n> not ready to force arm
+
|name assigned to zone <n>
 
|-
 
|-
|1
 
|R
 
|partition <n> ready to force arm
 
  
|-
+
|rowspan="2" |z<n>.alarm
 
 
|rowspan="2" |p<n>.chime
 
|0
 
|R
 
|chime off on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|chime on on partition <n>
+
|fire panel in alarm
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.error.beep
 
 
|0
 
|0
 
|R
 
|R
|error beep off on partition <n>
+
|no alarm
 
|-
 
|-
|1
 
|R
 
|error beep on on partition <n>
 
  
|-
+
|rowspan="2" |z<n>.oos
 
 
|rowspan="2" |p<n>.tone
 
|0
 
|R
 
|activation tone off on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|activation tone on on partition <n>
+
|fire panel in alarm
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.entry.1
 
 
|0
 
|0
 
|R
 
|R
|entry 1 inactive on partition <n>
+
|no alarm
 
|-
 
|-
|1
 
|R
 
|entry 1 active on partition <n>
 
  
|-
+
|rowspan="2" |z<n>.fault
 
 
|rowspan="2" |p<n>.phone.1.alarm
 
|0
 
|R
 
|no alarm sent using phone number 1 on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|alarm sent using phone number 1 on partition <n>
+
|fire panel in alarm
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.phone.2.alarm
 
 
|0
 
|0
 
|R
 
|R
|no alarm sent using phone number 2 on partition <n>
+
|no alarm
 
|-
 
|-
|1
 
|R
 
|alarm sent using phone number 2 on partition <n>
 
  
|-
+
|rowspan="2" |z<n>.test
 
 
|rowspan="2" |p<n>.phone.3.alarm
 
|0
 
|R
 
|no alarm sent using phone number 3 on partition <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|alarm sent using phone number 3 on partition <n>
+
|fire panel in alarm
 
 
 
|-
 
|-
 
|rowspan="2" |p<n>.keyswitch.armed
 
 
|0
 
|0
 
|R
 
|R
|keyswitch not armed on partition <n>
+
|no alarm
 
|-
 
|-
|1
 
|R
 
|keyswitch armed on partition <n>
 
  
|-
+
|m<m>.l<l>.<n>.name
 
 
|z<n>.name
 
 
|<text>
 
|<text>
 
|R
 
|R
|name of zone <n> is set to <text>
+
|name assigned to point P of module <m> in loop <l>
 
 
|-
 
 
 
|rowspan="2" |z<n>.open
 
|0
 
|R
 
|zone <n> is closed
 
 
|-
 
|-
|1
 
|R
 
|zone <n> is open
 
  
|-
 
  
|rowspan="2" |z<n>.tamper
+
|rowspan="2" |m<m>.l<l>.<n>.oos
|0
 
|R
 
|zone <n> is not tampered
 
|-
 
 
|1
 
|1
 
|R
 
|R
|zone <n> is tampered
+
|point <n> of module <m> in loop <l> out of service
 
 
 
|-
 
|-
 
|rowspan="2" |z<n>.trouble
 
 
|0
 
|0
 
|R
 
|R
|zone <n> OK
+
|point <n> of module <m> in loop <l> not out of service
 
|-
 
|-
|1
 
|R
 
|troubles on zone <n>
 
  
|-
+
|rowspan="2" |m<m>.l<l>.<n>.alarm
 
 
|rowspan="3" |z<n>.bypassed
 
|0
 
|R
 
|zone <n> not bypassed
 
|-
 
 
|1
 
|1
 
|R
 
|R
|zone <n> bypassed
+
|point <n> of module <m> in loop <l> in alarm
|-
 
|toggle
 
|W
 
|toggle the bypass status on zone <n>
 
 
 
 
|-
 
|-
 
|rowspan="2" |z<n>.inhibited
 
 
|0
 
|0
 
|R
 
|R
|zone <n> not inhibited
+
|point <n> of module <m> in loop <l> not in alarm
 
|-
 
|-
|1
 
|R
 
|zone <n> inhibited
 
  
|-
+
|rowspan="2" |m<m>.l<l>.<n>.fault
 
 
|rowspan="2" |z<n>.battery.low
 
|0
 
|R
 
|zone <n> battery OK
 
|-
 
 
|1
 
|1
 
|R
 
|R
|zone <n> battery low
+
|point <n> of module <m> in loop <l> out of fault
 
 
 
|-
 
|-
 
|rowspan="2" |z<n>.supervision.loss
 
 
|0
 
|0
 
|R
 
|R
|supervision OK on zone <n>
+
|point <n> of module <m> in loop <l> out not in fault
 
|-
 
|-
|1
 
|R
 
|loss of supervision on zone <n>
 
  
|-
+
|rowspan="2" |m<m>.l<l>.<n>.alarm.test
 
 
|rowspan="2" |z<n>.alarm.mem
 
|0
 
|R
 
|alarm memory flag not set on zone <n>
 
|-
 
 
|1
 
|1
 
|R
 
|R
|alarm memory flag set on zone <n>
+
|point <n> of module <m> in loop <l> alarm test
 
 
 
|-
 
|-
 
|rowspan="2" |z<n>.bypass.mem
 
 
|0
 
|0
 
|R
 
|R
|bypass memory flag not set on zone <n>
+
|point <n> of module <m> in loop <l> not in alarm test
|-
 
|1
 
|R
 
|bypass memory flag set on zone <n>
 
 
 
|-
 
 
 
|user<n>.name
 
|<text>
 
|R
 
|name of user <n> is set to <text>
 
 
 
 
|-
 
|-
  
|rowspan="2" |comm.fail
+
|rowspan="2" |m<m>.l<l>.<n>.prealarm
|0
 
|R
 
|communication OK
 
|-
 
 
|1
 
|1
 
|R
 
|R
|communication failure
+
|point <n> of module <m> in loop <l> prealarm
 
 
 
|-
 
|-
 
|rowspan="2" |fuse.fault
 
 
|0
 
|0
 
|R
 
|R
|fuse OK
+
|point <n> of module <m> in loop <l> not in prealarm
|-
 
|1
 
|R
 
|fuse fault
 
 
 
 
|-
 
|-
  
|rowspan="2" |panel.tamper
+
|rowspan="2" |m<m>.l<l>.<n>.techalarm
|0
 
|R
 
|panel box not tampered
 
|-
 
 
|1
 
|1
 
|R
 
|R
|panel box tampered
+
|point <n> of module <m> in loop <l> techalarm
 
 
 
|-
 
|-
 
|rowspan="2" |siren.tamper
 
 
|0
 
|0
 
|R
 
|R
|siren OK
+
|point <n> of module <m> in loop <l> not in techalarm
 
|-
 
|-
|1
 
|R
 
|siren tampered
 
  
|-
+
|}
  
|rowspan="2" |battery.low
+
== User Interface ==
|0
 
|R
 
|battery OK
 
|-
 
|1
 
|R
 
|battery low
 
  
|-
+
=== Hephais Object ===
  
|rowspan="2" |ac.fail
+
{{:Hephais_(UI Object)}}
|0
 
|R
 
|AC OK
 
|-
 
|1
 
|R
 
|AC failure
 
  
|-
+
=== UISET Actions ===
  
|rowspan="2" |expander.tamper
+
{| class="wikitable"
|0
+
!ID
|R
+
!Attribute
|expander box not tampered
+
!colspan="2"|Set to
 
|-
 
|-
|1
 
|R
 
|expander box tampered
 
  
 +
|rowspan="2"|connection.label.online
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint connection = online
 
|-
 
|-
 
+
|false
|rowspan="2" |expander.ac.fail
+
|when datapoint connection = offline
|0
 
|R
 
|expander’s AC OK
 
 
|-
 
|-
|1
 
|R
 
|expander’s AC failure
 
  
 +
|rowspan="2"|connection.label.offline
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint connection = offline
 
|-
 
|-
 
+
|false
|rowspan="2" |expander.battery.low
+
|when datapoint connection = online
|0
 
|R
 
|expander’s battery OK
 
 
|-
 
|-
|1
 
|R
 
|expander’s battery low
 
  
 +
|rowspan="2"|alarm.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is in alarm
 
|-
 
|-
 
+
|false
|rowspan="2" |expander.fault
+
|when the fire panel is not in alarm
|0
 
|R
 
|expander OK
 
 
|-
 
|-
|1
 
|R
 
|general fault for the expander
 
  
 +
|rowspan="2"|alarm.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is not in alarm
 
|-
 
|-
 
+
|false
|rowspan="2" |buzzer
+
|when the fire panel is in alarm
|0
 
|R
 
|global buzzer off
 
 
|-
 
|-
|1
 
|R
 
|global buzzer on
 
  
 +
|rowspan="2"|fault.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is in fault
 
|-
 
|-
 
+
|false
|rowspan="2" |siren
+
|when the fire panel is not in fault
|0
 
|R
 
|global siren off
 
 
|-
 
|-
|1
 
|R
 
|global siren on
 
  
 +
|rowspan="2"|fault.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is not in fault
 
|-
 
|-
 
+
|false
|rowspan="2" |steady.siren
+
|when the fire panel is in fault
|0
 
|R
 
|global steady siren off
 
 
|-
 
|-
|1
 
|R
 
|global steady siren on
 
  
 +
|rowspan="2"|oos.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when at least one point is out of service
 
|-
 
|-
 
+
|false
|rowspan="2" |bus.fault
+
|when no one of the points is out of service
|0
 
|R
 
|bus line OK
 
 
|-
 
|-
|1
 
|R
 
|bus device had line seized
 
  
 +
|rowspan="2"|oos.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when no one of the points is out of service
 
|-
 
|-
 
+
|false
|rowspan="2" |ac.power
+
|when at least one point is out of service
|0
 
|R
 
|AC power off
 
|-
 
|1
 
|R
 
|AC power on
 
 
 
 
|-
 
|-
  
|rowspan="2" |battery.low.mem
+
|rowspan="2"|test.label.1
|0
+
|rowspan="2"|visible
|R
+
|true
|low battery memory flag not set
+
|when at least one zone is in test mode
 
|-
 
|-
|1
+
|false
|R
+
|when there aren't zones in test mode
|low battery memory flag set
 
 
 
 
|-
 
|-
  
|rowspan="2" |powerup.delay
+
|rowspan="2"|test.label.0
|0
+
|rowspan="2"|visible
|R
+
|true
|no power up delay in progress
+
|when there aren't zones in test mode
 
|-
 
|-
|1
+
|false
|R
+
|when at least one zone is in test mode
|power up delay in progress
 
 
 
 
|-
 
|-
  
|rowspan="4" |walk.test
+
|rowspan="2"|error.sys.label.1
|rowspan="2" |0
+
|rowspan="2"|visible
|R
+
|true
|walk-test mode off
+
|when there is a system fault
 
|-
 
|-
|W
+
|false
|stop walk-test mode
+
|when there is not a system fault
 
|-
 
|-
|rowspan="2" |1
 
|R
 
|walk-test mode active
 
|-
 
|W
 
|start walk-test mode
 
  
 +
|rowspan="2"|error.sys.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when there is not a system fault
 
|-
 
|-
 
+
|false
|rowspan="2" |time.loss
+
|when there is a system fault
|0
 
|R
 
|system time ok
 
 
|-
 
|-
|1
 
|R
 
|loss of system time
 
  
 +
|rowspan="2"|prealarm.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is in pre-alarm
 
|-
 
|-
 
+
|false
|aux1<br />p<n>.aux1
+
|when the fire panel is not in pre-alarm
|1
 
|W
 
|activate auxiliary function 1
 
 
 
 
|-
 
|-
  
|aux2<br />p<n>.aux2
+
|rowspan="2"|prealarm.label.0
|1
+
|rowspan="2"|visible
|W
+
|true
|activate auxiliary function 2
+
|when the fire panel is not in pre-alarm
 
 
 
|-
 
|-
 
+
|false
|rowspan="3"|panic<br />p<n>.panic
+
|when the fire panel is in pre-alarm
|fire
 
|W
 
|issue the fire panic command
 
|-
 
|medical
 
|W
 
|issue the medical panic command
 
 
|-
 
|-
|police
 
|W
 
|issue the police panic command
 
  
 +
|rowspan="2"|alarm.tec.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when the fire panel is in technical alarm
 
|-
 
|-
 
+
|false
|smoke<br />p<n>.smoke
+
|when the fire panel is not in technical alarm
|reset
 
|W
 
|smoke detector reset
 
 
 
 
|-
 
|-
  
|test<br />p<n>.test
+
|rowspan="2"|alarm.tec.label.0
|1
+
|rowspan="2"|visible
|W
+
|true
|perform test
+
|when the fire panel is not in technical alarm
 
 
 
|-
 
|-
 
+
|false
|command
+
|when the fire panel is in technical alarm
|restart
 
|W
 
|restart the driver
 
 
 
 
|-
 
|-
  
|rowspan="3"|clock
+
|rowspan="2"|sound.label.1
|read
+
|rowspan="2"|visible
|W
+
|true
|request the reading of the panel’s clock value
+
|when H.S. sound speaker is active
 
|-
 
|-
|rowspan="2"|<val>
+
|false
|R
+
|when H.S. sound speaker is not active
|the panel’s clock is set to <val>. The used format is "yyyy-mm-dd hh:mm:ss" (e.g. 2012-08-30 16:30:00). This datapoint is only updated after a request with the command "clock = read"
 
|-
 
|W
 
|set the panel’s clock to <val>. One of the following formats must be used:
 
*"yyyy-mm-dd hh:mm", e.g. 2012-08-30 16:30
 
*"yy/mm/dd-wd-hh:mm", where “wd” represents the day of the week (1 = Sunday, 2 = Monday, ..., 7 = Saturday), e.g. 12/08/30-5-16:30
 
|}
 
 
 
=== CS507 configuration ===
 
The I/O Server also allows to configure and to check the saved configuration of a CS507 add-on module connected to the panel.
 
 
 
To read and write the configuration saved on the module use the following datapoints:
 
 
 
{| class="wikitable"
 
!ID
 
!Value
 
!R/W
 
!Description
 
 
 
 
|-
 
|-
  
|rowspan="3"|cs507.<addr>.out<n>
+
|rowspan="2"|sound.label.0
|read
+
|rowspan="2"|visible
|W
+
|true
|request the reading of the configuration of output <n> on the module with address <addr>
+
|when H.S. sound speaker is not active
 
|-
 
|-
|rowspan="2"|[[#Outputs configuration values|<out_value>]]
+
|false
|R
+
|when H.S. sound speaker is active
|output <n> on the module with address <addr> is configured as described by [[#Outputs configuration values|<out_value>]], updated only after a read request
 
 
|-
 
|-
|W
 
|write [[#Outputs configuration values|<out_value>]] to output <n> on the module with address <addr>
 
  
 +
|rowspan="2"|error.com.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when there is a communication fault
 
|-
 
|-
 
+
|false
|rowspan="3"|cs507.<addr>.prog<n>
+
|when there is not a communication fault
|read
 
|W
 
|request the reading of the configuration of time-program <n> on the module with address <addr>
 
|-
 
|rowspan="2"|[[#Time-programs configuration values|<prog_value>]]
 
|R
 
|the time-program <n> on the module with address <addr> is configured as described by [[#Time-programs configuration values|<prog_value>]], updated only after a read request
 
 
|-
 
|-
|W
 
|write [[#Time-programs configuration values|<prog_value>]] to the time-program <n> on the module with address <addr>
 
  
 +
|rowspan="2"|error.com.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when there is not a communication fault
 
|-
 
|-
 
+
|false
|rowspan="3" style="white-space:nowrap"|cs507.<addr>.holidays.<n>
+
|when there is a communication fault
|read
 
|W
 
|request the reading of the days set as holidays for month <n> (1 = January, 12 = December) on the module with address <addr>
 
|-
 
|rowspan="2"|[[#Holidays configuration values|<holidays_value>]]
 
|R
 
|the holidays for month <n> on the module with address <addr> are set to [[#Holidays configuration values|<holidays_value>]], updated only after a read request
 
 
|-
 
|-
|W
 
|set [[#Holidays configuration values|<holidays_value>]] as holidays for month <n> on the module with address <addr>
 
  
 +
|rowspan="2"|error.battery.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when there is a battery fault
 
|-
 
|-
 
+
|false
|rowspan="3"|cs507.<addr>.user<n>
+
|when there is not a battery fault
|read
 
|W
 
|request the reading of the configuration of user <n> on the module with address <addr>
 
 
|-
 
|-
|rowspan="2"|[[#Users configuration values|<user_value>]]
 
|R
 
|user <n> on the module with address <addr> is configured as described by [[#Users configuration values|<user_value>]], updated only after a read request
 
|-
 
|W
 
|write [[#Users configuration values|<user_value>]] to user <n> on the module with address <addr>
 
|}
 
 
===== Outputs configuration values =====
 
The output configuration value <out_value> has the following format:
 
 
<pre>
 
<ev>,<par>,<d>,<f1>,<f2>,<f3>,<f4>,<f5>,<f6>,<f7>,<f8>,<a1>,<a2>,<a3>,<a4>,<a5>,<a6>,<a7>,<a8>,<p1>,<p2>,<p3>,<p4>,<p5>,<p6>,<p7>,<p8>,<X10_addr>
 
</pre>
 
 
it is a comma-separated list of the following parameters:
 
*ev = number of the event associated to this output
 
*par = value of the parameter associated to the specified event (e.g. user or zone number)
 
*d = duration of the event
 
*f1 ... f8 = '1' if the flag is set, '0' otherwise. f1 sets the “Timing in minutes” flag; f2 corresponds to “Memorized”; f3 to “Interrupt with code”; f4 to “Outside time slot”; f5 to “Inside time slot”; f6 to “Inverted”; f7 to “Save in events memory”; f8 to “Disable new auto-arm”
 
*a1 .. a8 = '1' if the area flag is set, '0' otherwise. a1 corresponds to area 1 and so on
 
*p1 .. p8 = '1' if the time-program flag is set, '0' otherwise. p1 corresponds to program 1 and so on
 
*X10_addr = X10 address associated with the output (e.g. "A3")
 
 
===== Time-programs configuration values =====
 
The time-program configuration value <prog_value> has the following format:
 
 
<pre>
 
<start>,<end>,<sun>,<mon>,<tue>,<wed>,<thu>,<fri>,<sat>,<holidays>
 
</pre>
 
 
it is a comma-separated list of the following parameters:
 
*start = starting time of the program. It must be formatted as HH:MM (e.g. 14:30)
 
*end = ending time of the program. It must be formatted as HH:MM (e.g. 14:30)
 
*sun ... sat = '1' if the program is active on the corresponding day, '0' otherwise
 
*holidays = '1' if this program is disabled during the configured holidays, '0' otherwise
 
 
===== Holidays configuration values =====
 
The holidays configuration value <holidays_value> has the following format:
 
 
<pre>
 
<d1>,<d2>,<d3>,<d4>,<d5>,<d6>,<d7>,<d8>
 
</pre>
 
 
it is a comma-separated list of the 8 days set as holidays for the specified month. If less than 8 days are set, then the remaining days are set to 0.
 
 
===== Users configuration values =====
 
The user configuration value <user_value> has the following format:
 
 
<pre>
 
<o1>,<o2>,<o3>,<o4>,<o5>,<o6>,<o7>,<o8>
 
</pre>
 
 
where <o1> ... <o8> are set to '1' if the corresponding output is enabled for the user, '0' otherwise.
 
 
== User Interface ==
 
 
=== CSx75 Object ===
 
 
{{:CSx75_(UI Object)}}
 
 
=== UISET Actions ===
 
 
{| class="wikitable"
 
!ID
 
!Attribute
 
!colspan="2"|Set to
 
  
 +
|rowspan="2"|error.battery.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when there is not a battery fault
 
|-
 
|-
 
+
|false
|log
+
|when there is a battery fault
|value
 
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)
 
 
 
 
|-
 
|-
  
|log0
+
|rowspan="2"|error.sector.label.1
|value
+
|rowspan="2"|visible
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period
+
|true
 
+
|when there is a sector error
 
|-
 
|-
 
+
|false
|z<n>.name
+
|when there is not a sector error
|value
 
|colspan="2"|name assigned to zone <n> (base or double) or its number if no name is defined
 
 
 
 
|-
 
|-
  
|p<n>.last.user
+
|rowspan="2"|error.sector.label.0
|value
+
|rowspan="2"|visible
|colspan="2"|ID of the last user who logged in on partition <n>
+
|true
 
+
|when there is not a sector error
 
|-
 
|-
 
+
|false
|user<n>.name
+
|when there is a sector error
|value
 
|colspan="2"|name assigned to user <n>
 
 
 
 
|-
 
|-
  
|rowspan="2"|connection.label
+
|rowspan="2"|z<n>.alarm.label.1
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when datapoint connection = offline
+
|when the zone <n> is in alarm
 
|-
 
|-
 
|false
 
|false
|when datapoint connection = online
+
|when the zone <n> is not in alarm
 
 
 
|-
 
|-
  
|rowspan="2"|p<n>.armed.0.label
+
|rowspan="2"|z<n>.alarm.label.0
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when partition <n> is disarmed
+
|when the zone <n> is not in alarm
 
|-
 
|-
 
|false
 
|false
|when partition <n> is armed
+
|when the zone <n> is in alarm
 
 
 
|-
 
|-
  
|rowspan="2"|p<n>.armed.away.label
+
|rowspan="2"|z<n>.oos.label.1
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when partition <n> is armed in "away" mode
+
|when the zone <n> is out of service
 
|-
 
|-
 
|false
 
|false
|when partition <n> is not armed in "away" mode
+
|when the zone <n> is not out of service
 
 
 
|-
 
|-
  
|rowspan="2"|p<n>.armed.stay.label
+
|rowspan="2"|z<n>.oos.label.0
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when partition <n> is armed in "stay" mode
+
|when the zone <n> is not out of service
 
|-
 
|-
 
|false
 
|false
|when partition <n> is not armed in "stay" mode
+
|when the zone <n> is out of service
 
 
 
|-
 
|-
  
|rowspan="2"|<datapoint_id>.1.label
+
|rowspan="2"|z<n>.fault.label.1
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when datapoint with ID <datapoint_id> has value '1'
+
|when the zone <n> is in fault
 
|-
 
|-
 
|false
 
|false
|when datapoint with ID <datapoint_id> has value '0'
+
|when the zone <n> is not in fault
 
 
 
|-
 
|-
  
|rowspan="2"|<datapoint_id>.0.label
+
|rowspan="2"|z<n>.fault.label.0
 
|rowspan="2"|visible
 
|rowspan="2"|visible
 
|true
 
|true
|when datapoint with ID <datapoint_id> has value '0'
+
|when the zone <n> is not in fault
 
|-
 
|-
 
|false
 
|false
|when datapoint with ID <datapoint_id> has value '1'
+
|when the zone <n> is in fault
|}
 
 
 
=== USER Commands ===
 
 
 
{| class="wikitable"
 
!Name
 
!Param
 
!Action
 
 
 
 
|-
 
|-
  
|rowspan="4" |armed<sup>[[#note|[Note]]]</sup>
+
|rowspan="2"|z<n>.test.label.1
|0
+
|rowspan="2"|visible
|disarm all partitions
+
|true
 +
|when the zone <n> is in test
 
|-
 
|-
|stay
+
|false
|arm all partitions in "stay" mode
+
|when the zone <n> is not in test
|-
 
|away
 
|arm all partitions in "away" mode
 
 
|-
 
|-
|auto
 
|initiate auto-arm on all partitions
 
  
 +
|rowspan="2"|z<n>.test.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when the zone <n> is not in test
 
|-
 
|-
 
+
|false
|rowspan="4" |p<n>.armed<sup>[[#note|[Note]]]</sup>
+
|when the zone <n> is in test
|0
 
|disarm partition <n>
 
|-
 
|stay
 
|arm partition <n> in "stay" mode
 
|-
 
|away
 
|arm partition <n> in "away" mode
 
|-
 
|auto
 
|initiate auto-arm on partition <n>
 
 
 
|-
 
 
 
|p<n>.cancel<sup>[[#note|[Note]]]</sup>
 
|1
 
|issue cancel command on partition <n>
 
 
 
|-
 
 
 
|p<n>.buzzer
 
|1
 
|start buzzer on partition <n>
 
 
 
|-
 
 
 
|p<n>.exit.silent
 
|1
 
|enable silent exit for this arm cycle on partition <n>
 
 
 
|-
 
 
 
|Z<n>.bypassed
 
|toggle
 
|toggle the bypass status of zone <n>
 
 
 
|-
 
 
 
|p<n>.chime.mode
 
|toggle
 
|toggle chime mode on partition <n>
 
 
 
|-
 
 
 
|rowspan="2" |walk.test<sup>[[#note|[Note]]]</sup>
 
|0
 
|stop walk-test mode
 
|-
 
|1
 
|start walk-test mode
 
 
 
|-
 
 
 
|aux1<br />p<n>.aux1
 
|1
 
|activate auxiliary function 1
 
 
 
|-
 
 
 
|aux2<br />p<n>.aux2
 
|1
 
|activate auxiliary function 2
 
 
 
|-
 
 
 
|rowspan="3" |panic<br />p<n>.panic
 
|fire
 
|issue the fire panic command
 
|-
 
|medical
 
|issue the medical panic command
 
|-
 
|police
 
|issue the police panic command
 
 
 
 
 
|-
 
 
 
|smoke<br />p<n>.smoke
 
|reset
 
|smoke detector reset
 
 
 
|-
 
 
 
|test<br />p<n>.test
 
|1
 
|perform test
 
 
 
 
|-
 
|-
  
|command
 
|restart
 
|restarts the driver
 
 
|}
 
|}
  
<span id="note">
+
== Release Notes ==
;Note: To perform this operation it is necessary to enter the user code first. To enter the user code through the user interface use [[User|user buttons]] to create a virtual keypad and assign them name and param values according to this table:
 
</span>
 
  
{| class="wikitable"
+
=== 3.8.0 ===
!Name
+
*pre-alarm and tech alarm support
!Param
+
*perfomance improvements
!Action
 
|-
 
|rowspan="2"|digit
 
|{0 ... 9}
 
|append the specified digit to the entered user code
 
|-
 
|c
 
|delete the last entered digit
 
|}
 
  
To visualize the number of entered digits use 4 or 6 [[Text|text objects]] (depending on the number of digits used for user codes) and set their IDs to:
+
=== 3.3.0 ===
 +
*initial release
  
{| class="wikitable"
+
----
!ID
 
!Description
 
|-
 
|pin.<n><br />(0 &le; <n> &le; 5)
 
|shows the character '*' when the corresponding digit has been entered, shows '_' otherwise
 
  
|}
 
  
The entered code will be cleared after a short period of inactivity.
+
''SD3 and HEPHAIS are registered trademarks owned by SD3.''

Latest revision as of 14:06, 9 September 2022

The SD3 HEPHAIS 1600 / DEF is a multi-zones fire panel. The integration with HSYCO can be accomplished via a standard Modbus RTU slave interface. This I/O Server requires HEPHAIS 1600 with protocol modbus JBUS V0.13.

IO Servers Hephais Panel.png

Modbus Connections

The HEPHAIS 1600 has a Modbus interface.

  • Modbus address: 1 (can be set to 1 - 247)
  • RS-422 parameters:
Baud rate 9600
Data bits 8
Stop bit 1
Parity none
Flow control none

Refer to the HEPHAIS 1600 manuals for installation, wiring and power supply requirements.

The modbus wires terminal is the “Block 11”. Modbus type is RS-422/JBUS (IN+/OUT+, IN-/OUT-, GND).

The Modbus-TCP/IP gateway used for the connection must support RS-422/JBUS.

IO Servers Hephais Connections.png

HSYCO Configuration

You can define and connect more than one HEPHAIS panel on the same Modbus bus gateway or through different gateways.

Add an Hephais I/O Server in the I/O Servers section of the Settings and set its parameters:

Communication

  • Comm ID: select a MODBUSTCP I/O server if using a Modbus gateway, or the serial port id when using a direct RS-485 port with HSYCO acting as Modbus RTU master.

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
address 1 1...247 the panel's Modbus address
pollinterval 3 n > 0 the data acquisition interval, in seconds
maxpoint m4.l2.200 point id id of the highest point used on the panel. The number after ‘m’ represents the number of the module, the number after ‘l’ represents the loop number of the module and the last number is the address of the point within the loop. Acceptable values range from “m1.l1.1” to “m9.l2.200”
hysteresis 0 <n> if different than zero, the datapoints’ values are checked <n> times before being set. Setting this option to a value different from zero will decrease the responsiveness of the driver

hephais.ini

The hephais.ini file is a specific configuration file located in the root directory. Here you can define the names of the users so that they will be automatically added to the user interface. Add a new line for each user using this format:

<io_server_id>.m<m>.l<l>.<addr>.name = <name>

Add a new line to specify the zone the point belongs using this format: <io_server_id>.m<m>.l<l>.<addr>.zone = <name>

Add a new line to define the name of a zone using this format: <io_server_id>.z<n>.name = <name>

For instance:

fire.m1.l1.1.name = Entrance
fire.m1.l1.1.zone = 1
fire.m1.l1.2.name = Corridor
fire.m1.l1.2.zone = 2

fire.z1.name = Zone 1
fire.z2.name = Zone 2

Datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the panel
alarm 1 R fire panel in alarm
0 R no alarm
fault 1 R fire panel fault
0 R no fault
oos 1 R at least one point out of service
0 R no point out of service
test 1 R at least one zone in test mode
0 R no zone in test mode
error.sys 1 R system fault
0 R no system fault
prealarm 1 R fire panel in pre-alarm
0 R no pre-alarm
alarm.tec 1 R fire panel in technical alarm
0 R no technical alarm
sound 1 R H.S. speaker active
0 R H.S. speaker not active
error.com 1 R fire panel communication error
0 R no fire panel communication error
error.battery 1 R fire panel battery error
0 R no fire panel battery error
error.sector 1 R fire panel sector fault
0 R no fire panel sector fault
z<n>.name <text> R name assigned to zone <n>
z<n>.alarm 1 R fire panel in alarm
0 R no alarm
z<n>.oos 1 R fire panel in alarm
0 R no alarm
z<n>.fault 1 R fire panel in alarm
0 R no alarm
z<n>.test 1 R fire panel in alarm
0 R no alarm
m<m>.l<l>.<n>.name <text> R name assigned to point P of module <m> in loop <l>
m<m>.l<l>.<n>.oos 1 R point <n> of module <m> in loop <l> out of service
0 R point <n> of module <m> in loop <l> not out of service
m<m>.l<l>.<n>.alarm 1 R point <n> of module <m> in loop <l> in alarm
0 R point <n> of module <m> in loop <l> not in alarm
m<m>.l<l>.<n>.fault 1 R point <n> of module <m> in loop <l> out of fault
0 R point <n> of module <m> in loop <l> out not in fault
m<m>.l<l>.<n>.alarm.test 1 R point <n> of module <m> in loop <l> alarm test
0 R point <n> of module <m> in loop <l> not in alarm test
m<m>.l<l>.<n>.prealarm 1 R point <n> of module <m> in loop <l> prealarm
0 R point <n> of module <m> in loop <l> not in prealarm
m<m>.l<l>.<n>.techalarm 1 R point <n> of module <m> in loop <l> techalarm
0 R point <n> of module <m> in loop <l> not in techalarm

User Interface

Hephais Object

The user interface for the Hephais I/O Server:

Hephais UI Object.png

The (hephais) object is listed in the Project Editor’s new object list only when at least one Hephais I/O Server is defined

Parameters

  • server id: the server ID. Supports Redirect variables
  • position: the object's position. Use the pixels or rows and columns coordinates format

Syntax

(hephais <server id>; <position>)

E.g.

(hephais heph; r1c1)

UISET Actions

ID Attribute Set to
connection.label.online visible true when datapoint connection = online
false when datapoint connection = offline
connection.label.offline visible true when datapoint connection = offline
false when datapoint connection = online
alarm.label.1 visible true when the fire panel is in alarm
false when the fire panel is not in alarm
alarm.label.0 visible true when the fire panel is not in alarm
false when the fire panel is in alarm
fault.label.1 visible true when the fire panel is in fault
false when the fire panel is not in fault
fault.label.0 visible true when the fire panel is not in fault
false when the fire panel is in fault
oos.label.1 visible true when at least one point is out of service
false when no one of the points is out of service
oos.label.0 visible true when no one of the points is out of service
false when at least one point is out of service
test.label.1 visible true when at least one zone is in test mode
false when there aren't zones in test mode
test.label.0 visible true when there aren't zones in test mode
false when at least one zone is in test mode
error.sys.label.1 visible true when there is a system fault
false when there is not a system fault
error.sys.label.0 visible true when there is not a system fault
false when there is a system fault
prealarm.label.1 visible true when the fire panel is in pre-alarm
false when the fire panel is not in pre-alarm
prealarm.label.0 visible true when the fire panel is not in pre-alarm
false when the fire panel is in pre-alarm
alarm.tec.label.1 visible true when the fire panel is in technical alarm
false when the fire panel is not in technical alarm
alarm.tec.label.0 visible true when the fire panel is not in technical alarm
false when the fire panel is in technical alarm
sound.label.1 visible true when H.S. sound speaker is active
false when H.S. sound speaker is not active
sound.label.0 visible true when H.S. sound speaker is not active
false when H.S. sound speaker is active
error.com.label.1 visible true when there is a communication fault
false when there is not a communication fault
error.com.label.0 visible true when there is not a communication fault
false when there is a communication fault
error.battery.label.1 visible true when there is a battery fault
false when there is not a battery fault
error.battery.label.0 visible true when there is not a battery fault
false when there is a battery fault
error.sector.label.1 visible true when there is a sector error
false when there is not a sector error
error.sector.label.0 visible true when there is not a sector error
false when there is a sector error
z<n>.alarm.label.1 visible true when the zone <n> is in alarm
false when the zone <n> is not in alarm
z<n>.alarm.label.0 visible true when the zone <n> is not in alarm
false when the zone <n> is in alarm
z<n>.oos.label.1 visible true when the zone <n> is out of service
false when the zone <n> is not out of service
z<n>.oos.label.0 visible true when the zone <n> is not out of service
false when the zone <n> is out of service
z<n>.fault.label.1 visible true when the zone <n> is in fault
false when the zone <n> is not in fault
z<n>.fault.label.0 visible true when the zone <n> is not in fault
false when the zone <n> is in fault
z<n>.test.label.1 visible true when the zone <n> is in test
false when the zone <n> is not in test
z<n>.test.label.0 visible true when the zone <n> is not in test
false when the zone <n> is in test

Release Notes

3.8.0

  • pre-alarm and tech alarm support
  • perfomance improvements

3.3.0

  • initial release


SD3 and HEPHAIS are registered trademarks owned by SD3.