Programmable Functions
Programmable functions are special automated processes that can be programmed in the Protege X system. Generally these processes have a trigger - such as an output turning on - which causes the controller to activate the process.
These functions present an extensive variety of applications for control and automation. For example, you might use them to arm an area based on the state of an output, operate a complex series of devices each time a specific door is unlocked, adjust the temperature based on the number of people in an area, or unlock the doors in the event of a fire alarm.
Name
-
Name: The name of the record in English.
English is the default system language for all records and is assumed to be the primary language.
-
Name (Second Language): The name of the record as it appears within the Protege X user interface when the operator's Portal Settings display language is set to a language other than English.
When the operator's display language is set to any language other than English, all 'Second Language' values become the primary value, and the English versions are displayed as the 'Second Language' value.
General
- Support Manual Commands: When this option is enabled an operator with the appropriate permissions can send manual commands to start or stop the process.
Type
-
Type: The type of programmable function determines what kind of operation it will perform. Each type of function has different programming and options available.
- None: The function will perform no action.
- Logic Control: Controls an output or output group based on the state of one or two triggering outputs. Several logical operations are available.
- Area Control: Arms or disarms an area or area group based on the state of an output.
- Ripple Output: Activates a series of outputs in a ripple pattern based on a single triggering output. This can be used to stage large current devices and multiple lighting circuits.
- Door Control: Locks or unlocks a door or door group based on the state of an output. Can also be used to initiate emergency egress or door lockdown.
- Virtual Door: Enables defined inputs and outputs to act as a door without programming a door record. Useful for doors that do not have readers and are not monitored by a reader expander but require some door processing.
- Input Follows Output: Controls an input based on the state of an output. Can be used to activate alarms based on an output state.
- Elevator Control: Locks or unlocks floors for an elevator car or elevator group based on the state of an output.
-
Mode: Determines how the system controller operates this function.
-
When this option is set to Normal the programmable function will run every time its triggering conditions are met.
If the controller is restarted the function will start again.
-
When set to Run Once Only the programmable function will run once when its triggering conditions are met, then stop.
It will not run again unless started by an operator (see Manual Programmable Function Commands).
-
Logic Control
A logic control function evaluates the status of one or two outputs and applies a logical operation to control the state of another output or output group (called the control output). A range of logical programming is available including follow/inverted follow (with continuous and pulsed options), OR, AND, NOR, NAND and XOR.
- Continuous modes check the control output state every 30 seconds. If the state is not correct the function reasserts control and turns the output on/off.
- Pulsed or edge triggered modes only change the control output state at the time when the trigger occurs, and do not check or control it at other times.
Configuration
-
Logic Function Mode: This field determines the type of logical operation that will be used to control the state of the control output or output group.
The available logic function mode options are:
-
Follow and Test First Output: The control output continuously follows the state of the first output.
When the first output is ON, the control output is ON. When the first output is OFF, the control output is OFF.
-
Inverted Follow and Test First Output: The control output continuously follows the state of the first output in an inverted manner.
When the first output is ON, the control output is OFF. When the first output is OFF, the control output is ON.
-
Follow Pulse On First Output: The control output is activated on the rising edge of the first output.
When the first output turns ON, the control output turns ON.
-
Inverted Follow Pulse On First Output: The control output is deactivated on the rising edge of the first output.
When the first output turns ON, the control output turns OFF.
-
Follow Pulse Off First Output: The control output is activated on the falling edge of the first output.
When the first output turns OFF, the control output turns ON.
-
Inverted Follow Pulse Off First Output: The control output is deactivated on the falling edge of the first output.
When the first output turns OFF, the control output turns OFF.
-
Follow Logic OR: The function performs a logical OR operation to determine the state of the control output.
If either the first or second output is ON, the control output is ON.
If both the first and second output are OFF, the control output is OFF.
First Output
Second Output
Control Output
-
Follow Logic AND: The function performs a logical AND operation to determine the state of the control output.
If both the first and second output are ON, the control output is ON.
If either the first or second output is OFF, the control output is OFF.
First Output
Second Output
Control Output
-
Follow Logic NOR: The function performs a logical NOR operation to determine the state of the control output.
If either the first or second output is ON, the control output is OFF.
If both the first and second output are OFF, the control output is ON.
First Output
Second Output
Control Output
-
Follow Logic NAND: The function performs a logical NAND operation to determine the state of the control output.
If both the first and second outputs are ON, the control output is OFF.
If either the first or second output is OFF, the control output is ON.
First Output
Second Output
Control Output
-
Follow Logic XOR: The function performs a logical XOR operation to determine the state of the control output.
If both the first and second outputs are in the same state (both ON or both OFF), the control output is OFF.
If the first and second outputs are in different states (one ON, one OFF), the control output is ON.
First Output
Second Output
Control Output
-
- First Output To Check: The first output that is used to set the control output state. This field must be set for all logic function modes.
- Second Output To Check: The second output that is used to set the control output state. This field is required for the Follow Logic (OR, AND, NOR, NAND, XOR) function modes only.
-
Output/Output Group To Control: This output or output group is the control output for the function. It is activated and deactivated based on the states of the first and second outputs and the Logic Function Mode selected above.
If you set both an output and an output group, both will be controlled by the function.
Area Control
Area control programmable functions can arm and disarm an area or area group based on the state of an output. This can be used for applications such as arming an area after a period of inactivity or using a key switch to disarm an area.
You can configure either continuous control (the function always checks the area state and maintains its status) or pulse control (the function only controls the area status when the output changes state).
- Continuous modes check the area state every 30 seconds. If the state is not correct the function reasserts control and arms/disarms the area.
- Pulsed or edge triggered modes only change the area state at the time when the trigger occurs, and do not check or control it at other times.
Configuration
-
Area Function: This field determines the type of function that will be used to control the state of the area or area group.
The available area function options are:
-
Area Follows Output State: The area continuously follows the state of the output.
When the output is ON, the area is ARMED. When the output is OFF, the area is DISARMED.
-
Area Follows Inverted Output State: The area continuously follows the state of the output in an inverted manner.
When the output is ON, the area is DISARMED. When the output is OFF, the area is ARMED.
-
Area Arms On Output Turning On: The area is armed on the rising edge of the output.
When the output turns ON, the area ARMS.
-
Area Disarms On Output Turning On: The area is disarmed on the rising edge of the output.
When the output turns ON, the area DISARMS.
-
Area Arms On Output Turning Off: The area is armed on the falling edge of the output.
When the output turns OFF, the area ARMS.
-
Area Disarms On Output Turning Off: The area is disarmed on the falling edge of the output.
When the output turns OFF, the area DISARMS.
-
-
Output To Check: The output that is used to set the area state.
-
Area/Area Group To Control: This area or area group is controlled by the function. It is armed and disarmed based on the state of the Output To Check and the Area Function selected above.
Programmable functions can control either an area or an area group. If both are set only the area will be controlled by the function.
Ripple Output
This programmable function ripples a series of outputs on or off when a triggering output changes state. It is ideal for staging large current devices or multiple lighting circuits.
Configuration
- Output To Enable This Function: When this output is activated the function activates the controlled outputs in sequence (step up). When this output is deactivated the function deactivates the controlled outputs in sequence (step down).
-
Stage 1-8 Output/Output Group: These fields define up to 8 outputs or output groups that are controlled by this function.
Programmable functions can control both an output and an output group at each stage. All that are selected will be controlled by the function.
- When the Output To Enable This Function is activated the function turns these outputs ON in sequence from 1 to 8, separated by the Inter Stage On Ripple Time.
- When the Output To Enable This Function is deactivated the function turns these output OFF in reverse sequence from 8 to 1, separated by the Inter Stage Off Ripple Time.
- Inter Stage On Ripple Time: When the controlled outputs are being stepped up, this is the delay between each output activation.
- Inter Stage Off Ripple Time: When the controlled outputs are being stepped down, this is the delay between each output deactivation.
Door Control
The door control programmable function allows you to lock and unlock a door or door group based on the status of an output. It is also used for implementing fire drop (emergency egress) and lockdown states on a door or door group.
The Door Function Mode activates or deactivates the Door Control Mode based on the state of the Output to Check. The door control mode then determines what action the door or door group will take.
You can configure either continuous control (the function always checks the door state and maintains its status) or pulse control (the function only controls the door status when the output changes state).
- Continuous modes check the door state every 30 seconds. If the state is not correct the function reasserts control and updates the door state.
- Pulsed or edge triggered modes only change the door state at the time when the control mode changes state, and do not check or control it at other times.
Configuration
-
Door Function Mode: This field determines the control response to the output status, i.e. whether the output turns the chosen Door Control Mode on or off.
The available door function mode options are:
- Follow and Test First Output: The door control mode continuously follows the state of the output.
When the output is ON, the door control mode is ON. When the output is OFF, the door control mode is OFF.
-
Inverted Follow and Test First Output: The door control mode continuously follows the state of the output in an inverted manner.
When the output is ON, the door control mode is OFF. When the output is OFF, the door control mode is ON.
-
Follow Pulse On First Output: The door control mode is activated on the rising edge of the output.
When the output turns ON, the door control mode turns ON.
-
Inverted Follow Pulse On First Output: The door control mode is deactivated on the rising edge of the output.
When the output turns ON, the door control mode turns OFF.
-
Follow Pulse Off First Output: The door control mode is activated on the falling edge of the output.
When the output turns OFF, the door control mode turns ON.
-
Inverted Follow Pulse Off First Output: The door control mode is deactivated on the falling edge of the output.
When the output turns OFF, the door control mode turns OFF.
- Follow and Test First Output: The door control mode continuously follows the state of the output.
-
Door Control Mode: This field defines what action the door or door group takes when the door control mode is activated or deactivated.
-
Emulate Unlock Menu: When the door control mode is activated the door will be unlocked for the duration of the Lock Activation Time (Programming | Doors | Outputs). This has the same effect as unlocking the door via REX or credential. When the door control mode is deactivated the door is locked.
When the Door Function Mode is set to a continuous mode, once every 30 seconds the door will unlock for its normal unlock time.
-
Latch Door Unlock: When the door control mode is activated the door will be latch unlocked. When the door control mode is deactivated the door will be locked.
-
Fire Control Door Unlock: When the door control mode is activated the door will be latch unlocked indefinitely. This command overrides other features that might be holding the door locked, such as area status. When the door control mode is deactivated the door will return to its previous state.
-
Door Lockdown (Deny Entry + Exit): When the door control mode is activated the door will be locked down and deny access to all users in both directions. When the door control mode is deactivated the lockdown will be cleared and the door will return to its previous state.
-
Door Lockdown (Allow Entry): When the door control mode is activated the door will be locked down. Access will be allowed in the entry direction only (including REN). When the door control mode is deactivated the lockdown will be cleared and the door will return to its previous state.
-
Door Lockdown (Allow Exit): When the door control mode is activated the door will be locked down. Access will be allowed in the exit direction only (including REX). When the door control mode is deactivated the lockdown will be cleared and the door will return to its previous state.
-
Door Lockdown (Allow Entry + Exit): When the door control mode is activated the door will be locked down. Access will be allowed in both directions (including REX and REN). When the door control mode is deactivated the lockdown will be cleared and the door will return to its previous state.
-
-
Output To Check: The output used to control the door or door group. The relationship between the output and the door control mode is determined by the Door Function Mode above.
-
Door/Door Group To Control: This door or door group is controlled by the programmable function. Door behavior is determined by the Door Control Mode above.
Programmable functions can control either a door or a door group. If both are set only the door will be controlled by the function.
Virtual Door
This function enables you to set up defined inputs and outputs to operate like a door. This is useful when some aspects of door processing are required but no readers or reader expander ports are available. For example, roller doors with no readers may require locks, a REX button and left open monitoring. It is also possible to link a virtual door to a regular one, allowing two doors to be controlled from the same reader.
Another way of achieving the same effect is creating a door record that is not associated with any reader expander. By that method most of the features of regular doors are available, while the programmable function method is more limited.
Configuration
-
Request To Exit Input: When this input is opened a REX (request to exit) is sent to the virtual door, causing the programmable function to activate the lock output and grant access.
The programmable function inverts the REX input by default. Therefore, the Contact is normally open setting in Controller Records | Inputs | Options should be set to the opposite of the physical wiring. If the REX input is wired normally open the contact setting should be Normally closed. If the REX input is wired normally closed the setting should be Normally open.
-
Door State Input: This input represents the door contact or door position input for the virtual door. When the input is opened the door is considered open. When the input is closed the door is considered closed.
-
Door Left Open Input To Control: This input is opened when the door has been left open for too long (as defined by the Max Open Time below). It can be programmed with an area and input type to allow it to report door left open events from the virtual door (in place of the trouble input available on a regular door).
A virtual input should be used for this purpose rather than a physical one.
-
Forced Door Input To Control: This input is opened when the door is forced open. It can be programmed with an area and input type to allow it to report door forced events from the virtual door (in place of the trouble input available on a regular door).
A virtual input should be used for this purpose rather than a physical one.
-
Unlock Time: The duration that the lock will be activated when the virtual door is unlocked.
-
Max Open Time: The duration that the virtual door can be open before it enters a left open state.
-
Lock Output/Output Group: This output or output group controls the physical lock for the door.
-
Alarm Output/Output Group: This output or output group is activated when the virtual door enters a left open or forced condition. This should be a beeper or other audible/visible output that can warn users to close the door. It is deactivated when the door is closed.
The required Activate Alarm Output options must be enabled below.
-
Activate Alarm Output On Door Left Open: When this option is enabled the Alarm Output/Output Group will be activated when the door is left open too long.
-
Pulse Alarm Output On Door Left Open: By default, the alarm output is activated continuously while the door is left open. When this option is enabled it will pulse on and off in 5 second intervals.
Activate Alarm Output On Door Left Open must also be enabled.
-
Activate Alarm Output On Door Forced: When this option is enabled the Alarm Output/Output Group will be activated when the door is forced open.
-
Pulse Alarm Output On Door Forced: By default, the alarm output is activated continuously while the door is forced open. When this option is enabled it will pulse on and off in 5 second intervals.
Activate Alarm Output On Door Forced must also be enabled.
-
Log Door Left Open Input Event: This is a legacy option that has no effect. An event is always logged when the virtual door is left open too long.
- Log Door Forced Input Event: This is a legacy option that has no effect. An event is always logged when the virtual door is forced open.
- Link To Door: This option allows you to associate the virtual door with a regular door. Whenever the regular door is unlocked by access, a keypad or an operator the virtual door is also unlocked. Whenever the virtual door is unlocked by REX the regular door is also unlocked. This allows two doors to be controlled from a single reader.
Input Follows Output
This function allows an input to be triggered by an output. This is useful for generating alarms based on the state of an output rather than a physical input.
Configuration
-
Input Follows Output: This control input is opened when the Output To Follow is activated, and closed when the output is deactivated. By programming the input into an area with an input type it can be used for alarm reporting.
A virtual input should be used rather than a physical one.
-
Output To Follow: This output is monitored by the function and controls the state of the control input. This can be set to any physical or virtual output that should trigger an alarm state.
-
Log Input Events: When this option is enabled an event will be generated whenever the input changes state due to this programmable function. When this option is disabled no events will be generated.
Elevator Control
This type of programmable function is used to lock and unlock selected floors for a specific elevator group based on the state of an output. It is also used to implement the fire drop (emergency egress) state on floors.
The Elevator Function Mode activates or deactivates the Elevator Control Mode based on the state of the Output to Check. The elevator control mode then determines what action the floors will take.
You can configure either continuous control (the function always checks the floor state and maintains its status) or pulse control (the function only controls the floor status when the output changes state).
- Continuous modes check the floor state every 30 seconds. If the state is not correct the function reasserts control and updates the floor state.
- Pulsed or edge triggered modes only change the floor state at the time when the control mode changes state, and do not check or control it at other times.
Configuration
-
Elevator Function Mode: This field determines the control response to the output status, i.e. whether the output turns the chosen Elevator Control Mode on or off.
The options are:
- Follow and Test First Output: The elevator control mode continuously follows the state of the output.
When the output is ON, the elevator control mode is ON. When the output is OFF, the elevator control mode is OFF.
-
Inverted Follow and Test First Output: The elevator control mode continuously follows the state of the output in an inverted manner.
When the output is ON, the elevator control mode is OFF. When the output is OFF, the elevator control mode is ON.
-
Follow Pulse On First Output: The elevator control mode is activated on the rising edge of the output.
When the output turns ON, the elevator control mode turns ON.
-
Inverted Follow Pulse On First Output: The elevator control mode is deactivated on the rising edge of the output.
When the output turns ON, the elevator control mode turns OFF.
-
Follow Pulse Off First Output: The elevator control mode is activated on the falling edge of the output.
When the output turns OFF, the elevator control mode turns ON.
-
Inverted Follow Pulse Off First Output: The elevator control mode is deactivated on the falling edge of the output.
When the output turns OFF, the elevator control mode turns OFF.
- Follow and Test First Output: The elevator control mode continuously follows the state of the output.
-
Elevator Control Mode: This field defines what action the floor group takes when the elevator control mode is activated or deactivated.
-
Emulate Unlock Menu: When the elevator control mode is activated the floor group will be unlocked for the duration of the Token Time (below). When the elevator control mode is deactivated the floor group is locked.
This setting is not compatible with continuous elevator function modes.
- Latch Elevator Unlock: When the elevator control mode is activated the floor group will be latch unlocked. When the elevator control mode is deactivated the floor group will be locked.
- Fire Control Elevator Unlock: When the elevator control mode is activated the floor group will be latch unlocked indefinitely. This command overrides other features that might be holding the floors locked, such as area status. When the elevator control mode is deactivated the floor group will return to its previous state.
-
-
Output To Check: The output used to control the floor group. The relationship between the output and the elevator control mode is determined by the Elevator Function Mode above.
-
Elevator Group: The floors controlled by this function will be locked/unlocked for the elevator cars in this elevator group only.
For example, a programmable function might be used to latch unlock the floors in the public elevators but not the maintenance elevators.
-
Floor Group: The floors in this group are controlled by the programmable function. Floor behavior is determined by the Elevator Control Mode above.
- Token Time: If the Elevator Control Mode is set to Emulate Unlock Menu the floors will be unlocked for this length of time when the elevator control mode is activated.
Manual Programmable Function Commands
Clicking the button beside a programmable function record (only visible when hovering) opens a menu with manual commands for that programmable function.
Control
- Start Function: Starts the programmable function on the controller. The process will run when the triggering conditions are met.
- Stop Function: Stops the programmable function on the controller. The controller will generate a health status message indicating that the function is stopped.
Before you make changes to a programmable function you should first stop the function. When the changes have been downloaded to the controller you should start the function again. If this procedure is not followed the controller may not correctly implement the changes.