Difference between revisions of "InimPrevidia"

From HSYCO
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 78: Line 78:
 
|style="white-space:nowrap"|n = 1..1000
 
|style="white-space:nowrap"|n = 1..1000
 
|the number of configured zones
 
|the number of configured zones
 +
|-
 +
 +
|rowspan="3"|model
 +
|rowspan="3"|ultra
 +
|ultra
 +
|Inim Previdia Ultra panel
 +
|-
 +
|max
 +
|Inim Previdia Max panel
 +
|-
 +
|compact
 +
|Inim Previdia Compact panel
 
|-
 
|-
 
|}
 
|}
Line 356: Line 368:
 
|0
 
|0
 
|R
 
|R
|net is ok
+
|220V voltage is ok
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|net fault
+
|220V fault
  
 
|-
 
|-
Line 385: Line 397:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifm16io.<n> <br /> n=1..4
+
|rowspan="2" |global.fault.ifm16io.<n> <br /> n=1..4 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 396: Line 408:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifmlan
+
|rowspan="2" |global.fault.ifmlan <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 407: Line 419:
 
|-
 
|-
  
|rowspan="2" |global.fault.emergency.cpu
+
|rowspan="2" |global.fault.emergency.cpu <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 418: Line 430:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifmnet
+
|rowspan="2" |global.fault.ifmnet <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 429: Line 441:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifmdial
+
|rowspan="2" |global.fault.ifmdial <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 440: Line 452:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifm2l.<n> <br /> n=1..8
+
|rowspan="2" |global.fault.ifm2l.<n> <br /> n=1..8 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 451: Line 463:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifmext.<n> <br /> n=1..24
+
|rowspan="2" |global.fault.ifmext.<n> <br /> n=1..24 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 462: Line 474:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifm4io.<n> <br /> n=1..16
+
|rowspan="2" |global.fault.ifm4io.<n> <br /> n=1..16 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 473: Line 485:
 
|-
 
|-
  
|rowspan="2" |global.fault.power.supply.<n> <br /> n=1..4
+
|rowspan="2" |global.fault.power.supply.<n> <br /> n=1..4 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 484: Line 496:
 
|-
 
|-
  
|rowspan="2" |global.fault.fpmled.<n> <br /> n=1..7
+
|rowspan="2" |global.fault.fpmled.<n> <br /> n=1..7 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 495: Line 507:
 
|-
 
|-
  
|rowspan="2" |global.fault.ifmr4.<n> <br /> n=1..16
+
|rowspan="2" |global.fault.ifmr4.<n> <br /> n=1..16 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 506: Line 518:
 
|-
 
|-
  
|rowspan="2" |global.loop.fault.<n> <br /> n=1..16
+
|rowspan="2" |global.loop.fault.<n> <br /> n=1..16 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 517: Line 529:
 
|-
 
|-
  
|rowspan="2" |global.loop.disabled.<n> <br /> n=1..16
+
|rowspan="2" |global.loop.disabled.<n> <br /> n=1..16 <br /> *ultra/max version only
 
|0
 
|0
 
|R
 
|R
Line 528: Line 540:
 
|-
 
|-
  
|rowspan="2" |z<n>.alarm <br /> n=1..1000
+
|rowspan="2" |global.loop.alarm.<n> <br /> n=1..16 <br />
 +
|0
 +
|R
 +
|loop <n> has at least one device in alarm
 +
|-
 +
|1
 +
|R
 +
|loop <n> no devices in alarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |global.loop.prealarm.<n> <br /> n=1..16 <br />
 +
|0
 +
|R
 +
|loop <n> has at least one device in prealarm
 +
|-
 +
|1
 +
|R
 +
|loop <n> no devices in prealarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |z<n>.alarm <br /> n=1..1000  
 
|0
 
|0
 
|R
 
|R
Line 726: Line 760:
 
|-
 
|-
  
|rowspan="4" |ifm4io.<n>.c<o> <br /> *ultra/max version only
+
|rowspan="2" |ifm4io.<n>.c<o> <br /> *ultra/max version only
|rowspan="2" |1
+
|0
 +
|W
 +
|turn off channel <o> of module ifm4io <n>
 +
|-
 +
|1
 +
|W
 +
|turn on channel <o> of module ifm4io <n>
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o> <br /> *ultra/max version only
 +
|enable
 +
|W
 +
|enable channel <o> of module ifm4io <n>
 +
|-
 +
|disable
 +
|W
 +
|disable channel <o> of module ifm4io <n>
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.alarm <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is not in alarm
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> alarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.prealarm <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is not in prealarm
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> prealarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.notice <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is not in notice
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> notice
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.fault <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is not in fault
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> fault
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.disabled <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is enabled
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> is disabled
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.out <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> out is not active
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> out is not active
 +
 
 +
|-
 +
 
 +
|rowspan="2" |ifm4io.<n>.c<o>.test <br /> *ultra/max version only
 +
|0
 +
|R
 +
|ifm4io <k> channel <o> is not in test mode
 +
|-
 +
|1
 +
|R
 +
|ifm4io <k> channel <o> is in test mode
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.alarm <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is not in alarm
 +
|-
 +
|1
 +
|R
 +
|io <n> alarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.prealarm <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is not in alarm
 +
|-
 +
|1
 +
|R
 +
|io <n> prealarm
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.notice <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is not in notice
 +
|-
 +
|1
 +
|R
 +
|io <n> notice
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.fault <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is not in fault
 +
|-
 +
|1
 +
|R
 +
|io <n> fault
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.disabled <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is enabled
 +
|-
 +
|1
 
|R
 
|R
|module ifm4io <n>, channel <c>, is active
+
|io <n> is disabled
 +
 
 
|-
 
|-
 +
 +
|rowspan="2" |io.<n>.out <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> out is not active
 +
|-
 +
|1
 +
|R
 +
|io <n> out is active
 +
 +
|-
 +
 +
|rowspan="2" |io.<n>.out <br /> *compact version only
 +
|0
 
|W
 
|W
|turn on channel <c> of module ifm4io <n>
+
|de-activate io <n>
 
|-
 
|-
|rowspan="2"|0
+
|1
 +
|W
 +
|activate io <n>
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n><br /> *compact version only
 +
|disable
 +
|W
 +
|disable io <n>
 +
|-
 +
|enable
 +
|W
 +
|enable io <n>
 +
 
 +
|-
 +
 
 +
|rowspan="2" |io.<n>.test <br /> *compact version only
 +
|0
 +
|R
 +
|io <n> is not in test
 +
|-
 +
|1
 
|R
 
|R
|module ifm4io <n>, channel <c>, is not active
+
|io <n> in test
 +
 
 
|-
 
|-
 +
 +
|rowspan="2"|write.coil.register.<r>
 +
|1
 
|W
 
|W
|turn off channel <c> of module ifm4if <n>
+
|write "true" on the generic coil register <r>
 
|-
 
|-
 +
|0
 +
|W
 +
|write "false" on the generic coil register <r>
  
 +
|-
  
 
|}
 
|}
Line 799: Line 1,025:
 
|false
 
|false
 
|when datapoint with ID <datapoint_id> has value '1'
 
|when datapoint with ID <datapoint_id> has value '1'
 +
 +
|-
  
 
|}
 
|}

Latest revision as of 10:27, 30 June 2023

INIM PREVIDIA are multi-zone 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: "INIM Guida all'integrazione con sistemi di supervisione"

This driver has been tested on INIM PREVIDIA Ultra, Max and Compact panels.

IO Server Inim Previdia.png

Communication

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

Communication

  • Address: IP address of the INIM PREVIDIA 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 INIM PREVIDIA panel
pollingtime 1000 n >= 1000, n <= 30000 the data polling interval, in milliseconds.
loopsnumber 16 n = 1..16 the number of configured loops
groupsnumber 240 n = 1..240 the number of configured groups
zonesnumber 1000 n = 1..1000 the number of configured zones
model ultra ultra Inim Previdia Ultra panel
max Inim Previdia Max panel
compact Inim Previdia Compact panel

Note INIM PREVIDIA Compact panel requires loopsnumber set to 2

inimprevidia.ini

The inimprevidia.ini file is a specific configuration file located in the root directory.

This file is required to provide the I/O Server the name assignment of zones and devices.

This is an example of the file content:

previdia.z1 = Zone 1
previdia.g2 = Group 2
previdia.l1.d1 = Device 1 Loop 1
previdia.l8.d4 = Device 8 Loop 4

Where "previdia" is the I/O Server id of the INIM PREVIDIA I/O Server

If you have multiples INIM PREVIDIA I/O Servers:

previdia1.z1 = Zone 1 Previdia 1
previdia2.z1 = Zone 2 Previdia 2
previdia1.l1.d1 = Device 1 Loop 1 Previdia 1
previdia2.l2.d1 = Device 1 Loop 1 Previdia 2

Datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the panel
reset 1 W force panel reset
buzzeroff 1 W force buzzer off
prealarmoff 1 W force pre alarm off
patrol 1 W start patrol mode
mute 0 W disable panel mute
1 W enable panel mute
l<k>.d<n> enable W device <n> of loop <k> is enabled
disable W device <n> of loop <k> is disabled
z<n> enable W zone <n> is enabled
disable W zone <n> is disabled
global.night.mode 0 R night mode is not active
1 R night mode is active
global.silence 0 R panel is not muted
1 R panel is muted
global.patrol 0 R patrol mode is not active
1 R patrol mode is active
global.buzzer.silence 0 R buzzer is active
1 R buzzer is not active
global.access.level <n> R panel access level 1..4
global.alarm 0 R no active alarms
1 R at least one active alarm
global.prealarm 0 R no active pre alarms
1 R at least one active pre alarm
global.notice 0 R no active notice
1 R at least one active notice
global.fault 0 R no faults
1 R at least one fault
global.disabled 0 R panel is enabled
1 R panel is disabled
global.fault.rs485.1 0 R no rs485 1 power supply fault
1 R rs485 1 power supply fault
global.fault.rs485.1 0 R no rs485 2 power supply fault
1 R rs485 2 power supply fault
global.fault.battery 0 R battery is ok
1 R battery fault
global.low.battery 0 R battery is ok
1 R low battery
global.fault.net 0 R 220V voltage is ok
1 R 220V fault
global.rt.net 0 R rt net is ok
1 R rt net problem
global.fault.ground 0 R ground is ok
1 R ground fault
global.fault.ifm16io.<n>
n=1..4
*ultra/max version only
0 R ifm16io module <n> is ok
1 R ifm16io module <n> fault
global.fault.ifmlan
*ultra/max version only
0 R ifmlan is ok
1 R ifmlan fault
global.fault.emergency.cpu
*ultra/max version only
0 R cpu is ok
1 R cpu fault
global.fault.ifmnet
*ultra/max version only
0 R ifmnet is ok
1 R ifmnet fault
global.fault.ifmdial
*ultra/max version only
0 R ifmdial is ok
1 R ifmdial fault
global.fault.ifm2l.<n>
n=1..8
*ultra/max version only
0 R ifm2l module <n> is ok
1 R ifm2l module <n> fault
global.fault.ifmext.<n>
n=1..24
*ultra/max version only
0 R ifmext module <n> is ok
1 R ifmext module <n> fault
global.fault.ifm4io.<n>
n=1..16
*ultra/max version only
0 R ifm4io module <n> is ok
1 R ifm4io module <n> fault
global.fault.power.supply.<n>
n=1..4
*ultra/max version only
0 R power supply <n> is ok
1 R power supply <n> fault
global.fault.fpmled.<n>
n=1..7
*ultra/max version only
0 R fpmled module <n> is ok
1 R fpmled module <n> fault
global.fault.ifmr4.<n>
n=1..16
*ultra/max version only
0 R ifmr4 module <n> is ok
1 R ifmr4 module <n> fault
global.loop.fault.<n>
n=1..16
*ultra/max version only
0 R loop <n> is ok
1 R loop <n> fault
global.loop.disabled.<n>
n=1..16
*ultra/max version only
0 R loop <n> is enabled
1 R loop <n> disabled
global.loop.alarm.<n>
n=1..16
0 R loop <n> has at least one device in alarm
1 R loop <n> no devices in alarm
global.loop.prealarm.<n>
n=1..16
0 R loop <n> has at least one device in prealarm
1 R loop <n> no devices in prealarm
z<n>.alarm
n=1..1000
0 R no alarm on zone <n>
1 R alarm on zone <n>
z<n>.prealarm
n=1..1000
0 R no prealarm on zone <n>
1 R prealarm on zone <n>
z<n>.notice
n=1..1000
0 R no notice on zone <n>
1 R notice on zone <n>
z<n>.fault
n=1..1000
0 R no fault on zone <n>
1 R fault on zone <n>
z<n>.disabled
n=1..1000
0 R zone <n> is enabled
1 R zone <n> is disabled
z<n>.test
n=1..1000
0 R zone <n> is not in test mode
1 R zone <n> is in test mode
z<n>.test
n=1..1000
0 R zone <n> smoke detection enable
1 R zone <n> smoke detection disabled
g<n>.alarm
n=1..240
0 R no alarm on group <n>
1 R alarm on group <n>
g<n>.prealarm
n=1..240
0 R no prealarm on group <n>
1 R prealarm on group <n>
g<n>.notice
n=1..240
0 R no notice on group <n>
1 R notice on group <n>
g<n>.disabled
n=1..240
0 R group <n> is enabled
1 R group <n> is disabled
l<n>.d<k>.alarm
n=1..16,k=1..240
0 R device <k> of loop <n> is not in alarm
1 R device <k> of loop <n> alarm
l<n>.d<k>.prealarm
n=1..16,k=1..240
0 R device <k> of loop <n> is not in prealarm
1 R device <k> of loop <n> prealarm
l<n>.d<k>.notice
n=1..16,k=1..240
0 R device <k> of loop <n> is not in notice
1 R device <k> of loop <n> notice
l<n>.d<k>.fault
n=1..16,k=1..240
0 R device <k> of loop <n> is not in fault
1 R device <k> of loop <n> fault
l<n>.d<k>.disabled
n=1..16,k=1..240
0 R device <k> of loop <n> is enabled
1 R device <k> of loop <n> is disabled
l<n>.d<k>.out
n=1..16,k=1..240
0 R device <k> of loop <n> out open
1 R device <k> of loop <n> out closed
l<n>.d<k>.test
n=1..16,k=1..240
0 R device <k> of loop <n> not in test
1 R device <k> of loop <n> is in test
ifm4io.<n>.c<o>
*ultra/max version only
0 W turn off channel <o> of module ifm4io <n>
1 W turn on channel <o> of module ifm4io <n>
ifm4io.<n>.c<o>
*ultra/max version only
enable W enable channel <o> of module ifm4io <n>
disable W disable channel <o> of module ifm4io <n>
ifm4io.<n>.c<o>.alarm
*ultra/max version only
0 R ifm4io <k> channel <o> is not in alarm
1 R ifm4io <k> channel <o> alarm
ifm4io.<n>.c<o>.prealarm
*ultra/max version only
0 R ifm4io <k> channel <o> is not in prealarm
1 R ifm4io <k> channel <o> prealarm
ifm4io.<n>.c<o>.notice
*ultra/max version only
0 R ifm4io <k> channel <o> is not in notice
1 R ifm4io <k> channel <o> notice
ifm4io.<n>.c<o>.fault
*ultra/max version only
0 R ifm4io <k> channel <o> is not in fault
1 R ifm4io <k> channel <o> fault
ifm4io.<n>.c<o>.disabled
*ultra/max version only
0 R ifm4io <k> channel <o> is enabled
1 R ifm4io <k> channel <o> is disabled
ifm4io.<n>.c<o>.out
*ultra/max version only
0 R ifm4io <k> channel <o> out is not active
1 R ifm4io <k> channel <o> out is not active
ifm4io.<n>.c<o>.test
*ultra/max version only
0 R ifm4io <k> channel <o> is not in test mode
1 R ifm4io <k> channel <o> is in test mode
io.<n>.alarm
*compact version only
0 R io <n> is not in alarm
1 R io <n> alarm
io.<n>.prealarm
*compact version only
0 R io <n> is not in alarm
1 R io <n> prealarm
io.<n>.notice
*compact version only
0 R io <n> is not in notice
1 R io <n> notice
io.<n>.fault
*compact version only
0 R io <n> is not in fault
1 R io <n> fault
io.<n>.disabled
*compact version only
0 R io <n> is enabled
1 R io <n> is disabled
io.<n>.out
*compact version only
0 R io <n> out is not active
1 R io <n> out is active
io.<n>.out
*compact version only
0 W de-activate io <n>
1 W activate io <n>
io.<n>
*compact version only
disable W disable io <n>
enable W enable io <n>
io.<n>.test
*compact version only
0 R io <n> is not in test
1 R io <n> in test
write.coil.register.<r> 1 W write "true" on the generic coil register <r>
0 W write "false" on the generic coil register <r>

UISET Actions

ID Attribute Set to
z<n>.name value name assigned to zone <n>
g<n>.name value name assigned to group <n>
l<k>.d<n>.name value name assigned to device <n> of loop <k>
connection.label visible true when datapoint connection = offline
false when datapoint connection = online
<datapoint_id>.1.label visible true when datapoint with ID <datapoint_id> has value '1'
false when datapoint with ID <datapoint_id> has value '0'
<datapoint_id>.0.label visible true when datapoint with ID <datapoint_id> has value '0'
false when datapoint with ID <datapoint_id> has value '1'

Release Notes

3.8.0

  • initial release


Inim Previdia are registered trademarks of Inim Electronics