PROGRAM_NAME='LUTRON, GRXAV232, RS-232, BASIC, 2-96, BA' (* DATE:05/20/99 TIME:15:47:16 *) (***********************************************************) (* The following code block is provided as a guide to *) (* programming the device(s) listed above. This is a *) (* sample only, and will most likely require modification *) (* to be integrated into a master program. *) (* *) (* Device-specific protocols should be obtained directly *) (* from the equipment manufacturer to ensure compliance *) (* with the most current versions. Within the limits *) (* imposed by any non-disclosure agreements, AMX will *) (* provide protocols upon request. *) (* *) (* If further programming assistance is required, please *) (* contact your AMX customer support team. *) (* *) (***********************************************************) (* NOTES: *) (* > THE GRX-AV-RS232 IS AN RS-232 INTERFACE FOR *) (* COMMUNICATING WITH 1-8 GRAFIK EYE MAIN UNITS OF THE *) (* 3000 AND 4000 SERIES. *) (* *) (* > THIS PROGRAM IS DIVIDED INTO 2 SECTIONS. THE SECTION *) (* LABELED "COMMANDS FOR UNIT 1" CONTAINS THE COMMANDS *) (* FOR ALL OF THE AVAILABLE FUNCTIONS ON A SINGLE GRAFIK *) (* EYE UNIT WHICH IS SET TO ADDRESS 1. THESE FUNCTIONS *) (* INCLUDE SELECTING SCENES (PRESETS) AND RAISING AND *) (* LOWERING THE LEVEL OF INDIVIDUAL ZONES. THIS GROUP OF *) (* COMMANDS CAN BE CONSIDERED AS A COMPLETE UNIT OR *) (* BLOCK OF CODE, AND THERE IS A CORRESPONDING TOUCH *) (* PANEL FILE TO ACCOMPANY THIS SECTION OF CODE (TITLED *) (* "LUTRON GRAFIK EYE 3000/4000, ..."). THE SECTION *) (* LABELED "OTHER COMMAND EXAMPLES" CONTAINS SEVERAL *) (* EXAMPLES OF OTHER COMMANDS WHICH ARE POSSIBLE, MOSTLY *) (* OF A MORE COMPLEX NATURE NEEDED FOR SPECIAL CIRCUM- *) (* STANCES, INCLUDING COMMANDS FOR MULTIPLE GRAFIK EYE *) (* MAIN UNITS, COMMANDS WHICH AFFECT MULTIPLE SCENES OR *) (* ZONES, AND SINGLE COMMANDS THAT PERFORM MULTIPLE *) (* FUNCTIONS. THIS GROUP OF COMMANDS SHOULD NOT BE *) (* CONSIDERED AS A COMPLETE UNIT OR BLOCK OF CODE, BUT *) (* RATHER AS INDIVIDUAL EXAMPLES TO DISPLAY SOME OF THE *) (* MORE ADVANCED COMMAND STRUCTURES WHICH ARE POSSIBLE. *) (* *) (* > TO REPRESENT SCENE NUMBERS 10 - 16 IN THE COMMAND *) (* STRINGS, USE THE CHARACTERS 'A' THRU 'G'; USE THE *) (* CHARACTER '0' TO REPRESENT "ALL OFF". *) (***********************************************************) (* GENERAL FUNCTION LIST - *) (* PRESETS, RAMPING LIGHTING LEVELS UP & DOWN, STATUS *) (* (FOR PRESETS ONLY). *) (***********************************************************) (* DEVICE NUMBER DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_DEVICE LIGHTS = 1 (* 232 CARD OR BOX *) PNL = 128 (* AMX PANEL *) (***********************************************************) (* CONSTANT DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_CONSTANT (***********************************************************) (* VARIABLE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_VARIABLE (***********************************************************) (* LATCHING DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_LATCHING (***********************************************************) (* MUTUALLY EXCLUSIVE DEFINITIONS GO BELOW *) (***********************************************************) DEFINE_MUTUALLY_EXCLUSIVE (***********************************************************) (* SUBROUTINE DEFINITIONS GO BELOW *) (***********************************************************) (***********************************************************) (* STARTUP CODE GOES BELOW *) (***********************************************************) DEFINE_START (***********************************************************) (* THE ACTUAL PROGRAM GOES BELOW *) (***********************************************************) DEFINE_PROGRAM (******************* COMMANDS FOR UNIT 1 *******************) (*** SCENE SELECTION ***) PUSH[PNL,11] (* SELECT SCENE 1 ON UNIT 1 *) SEND_STRING LIGHTS,"':A11',$0D" PUSH[PNL,12] (* SELECT SCENE 2 ON UNIT 1 *) SEND_STRING LIGHTS,"':A21',$0D" PUSH[PNL,13] (* SELECT SCENE 3 ON UNIT 1 *) SEND_STRING LIGHTS,"':A31',$0D" PUSH[PNL,14] (* SELECT SCENE 4 ON UNIT 1 *) SEND_STRING LIGHTS,"':A41',$0D" PUSH[PNL,15] (* SELECT ALL OFF ON UNIT 1 *) SEND_STRING LIGHTS,"':A01',$0D" (*** ZONE RAISE (STOP ZONE RAISE) ***) PUSH[PNL,21] (* RAISE UNIT 1, ZONE 1 *) SEND_STRING LIGHTS,"':B11',$0D" RELEASE[PNL,21] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" PUSH[PNL,22] (* RAISE UNIT 1, ZONE 2 *) SEND_STRING LIGHTS,"':B12',$0D" RELEASE[PNL,22] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" PUSH[PNL,23] (* RAISE UNIT 1, ZONE 3 *) SEND_STRING LIGHTS,"':B13',$0D" RELEASE[PNL,23] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" PUSH[PNL,24] (* RAISE UNIT 1, ZONE 4 *) SEND_STRING LIGHTS,"':B14',$0D" RELEASE[PNL,24] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" (*** ZONE LOWER (STOP ZONE LOWER) ***) PUSH[PNL,25] (* LOWER UNIT 1, ZONE 1 *) SEND_STRING LIGHTS,"':D11',$0D" RELEASE[PNL,25] (* STOP ZONE LOWER (ALL) *) SEND_STRING LIGHTS,"':E',$0D" PUSH[PNL,26] (* LOWER UNIT 1, ZONE 2 *) SEND_STRING LIGHTS,"':D12',$0D" RELEASE[PNL,26] (* STOP ZONE LOWER (ALL) *) SEND_STRING LIGHTS,"':E',$0D" PUSH[PNL,27] (* LOWER UNIT 1, ZONE 3 *) SEND_STRING LIGHTS,"':D13',$0D" RELEASE[PNL,27] (* STOP ZONE LOWER (ALL) *) SEND_STRING LIGHTS,"':E',$0D" PUSH[PNL,28] (* LOWER UNIT 1, ZONE 4 *) SEND_STRING LIGHTS,"':D14',$0D" RELEASE[PNL,28] (* STOP ZONE LOWER (ALL) *) SEND_STRING LIGHTS,"':E',$0D" (*** ZONE LOCKOUT ***) PUSH[PNL,31] (* ZONE LOCKOUT UNIT 1 *) SEND_STRING LIGHTS,"':ZL+1',$0D" PUSH[PNL,32] (* END ZONE LOCKOUT FOR UNIT 1 *) SEND_STRING LIGHTS,"':ZL-1',$0D" (*** SCENE LOCKOUT ***) PUSH[PNL,33] (* SCENE LOCKOUT UNIT 1 *) SEND_STRING LIGHTS,"':SL+1',$0D" PUSH[PNL,34] (* END SCENE LOCKOUT FOR UNIT 1 *) SEND_STRING LIGHTS,"':SL-1',$0D" (*** SEQUENCE ***) PUSH[PNL,35] (* SEQUENCE UNIT 1 *) SEND_STRING LIGHTS,"':SQ+1',$0D" PUSH[PNL,36] (* END SEQUENCE FOR UNIT 1 *) SEND_STRING LIGHTS,"':SQ-1',$0D" (***************** OTHER COMMAND EXAMPLES ******************) (*** SCENE SELECTION ***) PUSH[PNL,111] (* SELECT SCENE 7 ON UNIT 3 *) SEND_STRING LIGHTS,"':A73',$0D" PUSH[PNL,112] (* SELECT SCENE 11 ON UNIT 6 *) SEND_STRING LIGHTS,"':AB6',$0D" PUSH[PNL,113] (* SELECT SCENE 16 ON UNIT 1 *) SEND_STRING LIGHTS,"':AG1',$0D" PUSH[PNL,114] (* SELECT SCENE 3 ON UNIT 1, AND SCENE 2 ON UNIT 4 *) SEND_STRING LIGHTS,"':A31 A24',$0D" PUSH[PNL,115] (* SELECT SCENE 4 ON UNITS 1&3, AND ALL OFF ON UNITS 2,4,& 7 *) SEND_STRING LIGHTS,"':A413 A0247',$0D" (*** ZONE RAISE (STOP ZONE RAISE) ***) PUSH[PNL,121] (* RAISE UNIT 6, ZONES 1, 2, & 4 *) SEND_STRING LIGHTS,"':B6124',$0D" RELEASE[PNL,121] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" PUSH[PNL,122] (* RAISE UNIT 1, ZONES 1 & 2, AND UNIT 2, ZONES 3 & 4 *) SEND_STRING LIGHTS,"':B112 B234',$0D" RELEASE[PNL,122] (* STOP ZONE RAISE (ALL) *) SEND_STRING LIGHTS,"':C',$0D" (*** ZONE RAISE & ZONE LOWER COMBINED ***) PUSH[PNL,123] (* RAISE UNIT 1, ZONES 1&3, AND LOWER UNIT 1, ZONES 2&4 *) SEND_STRING LIGHTS,"':B113 D124',$0D" RELEASE[PNL,123] (* STOP ZONE RAISE & ZONE LOWER (ALL) *) SEND_STRING LIGHTS,"':C E',$0D" (*** ZONE LOCKOUT ***) PUSH[PNL,131] (* ZONE LOCKOUT UNITS 2, 4, & 6 *) SEND_STRING LIGHTS,"':ZL+246',$0D" PUSH[PNL,132] (* END ZONE LOCKOUT FOR UNITS 1-4 *) SEND_STRING LIGHTS,"':ZL-1234',$0D" PUSH[PNL,133] (* ZONE LOCKOUT UNIT 5, AND END LOCKOUT FOR UNITS 7 & 8 *) SEND_STRING LIGHTS,"':ZL+5 ZL-78',$0D" PUSH[PNL,134] (* ZONE LOCKOUT UNITS 3 & 6, AND ... *) (* END ZONE LOCKOUT FOR ALL OTHER UNITS *) SEND_STRING LIGHTS,"':ZL36',$0D" PUSH[PNL,135] (* END ZONE LOCKOUT FOR ALL UNITS *) SEND_STRING LIGHTS,"':ZL',$0D" (*** SCENE LOCKOUT ***) PUSH[PNL,136] (* SCENE LOCKOUT UNITS 2, 4, & 6 *) SEND_STRING LIGHTS,"':SL+246',$0D" PUSH[PNL,137] (* END SCENE LOCKOUT FOR UNITS 1-4 *) SEND_STRING LIGHTS,"':SL-1234',$0D" PUSH[PNL,138] (* SCENE LOCKOUT UNIT 5, END LOCKOUT FOR UNITS 7 & 8 *) SEND_STRING LIGHTS,"':SL+5 SL-78',$0D" PUSH[PNL,139] (* SCENE LOCKOUT UNITS 3 & 6, AND ... *) (* END SCENE LOCKOUT FOR ALL OTHER UNITS *) SEND_STRING LIGHTS,"':SL36',$0D" PUSH[PNL,140] (* END SCENE LOCKOUT FOR ALL UNITS *) SEND_STRING LIGHTS,"':SL',$0D" (***********************************************************) (* END OF PROGRAM *) (* DO NOT PUT ANY CODE BELOW THIS COMMENT *) (***********************************************************)