Difference between revisions of "Ats"
(10 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | Aritech ATS panels are multi-area intrusion detection systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the serial module. The ATS I/O Server supports the integration of more than one unit within the same HSYCO interface. | + | Aritech ATS (ATS 2010 ATS 3010 ATS 4010 ATS 4510) panels are multi-area intrusion detection systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the serial module. The ATS I/O Server supports the integration of more than one unit within the same HSYCO interface. This driver requires ATS firmware 4.0.19 or superior. The communication protocol must be unencrypted and the computer communication security password set to all zeros. |
[[Category:I/O Server]] | [[Category:I/O Server]] | ||
Line 5: | Line 5: | ||
== Communication == | == Communication == | ||
− | Employ an RS-232 cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway. | + | Employ an RS-232 cable (ATS code 1632) to connect the panel (board 1801) directly to HSYCO or to an Ethernet/RS-232 gateway. |
+ | The communication protocol must be unencrypted and the computer communication security password set to all zeros. | ||
+ | This drive has been tested with firmware version 4.09.27 and Titan version 2.03.8 | ||
+ | |||
The cable must follow this pinout diagram: | The cable must follow this pinout diagram: | ||
+ | |||
[[File:Ats_RS232_cable.png|400px|border]] | [[File:Ats_RS232_cable.png|400px|border]] | ||
+ | |||
RS-232 parameters: | RS-232 parameters: | ||
Line 29: | Line 34: | ||
== HSYCO Configuration == | == HSYCO Configuration == | ||
+ | Add an ATS I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters: | ||
+ | |||
+ | === Communication === | ||
+ | *'''Comm ID''': select the comm port connected to the panel. | ||
+ | |||
+ | === High Availability === | ||
+ | *'''Shutdown when inactive''': defaults to true. | ||
=== Options === | === Options === | ||
Line 920: | Line 932: | ||
== Release Notes == | == Release Notes == | ||
+ | === 3.4.0 === | ||
+ | *bug fix: polling failure occurring for a high number of zones | ||
+ | |||
=== 3.2.0 === | === 3.2.0 === | ||
*added event “ID.clock” | *added event “ID.clock” | ||
*removed I/O Server option “maxdgp” | *removed I/O Server option “maxdgp” | ||
+ | |||
=== 3.1.0 === | === 3.1.0 === | ||
*initial release | *initial release |
Latest revision as of 19:11, 13 October 2020
Aritech ATS (ATS 2010 ATS 3010 ATS 4010 ATS 4510) panels are multi-area intrusion detection systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the serial module. The ATS I/O Server supports the integration of more than one unit within the same HSYCO interface. This driver requires ATS firmware 4.0.19 or superior. The communication protocol must be unencrypted and the computer communication security password set to all zeros.
Contents
Communication
Employ an RS-232 cable (ATS code 1632) to connect the panel (board 1801) directly to HSYCO or to an Ethernet/RS-232 gateway. The communication protocol must be unencrypted and the computer communication security password set to all zeros. This drive has been tested with firmware version 4.09.27 and Titan version 2.03.8
The cable must follow this pinout diagram:
RS-232 parameters:
Baud rate | same as panel settings (default 4800) |
Data bits | 8 |
Stop bit | 1 |
Parity | none |
Flow control | RTS/CTS |
HSYCO Configuration
Add an ATS I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- Comm ID: select the comm port connected to the panel.
High Availability
- Shutdown when inactive: defaults to true.
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 | ||
pollinterval | 5 | n > 0 | the data acquisition interval, in seconds |
logsize | 20 | n ≥ 0 | the number of log lines to display in the UI object |
maxzone | 256 | 0 ... 256 | highest zone index set on the panel. This option is recommended to improve the I/O Server's performances |
maxoutput | 256 | 0 ... 256 | highest output index set on the panel. This option is recommended to improve the I/O Server's performances |
maxras | 16 | 0 ... 16 | highest RAS (Remote Arming Station) index set on the panel. This option is recommended to improve the I/O Server's performances |
ats.ini
The ats.ini file is a specific configuration file located in the root directory. Here you can define the names of zones and areas so that they will be automatically added to the user interface.
Add a new line for each name using this format:
<io_server_id>.zone.<n> = <name> <io_server_id>.area.<n> = <name>
For instance:
ats.zone.1 = Kitchen ats.zone.2 = Corridor ats.area.1 = Floor 1
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can't connect to the panel | |
armed | 1 | R | at least one area is armed |
W | arm all active areas | ||
0 | R | no area is armed | |
W | disarm all active areas | ||
alarm | 1 | R | at least one area is in alarm |
0 | R | no area is in alarm | |
reset | W | reset system alarms | |
clock | read | W | request the reading of the panel’s clock value |
<date_time> | R | the panel’s clock is set to <date_time>. The value has the format "yyyy-mm-dd hh:mm:ss" (e.g. "2012-12-30 16:59:23").
This event is only triggered after a request. | |
a<n>.name | <text> | R | area <n> has been assigned the name <text> |
z<n>.name | <text> | R | zone <n> has been assigned the name <text> |
a<n>.armed | 1 | R | area <n> is armed |
W | arm area <n> | ||
0 | R | area <n> is disarmed | |
W | disarm area <n> | ||
force | W | force arm area <n> | |
a<n>.alarm | 1 | R | area <n> is in alarm |
0 | R | area <n> is not in alarm | |
a<n>.open | 1 | R | area <n> has open zones |
0 | R | area <n> has no open zones | |
a<n>.isolated | 1 | R | area <n> has isolated zones |
0 | R | area <n> has no isolated zones | |
a<n>.exit | 1 | R | exit time is active on area <n> |
0 | R | exit time is not active on area <n> | |
a<n>.entry | 1 | R | entry time is active on area <n> |
0 | R | entry time is not active on area <n> | |
a<n>.alarm.local | 1 | R | local alarms are active on area <n> |
0 | R | no local alarm is active on area <n> | |
a<n>.warning | 1 | R | console warning is active on area <n> |
0 | R | console warning is not active on area <n> | |
z<n>.state1[Note] | tamper | R | tamper active on zone <n> |
alarm | R | alarm active on zone <n> | |
closed | R | zone <n> closed | |
night | R | night holdup active on zone <n> | |
local | R | local alarm active on zone <n> | |
isolated | R | zone <n> isolated | |
z<n>.state2[Note] | short | R | zone <n> in short circuit |
open | R | zone <n> open | |
closed | R | zone <n> closed | |
active | R | zone <n> active | |
masked | R | zone <n> masked | |
z<n>.isolated | 1 | W | isolate zone <n> |
0 | W | de-isolate zone <n> | |
z<n>.alarm | reset | W | reset alarms on zone <n> |
o<n>.active | 1 | R | output <n> is active |
W | activate output <n> | ||
0 | R | output <n> is not active | |
W | deactivate output <n> | ||
o<n>.inverted | 1 | R | output <n> is inverted |
0 | R | output <n> is not inverted | |
ras<n>.offline | 1 | R | RAS <n> is offline |
0 | R | RAS <n> is online | |
ras<n>.tamper | 1 | R | RAS <n> is tampered |
0 | R | RAS <n> is not tampered | |
ras<n>.isolated | 1 | R | RAS <n> is isolated |
0 | R | RAS <n> is not isolated | |
ras<n>.inhibited | 1 | R | RAS <n> is inhibited |
0 | R | RAS <n> is not inhibited | |
dgp<n>.offline | 1 | R | DGP <n> is offline |
0 | R | DGP <n> is online | |
dgp<n>.isolated | 1 | R | DGP <n> is isolated |
0 | R | DGP <n> is not isolated | |
dgp<n>.inhibited | 1 | R | DGP <n> is inhibited |
0 | R | DGP <n> is not inhibited | |
dgp<n>.battery.missing | 1 | R | battery missing on DGP <n> |
0 | R | battery ok on DGP <n> | |
dgp<n>.battery.low | 1 | R | battery low on DGP <n> |
0 | R | battery ok on DGP <n> | |
dgp<n>.battery.test | 1 | R | battery test active on DGP <n> |
0 | R | no battery test active on DGP <n> | |
dgp<n>.battery.test.fail | 1 | R | battery test failed on DGP <n> |
0 | R | battery test ok on DGP <n> | |
dgp<n>.mains.fail | 1 | R | mains failure on DGP <n> |
0 | R | mains ok on DGP <n> | |
dgp<n>.fuse.fail | 1 | R | fuse failure on DGP <n> |
0 | R | fuses ok on DGP <n> | |
dgp<n>.siren.fail | 1 | R | siren failure on DGP <n> |
0 | R | siren ok on DGP <n> | |
dgp<n>.tamper | 1 | R | DGP <n> is tampered |
0 | R | DGP <n> is not tampered |
- Note
- The value of a zone status (datapoints z<n>.state1 and z<n>.state2) depends on the configuration of the zone typology.
User Interface
Ats Object
The user interface for the Aritech ATS multi-area intrusion detection system:
The Ats object is listed in the Project Editor’s new object list only when at least one Aritech ATS 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
(ats <server id>; <position>)
E.g.
(ats serverid; x10y20)
UISET Actions
ID | Attribute | Set to | |
---|---|---|---|
log<n> | value | the line <n> of the log list (<n> from 1 to 20, <n> = 1 : latest entry) | |
log0 | value | the latest line of the log for a short period | |
a<n>.name | value | the name assigned to area <n> | |
z<n>.name | value | the name assigned to zone <n> | |
connection.label | visible | true when the system is not connected to HSYCO, false otherwise | |
armed.label.1 | visible | true when at least one area is armed, not visible otherwise | |
armed.label.0 | visible | true when no area is armed, not visible otherwise | |
alarm.label.1 | visible | true when at least one area is in alarm, not visible otherwise | |
alarm.label.0 | visible | true when no area is in alarm, not visible otherwise | |
a<n>.armed.label.1 | visible | true when area <n> is armed, not visible otherwise | |
a<n>.armed.label.0 | visible | true when area <n> is not armed, not visible otherwise | |
a<n>.alarm.label.1 | visible | true when area <n> is in alarm, not visible otherwise | |
a<n>.alarm.label.0 | visible | true when area <n> is not in alarm, not visible otherwise | |
a<n>.open.label.1 | visible | true when area <n> has open zones, not visible otherwise | |
a<n>.open.label.0 | visible | true when area <n> has no open zone, not visible otherwise | |
a<n>.isolated.label.1 | visible | true when area <n> has isolated zones, not visible otherwise | |
a<n>.isolated.label.0 | visible | true when area <n> has no isolated zone, not visible otherwise | |
a<n>.exit.label.1 | visible | true when the exit time is active on area <n>, not visible otherwise | |
a<n>.exit.label.0 | visible | true when the exit time is not active on area <n>, not visible otherwise | |
a<n>.entry.label.1 | visible | true when the entry time is active on area <n>, not visible otherwise | |
a<n>.entry.label.0 | visible | true when the entry time is not active on area <n>, not visible otherwise | |
a<n>.alarm.local.label.1 | visible | true when local alarms are active on area <n>, not visible otherwise | |
a<n>.alarm.local.label.0 | visible | true when no local alarm is active on area <n>, not visible otherwise | |
a<n>.warning.label.1 | visible | true when the console warning is active on area <n>, not visible otherwise | |
a<n>.warning.label.0 | visible | true when the console warning is not active on area <n>, not visible otherwise | |
o<n>.active.label.1 | visible | true when output <n> is active, not visible otherwise | |
o<n>.active.label.0 | visible | true when output <n> is inactive, not visible otherwise | |
o<n>.inverted.label.1 | visible | true if output <n> is inverted, not visible otherwise | |
o<n>.inverted.label.0 | visible | true if output <n> is not inverted, not visible otherwise | |
ras<n>.offline.label.1 | visible | true if RAS <n> is offline, not visible otherwise | |
ras<n>.offline.label.0 | visible | true if RAS <n> is online, not visible otherwise | |
ras<n>.tamper.label.1 | visible | true when RAS <n> is tampered, not visible otherwise | |
ras<n>.tamper.label.0 | visible | true when RAS <n> is not tampered, not visible otherwise | |
ras<n>.isolated.label.1 | visible | true if RAS <n> is isolated, not visible otherwise | |
ras<n>.isolated.label.0 | visible | true if RAS <n> is not isolated, not visible otherwise | |
ras<n>.inhibited.label.1 | visible | true if RAS <n> is inhibited, not visible otherwise | |
ras<n>.inhibited.label.0 | visible | true if RAS <n> is not inhibited, not visible otherwise | |
dgp<n>.offline.label.1 | visible | true if DGP <n> is offline, not visible otherwise | |
dgp<n>.offline.label.0 | visible | true if DGP <n> is online, not visible otherwise | |
dgp<n>.isolated.label.1 | visible | true if DGP <n> is isolated, not visible otherwise | |
dgp<n>.isolated.label.0 | visible | true if DGP <n> is not isolated, not visible otherwise | |
dgp<n>.inhibited.label.1 | visible | true if DGP <n> is inhibited, not visible otherwise | |
dgp<n>.inhibited.label.0 | visible | true if DGP <n> is not inhibited, not visible otherwise | |
dgp<n>.battery.missing.label.1 | visible | true if the battery of DGP <n> is missing, not visible otherwise | |
dgp<n>.battery.missing.label.0 | visible | true if the battery of DGP <n> is ok, not visible otherwise | |
dgp<n>.battery.test.label.1 | visible | true if the battery test is active on DGP <n>, not visible otherwise | |
dgp<n>.battery.test.label.0 | visible | true if the battery test is not active on DGP <n>, not visible otherwise | |
dgp<n>.battery.low.label.1 | visible | true if the battery of DGP <n> is low, not visible otherwise | |
dgp<n>.battery.low.label.0 | visible | true if the battery of DGP <n> is ok, not visible otherwise | |
dgp<n>.mains.fail.label.1 | visible | true if a mains failure is active on DGP <n>, not visible otherwise | |
dgp<n>.mains.fail.label.0 | visible | true if no mains failure is active on DGP <n>, not visible otherwise | |
dgp<n>.battery.test.fail.label.1 | visible | true if the battery test failed on DGP <n>, not visible otherwise | |
dgp<n>.battery.test.fail.label.0 | visible | true if the battery test succeeded on DGP <n>, not visible otherwise | |
dgp<n>.fuse.fail.label.1 | visible | true if a fuse failed on DGP <n>, not visible otherwise | |
dgp<n>.fuse.fail.label.0 | visible | true if no fuse failed on DGP <n>, not visible otherwise | |
dgp<n>.siren.fail.label.1 | visible | true if a siren failed on DGP <n>, not visible otherwise | |
dgp<n>.siren.fail.label.0 | visible | true if no siren failed on DGP <n>, not visible otherwise | |
dgp<n>.tamper.label.1 | visible | true when DGP <n> is tampered, not visible otherwise | |
dgp<n>.tamper.label.0 | visible | true when DGP <n> is not tampered, not visible otherwise |
USER Commands
Name | Param | Action |
---|---|---|
armed | 1 | arm all active areas |
0 | disarm all active areas | |
alarm | reset | reset system alarms |
a<n>.armed | 1 | arm area <n> |
0 | disarm area <n> | |
force | force arm area <n> | |
z<n>.isolated | 1 | isolate zone <n> |
0 | de-isolate zone <n> | |
z<n>.alarm | reset | reset alarms on zone <n> |
o<n>.active | 1 | activate output <n> |
0 | deactivate output <n> |
Release Notes
3.4.0
- bug fix: polling failure occurring for a high number of zones
3.2.0
- added event “ID.clock”
- removed I/O Server option “maxdgp”
3.1.0
- initial release
ATS and Aritech are registered trademarks of UTC Fire & Security.