Difference between revisions of "Siemens Vanderbilt Edp"
(29 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Siemens / Vanderbilt is a family of security panels compatible with the control protocol EDP. This driver has been developed following the EDP protocol specification rev 2.2, 2012-11-12 | + | Siemens / Vanderbilt is a family of security panels compatible with the control protocol EDP (Vanderbilt/Siemens series 4000, 5000 and 6000) with firmware >= 2.3. This driver has been developed following the EDP protocol specification rev 2.2, 2012-11-12 |
The integration with HSYCO can be accomplished with a TCP/IP network connection. | The integration with HSYCO can be accomplished with a TCP/IP network connection. | ||
Line 5: | Line 5: | ||
== Siemens / Vanderbilt Configuration == | == Siemens / Vanderbilt Configuration == | ||
− | Login in the panel web configuration page using a Engineer account. | + | Login in the panel web configuration page using a Full Engineer account. |
You should see something like this in the upper right corner of the web page: | You should see something like this in the upper right corner of the web page: | ||
Line 31: | Line 31: | ||
[[File:vanderbilt05.png|700px]] | [[File:vanderbilt05.png|700px]] | ||
+ | |||
+ | At the end of the configuration process switch from Engineer user to Soft Engineer mode. | ||
+ | |||
+ | [[File:vanderbilt06.png|250px]] | ||
== HSYCO Configuration == | == HSYCO Configuration == | ||
− | Add a | + | Add a SIEMENSEDP I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters: |
=== Communication === | === Communication === | ||
Line 96: | Line 100: | ||
|8000 | |8000 | ||
|number | |number | ||
− | |the event receiver polling time in ms | + | |the event receiver polling time in ms. It must be equal to the value set on the Siemens Vanderbilt device as "Polling interval" parameter. |
|- | |- | ||
Line 102: | Line 106: | ||
|2000 | |2000 | ||
|number | |number | ||
− | |the command receiver polling time in ms | + | |the command receiver polling time in ms. It must be equal to the value set on the Siemens Vanderbilt device as "Polling interval" parameter. |
|- | |- | ||
Line 132: | Line 136: | ||
|- | |- | ||
− | |rowspan=" | + | |rowspan="2"|areas.armed |
− | | | + | |1 |
+ | |R | ||
+ | |at least one area has mode equal to fullset, part_A or part_B | ||
+ | |- | ||
+ | |0 | ||
|R | |R | ||
− | | | + | |no area has mode equal to fullset, part_a or part_b |
|- | |- | ||
Line 173: | Line 181: | ||
|part_b | |part_b | ||
|R | |R | ||
− | |area <n>, partition | + | |area <n>, partition b is armed |
|- | |- | ||
|fullset | |fullset | ||
|R | |R | ||
− | |area <n>, | + | |area <n>, area is full armed |
|- | |- | ||
Line 183: | Line 191: | ||
|<text> | |<text> | ||
|R | |R | ||
− | |name assigned to | + | |name assigned to area <n> |
+ | |- | ||
+ | |||
+ | |rowspan="2"|zones.inhibited | ||
+ | |1 | ||
+ | |R | ||
+ | |at least one zone is inhibited | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |no zone is inhibited | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|zones.isolated | ||
+ | |1 | ||
+ | |R | ||
+ | |at least one zone is isolated | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |no zone is isolated | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|zones.alarmed | ||
+ | |1 | ||
+ | |R | ||
+ | |at least one zone is alarmed | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |no zone is alarmed | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|zones.shorted | ||
+ | |1 | ||
+ | |R | ||
+ | |at least one zone is shorted | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |no zone is shorted | ||
+ | |- | ||
+ | |||
+ | |rowspan="2"|zones.offline | ||
+ | |1 | ||
+ | |R | ||
+ | |at least one zone is offline | ||
+ | |- | ||
+ | |0 | ||
+ | |R | ||
+ | |no zone is offline | ||
|- | |- | ||
− | |rowspan=" | + | |rowspan="2"|zone.<n>.mode.cmd.isolate |
|1 | |1 | ||
|W | |W | ||
|isolate zone <n> | |isolate zone <n> | ||
+ | |- | ||
+ | |0 | ||
+ | |W | ||
+ | |de-isolate zone <n> | ||
|- | |- | ||
− | |rowspan=" | + | |rowspan="2"|zone.<n>.mode.cmd.inhibit |
|1 | |1 | ||
|W | |W | ||
|inhibit zone <n> | |inhibit zone <n> | ||
+ | |- | ||
+ | |0 | ||
+ | |W | ||
+ | |disinhibit zone <n> | ||
|- | |- | ||
Line 201: | Line 267: | ||
|<text> | |<text> | ||
|R | |R | ||
− | |name assigned to | + | |name assigned to zone <n> |
|- | |- | ||
Line 303: | Line 369: | ||
|zone <n> is ALARMED | |zone <n> is ALARMED | ||
|- | |- | ||
− | | | + | |masked |
|R | |R | ||
|zone <n> is MASKED | |zone <n> is MASKED | ||
Line 339: | Line 405: | ||
|value | |value | ||
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period | |colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period | ||
+ | |- | ||
+ | |rowspan="2"|areas.armed | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when at least one datapoint area<n>.mode is equal to fullset or part_a or part_b | ||
+ | |- | ||
+ | |false | ||
+ | |when no datapoint area<n>.mode is equal to fullset or part_a or part_b | ||
|- | |- | ||
|area.<n>.name | |area.<n>.name | ||
|value | |value | ||
− | |colspan="2"|name assigned to area <n> | + | |colspan="2"|name assigned to area<n> |
|- | |- | ||
|area.<n>.mode | |area.<n>.mode | ||
|value | |value | ||
− | |colspan="2"|area | + | |colspan="2"|area<n> mode value |
|- | |- | ||
|rowspan="2"|area<n>.mode.fullset | |rowspan="2"|area<n>.mode.fullset | ||
Line 356: | Line 430: | ||
|when datapoint area<n>.mode != fullset | |when datapoint area<n>.mode != fullset | ||
|- | |- | ||
− | | | + | |rowspan="2"|area<n>.mode.unset |
− | |value | + | |rowspan="2"|visible |
− | | | + | |true |
+ | |when datapoint area<n>.mode = unset | ||
+ | |- | ||
+ | |false | ||
+ | |when datapoint area<n>.mode != unset | ||
+ | |- | ||
+ | |rowspan="2"|area<n>.mode.part.set.a | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when datapoint area<n>.mode = part_a | ||
+ | |- | ||
+ | |false | ||
+ | |when datapoint area<n>.mode != part_a | ||
+ | |- | ||
+ | |rowspan="2"|area<n>.mode.part.set.b | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when datapoint area<n>.mode = part_b | ||
+ | |- | ||
+ | |false | ||
+ | |when datapoint area<n>.mode != part_b | ||
+ | |- | ||
+ | |rowspan="2"|output<n>.1 | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when output<n> has value '1' | ||
+ | |- | ||
+ | |false | ||
+ | |when output<n> has value '0' | ||
+ | |- | ||
+ | |rowspan="2"|output.<n>.0 | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when output<n> has value '0' | ||
+ | |- | ||
+ | |false | ||
+ | |when output<n> has value '1' | ||
+ | |- | ||
+ | |rowspan="2"|zones.inhibited | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when at least one datapoint zone<n>.state is equal to inhibit | ||
+ | |- | ||
+ | |false | ||
+ | |when no datapoint zone<n>.state is equal to inhibit | ||
+ | |- | ||
+ | |rowspan="2"|zones.isolated | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when at least one datapoint zone<n>.state is equal to isolate | ||
+ | |- | ||
+ | |false | ||
+ | |when no datapoint zone<n>.state is equal to isolate | ||
+ | |- | ||
+ | |rowspan="2"|zones.shorted | ||
+ | |rowspan="2"|visible | ||
+ | |true | ||
+ | |when at least one datapoint zone<n>.state is equal to short | ||
|- | |- | ||
− | | | + | |false |
− | + | |when no datapoint zone<n>.state is equal to short | |
− | |||
|- | |- | ||
− | | | + | |rowspan="2"|zones.offline |
− | | | + | |rowspan="2"|visible |
− | + | |true | |
+ | |when at least one datapoint zone<n>.state is equal to offline | ||
|- | |- | ||
− | | | + | |false |
− | + | |when no datapoint zone<n>.state is equal to offline | |
− | |||
|- | |- | ||
− | | | + | |rowspan="2"|zones.alarmed |
− | | | + | |rowspan="2"|visible |
− | + | |true | |
+ | |when at least one datapoint zone<n>.state is equal to alarm | ||
|- | |- | ||
− | | | + | |false |
− | + | |when no datapoint zone<n>.state is equal to alarm | |
− | |||
|- | |- | ||
− | | | + | |zone.<n>.name |
|value | |value | ||
− | |colspan="2"|name assigned to | + | |colspan="2"|name assigned to zone<n> |
|- | |- | ||
− | | | + | |zone.<n>.type |
|value | |value | ||
− | |colspan="2"| | + | |colspan="2"|zone<n> type value |
|- | |- | ||
− | | | + | |zone.<n>.state |
|value | |value | ||
− | |colspan="2"| | + | |colspan="2"|zone<n> state value |
|- | |- | ||
− | |rowspan="2"| | + | |rowspan="2"|zone<n>.state.inhibit |
|rowspan="2"|visible | |rowspan="2"|visible | ||
|true | |true | ||
− | |when datapoint | + | |when datapoint zone<n>.state = inhibit |
|- | |- | ||
|false | |false | ||
− | |when datapoint | + | |when datapoint zone<n>.state != inhibit |
|- | |- | ||
− | |rowspan="2"| | + | |rowspan="2"|zone<n>.state.isolate |
|rowspan="2"|visible | |rowspan="2"|visible | ||
|true | |true | ||
− | |when datapoint | + | |when datapoint zone<n>.state = isolate |
|- | |- | ||
|false | |false | ||
− | |when datapoint | + | |when datapoint zone<n>.state != isolate |
|- | |- | ||
− | |rowspan="2"|< | + | |rowspan="2"|zone<n>.state.open |
|rowspan="2"|visible | |rowspan="2"|visible | ||
|true | |true | ||
− | |when datapoint | + | |when datapoint zone<n>.state = open |
|- | |- | ||
|false | |false | ||
− | |when datapoint | + | |when datapoint zone<n>.state != open |
|- | |- | ||
− | |rowspan="2"|< | + | |rowspan="2"|zone<n>.state.closed |
|rowspan="2"|visible | |rowspan="2"|visible | ||
|true | |true | ||
− | |when datapoint | + | |when datapoint zone<n>.state = closed |
|- | |- | ||
|false | |false | ||
− | |when datapoint | + | |when datapoint zone<n>.state != closed |
|} | |} | ||
== Log Files == | == Log Files == | ||
− | If a | + | If a Vanderbilt unit is connected to HSYCO, the security.log file will be written in the same directories as the daily log files and will include the log entries received by the panel. |
This file is never overwritten or deleted from HSYCO SERVER. | This file is never overwritten or deleted from HSYCO SERVER. |
Latest revision as of 08:35, 18 December 2023
Siemens / Vanderbilt is a family of security panels compatible with the control protocol EDP (Vanderbilt/Siemens series 4000, 5000 and 6000) with firmware >= 2.3. This driver has been developed following the EDP protocol specification rev 2.2, 2012-11-12
The integration with HSYCO can be accomplished with a TCP/IP network connection.
Contents
Siemens / Vanderbilt Configuration
Login in the panel web configuration page using a Full Engineer account.
You should see something like this in the upper right corner of the web page:
Select "Configuration" then "Reporting" then "EDP". You must configure 2 different receivers, one for the command session, one for the event session.
Let's take a look in detail at the configuration of these receivers. The events receiver is configured as "Primary receiver".
Unflag "Primary receiver" for the command receiver. The "IP port" parameter must be different from the one of the event receiver. Set the "Receiver Id" to 1.
Flag "Always connected" on both the receivers. Select protocol version 2 on both. The "Receiver IP Address" is the IP address of the HSYCO server that you want to communicate with. Set the "Receiver Id" to 2.
The "Polling Time" is a very crucial parameter. In the event receiver configuration 8 seconds should be fine because every change of status is sent in asynchronous way by the panel and the polling time only represent the interval between one polling ack and the next one. In the command receiver configuration set 2 seconds, this time, by empirical methods, it's the best one to ensure the connection stability.
In Communication > Reporting > EDP > Settings this is the suggested configuration:
At the end of the configuration process switch from Engineer user to Soft Engineer mode.
HSYCO Configuration
Add a SIEMENSEDP I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- IP Address: Leave empty
- IP Port: Leave empty
High Availability
- Shutdown when inactive: defaults to true.
Options
ID | Default | Values | Description |
---|---|---|---|
eventsport | 50000 | number | the TCP/IP port specified in the event receiver of the panel |
commandsport | 50001 | number | the TCP/IP port specified in the command receiver of the panel |
eventsaddress | 1 | number | the event receiver id address |
commandsaddress | 2 | number | the command receiver id address |
startupevents | true | 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 | ||
gui | true | true | generate uisets |
false | disable uisets | ||
eventspolling | 8000 | number | the event receiver polling time in ms. It must be equal to the value set on the Siemens Vanderbilt device as "Polling interval" parameter. |
commandspolling | 2000 | number | the command receiver polling time in ms. It must be equal to the value set on the Siemens Vanderbilt device as "Polling interval" parameter. |
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | connection failed | |
log0 | <text> | R | latest line of the security log when a new entry is added |
areas.armed | 1 | R | at least one area has mode equal to fullset, part_A or part_B |
0 | R | no area has mode equal to fullset, part_a or part_b | |
area.<n>.mode.cmd.unset | 1 | W | disarm area <n> |
area.<n>.mode.cmd.part.set.a | 1 | W | partially arm area <n>, partition a |
area.<n>.mode.cmd.part.set.b | 1 | W | partially arm area <n>, partition b |
area.<n>.mode.cmd.fullset | 1 | W | full arm area <n> |
area.<n>.mode | unset | R | area <n> is disarmed |
part_a | R | area <n>, partition a is armed | |
part_b | R | area <n>, partition b is armed | |
fullset | R | area <n>, area is full armed | |
area.<n>.name | <text> | R | name assigned to area <n> |
zones.inhibited | 1 | R | at least one zone is inhibited |
0 | R | no zone is inhibited | |
zones.isolated | 1 | R | at least one zone is isolated |
0 | R | no zone is isolated | |
zones.alarmed | 1 | R | at least one zone is alarmed |
0 | R | no zone is alarmed | |
zones.shorted | 1 | R | at least one zone is shorted |
0 | R | no zone is shorted | |
zones.offline | 1 | R | at least one zone is offline |
0 | R | no zone is offline | |
zone.<n>.mode.cmd.isolate | 1 | W | isolate zone <n> |
0 | W | de-isolate zone <n> | |
zone.<n>.mode.cmd.inhibit | 1 | W | inhibit zone <n> |
0 | W | disinhibit zone <n> | |
zone.<n>.name | <text> | R | name assigned to zone <n> |
zone.<n>.type | alarm | R | zone <n> type is ALARM |
entryexit | R | zone <n> type is ENTRY EXIT | |
fire | R | zone <n> type is FIRE | |
firex | R | zone <n> type is FIREX | |
line | R | zone <n> type is LINE | |
panic | R | zone <n> type PANIC | |
holdup | R | zone <n> type HOLDUP | |
tamper | R | zone <n> type is TAMPER | |
fault | R | zone <n> type is FAULT | |
fault_holdup | R | zone <n> type is FAULT HOLDUP | |
fault_warning | R | zone <n> type is WARNING | |
tech | R | zone <n> type is TECH | |
medic | R | zone <n> type MEDIC | |
keyarm | R | zone <n> type is KEYARM | |
shunt | R | zone <n> type is SHUNT | |
xshunt | R | zone <n> type is XSHUNT | |
locksup | R | zone <n> type is LOCKSUP | |
seismic | R | zone <n> type is SEISMIC | |
zone.<n>.state | isolate | R | zone <n> is ISOLATED |
inhibit | R | zone <n> is INHIBIT | |
soak | R | zone <n> is SOAK | |
offline | R | zone <n> is OFFLINE | |
dcsub | R | zone <n> is DCSUB | |
alarm | R | zone <n> is ALARMED | |
masked | R | zone <n> is MASKED | |
closed | R | zone <n> is CLOSED | |
open | R | zone <n> is OPEN | |
short | R | zone <n> is SHORT CUTTED | |
discon | R | zone <n> is DISCONNECTED |
UISET Actions
ID | Attribute | Set to | |
---|---|---|---|
log | value | latest security log lines (as many as specified by the 'logsize' option) | |
log0 | value | latest line of the security log when a new entry is added, set back to blank after a short period | |
areas.armed | visible | true | when at least one datapoint area<n>.mode is equal to fullset or part_a or part_b |
false | when no datapoint area<n>.mode is equal to fullset or part_a or part_b | ||
area.<n>.name | value | name assigned to area<n> | |
area.<n>.mode | value | area<n> mode value | |
area<n>.mode.fullset | visible | true | when datapoint area<n>.mode = fullset |
false | when datapoint area<n>.mode != fullset | ||
area<n>.mode.unset | visible | true | when datapoint area<n>.mode = unset |
false | when datapoint area<n>.mode != unset | ||
area<n>.mode.part.set.a | visible | true | when datapoint area<n>.mode = part_a |
false | when datapoint area<n>.mode != part_a | ||
area<n>.mode.part.set.b | visible | true | when datapoint area<n>.mode = part_b |
false | when datapoint area<n>.mode != part_b | ||
output<n>.1 | visible | true | when output<n> has value '1' |
false | when output<n> has value '0' | ||
output.<n>.0 | visible | true | when output<n> has value '0' |
false | when output<n> has value '1' | ||
zones.inhibited | visible | true | when at least one datapoint zone<n>.state is equal to inhibit |
false | when no datapoint zone<n>.state is equal to inhibit | ||
zones.isolated | visible | true | when at least one datapoint zone<n>.state is equal to isolate |
false | when no datapoint zone<n>.state is equal to isolate | ||
zones.shorted | visible | true | when at least one datapoint zone<n>.state is equal to short |
false | when no datapoint zone<n>.state is equal to short | ||
zones.offline | visible | true | when at least one datapoint zone<n>.state is equal to offline |
false | when no datapoint zone<n>.state is equal to offline | ||
zones.alarmed | visible | true | when at least one datapoint zone<n>.state is equal to alarm |
false | when no datapoint zone<n>.state is equal to alarm | ||
zone.<n>.name | value | name assigned to zone<n> | |
zone.<n>.type | value | zone<n> type value | |
zone.<n>.state | value | zone<n> state value | |
zone<n>.state.inhibit | visible | true | when datapoint zone<n>.state = inhibit |
false | when datapoint zone<n>.state != inhibit | ||
zone<n>.state.isolate | visible | true | when datapoint zone<n>.state = isolate |
false | when datapoint zone<n>.state != isolate | ||
zone<n>.state.open | visible | true | when datapoint zone<n>.state = open |
false | when datapoint zone<n>.state != open | ||
zone<n>.state.closed | visible | true | when datapoint zone<n>.state = closed |
false | when datapoint zone<n>.state != closed |
Log Files
If a Vanderbilt unit is connected to HSYCO, the security.log file will be written in the same directories as the daily log files and will include the log entries received by the panel.
This file is never overwritten or deleted from HSYCO SERVER.
3.8.0
- initial version release
Vanderbilt is a registered trademark of Vanderbilt Industries