InimPrevidia
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.
Contents
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 |
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 | net is ok |
1 | R | net 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 |
0 | R | ifm16io module <n> is ok |
1 | R | ifm16io module <n> fault | |
global.fault.ifmlan | 0 | R | ifmlan is ok |
1 | R | ifmlan fault | |
global.fault.emergency.cpu | 0 | R | cpu is ok |
1 | R | cpu fault | |
global.fault.ifmnet | 0 | R | ifmnet is ok |
1 | R | ifmnet fault | |
global.fault.ifmdial | 0 | R | ifmdial is ok |
1 | R | ifmdial fault | |
global.fault.ifm2l.<n> n=1..8 |
0 | R | ifm2l module <n> is ok |
1 | R | ifm2l module <n> fault | |
global.fault.ifmext.<n> n=1..24 |
0 | R | ifmext module <n> is ok |
1 | R | ifmext module <n> fault | |
global.fault.ifm4io.<n> n=1..16 |
0 | R | ifm4io module <n> is ok |
1 | R | ifm4io module <n> fault | |
global.fault.power.supply.<n> n=1..4 |
0 | R | power supply <n> is ok |
1 | R | power supply <n> fault | |
global.fault.fpmled.<n> n=1..7 |
0 | R | fpmled module <n> is ok |
1 | R | fpmled module <n> fault | |
global.fault.ifmr4.<n> n=1..16 |
0 | R | ifmr4 module <n> is ok |
1 | R | ifmr4 module <n> fault | |
global.loop.fault.<n> n=1..16 |
0 | R | loop <n> is ok |
1 | R | loop <n> fault | |
global.loop.disabled.<n> n=1..16 |
0 | R | loop <n> is enabled |
1 | R | loop <n> disabled | |
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 <c> of module ifm4io <n> |
1 | W | turn on channel <c> 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 |
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' | ||
previdia.write.coil.register.<r> | 1 | W | write "true" on the generic coil register <r> |
Release Notes
3.8.0
- initial release
Inim Previdia are registered trademarks of Inim Electronics