Difference between revisions of "CSx75"

From HSYCO
Jump to navigation Jump to search
Line 1,055: Line 1,055:
  
 
where <o1> ... <o8> are set to '1' if the corresponding output is enabled for the user, '0' otherwise.
 
where <o1> ... <o8> are set to '1' if the corresponding output is enabled for the user, '0' otherwise.
 +
 +
== User Interface ==
 +
 +
=== Inim Object ===
 +
 +
{{:Inim_(UI Object)}}
 +
 +
=== UISET Actions ===
 +
 +
{| class="wikitable"
 +
!ID
 +
!Attribute
 +
!colspan="2"|Set to
 +
 +
|-
 +
 +
|log
 +
|value
 +
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)
 +
 +
|-
 +
 +
|log0
 +
|value
 +
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period
 +
 +
|-
 +
 +
|z<n>.name<br />z<n>d.name
 +
|value
 +
|colspan="2"|name assigned to zone <n> (base or double) or its number if no name is defined
 +
 +
|-
 +
 +
|rowspan="2"|connection.label
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint connection = offline
 +
|-
 +
|false
 +
|when datapoint connection = online
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is disarmed
 +
|-
 +
|false
 +
|when area <n> is armed
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.away
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "away" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "away" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.stay
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "stay" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "stay" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.inst
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "instantaneous" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "instantaneous" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in any mode
 +
|-
 +
|false
 +
|when area <n> is not armed
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.closed<br />z<n>d.state.label.closed
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'closed'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'closed'
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.open<br />z<n>d.state.label.open
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'open'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'open'
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.tamper<br />z<n>d.state.label.tamper
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'tamper'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'tamper'
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.short<br />z<n>d.state.label.short
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'short'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'short'
 +
 +
|-
 +
 +
|rowspan="2"|<datapoint_id>.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint with ID <datapoint_id> has value '1'
 +
|-
 +
|false
 +
|when datapoint with ID <datapoint_id> has value '0'
 +
 +
|-
 +
 +
|rowspan="2"|<datapoint_id>.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint with ID <datapoint_id> has value '0'
 +
|-
 +
|false
 +
|when datapoint with ID <datapoint_id> has value '1'
 +
|}
 +
 +
=== USER Commands ===
 +
 +
{| class="wikitable"
 +
!Name
 +
!Param
 +
!Action
 +
 +
|-
 +
 +
|rowspan="4" |a<n>.armed
 +
|0
 +
|disarm area <n>
 +
|-
 +
|stay
 +
|arm area <n> in "stay" mode
 +
|-
 +
|away
 +
|arm area <n> in "away" mode
 +
|-
 +
|inst
 +
|arm area <n> in "instantaneous" mode
 +
 +
|-
 +
 +
|a<n>.reset
 +
|1
 +
|reset alarms on area <n>
 +
 +
|-
 +
 +
|rowspan="2" |z<n>.bypassed<br />z<n>d.bypassed
 +
|0
 +
|unbypass zone <n> (base or double)
 +
|-
 +
|1
 +
|bypass zone <n> (base or double)
 +
 +
|-
 +
 +
|rowspan="2" |or
 +
|0
 +
|deactivate the relay output on the panel
 +
|-
 +
|1
 +
|activate the relay output on the panel
 +
 +
|-
 +
 +
|rowspan="2" |oc1
 +
|0
 +
|deactivate the open collector 1 on the panel
 +
|-
 +
|1
 +
|activate the open collector 1 on the panel
 +
 +
|-
 +
 +
|rowspan="2" |oc2
 +
|0
 +
|deactivate the open collector 2 on the panel
 +
|-
 +
|1
 +
|activate the open collector 2 on the panel
 +
 +
|-
 +
 +
|rowspan="2" |o<n>
 +
|0
 +
|deactivate output <n>
 +
|-
 +
|1
 +
|activate output <n>
 +
 +
|}
 +
 +
To perform any of the above operations it is necessary to enter the user code first. To enter the user code through the user interface use [[User|user buttons]] to create a virtual keypad and assign them name and param values according to this table:
 +
 +
{| class="wikitable"
 +
!Name
 +
!Param
 +
!Action
 +
|-
 +
|rowspan="2"|digit
 +
|{0 ... 9}
 +
|append the specified digit to the entered user code
 +
|-
 +
|c
 +
|delete the last entered digit
 +
|}
 +
 +
To visualize the number of entered digits use up to 6 [[Text|text objects]] (depending on the number of digits used for user codes) and set their IDs to:
 +
 +
{| class="wikitable"
 +
!ID
 +
!Description
 +
|-
 +
|pin.<n><br />(0 &le; <n> &le; 5)
 +
|shows the character '*' when the corresponding digit has been entered, shows '_' otherwise
 +
 +
|}
 +
 +
The entered code will be cleared after a short period of inactivity.

Revision as of 17:42, 8 January 2014

Aritech CSx75 is a multi-area security system. The integration with HSYCO can be accomplished via direct control through the RS-232 port on its panel.

Communication

Use the Aritech CS590 RS232 cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.

RS-232 parameters:

Baud rate same as configured on panel (default 9600)
Data bits 8
Stop bit 1
Parity none
Flow control none

CSx75 Configuration

The panel must be previously configured to have the serial port enabled and to use the binary control protocol. Refer to its configuration manual for more details.


HSYCO Configuration

Options

ID Default Values Description
pin <code> 4 or 6-digits code. Use the specified PIN code to perform operations that require user authentication. If this option is not specified it will be required to manually insert the pin every time such operations are performed
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 3 n > 0 the data acquisition interval, in seconds
logsize 20 n ≥ 0 the number of log lines to display in the UI object

csx75.ini

The csx75.ini file is a specific configuration file located in the root directory. 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:

<io_server_id>.user.<n> = <name>

For instance:

cs.user.1 = Bob
cs.user.2 = Alice

Datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the panel
alarm 0 R no partition is alarmed
1 R at least one partition is alarmed
armed 0 R all partitions are disarmed
W disarm all partitions
1 R the system is (partially) armed
away W arm all partitions in away mode
stay W arm all partitions in stay mode
auto W initiate auto-arm for all partitions
p<n>.armed 0 R partition <n> is disarmed
W disarm partition <n>
away R partition <n> is armed in away mode
W arm partition <n> in away mode
stay R partition <n> is armed in stay mode
W arm partition <n> in stay mode
auto W initiate auto-arm on partition <n>
p<n>.alarm 0 R partition <n> is not in an alarm state
1 R partition <n> is in an alarm state
p<n>.tamper 0 R no tamper condition for partition <n>
1 R partition <n> has been tampered
p<n>.last.user <num> R last user number entered was <num>
p<n>.fire 0 R no fire on partition <n>
1 R fire on partition <n>
p<n>.fire.trouble 0 R no fire trouble on partition <n>
1 R fire trouble on partition <n>
p<n>.buzzer 0 R buzzer off on partition <n>
1 R buzzer on on partition <n>
W start buzzer on partition <n>
p<n>.tlm.fault 0 R TLM ok
1 R TLM memory fault
p<n>.instant 0 R instant flag not set on partition <n>
1 R instant flag set on partition <n>
p<n>.siren 0 R siren off on partition <n>
1 R siren on on partition <n>
p<n>.steady.siren 0 R steady siren off on partition <n>
1 R steady siren on on partition <n>
p<n>.alarm.mem 0 R alarm memory flag not set on partition <n>
1 R alarm memory flag set on partition <n>
p<n>.cancel 0 R no cancel command entered on partition <n>
1 R cancel command entered on partition <n>
W issue cancel command
p<n>.exit.silent 0 R silent exit disabled on partition <n>
1 R silent exit enabled on partition <n>
W enable silent exit for this arm cycle on partition <n>
p<n>.chime.mode 0 R chime mode off on partition <n>
1 R chime mode on on partition <n>
toggle W toggle chime mode on partition <n>
p<n>.entry 0 R entry inactive on partition <n>
1 R entry active on partition <n>
p<n>.delay.exp 0 R delay expiration warning off
1 R delay expiration warning on
p<n>.exit.1 0 R exit 1 inactive on partition <n>
1 R exit 1 active on partition <n>
p<n>.exit.2 0 R exit 2 inactive on partition <n>
1 R exit 2 active on partition <n>
p<n>.exit.error 0 R exit error not triggered on partition <n>
1 R exit error triggered on partition <n>
p<n>.night.mode 0 R night mode inactive on partition <n>
1 R night mode active on partition <n>
p<n>.reexit 0 R re-exit inactive on partition <n>
1 R re-exit active on partition <n>
p<n>.force.arm 0 R no force arm triggered on partition <n>
1 R force arm triggered by auto arm on partition <n>
p<n>.arm.ready 0 R partition <n> not ready to arm
1 R partition <n> ready to arm
p<n>.force.arm.ready 0 R partition <n> not ready to force arm
1 R partition <n> ready to force arm
p<n>.chime 0 R chime off on partition <n>
1 R chime on on partition <n>
p<n>.error.beep 0 R error beep off on partition <n>
1 R error beep on on partition <n>
p<n>.tone 0 R activation tone off on partition <n>
1 R activation tone on on partition <n>
p<n>.entry.1 0 R entry 1 inactive on partition <n>
1 R entry 1 active on partition <n>
p<n>.phone.1.alarm 0 R no alarm sent using phone number 1 on partition <n>
1 R alarm sent using phone number 1 on partition <n>
p<n>.phone.2.alarm 0 R no alarm sent using phone number 2 on partition <n>
1 R alarm sent using phone number 2 on partition <n>
p<n>.phone.3.alarm 0 R no alarm sent using phone number 3 on partition <n>
1 R alarm sent using phone number 3 on partition <n>
p<n>.keyswitch.armed 0 R keyswitch not armed on partition <n>
1 R keyswitch armed on partition <n>
z<n>.name <text> R name of zone <n> is set to <text>
z<n>.open 0 R zone <n> is closed
1 R zone <n> is open
z<n>.tamper 0 R zone <n> is not tampered
1 R zone <n> is tampered
z<n>.trouble 0 R zone <n> OK
1 R troubles on zone <n>
z<n>.bypassed 0 R zone <n> not bypassed
1 R zone <n> bypassed
toggle W toggle the bypass status on zone <n>
z<n>.inhibited 0 R zone <n> not inhibited
1 R zone <n> inhibited
z<n>.battery.low 0 R zone <n> battery OK
1 R zone <n> battery low
z<n>.supervision.loss 0 R supervision OK on zone <n>
1 R loss of supervision on zone <n>
z<n>.alarm.mem 0 R alarm memory flag not set on zone <n>
1 R alarm memory flag set on zone <n>
z<n>.bypass.mem 0 R bypass memory flag not set on zone <n>
1 R bypass memory flag set on zone <n>
user<n>.name <text> R name of user <n> is set to <text>
comm.fail 0 R communication OK
1 R communication failure
fuse.fault 0 R fuse OK
1 R fuse fault
panel.tamper 0 R panel box not tampered
1 R panel box tampered
siren.tamper 0 R siren OK
1 R siren tampered
battery.low 0 R battery OK
1 R battery low
ac.fail 0 R AC OK
1 R AC failure
expander.tamper 0 R expander box not tampered
1 R expander box tampered
expander.ac.fail 0 R expander’s AC OK
1 R expander’s AC failure
expander.battery.low 0 R expander’s battery OK
1 R expander’s battery low
expander.fault 0 R expander OK
1 R general fault for the expander
buzzer 0 R global buzzer off
1 R global buzzer on
siren 0 R global siren off
1 R global siren on
steady.siren 0 R global steady siren off
1 R global steady siren on
bus.fault 0 R bus line OK
1 R bus device had line seized
ac.power 0 R AC power off
1 R AC power on
battery.low.mem 0 R low battery memory flag not set
1 R low battery memory flag set
powerup.delay 0 R no power up delay in progress
1 R power up delay in progress
walk.test 0 R walk-test mode off
W stop walk-test mode
1 R walk-test mode active
W start walk-test mode
time.loss 0 R system time ok
1 R loss of system time
aux1
p<n>.aux1
1 W activate auxiliary function 1
aux2
p<n>.aux2
1 W activate auxiliary function 2
panic
p<n>.panic
fire W issue the fire panic command
medical W issue the medical panic command
police W issue the police panic command
smoke
p<n>.smoke
reset W smoke detector reset
test
p<n>.test
1 W perform test
command restart W restart the driver
clock read W request the reading of the panel’s clock value
<val> R the panel’s clock is set to <val>. The used format is "yyyy-mm-dd hh:mm:ss" (e.g. 2012-08-30 16:30:00). This datapoint is only updated after a request with the command "clock = read"
W set the panel’s clock to <val>. One of the following formats must be used:
  • "yyyy-mm-dd hh:mm", e.g. 2012-08-30 16:30
  • "yy/mm/dd-wd-hh:mm", where “wd” represents the day of the week (1 = Sunday, 2 = Monday, ..., 7 = Saturday), e.g. 12/08/30-5-16:30

CS507 configuration

The I/O Server also allows to configure and to check the saved configuration of a CS507 add-on module connected to the panel.

To read and write the configuration saved on the module use the following datapoints:

ID Value R/W Description
cs507.<addr>.out<n> read W request the reading of the configuration of output <n> on the module with address <addr>
<out_value> R output <n> on the module with address <addr> is configured as described by <out_value>, updated only after a read request
W write <out_value> to output <n> on the module with address <addr>
cs507.<addr>.prog<n> read W request the reading of the configuration of time-program <n> on the module with address <addr>
<prog_value> R the time-program <n> on the module with address <addr> is configured as described by <prog_value>, updated only after a read request
W write <prog_value> to the time-program <n> on the module with address <addr>
cs507.<addr>.holidays.<n> read W request the reading of the days set as holidays for month <n> (1 = January, 12 = December) on the module with address <addr>
<holidays_value> R the holidays for month <n> on the module with address <addr> are set to <holidays_value>, updated only after a read request
W set <holidays_value> as holidays for month <n> on the module with address <addr>
cs507.<addr>.user<n> read W request the reading of the configuration of user <n> on the module with address <addr>
<user_value> R user <n> on the module with address <addr> is configured as described by <user_value>, updated only after a read request
W write <user_value> to user <n> on the module with address <addr>
Outputs configuration values

The output configuration value <out_value> has the following format:

<ev>,<par>,<d>,<f1>,<f2>,<f3>,<f4>,<f5>,<f6>,<f7>,<f8>,<a1>,<a2>,<a3>,<a4>,<a5>,<a6>,<a7>,<a8>,<p1>,<p2>,<p3>,<p4>,<p5>,<p6>,<p7>,<p8>,<X10_addr>

it is a comma-separated list of the following parameters:

  • ev = number of the event associated to this output
  • par = value of the parameter associated to the specified event (e.g. user or zone number)
  • d = duration of the event
  • f1 ... f8 = '1' if the flag is set, '0' otherwise. f1 sets the “Timing in minutes” flag; f2 corresponds to “Memorized”; f3 to “Interrupt with code”; f4 to “Outside time slot”; f5 to “Inside time slot”; f6 to “Inverted”; f7 to “Save in events memory”; f8 to “Disable new auto-arm”
  • a1 .. a8 = '1' if the area flag is set, '0' otherwise. a1 corresponds to area 1 and so on
  • p1 .. p8 = '1' if the time-program flag is set, '0' otherwise. p1 corresponds to program 1 and so on
  • X10_addr = X10 address associated with the output (e.g. "A3")
Time-programs configuration values

The time-program configuration value <prog_value> has the following format:

<start>,<end>,<sun>,<mon>,<tue>,<wed>,<thu>,<fri>,<sat>,<holidays>

it is a comma-separated list of the following parameters:

  • start = starting time of the program. It must be formatted as HH:MM (e.g. 14:30)
  • end = ending time of the program. It must be formatted as HH:MM (e.g. 14:30)
  • sun ... sat = '1' if the program is active on the corresponding day, '0' otherwise
  • holidays = '1' if this program is disabled during the configured holidays, '0' otherwise
Holidays configuration values

The holidays configuration value <holidays_value> has the following format:

<d1>,<d2>,<d3>,<d4>,<d5>,<d6>,<d7>,<d8>

it is a comma-separated list of the 8 days set as holidays for the specified month. If less than 8 days are set, then the remaining days are set to 0.

Users configuration values

The user configuration value <user_value> has the following format:

<o1>,<o2>,<o3>,<o4>,<o5>,<o6>,<o7>,<o8>

where <o1> ... <o8> are set to '1' if the corresponding output is enabled for the user, '0' otherwise.

User Interface

Inim Object

The user interface for the control and supervision of one area of the system, the zones and the visualization of the security log:

Inim UI Object 1.png Inim UI Object 2.png Inim UI Object 3.png

The Inim object is listed in the Project Editor’s new object list only when at least one INIM I/O Server is defined.

Parameters

  • id - the id assigned to the INIM I/O Server in hsyco.ini. Supports Redirect variables
  • area - the number of the area to be addressed. Supports Redirect variables
  • pos - the object’s position. Use the pixels or rows and columns coordinates format.

Syntax

(inim <server id>; <area>; <position>)

E.g.

(inim serverid; area; x10y20)

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
z<n>.name
z<n>d.name
value name assigned to zone <n> (base or double) or its number if no name is defined
connection.label visible true when datapoint connection = offline
false when datapoint connection = online
a<n>.armed.label.0 visible true when area <n> is disarmed
false when area <n> is armed
a<n>.armed.label.away visible true when area <n> is armed in "away" mode
false when area <n> is not armed in "away" mode
a<n>.armed.label.stay visible true when area <n> is armed in "stay" mode
false when area <n> is not armed in "stay" mode
a<n>.armed.label.inst visible true when area <n> is armed in "instantaneous" mode
false when area <n> is not armed in "instantaneous" mode
a<n>.armed.label.1 visible true when area <n> is armed in any mode
false when area <n> is not armed
z<n>.state.label.closed
z<n>d.state.label.closed
visible true when datapoint 'z<n>.state' has value 'closed'
false when datapoint 'z<n>.state' has not value 'closed'
z<n>.state.label.open
z<n>d.state.label.open
visible true when datapoint 'z<n>.state' has value 'open'
false when datapoint 'z<n>.state' has not value 'open'
z<n>.state.label.tamper
z<n>d.state.label.tamper
visible true when datapoint 'z<n>.state' has value 'tamper'
false when datapoint 'z<n>.state' has not value 'tamper'
z<n>.state.label.short
z<n>d.state.label.short
visible true when datapoint 'z<n>.state' has value 'short'
false when datapoint 'z<n>.state' has not value 'short'
<datapoint_id>.label.1 visible true when datapoint with ID <datapoint_id> has value '1'
false when datapoint with ID <datapoint_id> has value '0'
<datapoint_id>.label.0 visible true when datapoint with ID <datapoint_id> has value '0'
false when datapoint with ID <datapoint_id> has value '1'

USER Commands

Name Param Action
a<n>.armed 0 disarm area <n>
stay arm area <n> in "stay" mode
away arm area <n> in "away" mode
inst arm area <n> in "instantaneous" mode
a<n>.reset 1 reset alarms on area <n>
z<n>.bypassed
z<n>d.bypassed
0 unbypass zone <n> (base or double)
1 bypass zone <n> (base or double)
or 0 deactivate the relay output on the panel
1 activate the relay output on the panel
oc1 0 deactivate the open collector 1 on the panel
1 activate the open collector 1 on the panel
oc2 0 deactivate the open collector 2 on the panel
1 activate the open collector 2 on the panel
o<n> 0 deactivate output <n>
1 activate output <n>

To perform any of the above operations it is necessary to enter the user code first. To enter the user code through the user interface use user buttons to create a virtual keypad and assign them name and param values according to this table:

Name Param Action
digit {0 ... 9} append the specified digit to the entered user code
c delete the last entered digit

To visualize the number of entered digits use up to 6 text objects (depending on the number of digits used for user codes) and set their IDs to:

ID Description
pin.<n>
(0 ≤ <n> ≤ 5)
shows the character '*' when the corresponding digit has been entered, shows '_' otherwise

The entered code will be cleared after a short period of inactivity.