Skip to main content
Version: 4.2 (beta)

Hephais

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.

Hephais panel

Modbus Connections​

The HEPHAIS 1600 has a Modbus interface.

  • Modbus address: 1 (can be set to 1 - 247)

  • RS-422 parameters:

Baud rate9600
Data bits8
Stop bit1
Paritynone
Flow controlnone

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.

Hephais panel

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: the id of the serial port, when HSYCO is wired directly to the RS-422 bus and acts as Modbus RTU master.
  • IP Address and IP Port: the address of the Modbus/TCP gateway, when the panel is reached through a gateway. Leave the port blank to use the default port 502.

Set either the Comm ID or the IP address. When both are set, the Comm ID takes precedence.

High Availability​

  • Shutdown when inactive: defaults to false.

Options​

IDDefaultValuesDescription
guitruetrueenable support for the UI object, UISET actions and USER commands
falsedisable UI support
startupeventsfalsetruegenerate IO events also during the driver’s start-up phase
falsestart generating events only after HSYCO is aligned with the current status of the system
address11...247the panel's Modbus address
pollinterval3n > 0the data acquisition interval, in seconds
maxpointm4.l2.200point idid 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 m0.l1.1 to m9.l2.200
hysteresis0<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

config.ini​

The config.ini file is a specific configuration file located in the config/drivers/hephais/<io_server_id> directory, where <io_server_id> is the I/O Server id in lower case.

If the file does not exist when the I/O Server starts, the driver runs a discovery phase, reading the name and the zone of every point from the panel and writing the result to config.ini itself. Discovery reads one point at a time and can take several minutes on a large panel; the I/O Server only goes online when it completes. On the following start-ups the file is loaded and no discovery is performed, so you can edit it freely: delete it to force a new discovery.

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:

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

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

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

For instance, in config/drivers/hephais/fire/config.ini:

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

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

Datapoints​

IDValueR/WDescription
connectiononlineRconnection established
offlineRHSYCO can't connect to the panel
alarm1Rfire panel in alarm
0Rno alarm
fault1Rfire panel fault
0Rno fault
oos1Rat least one point out of service
0Rno point out of service
test1Rat least one zone in test mode
0Rno zone in test mode
error.sys1Rsystem fault
0Rno system fault
prealarm1Rfire panel in pre-alarm
0Rno pre-alarm
techalarm1Rfire panel in technical alarm
0Rno technical alarm
sound1RH.S. speaker active
0RH.S. speaker not active
error.com1Rfire panel communication error
0Rno fire panel communication error
error.battery1Rfire panel battery error
0Rno fire panel battery error
error.sector1Rfire panel sector fault
0Rno fire panel sector fault
z<n>.name<text>Rname assigned to zone <n>
z<n>.alarm1Rzone <n> in alarm
0Rzone <n> not in alarm
z<n>.oos1Rzone <n> out of service
0Rzone <n> not out of service
z<n>.fault1Rzone <n> in fault
0Rzone <n> not in fault
z<n>.test1Rzone <n> in test mode
0Rzone <n> not in test mode
m<m>.l<l>.<n>.name<text>Rname assigned to point P of module <m> in loop <l>
m<m>.l<l>.<n>.oos1Rpoint <n> of module <m> in loop <l> out of service
0Rpoint <n> of module <m> in loop <l> not out of service
m<m>.l<l>.<n>.alarm1Rpoint <n> of module <m> in loop <l> in alarm
0Rpoint <n> of module <m> in loop <l> not in alarm
m<m>.l<l>.<n>.fault1Rpoint <n> of module <m> in loop <l> in fault
0Rpoint <n> of module <m> in loop <l> not in fault
m<m>.l<l>.<n>.alarm.test1Rpoint <n> of module <m> in loop <l> alarm test
0Rpoint <n> of module <m> in loop <l> not in alarm test
m<m>.l<l>.<n>.prealarm1Rpoint <n> of module <m> in loop <l> prealarm
0Rpoint <n> of module <m> in loop <l> not in prealarm
m<m>.l<l>.<n>.techalarm1Rpoint <n> of module <m> in loop <l> techalarm
0Rpoint <n> of module <m> in loop <l> not in techalarm

User Interface​

UISET Actions​

IDAttribute
connection.label.onlinevisibletruewhen datapoint connection = online
falsewhen datapoint connection = offline
connection.label.offlinevisibletruewhen datapoint connection = offline
falsewhen datapoint connection = online
alarm.label.1visibletruewhen the fire panel is in alarm
falsewhen the fire panel is not in alarm
alarm.label.0visibletruewhen the fire panel is not in alarm
falsewhen the fire panel is in alarm
fault.label.1visibletruewhen the fire panel is in fault
falsewhen the fire panel is not in fault
fault.label.0visibletruewhen the fire panel is not in fault
falsewhen the fire panel is in fault
oos.label.1visibletruewhen at least one point is out of service
falsewhen no one of the points is out of service
oos.label.0visibletruewhen no one of the points is out of service
falsewhen at least one point is out of service
test.label.1visibletruewhen at least one zone is in test mode
falsewhen there aren't zones in test mode
test.label.0visibletruewhen there aren't zones in test mode
falsewhen at least one zone is in test mode
error.sys.label.1visibletruewhen there is a system fault
falsewhen there is not a system fault
error.sys.label.0visibletruewhen there is not a system fault
falsewhen there is a system fault
prealarm.label.1visibletruewhen the fire panel is in pre-alarm
falsewhen the fire panel is not in pre-alarm
prealarm.label.0visibletruewhen the fire panel is not in pre-alarm
falsewhen the fire panel is in pre-alarm
alarm.tec.label.1visibletruewhen the fire panel is in technical alarm
falsewhen the fire panel is not in technical alarm
alarm.tec.label.0visibletruewhen the fire panel is not in technical alarm
falsewhen the fire panel is in technical alarm
sound.label.1visibletruewhen H.S. sound speaker is active
falsewhen H.S. sound speaker is not active
sound.label.0visibletruewhen H.S. sound speaker is not active
falsewhen H.S. sound speaker is active
error.com.label.1visibletruewhen there is a communication fault
falsewhen there is not a communication fault
error.com.label.0visibletruewhen there is not a communication fault
falsewhen there is a communication fault
error.battery.label.1visibletruewhen there is a battery fault
falsewhen there is not a battery fault
error.battery.label.0visibletruewhen there is not a battery fault
falsewhen there is a battery fault
error.sector.label.1visibletruewhen there is a sector error
falsewhen there is not a sector error
error.sector.label.0visibletruewhen there is not a sector error
falsewhen there is a sector error
z<n>.alarm.label.1visibletruewhen the zone <n> is in alarm
falsewhen the zone <n> is not in alarm
z<n>.alarm.label.0visibletruewhen the zone <n> is not in alarm
falsewhen the zone <n> is in alarm
z<n>.oos.label.1visibletruewhen the zone <n> is out of service
falsewhen the zone <n> is not out of service
z<n>.oos.label.0visibletruewhen the zone <n> is not out of service
falsewhen the zone <n> is out of service
z<n>.fault.label.1visibletruewhen the zone <n> is in fault
falsewhen the zone <n> is not in fault
z<n>.fault.label.0visibletruewhen the zone <n> is not in fault
falsewhen the zone <n> is in fault
z<n>.test.label.1visibletruewhen the zone <n> is in test
falsewhen the zone <n> is not in test
z<n>.test.label.0visibletruewhen the zone <n> is not in test
falsewhen the zone <n> is in test
z<n>.namevaluethe name assigned to zone <n>

The same .label.1 / .label.0 pair is also generated for every point, and the point's name is published as a value:

IDAttribute
m<m>.l<l>.<n>.namevaluethe name assigned to the point
m<m>.l<l>.<n>.oos.label.1visibletruewhen the point is out of service
falsewhen the point is not out of service
m<m>.l<l>.<n>.oos.label.0visibletruewhen the point is not out of service
falsewhen the point is out of service
m<m>.l<l>.<n>.alarm.label.1visibletruewhen the point is in alarm
falsewhen the point is not in alarm
m<m>.l<l>.<n>.alarm.label.0visibletruewhen the point is not in alarm
falsewhen the point is in alarm
m<m>.l<l>.<n>.fault.label.1visibletruewhen the point is in fault
falsewhen the point is not in fault
m<m>.l<l>.<n>.fault.label.0visibletruewhen the point is not in fault
falsewhen the point is in fault
m<m>.l<l>.<n>.alarm.test.label.1visibletruewhen the point is in alarm test
falsewhen the point is not in alarm test
m<m>.l<l>.<n>.alarm.test.label.0visibletruewhen the point is not in alarm test
falsewhen the point is in alarm test
m<m>.l<l>.<n>.prealarm.label.1visibletruewhen the point is in pre-alarm
falsewhen the point is not in pre-alarm
m<m>.l<l>.<n>.prealarm.label.0visibletruewhen the point is not in pre-alarm
falsewhen the point is in pre-alarm
m<m>.l<l>.<n>.techalarm.label.1visibletruewhen the point is in technical alarm
falsewhen the point is not in technical alarm
m<m>.l<l>.<n>.techalarm.label.0visibletruewhen the point is not in technical alarm
falsewhen the point is in technical alarm

USER Commands​

These commands drive the points and zones lists of the hephais UI object. They are handled per web session: a sort order other than num is remembered for 30 minutes, then the session is reset to the default sort.

NameParamAction
sort.pointsnum, alarm, oos, fault, testsort the points list by number, or by the most recent alarm / out of service / fault / test event
sort.zonesnum, alarm, oos, fault, testsort the zones list by number, or by the most recent alarm / out of service / fault / test event
zones.list<n>filter the points list, showing only the points that belong to zone <n>
points.list<n>clear the points list selection

Hephais UI Object​

The user interface for the Hephais I/O Server:

Hephais panel

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.
  • position: the object's position. Use the pixels or rows and columns coordinates format

Release Notes​

4.2.0​

  • a Modbus/TCP gateway is now reached by setting its IP address and port directly on the I/O Server. A MODBUSTCP I/O Server can no longer be selected as the Comm ID, which is now only used when HSYCO is wired to the RS-422 bus: existing I/O Servers configured that way have to be reconfigured with the gateway's address and port

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.