Reviews & Opinions
Independent and trusted. Read before buy AMX Axcess Control System Program!

AMX Axcess Control System Program Manual

Preview of first few manual pages (at low quality). Check before download. Click to enlarge.
Manual - 1 page  Manual - 2 page  Manual - 3 page 

Download (English)
AMX Axcess Control System Program, size: 1.4 MB
Instruction: After click Download and complete offer, you will get access to list of direct links to websites where you can download this manual.


AMX Axcess Control System ProgramAbout AMX Axcess Control System Program
Here you can find all about AMX Axcess Control System Program like manual and other informations. For example: review.

AMX Axcess Control System Program manual (user guide) is ready to download for free.

On the bottom of page users can write a review. If you own a AMX Axcess Control System Program please write about it to help other people.
[ Report abuse or wrong photo | Share your AMX Axcess Control System Program photo ]

Video review

Web Remote access Control Gadgets Home automation


User reviews and opinions

Comments to date: 7. Page 1 of 1. Average Rating:
TheWickedWizard 1:02pm on Sunday, September 19th, 2010 
Great accessory This is a great anti-glare screen protector for my i-touch. It is a little pricey.
boro 10:04am on Friday, September 17th, 2010 
Wonderful product. Easy To Set Up, Reliable Performance, Simple Controls, Lots of Storage, Sleek/Compact Alot of storage space and easy to use. Lots of Storage, Reliable Performance, Sleek/Compact, Easy To Set Up, Great Sound, Simple Controls
achaoge 2:57am on Wednesday, August 18th, 2010 
Fast, cheap, extendable 1st Gen. = No bluetooth Fast, cheap, extendable 1st Gen. = No bluetooth
rfc822 1:16am on Saturday, August 14th, 2010 
Good Arrived just as described. I rated the ease of use very low because I cannot figure out how to work the wi-fi. my idea of the ipod touch i am going to tell u this loud and clear the ipod touch is 200 dollars but its totally worth for anyone any age it has anyth...
ola 2:12pm on Wednesday, July 21st, 2010 
this is a cool mp3 player, It looks very good and I like it very much.but I think the price of it is a little expensive good expensive
irishs 5:05am on Friday, April 30th, 2010 
its easy to Use but its been a hell of trick of a time getting Media to play. the Only media movies you can watch is Youtube.
capwalker666 1:32pm on Thursday, April 29th, 2010 
I have owned this iPod for over a month from ...  Good touch screen S p e a k er I have owned this iPod for over a month from an eBay purchase, and it is the best iPod i have ever owned.

Comments posted on are solely the views and opinions of the people posting them and do not necessarily reflect the views or opinions of us.




Part I
AMX Training AMX University
In the ever-changing control industry, continual education is key to success. AMX University is dedicated to ensuring that you have the opportunity to gather the information you need to be successful. AMX University offers several methods of delivery: Classroom Experience an interactive, hands-on environment facilitated onsite by world-class AMX instructors at the following locations: U.S.: Dallas, Texas Los Angeles, California Tampa, Florida Philadelphia, Pennsylvania Chicago, Illinois International Permanent Training Facilities (support region): Australia Belgium China Germany Hong Kong India Italy Japan Russia Singapore South Africa Spain Turkey United Arab Emirates United Kingdom
Live Online (WebEx) Take advantage of the benefits of classroom instruction from the convenience of your office. These online courses are taught in small segments for self-paced comprehension. No travel required. On Demand Online A wide range of online courses that cover areas of control systems that matter most to you and your business are available on the Internet 24 hours a day. On Demand CD An on-the-go learning tool that makes the On Demand classes available to you without an Internet connection. Simply load the CD on your PC for access anywhere, anytime.
AMX Certified Expert (ACE) Program
ACE (AMX Certified Expert) certification is a great way to prove you have the needed skills to work on an AMX control system. AMX offers three ACE certifications, and you can earn one, two, or all three. ACE Designer ACE Installer ACE Programmer As a member of ACE, you will: Receive quarterly newsletters with the most current information related to your areas of expertise, as well as tips and ideas designed to make your jobs better the first time. Receive notifications about special ACE only purchase opportunities so that you can have the latest and greatest tools in your possession at a reduced rate. Be put on the list of possible beta testers for new products from AMX. Have use of the ACE logo on your business cards and letterhead. Be the first in your area to learn about new products and solutions from AMX. Achieve greater visibility in the AV and Control industry.

ACE Course Map

Classroom Courses
Following are high-level descriptions of all current AMX University classroom course offerings. Note that courses are subject to change, and not all courses are available in all locations. Refer to Online Registration and Schedules at for complete details regarding upcoming courses and locations. AMX Essentials This one-day introductory course offers you an exciting look at the capabilities of AMX products and control systems. AMX Designer This one-day ACE certification course for Designers gives you the tools and knowledge necessary to effectively design control systems using AMX VisualArchitect, a feature-rich tool you will use to design a basic control system and automatically generate the files your control system needs. AMX Installer This 3-day ACE certification course for Installers focuses on the fundamentals of installing an AMX control system through hands-on experience with AMX VisualArchitect, NetLinx Studio, and numerous diagnostic utilities. AMX Residential Bootcamp This 5-day ACE Certification course is designed for residential dealers of all levels who want to understand basic AMX control systems from beginning to end. AMX Programmer I This 5-day course for programmers and technical support personnel teaches the basic techniques for programming an AMX control system using NetLinxStudio. AMX Programmer II This 5-day course for programmers and technical support personnel focuses on intermediate techniques for programming an AMX control system using NetLinx Studio. AMX Programmer III This 3-day course for programmers teaches advanced NetLinx programming techniques using NetLinx Studio.

RMS Installation and Setup This 3-day course teaches you how to implement the Resource Management Suite with a server and NetLinx control system. Building Java Modules Using Cafe Duet This 3-day course for programmers uses the AMX Caf Duet software to develop communication modules for third-party devices. TPD4 UI Design This 2-day course is for anyone who designs graphical user interfaces for AMX Control Systems.
Live Online (WebEx) Courses
See available Live Online course offerings on the AMX website at

On Demand Online Courses

Courses on the following topics are accessible on demand from the AMX website at Control Systems Networking AMX Hardware AMX Software

On Demand CD

Contact your local AMX office to request an On Demand CD, which contains all the courses offered in the On Demand Online section of the AMX website.

Part I I

Other Industry Training Resources
The following industry associations offer additional industry training opportunities: National System Contractor Association (NSCA) - NSCA University The NSCA University strives to advance the commercial electronic systems industry by providing superior training for professionals at all levels of expertise. Offering a variety of courses and training methods ranging from year-round regional training to online courses, the University is designed to meet companies needs for increased business and technical training. Offerings include: System Certification Assessments Business Courses Certification Preparation Seminars Certificate of Completion Program Custom Course Training E-Learning EST Training Other Resources A/E Toolkit The A/E Toolkit provides members of the design and engineering industry with resources and information on the products and services for low voltage technologies that the member companies of the NSCA provide. NSCS Consultants ListServ The ListServ is an email list of independent design consultants working in the electronic systems integration industry. It is intended to be an educational and informative online forum where independent design consultants can interact, exchange ideas, and learn from each other. Essentials of Systems Integration 2006 Designed to help business owners and managers run their business more efficiently, Essentials of Systems Integration 2006 is a CD-Rom based manual of practice for the electronic systems industry providing enhanced business tools to make your life easier. Exclusively for NSCA corporate members, Essentials is a comprehensive resource created to ease the daily challenges and issues faced by systems integrators.

NSCA Government Issues As the leading advocate for the low-voltage industry, the NSCAs goal is to create and maintain a regulatory environment that is conducive to the growth and prosperity of the industry. One of the NSCAs initiatives is to offer comprehensive information on the electronic systems evolution. Industry Links This section of the NSCA website includes numerous links to associations, publications and specific market segments. Online Library The NSCA on-line Library has been made possible thanks to the industry publications working in partnership with the NSCA. Articles from each of their magazines, including white papers from within the NSCA, are catalogued in this library for your easy reference. The Library is updated monthly so plan to re-visit often. Tech Tutorials This resource published by NSCA and ProAV magazine will provide you with ongoing technical tips and techniques as a supplement to the monthly Tech Tutorials printed in ProAV magazine. Tech Tutorial Online provides you with two types of supplemental information: Introductory Information: Designed to be read prior to the printed insert, the introductory articles provide a good overview of each topic, including references and resources for more related information. Advanced Information: Written for more experienced professionals, these articles provide further depth of information regarding each topic. InfoComm International - InfoComm International specializes in audiovisual (AV) education. Course Tracks include: Introductory Courses for AV Professionals Quick Start to the Audiovisual Industry The Essentials of the A/V Industry A/V from A-Z for Sales Professionals Principals of Technology Support CTS Prep Design Design School Online Design School Level 1: The Principles of Applied AV Design Design School Level 2: Facilities Design Design School Level 3: Systems Design OnDemand Presentations Design Tutorials Whitepapers Articles by InfoComm International Members
Installation Installation School Online Installation School Level 1: Installation Technician Installation School Level 2: Lead Installation Technician OnDemand Presentations Installation Tutorials Whitepapers Recommended Books

Project Management Project Management Overview Project Management: Competencies and Structures Project Management for Executives Sales AV from A-Z for Sales Professionals Professional Integrated Systems Sales Tutorials Whitepapers
Rental and Staging Rental School Online Tutorials Articles by InfoComm International Members Networking Audio-Video and Control Systems Networking Networking for the Commercial AV Professional Selling and Integrating Networked AV Systems Tutorials Articles by InfoComm International Members Additional InfoComm International Resources include: InfoComm Certification Program: Audiovisual Best Practices (book) The Basics of Audio and Visual System Design (book) Other Recommended Books
Custom Electronic Design & Installation Association (CEDIA) - CEDIA University CU On the Road This fresh approach for delivering CEDIA training brings CEDIAs quality education to a location near you for added convenience. The format of these events will focus on concentrated curriculum in one of CEDIA University's five curricula. Certification reviews and exams and full-day workshops will be offered as well. Electronic Systems Technician Residential Boot Camp This course emphasizes the basic skills necessary in the custom electronic industry. Electronic Systems Project Management Boot Camp This two-day course is targeted to those responsible for managing custom electronics installations, such as project managers, project engineers, and field supervisors. Calendar of Industry Events Management Conference Certification Installer Level I Exam Installer Level II Exam Designer Exam Home Theater Designer Specialty Exam Intensive Training Workshops Five Day Designer School Business Boot Camp Intensive Business Planning Workshop Designer Boot Camp Consumer Electronics Association (CEA) - Certifications Mobile Electronics Certified Professional (MECP) Certification Study Guides Basic Installer Study Guide Advanced Installer Study Guide Mobile Product Specialist Study Guide


Creating Levels.. 101

Overview All About Levels Creating Levels Level Keywords Send_Level Create_Level Define_Connect_Level 106

Using Levels.. 107

Overview Reading Levels Making a Preset Using Bargraphs Connecting Levels 108

Operator Types.. 111

Overview 111
Changing and Comparing Values Arithmetic Operators Relational Operators True and false Logical Operators Bitwise Operators Abbreviations Precedence Among Operators Operator Keywords Logical operator keywords And (&&) Not (!) Or (||) XOR (^^) Bitwise operator keywords BAND (&) BNOT (~) BOR (|) BXOR (^)
Variable Types and Conversions.. 123
Overview ASCII Codes Integer Arrays Variable and Conversion Keywords ATOI INTEGER ITOA ITOHEX 126 126
Two-Dimensional Arrays... 127
Overview The two-dimensional array Storing values Retrieving values 128 129
IF and the Boolean Expressions.. 131
Overview Introduction Boolean Expressions The IF Statement 132 132
The If.Else Set of Statements The If.Else If Set of Statements Nesting The Select.Active Statement More Boolean Operators Reading a Boolean Expression Table Boolean Keywords Select.Active Else If

139 139

While Keywords... 141
Overview While Keywords Long_While Medium_While 142 144

Using Buffers... 145

Overview Communicating to the Outside World Receiving strings Creating buffers Storing characters Retrieving characters Buffer Keywords Clear_Buffer Create_Buffer Create_Multi_Buffer Get_Buffer_Char Get_Multi_Buffer_String 151 152
Waits and Timer Keywords.. 153
Overview Controlling Time in AXCESS The Wait List Multiple Waits Naming Waits Canceling, Pausing, and Restarting Waits Special Uses of Wait The Wait_Until Keyword Misusing Wait_Until 160
Naming and Removing Wait_Untils The Timer Keywords Set_Timer Get_Timer

161 161

Using Time, Date, and Day.. 163
Overview Time, Date, and Day Keywords Date Day Time 165

Using Subroutines.. 167

Overview Subroutines Defining a subroutine Calling subroutines Local Variables and Parameters Local Variables Parameters Passing values back to the caller Local Variables and Parameter Keywords Call Define_Call Local_Var 174 174
Include Files and System_Calls... 177
Overview Managing Large Programs Include files System_Calls and Library files Factory System_Calls The instance number and name mangling 180 181

Pre-Processor Statements.. 185
Overview Include File and System_Call Keywords Include System_call _ _Date_ _ #Define #Warn 186
#End_If _ _File_ _ #If_Defined #If_Not_Defined _ _Line_ _ _ _Name_ _ _ _Time_ _ _ _ Version _ _

188 188

Debugging... 191
Overview Introduction Types of Errors Compilation Errors and Warnings (w) Cannot assign unlike types (w) Define_Call is not used (w) Integer applies to arrays only (w) Long_While within While (w) Possibly too many nested levels (w) Variable is not used Run-time errors Using AMX BUG Bad assign 2dim. Bad assign Call. Bad element assign. Bad Off. Bad On. Bad To. Bad re-assign Call. Bad run token Bad Set_Length. Bad While Tracking down your errors Tracing program flow Viewing Variables 197
Compiler Error Messages... 199
Overview A <symbol> was expected Active keyword expected Allowed only in Define_Start Attempted Call to undefined subroutine Comment never ends, EOF encountered 199 199
Conditional compile nesting too deep Constant type not allowed Define_Call must have a name Define_Call name already used Device values must be equal Duplicate symbol Evaluation stack overflow Evaluation stack underflow Identifier expected Identifier is not an array type Include file not found Invalid include file name Library file not found Maximum string length exceeded Must be char array reference Must be integer reference Out of memory Parameter mismatch in Call Program_Name must be on line 1 Push/Release not allowed within Push/Release Push/Release not allowed within Wait Push_Channel not allowed within Wait Release_Channel not allowed within Wait Push_Device not allowed within Wait Release_Device not allowed within Wait String constant expected String constant never ends, EOF encountered String literal expected Subroutine may not call itself Syntax error System_Call name not same as Program_Name in <file> This variable type not allowed To not allowed within Define_Start To not allowed within mainline To not allowed within Release To not allowed within Wait Too few parameters in Call Too many include files Too many parameters in Call Type mismatch in function call

204 204

Undefined identifier Unmatched #End_If Unrecognized character in input file Use System_Call [instance] name Variable assignment not allowed here Wait not found

205 205

The External_Control Protocol.. 207
Overview Controlling AXCESS from the Outside Sending Commands Responses from AXCESS External_Control Keyword External_Control 210 210

Appendix.... 211

Overview AMX Programming Standards AXCESS Keywords ASCII Code Chart Hexadecimal Chart Abbreviations 223
Accessing the AMX BBS... 225
About Worldgroup Manager Installing Worldgroup Manager Adding the AMX BBS to the Worldgroup Manager: 225

Technical Support... 229

Overview 229

Glossary... 231

Overview 231

Index... 241



The AXCESS system is a microprocessor-based control system capable of controlling both simple and complex devices, giving you complete control of every device in any system. Through a flexible language, AXCESS can be programmed to handle almost any task. AXCESS can automatically dim lights, increase volume controls to preset levels, turn on video projectors, and much more. An IBM-compatible computer is required to program the AXCESS Control System, and not much memory is needed. Even complex AXCESS programs can be handled by an average laptop computer. Once the system is programmed, the computer is needed only for diagnostic tests and for loading or saving programs.

Programming with AXCESS

AXCESS is designed to be user-friendly. Although there are more than 90 commands, many are self-explanatory and take little time to master. If you make a mistake in your program, AXCESS finds the error and reports it to you. With this helpful aid, you can make both minor and major programming changes quickly and easily in the field. An understanding of DOS is not even necessary, except for a few commands involved in the initial installation of AXCESS.

What's in this Manual

This manual contains instructions on how to install the AXCESS program and how to program in AXCESS.
AXlink The AXCESS Control Systems communication bus.
Getting Started Describes how to set device numbers for the devices on AXlink, and lists recommended device numbers. It also describes how to force the AXCESS Control System into monochrome mode (for use with LCD or plasma-type monitors), how to connect the system, and describes the blinking LED status indicator. Using the Menus Describes the AXCESS menu structure.

Introduction to AXCESS

Text Editor Describes how to use the text editor and covers related concepts such as blocking, search and replace, push windows, simulated button press and compilation errors. Simply the Basics Describes how to begin creating AXCESS programs and describes the basic ground rules of AXCESS programming. It also covers the device-channel concept, describes the different sections that comprise an AXCESS program, shows how AXCESS executes a program, and describes basic input/output functions and simple feedback. Using Mainline Describes mainline, checking the WAIT and WAIT_UNTIL lists, turning off expired PULSE s, handling Central Controller RS-232 communications, and updating the AXlink communications bus. Definition Sections Describes how to write an AXCESS program using definition sections. It includes explanations of programming concepts such as defining devices, constants, and variables. It describes startup code, mainline, and lists definition keywords. Using Input and Output Describes how to use input and output, channels, direct assignments, and putting input and output together. It includes explanations of the concepts involved and examples of AXCESS programming code. Channel Characteristics Describes channel characteristics and includes explanations of channel concepts, and examples of AXCESS programming code. It includes information on the parts of an output channel, device-channel, defining latching, mutually exclusive, programming feedback, and lists channel keywords. Arrays and Strings Describes how to define arrays, how to access and store arrays, and how to use strings. It includes explanations of concepts involved, lists array and string keywords, and includes example AXCESS programming code. Creating Levels Describes how to create levels. It includes explanations of the concepts involved, lists levels keywords, and includes example AXCESS programming code.

Identifiers are used to denote a device, constant, or variable. For example, T_PANEL could represent an AMX Touch Panel, PLAY could represent the first channel, and CD_SELECT could represent the current compact disc player. There are certain guidelines for identifiers:
Identifiers must begin with a letter followed by any combination of letters, numbers, or underscores. No spaces are allowed. Valid identifiers: "CD3" , "TOUCH_PANEL" Invalid identifiers: "3VHS" , "CD PLAYER" , "*RGB4" The identifier must have fewer than 26 characters. Identifiers are not case-sensitive. For example, Touch_Panel is the exact same identifier as TOUCH_PANEL. Each identifier must be unique. Once you define VHS3 , do not choose that same name later for a different identifier.
Keywords are certain words that are reserved for AXCESS functions. These are integral to the system and cannot be redefined or used as identifiers. For example, PUSH cannot be used as an identifier, because AXCESS recognizes it as a keyword.

Using Mainline

Mainline The only section of the program that is executed continuously by the Central Controller. Also known as the DEFINE_PROGRAM section. Note The only definition sections that have executable code are DEFINE_START and DEFINE_PROGRAM. DEFINE_CALL sections are not considered definition sections.
An AXCESS program typically consists of several definition sections, such as DEFINE_DEVICE , DEFINE_VARIABLE , and DEFINE_PROGRAM. Each definition section has a different function. Not all definition sections are required for a complete program. However, the DEFINE_PROGRAM section is required because it contains the program code that is executed by the Central Controller. This section of program code is also known as mainline. It is executed continuously as long as the Central Controller has power. When the Central Controller is powered up, it first executes the code in the DEFINE_START section. Then it starts at the beginning of mainline, which is the first line of program code after the DEFINE_PROGRAM header. While executing mainline, the Central Controller processes the statements in the program, taking whatever actions are defined by the program. At the end of mainline, the Central Controller does some internal processing, then returns to the top of mainline to start another loop (Figure 26). During this time, the Central Controller operations include: Checking the WAIT and WAIT_UNTIL lists Turning off expired PULSE s Handling Central Controller RS-232 communications Updating the AXlink communications bus After the Central Controller handles these tasks, it executes mainline again. The following sections describe what happens during each of these operations.

Output Change Keywords

The output change keywords are listed below:

Figure 29

[ DEVI CE, Ch a n n e l ] Ch a n n e l ] Ch a n n e l ] Ch a n n e l ]
Keywords affecting output changes
Ch a n n e l ] Ch a n n e l ] Ch a n n e l ]
When you use one of these keywords to activate a channel in a device, the device starts the operation that is associated with the channel. For instance, activating channel 5 on a relay card activates relay number 5, whereas activating channel 5 on an infrared/serial card causes it to generate the infrared pattern it has stored at location 5.
These keywords can be used in conjunction with variables. When a variable is activated with one of these keywords, turning it ON gives it a value of 1, and turning it OFF gives it a value of. Here are brief definitions of each of the output change keywords:
The ON keyword turns on a channel or variable. If the channel or variable is already on, its status will remain unchanged. Here are two examples:

ON [1,2]

This turns on channel 2 of device 1. This sets the value of the variable TEMP to 1.


A variable is considered ON if it contains a non-zero number; in this case, the value is 1. If a variable contains the value , it is considered OFF.
The OFF keyword turns off a channel or variable. If the channel or variable is already off, its status will remain unchanged. Here are two examples:

OFF [1,2]

This turns off channel 2 of device 1. This sets the value of the variable TEMP to.


The TOTAL_OFF keyword acts in the same manner as OFF , except that it also turns off the status of a channel or variable that is in a mutually exclusive set. For more information on mutually exclusive sets, refer to the Mutually Exclusive section in Channel Characteristics.
The TO keyword is used to activate a channel or variable for as long as the corresponding device-channel of its PUSH statement is activated. When the devicechannel referenced by the PUSH statement changes from off to on, the TO activates the device-channel or variable in the brackets following it. When the device-channel of its PUSH is released, the TO statement stops activating its device- channel or variable. For this reason, TO must be placed underneath a PUSH statement. The TO keyword has several conditions: It must be used only below a PUSH statement. It cannot be used with the WAIT keyword. For detailed information, refer to Multiple Waits in the Waits and Timer Keywords section. It cannot be placed in the DEFINE_START section. The channel or variable will act under the rules set by DEFINE_LATCHING , DEFINE_MUTUALLY_EXCLUSIVE , and DEFINE_TOGGLING. For more information, refer to the Channel Characteristics section. You will learn about these definitions later, when you add more to your program.

The main program starts in the above section. The code inside each PUSH sets the current camera variable, then calls the camera macro with the selected camera passed as the WHICH_CAM parameter.

Arrays and Strings

In this section arrays and strings will be introduced. Understanding these concepts and the associated keywords will allow you to easily handle data, and will provide another means of communicating with the outside world. This section includes explanations of concepts involved, and example AXCESS programming code.

Defining Arrays

In the program developed in the previous sections, you used a variable. A variable can only hold one value at a time. However, if you need a variable to hold several values at once, you can use an array. An array is a single variable that has more than one storage location. Arrays must be defined as variables in the DEFINE_VARIABLE section of your program. Its definition has two parts: a unique identifier and its storage capacity. First, the variable must be named by a valid identifier. For more information on identifiers, refer to Identifiers in the Simply the Basics section of this manual. Second, the number of storage locations in the array must be indicated. A maximum of 255 locations can be specified, and each location holds a value from to 255. For your new program, you want to store several preset levels for the volume control card. You could create several individual variables and use IF statements or SELECT.ACTIVE statements to select the preset you want to use. Or even better, you could create an array and use the index value (explained below) to pick the preset you want to use. Here is your array declaration:
This declares a new variable, PRESETS , which is shown in Figure 33. The variable CAM PRESETS is an array which can hold six distinct values, as defined by the number 6 inside the brackets.
Figure 33 The array CAM_PRESETS has six empty storage locations
Accessing and Storing Array Values
To access a particular value in an array, refer to the storage location inside the array you wish to retrieve, as shown in the example below:

statement. This loop continues until RELAY_INDEX becomes 15, in which case the compound statement following the WHILE is not executed, and AXCESS goes on to the rest of the program. This block of code effectively turns on the first 14 channels of device RELAY. The limitation on using the WHILE keyword is that the amount of time AXCESS spends executing any WHILE cannot exceed 0.5 seconds. This is because the Central Controller updates AXlink (the communications bus between all AXCESS devices) between each pass through mainline. If AXlink is not updated at certain time intervals, problems could develop during bus communications. To prevent an AXCESS program from stalling mainline too long, there is a 0.5 second timeout on WHILE loops. AXCESS will forcibly exit the WHILE after 0.5 seconds, regardless of the operation it is executing.


In cases where a WHILE loop takes longer than one half-second to execute, change the WHILE keyword in question to a LONG_WHILE. The difference between a WHILE and a LONG_WHILE is that after each loop through the statement, the AXlink bus is updated. This makes the statement or compound statement following a LONG_WHILE a mini-mainline, for as long as the condition of the LONG_WHILE is true. Therefore, LONG_WHILE has no timeout period. You must provide a way out of your LONG_WHILE (by allowing the condition to become false), otherwise the program will become stuck inside the LONG_WHILE and no other code outside of the loop will be executed. See the following example:


Caution You must provide a way out of your LONG_WHILE (by allowing the condition to become false), the program will become stuck inside the LONG_WHILE and no other code outside of the loop will be executed.
} In the example above, a variable called WHILE_TIMEOUT (a flag used to force the program out of the LONG_WHILE ) is added. Before starting the LONG_WHILE loop, first initialize the timeout flag to , and set the RELAY_INDEX ( the relays that will turn on first) to 1. Then start a three-second wait to set WHILE_TIMEOUT to 1. The WAIT keyword tells the Central Controller that the following code needs to be executed at some later time. The time is specified right after the WAIT keyword in tenths of a second. In this example, WAIT 3 is three seconds. The Central Controller remembers that in three seconds it should execute the line of code WHILE_TIMEOUT = 1. Now start the LONG_WHILE. The statements inside the LONG_WHILE execute until the condition after the LONG_WHILE becomes false. This occurs either when RELAY_INDEX reaches a value greater than 14, or the WHILE_TIMEOUT variable becomes 1. Inside the LONG_WHILE , turn on the relay RELAY_INDEX , and then increment RELAY_INDEX. The LONG_WHILE will turn on relays 1-14. If the master were to spend more than three seconds turning on these relays, it will exit the LONG_WHILE and execute the code following the LONG_WHILE.

used in the DEFINE_START section.
The CREATE_BUFFER keyword directs AXCESS to place any data received from the specified device into the specified array. When AXCESS places the bytes into the array, it increments the length value for the array and then places the bytes into the array at the current end of the array. See Figure 62 for a pictorial explanation.
Even though the array is acting as a buffer, it is still an array and can be treated as one. You can still access the individual locations, send it to a device, assign it to other arrays, assign other arrays to it and use the array manipulation keywords discussed previously in the Arrays and Strings section.
BUFFER Figure 62 When data comes in from a device, it goes into the spot determined by the length value of the array. Here, the length value was 3. So the 'Y' is put into location 4, and the length value is incremented to 4.

Storing characters

Serial data Data that is sent one byte at a time.
When a device sends string information to the Central Controller, the Central Controller places the incoming information into the buffer created for that device, and updates the buffers length value. These actions are executed after the Central Controller has passed through mainline. Since all data going in and out of these devices is serial, each byte is handled one at a time. If the buffer is full when a character needs to be inserted into it, AXCESS drops the first character and shifts the contents of the buffer to the left, and inserts the new character at the end of the buffer, as shown in Figure 63.
Note A buffer is said to be full when its length value is equal to the storage capacity. Figure 63 Inserting a character into a full buffer causes the first character to be dropped

Retrieving characters

Use the keyword GET_BUFFER_CHAR to retrieve characters. This keyword has a twopart operation:
First, it retrieves the first character in the buffer for your own utilization. This creates the same effect as if you retrieved the first storage location of a normal string array. Second, it removes that character from the buffer, causing all the other characters to shift up one place. The second character is now the first, the third is now the second, and so on.

Here is the syntax:

string = GET_BUFFER_CHAR (array)
The parameter passed to GET_BUFFER_CHAR must be an array, but does not need to be a buffer. Remember that all buffers are arrays, but not all arrays are buffers. The statement will operate identically in either case. The result must be a simple variable (not an array), because only one character will be returned. These examples show how to create an array called SWT_BUFFER with a capacity of a hundred characters, and how to make it a buffer associated with a device named SWT.

In this example, GLOBAL contains the value 1 at the comment statement. In the subroutine BUGGY , after GLOBAL is set to 2 , AXCESS reassigns the value in PARAM to the variable in the CALL statement which called BUGGY in this case, GLOBAL. The parameter variable PARAM contains the value 1 at the end of the subroutine, and this value is reassigned to the variable in the CALL statement GLOBAL.
Local Variables and Parameter Keywords
Local variables and parameter keywords that you can use in the AXCESS program are listed in Figure 67, and their descriptions follow.
Figure 67 Local variables and parameter keywords Local variables and parameter keywords CALL DEFINE_CALL LOCAL_VAR
To tell AXCESS to execute a subroutine, use the CALL keyword and the name of the subroutine in single quotes. For example, to execute the subroutine LIGHTS OFF , type the following where you want the CALL to occur:


In AXCESS, subroutines are created using the DEFINE_CALL statement. The subroutine name follows the DEFINE_CALL keyword, enclosed in single quotes. There are certain restrictions for these subroutine names: They cannot be previously defined constants or variables. They cannot be names that have already been assigned to BUFFERS or WAIT s. They are case-sensitive. For example, Test and TEST are not the same. Subroutines must be defined before they can be used. For this reason, DEFINE_CALLS are typically placed right before the DEFINE_START section of the program. Here is the format:
DEFINE_CALL subroutine name { (* The subroutine goes here *) }
Spaces in the subroutine name are allowed because it is a string literal. Notice that the subroutines code is enclosed in braces. No matter how long the subroutine is, it must be in this format.


This keyword is used inside a DEFINE_CALL to declare local variables. A local variable is a variable which is declared inside a DEFINE_CALL and can only be used inside that same DEFINE_CALL. Variables declared in the main DEFINE_VARIABLE section are called global variables. The words local and global refer to a variables scope, which determines the parts of the program that can access the variable. Global variables have global scope; that is, the entire program has access to them. A local variable has local scope, and can only be accessed inside the DEFINE_CALL in which it is declared.


The following is a list of some common run-time error messages you may see while the debugging mode is on. An ellipsis after the message indicates that there is a group of messages that have the same beginning. For instance, BAD TO. refers to the set of errors BAD TO VARIABLE and BAD TO CHANNEL.

Bad assign 2dim.

These errors occur if an attempt is made to assign a two-dimensional array to a different type (such as a variable or one-dimensional array), and vice versa.

Bad assign Call.

These errors occur if the Central Controller cannot assign a parameter in a CALL statement to the parameter in the corresponding DEFINE_CALL statement.

Bad element assign.

These errors occur if an assignment is attempted past the end of an array, or to the location of an array (for example, ARRAY[] ).

Bad Off. Bad On. Bad To.

These errors indicate that the device-channel or variable that is being referenced by a OFF , ON , or TO keyword is out of range.

Bad re-assign Call.

These errors occur when the Central Controller attempts to re-assign the parameter variables in a DEFINE_CALL to the parameters in the corresponding CALL statement, and the assignment cannot be made.

Bad run token

This error occurs when the Central Controller does not understand a piece of data in the program it is executing.

Bad Set_Length.

These errors occur if the SET_LENGTH_STRING keyword tries to set the length value of an array to a value greater than the arrays storage capacity.

Bad While

This error occurs whenever a WHILE loop terminates due to the half-second timeout imposed on WHILE loops.
Tracking down your errors
Logic errors Errors in the actual design of the program.
Finding run-time errors and logic errors can sometimes be difficult. Observing the values of variables during program execution, following program flow through conditional statements, and finding the locations of run-time errors are not easy tasks. However, there are some tools to help in your debugging.

Tracing program flow

Note Using the Central Controller in this way is only useful in debugging. The Central Controller cannot control devices through its communications port.

Compiler Error Messages

This section lists all of the messages that can occur when there is an error during the compilation of your program. Unlike warnings, errors must be corrected before your AXCESS program can be executed.
A <symbol> was expected
The compiler is expecting a certain symbol at this particular place.

Active keyword expected

An ACTIVE keyword is not present after a SELECT keyword.
Allowed only in Define_Start
A keyword that is only allowed to appear in the DEFINE_START section of the program was encountered elsewhere.
Attempted Call to undefined subroutine
A CALL statement refers to a subroutine that has not been defined with a DEFINE_CALL statement.

EOF End of file

Comment never ends, EOF encountered
A comment begins but never ends. Place a close comment, *) at the end of the unfinished comment.
Conditional compile nesting too deep
There are too many nested #IF_DEFINED or #IF_NOT_DEFINED conditional compilation statements. The limit is 20 nested conditional compilation statements.
Constant type not allowed
A constant value was declared as latching, toggling, or mutually exclusive, as shown below:


DEFINE_LATCHING PLAY (* Error: PLAY is a constant *)
Define_Call must have a name


must have a name after it. For example, DEFINE_CALL VHS.
Define_Call name already used
The name of the DEFINE_CALL has already been used. This name cannot be the same as an already declared identifier of any type.
Device values must be equal
In a range specification, the devices (or their defined identifiers) must be equal. For example, ([1,1].[1,5] ) is valid; ([1,1].[2,5] ) is not.

Duplicate symbol

Duplicate definitions of variables or constants are found. All variables and constants must have unique identifiers.
Evaluation stack overflow Evaluation stack underflow
The expression is too complicated. Try breaking it up into smaller pieces.

Identifier expected

The compiler is expecting an identifier after a #DEFINE statement or after an integer declaration in the DEFINE_VARIABLE section.
Identifier is not an array type
A non-array variable was treated as an array.

Include file not found

An INCLUDE statement was encountered, but the specified include file could not be found.
Invalid include file name
A string literal enclosed in single quotes must follow the INCLUDE keyword.

Library file not found

*NOTE: If you choose not to use descriptive names for constants you must comment your code! Similar sections of code should be kept together and commented as such.
PUSH[TP,25] TO [RELAY,3] [TP,25]=[RELAY,3]
SYSTEM_CALL [1] 'VCR1' (VHS,TP,1,2,3,4,5,6,7,0,0) PUSH[TP,26] TO [RELAY,4] [TP,26]=[RELAY,4]


(* TRANSPORT CONTROL ***************************) SYSTEM_CALL 'VCR1' [1] (VHS,TP,1,2,3,4,5,6,7,0,0) (* LIGHTING CONTROL ****************************) PUSH[TP,26] TO [RELAY,4] (* LIGHTS ON [TP,26]=[RELAY,4] PUSH[TP,25] TO [RELAY,3] [TP,25]=[RELAY,3]
There should be no space between a PUSH (and a RELEASE) statement and its opening bracket. Conversely, there should always be a space for TO, MIN_TO, ON, OFF, and PULSE statements; there should be no spaces within the brackets for any case.
PUSH [TP, 25] TO[RELAY, 3] [TP,25] =[RELAY, 3]
Feedback for buttons should follow the PUSH statements with which they are associated.
(* FEEDBACK SECTION ****************************) [TP,25]=[RELAY,3] [TP,26]=[RELAY,4]


(* LIGHTING CONTROL ****************************) PUSH[TP,25] TO [RELAY,3] (* LIGHTS OFF *) [TP,25]=[RELAY,3] PUSH[TP,26] TO [RELAY,4] [TP,26]=[RELAY,4] (* LIGHTS ON *)
Do not use constants or variables for PUSH statements in mainline (except for AXCINP8 cards and similar devices).


Use descriptive names for all DEFINE_CALLs and their parameters.
DEFINE_CALL 'MACRO 1' (P1,P2) { ON [P1,P2] WAIT 50 'WAITING' OFF [P1,P2] }
Every DEFINE_CALL should at least have a descriptive name and descriptive names for all parameters and local variables.

d. Click on Settings. This is where you set up your modem.
1) Click on the com port your modem is attached to. If you aren't sure
which port your modem is attached to, contact your MIS manager or the place you bought your computer from. AMX Cannot support computer issues.
2) Select your modem from the list. If you don't see your specific modem
model, choose one of the generic modems. These will usually work.
3) Click on Options. Make sure Lock Modem Speed is unchecked. You may
also wish to select the maximum baud rate your modem is capable of in the Baud Rate section. Click OK to close the dialog.
4) Click OK to close the Modem Settings dialog
e. Enter your user information in the How to Log On section:
1) If you have an account on the AMX BBS: a) b) c)
Uncheck Log on as new user Enter your AMX BBS user name in the User ID field Enter your AMX BBS password in the Password field
2) If this is the first time you've logged on the AMX BBS: a) b)
Leave Log on as new user checked. You will need to fill in your user information the first time you log on. After you log in the for the first time, call AMX technical support to get your account updated properly.
3) Click on OK to close the Online Service Properties dialog box.
4) Set up the AMX BBS in the Online Service Properties dialog for internet

(telnet) connection.

a) b) c) d)
Type AMX BBS in the name field Click Telnet in the How to Connect section Enter "BBS.AMX.COM " in the Host field Enter your user information in the How to Log On section:
1) If you have an account on the AMX BBS: a) Uncheck Log on as new user b) c)
Enter your AMX BBS user name in the User ID field Enter your AMX BBS password in the Password field
3) Click on OK to close the Online Service Properties dialog box. 4.

You're done!

Technical Support
Before calling AMX for assistance, check your AXlink, power, and cable connections, and the integrity of your software operating system. Reload the software to see if something in the program is causing the problem. If the problem is not resolved, reload the program from a new copy of your master disk. If you still have a service problem, refer to the list shown in Figure 81 and map (Figure 82) to determine your team. Then, call your AMX Support Team for technical assistance.



DVP-S570D 838PRO WM-FX491 Aficio 850 Roses Traffic TC 64 GN 4140 R-2V18 V3000T 8-125 Bridge 3000 Review Navigator 2001 Dvdr3590H EOB63100X Nikon FE-2 DVD740VR-021 DVD-R100A CLX-3175N XSS DPF-V700 DKU-5 HV 3000 PRO9500 SBM150 SD-9420 TH-42PV8PA F115HP-2003 3 5 RDZ-D5 MX37-T-003 CJ-V61KW HL-5140 E5916 Basscube 8S Adventure 2 LM-6000 CF-10 Sheet DMX-SW1 DES-6500 Ferguson TE20 Brain LC-15L1E XVS650AL 5552 BL Pnts 09E Rebel VX924 CP1036A Dr-mx1 SRU3003WM Studio 8 CQ-VD7005N Enclave VC-6713 WT-Y138RG Trac-2003 CK136T System Spotmatic F Player RX-ES1 8830 S Sable 1996 Fx-100 Twin F5D8232-4 80383 JBL TI6K Optra T EC-01 Biplace 43n 47N Acu-rite Sendo X HD52W59 Roadmate 760 ZX-10R DN-V310 L26H01E Topas TCP54VT25 12 MAP System XM-ZR604R 29PT8521 12 PMA-SA1 SV-236MK MX700 DMC-LZ10 KD-DV7302 M280E Way Plus Carlo MP28 AJ3980 Digitech RP55 PSR90 DVA-9861RI 790R-serials-810046371-thru 87128iss7 Deskjet 5443


manuel d'instructions, Guide de l'utilisateur | Manual de instrucciones, Instrucciones de uso | Bedienungsanleitung, Bedienungsanleitung | Manual de Instruções, guia do usuário | инструкция | návod na použitie, Užívateľská príručka, návod k použití | bruksanvisningen | instrukcja, podręcznik użytkownika | kullanım kılavuzu, Kullanım | kézikönyv, használati útmutató | manuale di istruzioni, istruzioni d'uso | handleiding, gebruikershandleiding



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101