Issue
Need to show the name of a person triggering invalid attempt alarm at a door in the alarm's feedback message.
Environment
CyberStation
CX9702
CX9900
CX9680
ACX5720
ACX5740
ACX701
ACX781
Cause
Alarm engine does not provide functionality natively to display personnel name on invalid attempt at a door, Plain English program must be used.
Resolution
The basic idea is to set the door’s description to the value of the door’s LastInvalidEntry (or LastInvalidExit) attribute, and use the wild cards %N and %D to embed the Door’s name and LastInvalidEntry (or LastInvalidExit) into the alarm’s feedback messages.
Since the controller is unable to resolve the path to the personnel object pointed to by lastInvalidEntry/LastInvalidExit a CyberStation program is needed.
Also, because the InvalidAttempt flag of the door only persists for one scan it is necessary to latch its value into a numeric point.
In the controller write a looping program to latch the value of the door’s InvalidAttempt flag.
CONTROLLER PROGRAM
1:
If Vault_Door InvalidAttempt then
VaultDoorInvalid = 1 <---VaultDoorInvalid is a numeric point in the controller
Goto 2
Endif
2:
If VaultDoorInvalid = 0 then Goto 1
CYBERSTATION PROGRAM
Write a program in CyberStation to monitor VaultDoorInvalid and set the door’s description to LastInvalidEntry
WaitForInvalid:
If LocalNetwork\ACX2.13\VaultDoorInvalid then
Print LocalNetwork\ACX2.13\Vault_Door LastInvalidEntry to STR1
Goto SetDrDescription
Endif
SetDrDescription:
LocalNetwork\ACX2.13\Vault_Door Description = STR1 <--- STR1 is a String object in CyberStation
Goto ResetFlag
ResetFlag:
LocalNetwork\ACX2.13\VaultDoorInvalid = 0
If LocalNetwork\ACX2.13\VaultDoorInvalid = 0 then Goto WaitForInvalid
ALARM ENROLLMENT
Lastly, create an expression AlarmEnrollment , set it to
Description <> “”
And attach it to the door.
When an invalid attempt is detected the alarm stays ON until the door object is edited (from the alarm view itself) and the description cleared.