Axcess Basics
DEFINE_MUTUALLY_EXCLUSIVE
When a channel is turned on in a mutually exclusive set, it activates its physical output as long as
the button is pressed. When the button is released, the physical output stops. The status, however,
does not work the same way. Even after the physical output stops, the status still indicates the
channel is on until another channel in the mutually exclusive set is activated. The status is left on to
indicate which channel in the set was last activated. This is sometimes called last button pressed
feedback. When a channel or variable in this set is activated, all the other members of the set are
turned off beforehand. This is called break before make logic. This prevents an accidental activation
of more than one channel at the same time, which could cause serious damage to some devices.
Members of a mutually exclusive set are placed in parentheses underneath the
DEFINE_MUTUALLY_EXCLUSIVE keyword. The double period (..) shortcut specifies a range
of device-channels to be defined as mutually exclusive. For example:
DEFINE_MUTUALLY_EXCLUSIVE
([RELAY,SCREEN_UP],[RELAY,SCREEN_DOWN])
([RELAY,DRAPE_OPEN]..[RELAY,DRAPE_STOP]) (* defines a range of
DEFINE_START
DEFINE_START marks the section of programming that will be executed only once immediately
following power-up or system reset. They cannot be executed again until another Axcess power-up.
The keyword TO cannot be used in the DEFINE_START section; instead, use ON, OFF, or PULSE.
For information on these keywords, refer to Changing the State of a Channel section on page 16.
When the Axcess Control System is turned on, the program that was last loaded into the Central
Controller is in operation, and is waiting for input from the user. However, you can tell Axcess to
run a series of statements immediately when the system is turned on.
In your program, you may want to reset all three decks to stop (using SYSTEM_CALLs), turn on
the lights, open the drapes, and raise the screen when Axcess is powered up. For example:
DEFINE_START
PULSE[LIGHTS,LIGHT_FULL]
PULSE[RELAY,DRAPES_OPEN]
PULSE[RELAY,SCREEN_UP]
SYSTEM_CALL 'FUNCTION' (VCR,STOP,Ø)
SYSTEM_CALL 'FUNCTION' (CD,STOP,Ø)
SYSTEM_CALL 'FUNCTION' (CASS,STOP,Ø)
Any resetting of variable values should be done in this section. Remember, variables retain their
values even if the system is powered down.
DEFINE_PROGRAM
Define_Program marks the beginning of mainline, telling the compiler that the following
statements make up the actual executing program. Before beginning the main program, you must
have the DEFINE_PROGRAM header. This header tells Axcess you are beginning the actual
program at this point. It is used like this:
DEFINE_PROGRAM (* Your program starts here *)
The most important feature of mainline is that it runs in a continuous loop. While most
programming languages have a beginning and an end, mainline is like a circle: when the Central
12
(* defines two channels as
mutually exclusive *)
channels as mutually exclusive *)
Axcess Programming Language
Need help?
Do you have a question about the AXCESS CONTROL SYSTEM PROGRAM and is the answer not in the manual?