Plain English Language Reference

© 2004, Andover Controls Corporation All Rights Reserved No part of this publication may be reproduced, read or stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of Andover Controls Corporation. Produced in the United States of America. Infinity is a trademark of Andover Controls Corporation. All other trademarks are the property of their respective owners. Continuum Plain English Language Reference April, 2004 Andover Controls part number: 30-3001-872 The information in this book is furnished for informational purposes only, is subject to change without notice, and should not be construed as a commitment by Andover Controls Corporation. Andover Controls Corporation, assumes no liability for any errors or inaccuracies that may appear in this document.

Andover Controls Corporation 300 Brickstone Square Andover, MA 01810 (978) 470-0555 fax: (978) 470-0946

ii

Andover Controls Corporation

Table of Contents
Chapter 1 Fundamentals
At a Glance..............................................................................................................................1-1 Overview..................................................................................................................1-1 Introduction .............................................................................................................................1-2 The Plain English Language......................................................................................1-2 Continuum Products .................................................................................................1-2 Continuum System Architecture...............................................................................................1-3 Simple Continuum System ........................................................................................1-3 Moderate Continuum System ....................................................................................1-3 Network Controllers .................................................................................................1-4 Infinet Controllers.....................................................................................................1-5 MS/TP Controllers....................................................................................................1-5 I/O Modules .............................................................................................................1-5 Workstations.............................................................................................................1-5 CyberStation Software ..............................................................................................1-6 Database...................................................................................................................1-6 Infinet.......................................................................................................................1-6 LBUS .......................................................................................................................1-6 MS/TP......................................................................................................................1-6 Objects and Classes..................................................................................................................1-7 Introduction ..............................................................................................................1-7 Objects .....................................................................................................................1-7 Classes .....................................................................................................................1-7 BACnet Objects vs. Continuum Objects ....................................................................1-7 Attributes.................................................................................................................................1-8 Definition .................................................................................................................1-8 How to View Attributes ............................................................................................1-8 Basic Attribute Listing..............................................................................................1-9 Accessibility.............................................................................................................1-9 Object Ownership ..................................................................................................................1-10 Hierarchical View of System Objects ...................................................................... 1-10 Network Paths ........................................................................................................ 1-11 Naming Conventions..............................................................................................................1-12 Object Names ......................................................................................................... 1-12 Object Naming Convention..................................................................................... 1-12 Aliase Names.......................................................................................................... 1-13 Alias Naming Convention ....................................................................................... 1-13

Plain English Language Reference

iii

Chapter 2 The Plain English Integrated Development Environment
At a Glance.............................................................................................................................. 2-1 Introduction.............................................................................................................. 2-1 Opening the Plain English IDE................................................................................................. 2-2 To Create a New Program File.................................................................................. 2-2 From the Continuum Main Menu.............................................................................. 2-2 From the Continuum Explorer .................................................................................. 2-3 From the Start Menu................................................................................................. 2-3 Creating the Program File......................................................................................... 2-4 Plain English IDE Features ...................................................................................................... 2-5 IDE Tools Overview................................................................................................. 2-5 Rearranging IDE Toolbars and Windows .................................................................. 2-6 Title Bar................................................................................................................... 2-6 The Menu Bar.......................................................................................................................... 2-7 Offers Seven Menu Selections .................................................................................. 2-7 File Menu................................................................................................................. 2-7 Edit Menu ................................................................................................................ 2-7 View Menu .............................................................................................................. 2-8 Build Menu .............................................................................................................. 2-8 Tools Menu.............................................................................................................. 2-8 Window Menu.......................................................................................................... 2-8 Help Menu ............................................................................................................... 2-8 The Main and Find Toolbars .................................................................................................... 2-9 The Main Toolbar..................................................................................................... 2-9 The Find Toolbar...................................................................................................... 2-9 The Check Toolbar and Command Line ................................................................................. 2-10 The Check Toolbar................................................................................................. 2-10 The Command Line................................................................................................ 2-10 The IDE Explorer .................................................................................................................. 2-11 Features.................................................................................................................. 2-11 Popup Shortcut Menu ............................................................................................. 2-12 The IDE Editor ...................................................................................................................... 2-13 Features.................................................................................................................. 2-13 Displaying Multiple Programs ................................................................................ 2-13 The IDE Assistant.................................................................................................................. 2-14 Features.................................................................................................................. 2-14 Selecting and Placing Objects ................................................................................. 2-14 The IDE Watch Bar ............................................................................................................... 2-15 Purpose .................................................................................................................. 2-15 Docking and Floating............................................................................................................. 2-16 Docking and Floating Options ................................................................................ 2-16 Using the Docking and Floating Options................................................................. 2-16

iv

Andover Controls Corporation

Creating and Configuring a Plain English Program File ..........................................................2-17 Configuring the Program File.................................................................................. 2-17 Using the Editor .....................................................................................................................2-18 Program Guidelines ................................................................................................ 2-18 Text Entry .............................................................................................................. 2-18 The Editor Shortcut Menu....................................................................................... 2-19 Finding Text ........................................................................................................... 2-20 Replacing Text ....................................................................................................... 2-21 Going to a Labeled Program Line............................................................................ 2-22 Importing Programs ................................................................................................ 2-22 Exporting Programs ................................................................................................ 2-23 Saving the Program................................................................................................. 2-24 Opening the Program .............................................................................................. 2-25 Running the Program from the Command Line........................................................ 2-25 Monitoring the Program File Status......................................................................... 2-26 Stopping the Program ............................................................................................. 2-27 Using the Plain English Wizard..............................................................................................2-28 What it Does........................................................................................................... 2-28 How to Access It.................................................................................................... 2-28 The Wizard File Selection Menu ............................................................................. 2-29 Selecting and Configuring a Wizard Program .......................................................... 2-29 The Object References Screen................................................................................. 2-31 The Final Wizard Screen......................................................................................... 2-32

Chapter 3 Programs, Files and the Scanning Process
At a Glance..............................................................................................................................3-1 Introduction ..............................................................................................................3-1 Plain English Language Programs ............................................................................................3-2 Instructions and Statements.......................................................................................3-2 Names and Case Sensitivity ......................................................................................3-2 Lines and Line Labels ...............................................................................................3-3 Editor Line Limitations.............................................................................................3-3 Expressions ..............................................................................................................3-4 Numeric Expressions ................................................................................................3-4 String Expressions ....................................................................................................3-4 Comments ................................................................................................................3-4 Keywords ................................................................................................................................3-5 Description and Types ..............................................................................................3-5 Other Words .............................................................................................................3-5 Command Lines........................................................................................................3-5 Program Flow ..........................................................................................................................3-6 Types of Program Flow.............................................................................................3-6 Looping vs FallThru .................................................................................................3-6 Triggers....................................................................................................................3-7 Constructing Program Statements.............................................................................................3-8 General Rules ...........................................................................................................3-8 Conditional and Unconditional Instructions...............................................................3-8
Plain English Language Reference v

IF…THEN ............................................................................................................... 3-9 Use of "The" ............................................................................................................ 3-9 Program Files ........................................................................................................................ 3-10 What is a Program File?.......................................................................................... 3-10 Keep Control in a Single Program File.................................................................... 3-10 The Scanning Process ............................................................................................................ 3-11 How it Works......................................................................................................... 3-11 Scan Action List..................................................................................................... 3-11 Other Actions......................................................................................................... 3-11 The Basic Stages .................................................................................................... 3-12 1. Updating System Variables................................................................................. 3-13 2. Updating Schedules ............................................................................................ 3-13 3. Updating Input Points ......................................................................................... 3-13 4. Running Programs and Executing Commands ..................................................... 3-14 5. Updating Output Points....................................................................................... 3-14 6. Evaluating Alarms .............................................................................................. 3-15 Updating the Status Bar .......................................................................................... 3-15 Other Scanning Issues............................................................................................................ 3-16 Numeric, String, and DateTime Points .................................................................... 3-16 Updating Point Logs............................................................................................... 3-16 Triggering Programs from Points............................................................................ 3-16 Exported Points ...................................................................................................... 3-16 Power Failure Conditions and the Firing Order ....................................................... 3-16

Chapter 4 Points, Constants and Variables
At a Glance.............................................................................................................................. 4-1 Introduction.............................................................................................................. 4-1 Points ...................................................................................................................................... 4-2 Types of Points......................................................................................................... 4-2 Hardware Points....................................................................................................... 4-2 Input Points.............................................................................................................. 4-2 Output Points ........................................................................................................... 4-3 Software Points ........................................................................................................ 4-3 Numeric Points......................................................................................................... 4-3 Multi-State Value Points........................................................................................... 4-3 String Points............................................................................................................. 4-3 DateTime Points....................................................................................................... 4-4 Controller vs. Workstation Points ............................................................................. 4-4 Constants................................................................................................................................. 4-5 Description and Types .............................................................................................. 4-5 Numeric Constant..................................................................................................... 4-5 Integer Numbers....................................................................................................... 4-5 Floating Point Numbers............................................................................................ 4-5 Examples of Numeric Constants ............................................................................... 4-5 How the Controller Interprets Numbers..................................................................... 4-5 String Constants ....................................................................................................... 4-6
vi Andover Controls Corporation

Rules for String Constants.........................................................................................4-6 System Defined Constants.........................................................................................4-6 Variables .................................................................................................................................4-7 Description and Types ..............................................................................................4-7 Numeric Variables ....................................................................................................4-7 String Variables ........................................................................................................4-7 DateTime Variables ..................................................................................................4-7 Local Variables........................................................................................................................4-8 Description ...............................................................................................................4-8 Numeric Keyword ....................................................................................................4-8 String Keyword ........................................................................................................4-8 DateTime Keyword...................................................................................................4-8 System Variables .....................................................................................................................4-9 Description ...............................................................................................................4-9 Programmable System Variables...............................................................................4-9 System Variables Listing ........................................................................................ 4-10 STATUS# System Variables ................................................................................... 4-13 PowerFail and other Power Related System Variables ............................................. 4-14

Chapter 5 Operators and Expressions
At a Glance..............................................................................................................................5-1 Introduction ..............................................................................................................5-1 Order of Action........................................................................................................................5-2 Definition of an Operator ..........................................................................................5-2 Listing Order ............................................................................................................5-2 Plus Sign, Minus Sign, Negation, BITNOT, and Percentage......................................................5-3 + number ..................................................................................................................5-3 - number ...................................................................................................................5-3 NOT number ............................................................................................................5-3 BITNOT integer .......................................................................................................5-3 number % .................................................................................................................5-3 Fundamental Operators ............................................................................................................5-4 Addition ...................................................................................................................5-4 Subtraction ...............................................................................................................5-4 Multiplication ...........................................................................................................5-4 Division....................................................................................................................5-4 Modulus ...................................................................................................................5-4 Exponentiation..........................................................................................................5-4 Comparative Operators.............................................................................................................5-5 General.....................................................................................................................5-5 Less Than .................................................................................................................5-5 Less Than or Equal ...................................................................................................5-5 Greater Than.............................................................................................................5-5 Greater Than or Equal...............................................................................................5-5 Equal........................................................................................................................5-6 Not Equal .................................................................................................................5-6 Comparing String Values ..........................................................................................5-6 Type Conversion.......................................................................................................5-6
Plain English Language Reference vii

List and Range Operators.......................................................................................... 5-7 IS IN ........................................................................................................................ 5-7 IS NOT IN ............................................................................................................... 5-7 IS THRU.................................................................................................................. 5-7 IS BETWEEN.......................................................................................................... 5-7 Bit Operators ........................................................................................................................... 5-8 BITAND .................................................................................................................. 5-8 BITOR ..................................................................................................................... 5-8 BITXOR .................................................................................................................. 5-8 Truth Table .............................................................................................................. 5-9 AND/OR and String Joining Operators................................................................................... 5-10 AND ...................................................................................................................... 5-10 OR ......................................................................................................................... 5-10 String Joining......................................................................................................... 5-10

Chapter 6 Functions, Arrays, and Logs
At a Glance.............................................................................................................................. 6-1 Introduction.............................................................................................................. 6-1 Functions................................................................................................................................. 6-2 Definition................................................................................................................. 6-2 Calling a Function .................................................................................................... 6-3 Calling a Function without Arguments...................................................................... 6-3 Calling a Function with Arguments........................................................................... 6-3 Functions that Return a Value................................................................................... 6-4 Arrays ..................................................................................................................................... 6-5 Definition................................................................................................................. 6-5 Setting Up an Array of Variables .............................................................................. 6-5 Logs ........................................................................................................................................ 6-6 Definition................................................................................................................. 6-6 How a Log Updates .................................................................................................. 6-6 How to Retrieve Log Values..................................................................................... 6-7 Log Update Intervals ................................................................................................ 6-7 Log Types ................................................................................................................ 6-7 Setting Up a Log ...................................................................................................... 6-8 Using Arrays or Logs in Functions............................................................................ 6-8

viii

Andover Controls Corporation

Chapter 7 Keywords
At a Glance..............................................................................................................................7-1 Introduction ..............................................................................................................7-1 What's in this Chapter ...............................................................................................7-1

Section 1 Format Conventions ....................................................................................7-2
Keyword Formatting Standard..................................................................................................7-2 Identical Format for All Keywords............................................................................7-2 Format......................................................................................................................7-2 Purpose.....................................................................................................................7-2 Remarks ...................................................................................................................7-2 Example ...................................................................................................................7-2 Related Keywords.....................................................................................................7-2 Alias.........................................................................................................................7-3 Products Supported...................................................................................................7-3 Modes Available.......................................................................................................7-3 Text and Symbols Used in the Format Heading.........................................................................7-4 Format Heading Information .....................................................................................7-4 Capital Letters ..........................................................................................................7-4 Bold Italics ...............................................................................................................7-4 Parentheses ( ) ..........................................................................................................7-4 Italics .......................................................................................................................7-5 Comma (,) and Colon (:) ...........................................................................................7-5 Period (.) ..................................................................................................................7-5 Format Terms in Bold Italics ....................................................................................................7-6 Replacement of Terms ..............................................................................................7-6 Number ....................................................................................................................7-6 Integer ......................................................................................................................7-6 String .......................................................................................................................7-6 Name........................................................................................................................7-6 List...........................................................................................................................7-6

Section 2 Keyword Groups ...........................................................................................7-7
Logical Keyword Groups .........................................................................................................7-7 Logical Keyword Groups Listing ..............................................................................7-7 Restricted Keywords............................................................................................... 7-11 250 Display Unit Keywords .................................................................................... 7-11

Section 3 Keywords A through C .................................................................7-12
ABS Function ........................................................................................................................7-12 AccessLog System variable....................................................................................................7-13 AccessServer System variable ...............................................................................................7-15 ACOS Function .....................................................................................................................7-17 Alarms System variable.........................................................................................................7-18 AND Operator .......................................................................................................................7-19 ARG System variable ............................................................................................................7-22 ASC Function........................................................................................................................7-24 ASIN Function ......................................................................................................................7-25 ASK Function........................................................................................................................7-26
Plain English Language Reference ix

ATAN Function .................................................................................................................... 7-29 ATAN2 Function .................................................................................................................. 7-30 AUDIOBELL Function ........................................................................................................ 7-31 AvailRecords System variable............................................................................................... 7-32 AVERAGE Function ............................................................................................................ 7-33 BACKLIGHT System variable ............................................................................................. 7-35 BASEDON..GOTO Statement .............................................................................................. 7-36 BEGINPOLYLINE Function ............................................................................................... 7-39 BITAND Operator ................................................................................................................ 7-42 BITNOT Operator ................................................................................................................ 7-43 BITOR Operator................................................................................................................... 7-44 BITXOR Operator ................................................................................................................ 7-45 BLUE Constant..................................................................................................................... 7-46 BREAK Statement................................................................................................................ 7-47 CabinetTamper System variable .......................................................................................... 7-48 CD Statement........................................................................................................................ 7-49 CEILING Function............................................................................................................... 7-52 CHR Function....................................................................................................................... 7-54 CLEARSCREEN Function .................................................................................................. 7-56 CLOSE Function .................................................................................................................. 7-57 CloseFile Function ................................................................................................................ 7-59 CloseList Function ................................................................................................................ 7-62 CloseWindow Function......................................................................................................... 7-65 CONTINUE Statement......................................................................................................... 7-67 CONTROL Function ............................................................................................................. 7-68 COS Function ....................................................................................................................... 7-70 CPUPower System variable (programmable)......................................................................... 7-71 CurUser Function ................................................................................................................. 7-73 CurWorkstation Function .................................................................................................... 7-74

Section 4 Keywords D through G................................................................. 7-75
DATE System variable.......................................................................................................... 7-75 DATETIME Statement......................................................................................................... 7-77 DAYOFMONTH System variable ........................................................................................ 7-80 DAYOFYEAR System variable ............................................................................................ 7-82 DeleteExtLog Function ......................................................................................................... 7-83 Dial Function ........................................................................................................................ 7-86 DIFFTIME Function ............................................................................................................ 7-93 DISABLE Statement............................................................................................................. 7-96 DIVIDED BY Operator ........................................................................................................ 7-98 DRAWELLIPSE Function ................................................................................................... 7-99 DRAWLINE Function ........................................................................................................ 7-102 DRAWRECTANGLE Function ......................................................................................... 7-104 ENABLE Statement............................................................................................................ 7-107 ENDPOLYLINE Function ................................................................................................. 7-109 EOF Constant ..................................................................................................................... 7-112 EQUALS Operator ............................................................................................................. 7-113 ERRORS System variable................................................................................................... 7-114
x Andover Controls Corporation

EventLogSize System variable ............................................................................................ 7-116 EXPONENTIAL Function.................................................................................................. 7-118 FACTORIAL Function....................................................................................................... 7-119 FAILURE Constant............................................................................................................. 7-120 File Statement...................................................................................................................... 7-121 FILL Constant.................................................................................................................... 7-124 FLOOR Function ................................................................................................................ 7-125 FOR..NEXT Statement ....................................................................................................... 7-127 FREEMEM System variable.............................................................................................. 7-131 GetExtLog Function............................................................................................................ 7-132 GETNAME Function .......................................................................................................... 7-135 GetObject Function............................................................................................................. 7-139 GOTO Function .................................................................................................................. 7-144

Section 5 Keywords H through N ............................................................... 7-147 HangUp Function................................................................................................................ 7-147 HOD System variable.......................................................................................................... 7-153 HOUR System variable ...................................................................................................... 7-154 IF.. THEN .. ELSE Statement ............................................................................................ 7-155 INFINET#COUNT System variable ................................................................................... 7-161 InitModem Function ........................................................................................................... 7-163 IOUCommFlt# System variable.......................................................................................... 7-168 IS… Operator ...................................................................................................................... 7-169 LCDPassword System variable ........................................................................................... 7-174 LEFT Function.................................................................................................................... 7-175 LENGTH Function ............................................................................................................. 7-176 LINE Statement .................................................................................................................. 7-177 LINEPOINT Function ........................................................................................................ 7-182 LN Function ........................................................................................................................ 7-188 LOAD Statement on controller............................................................................................. 7-189 LOAD Statement on workstation ........................................................................................ 7-193 LOCATE Function.............................................................................................................. 7-197 LOG Function ..................................................................................................................... 7-201 MAXIMUM Function ......................................................................................................... 7-202 MAXITEM Function .......................................................................................................... 7-204 MessageWindow Constant .................................................................................................. 7-206 MicroPower System variable .............................................................................................. 7-207 MID Function...................................................................................................................... 7-209 MINIMUM Function .......................................................................................................... 7-210 MINITEM Function............................................................................................................ 7-212 MINUS Operator ................................................................................................................. 7-214 MINUTE System variable ................................................................................................... 7-215 MOD Operator .................................................................................................................... 7-217 ModemPower ( System variable (programmable) ................................................................ 7-218 MONTH System variable.................................................................................................... 7-220 MOVE Statement ................................................................................................................ 7-222 NewAlarmCount System variable....................................................................................... 7-224 NOFILL Constant............................................................................................................... 7-226 NOT Operator ..................................................................................................................... 7-227
Plain English Language Reference xi

NUMERIC Statement......................................................................................................... 7-228 NUMTOSTR Function ....................................................................................................... 7-230

Section 6 Keywords O through R............................................................... 7-231
OBJECT Statement ............................................................................................................ 7-231 OFF Constant..................................................................................................................... 7-233 ON Constant........................................................................................................................ 7-234 -ON Constant ...................................................................................................................... 7-235 OPEN Function (comm port).............................................................................................. 7-236 OpenFile Function .............................................................................................................. 7-238 OpenList Function .............................................................................................................. 7-241 OR Operator........................................................................................................................ 7-253 P Statement ......................................................................................................................... 7-256 PASSED Function............................................................................................................... 7-258 PlayAudio Statement .......................................................................................................... 7-259 PLUS Operator.................................................................................................................... 7-261 PositionFile Function.......................................................................................................... 7-262 PowerFail System variable.................................................................................................. 7-266 PowerUpTime System variable........................................................................................... 7-267 PRINT Statement................................................................................................................ 7-268 RANDOM Function............................................................................................................ 7-277 READ Function (comm port) .............................................................................................. 7-278 ReadFile Function............................................................................................................... 7-281 ReadProperty Function ...................................................................................................... 7-287 ReaderPower System variable ............................................................................................ 7-288 Relinquish Function............................................................................................................ 7-290 REPEAT..UNTIL Statement .............................................................................................. 7-292 Return Statement ............................................................................................................... 7-293 RIGHT Function................................................................................................................ 7-295 ROTATE Statement............................................................................................................ 7-296 ROUND Function ............................................................................................................... 7-298 RUN Statement ................................................................................................................... 7-300

Section 7 Keywords S through Z................................................................ 7-305
SAVE Statement (on controller) .......................................................................................... 7-305 SAVE Statement on workstation.......................................................................................... 7-311 SCAN System variable........................................................................................................ 7-315 SEARCH Function ............................................................................................................. 7-317 SECOND System variable .................................................................................................. 7-318 SELECT (CASE) Statement ............................................................................................... 7-319 SET Statement .................................................................................................................... 7-322 SETDISPLAY Function ..................................................................................................... 7-325 Shell Statement.................................................................................................................... 7-327 Show Statement................................................................................................................... 7-330 SHOWREPORT Statement................................................................................................ 7-332 SIN Function....................................................................................................................... 7-334 SQRT Function................................................................................................................... 7-335 StandardDeviation Function .............................................................................................. 7-336
xii Andover Controls Corporation

STATUS# System variable (programmable) ........................................................................ 7-339 STOP Statement.................................................................................................................. 7-340 STRING Statement ............................................................................................................. 7-342 STRINGFILL Function ...................................................................................................... 7-344 STRTODATE Function ...................................................................................................... 7-347 STRTONUM Function........................................................................................................ 7-350 SUCCESS Constant ............................................................................................................ 7-351 SUM Function ..................................................................................................................... 7-352 SystemStatus System variable ............................................................................................. 7-354 TAB Function...................................................................................................................... 7-356 TAN Function...................................................................................................................... 7-357 TD Local variable................................................................................................................ 7-358 TH Local variable................................................................................................................ 7-359 THE Statement.................................................................................................................... 7-360 TIMEPIECE Function........................................................................................................ 7-361 TIMES Operator ................................................................................................................. 7-363 TM Local variable ............................................................................................................... 7-364 TOD System variable .......................................................................................................... 7-365 TOUCHEDCELL System variable ..................................................................................... 7-367 TRUNCATE Function ........................................................................................................ 7-370 TS Local variable ................................................................................................................ 7-371 TURN Statement ................................................................................................................. 7-372 UniquePIN System variable ................................................................................................ 7-374 UpDate Function ................................................................................................................. 7-375 UpdateExtLog Function...................................................................................................... 7-380 VERSION System variable ................................................................................................. 7-387 WEEKDAY System variable............................................................................................... 7-388 WHILE Statement .............................................................................................................. 7-390 WHITE Constant ................................................................................................................ 7-392 WriteFile Function .............................................................................................................. 7-393 WriteProperty Function...................................................................................................... 7-397 YEAR System variable........................................................................................................ 7-399

Appendix A ASCII Codes ......................................................................A-1 Appendix B Reserved Words ............................................................... B-1 Appendix C Attributes........................................................................... C-1 Appendix D Programming the 250 Display Unit ................................D-1
About The DCX 250 Display Unit........................................................................................... D-1 250 Display Unit Description ............................................................................. D-1 Understanding Predrawn Graphic Controls .............................................................................. D-2 Predrawn Control Graphics ...................................................................................... D-2 Placing a Predrawn Graphic Control on the 250 Screen............................................................ D-4 Preliminary Steps..................................................................................................... D-4 Basic Considerations................................................................................................ D-4 Additional Considerations........................................................................................ D-4 The CONTROL Keyword........................................................................................ D-4
Plain English Language Reference xiii

The Arguments........................................................................................................ D-5 CONTROL Keyword Example ................................................................................ D-7 Setting Up the Software........................................................................................... D-7 Format .................................................................................................................... D-8 Argument Descriptions............................................................................................ D-8 Steps and Tick Marks .............................................................................................. D-9 Positioning the Control ............................................................................................ D-9 Setting the Control Size ........................................................................................................ D-10 Switches and Knobs Cannot be Resized ................................................................. D-10 Gauge Controls Retain Their Shape ....................................................................... D-10 Minimum Control Size .......................................................................................... D-11 If the Control doesn't Appear ................................................................................. D-11 Graphic Control Style 1 Specifications.................................................................................. D-12 Graphic Control Style 2 Specifications.................................................................................. D-13 Graphic Control Style 3 Specifications.................................................................................. D-14 Graphic Control Style 4 Specifications.................................................................................. D-15 Graphic Control Style 5 Specifications.................................................................................. D-16 Graphic Control Style 6 Specifications.................................................................................. D-17 Graphic Control Style 7 Specifications.................................................................................. D-19 Graphic Control Style 8 Specifications.................................................................................. D-21 Graphic Control Style 9 Specifications.................................................................................. D-23 Graphic Control Style 10 Specifications ................................................................................ D-25 Graphic Control Style 11 Specifications ................................................................................ D-27 Graphic Control Style 12 Specifications ................................................................................ D-31

Appendix E BACnet Properties and Plain English ............................ E-1

xiv

Andover Controls Corporation

Chapter 1
Fundamentals

At a Glance

Overview

This chapter provides some basic introductory concepts covering the architecture of the Continuum building automation system that are essential to developing good programs in the Plain English Language. Since Continuum is an object-oriented system, the concept of objects, classes and their hierarchical arrangement within a physical network is explained. Object attributes and their association to objects are described and the chapter ends with a discussion of the naming convention used for identifying objects in the system.

Plain English Language Reference

1-1

Introduction

The Plain English Language

The Plain English language (PE) was developed by Andover Controls to provide our customers with the ability to customize their building automation systems in accordance with specific site requirements. Similar to BASIC, PE is based on keywords that provide a simple straightforward approach to developing programming statements and requires limited to minimal programming experience. Plain English is included as part of Continuum's Plain English Integrated Development Environment (IDE), a complete suite of highly integrated tools for writing, editing and debugging PE programs. The Plain English IDE is fully described in Chapter 2 of this document. The programs developed with PE support Andover’s line of Continuum, BACnet and Infinity controllers and workstations.

Continuum Products

The Continuum product line encompasses a wide variety of components including Infinity CX 9xxx series controllers, CX 99xx NetControllers, Infinet controllers, i2 Series controllers, BACnet Series controllers, input/output IOU modules, display modules and smart sensors. These components are interconnected through various networking arrangements to create a total building automation system. Depending upon the complexity of the site architecture, a system can range from a single controller with or without a workstation to a large configuration consisting of a network of multiple workstations, a database server, and numerous controllers. From a programming perspective it is important that you have an understanding of how Continuum products are interconnected. A brief introduction of these arrangements and the products involved is provided on the following pages.

1-2

Andover Controls Corporation

Continuum System Architecture
Simple Continuum System In a simple single-workstation configuration (see figure below), a Continuum site might consist of a single NetController, with some input/output (I/O) modules and the workstation PC running CyberStation software. In BACnet solutions, the b4920 Router might be present along with several MS/TP sub-controllers. The NetController and the b4920 use Ethernet IP protocol to communicate with the workstation. The stand-alone version of CyberStation is resident on the workstation PC along with the database containing the configuration data for the entire system.
Ethernet IP Network

NetController ACC I/O Bus PC Windows Workstation running CyberStation with Database IOU Modules BACnet MS/TP RS-485 Local field wiring

b4920

b3xxx

Example of a Continuum/BACnet Single Workstation Network

Moderate Continuum System

The Continuum system design is based on scalability, so expansion to a multi-workstation, larger network configuration can be accomplished easily. The illustration on the following page shows such a setup. In this configuration, the Ethernet LAN has been expanded to include another workstation, a database server, an Infinity CX 9xxx series network controller and a BACnet b4920 controller. In addition, two Infinet controllers have been added to the original NetController (from the figure above) via its Infinet port. Like the simple system shown above, this is a Continuum/BACnet-compliant system. It provides interoperability between existing Infinity/Infinet and BACnet devices over a common Ethernet backbone. The CX controller feeds two Infinet application controllers from its Infinet port. The b4920 controller serves as a gateway between the BACnet MS/TP RS-485 subnet and the Continuum Infinet subnets hosted by the Infinity CX and NetController. This entire network can be viewed and controlled on a CyberStation/B-OWS workstation. A single server running MS SQL server software contains the Continuum database.
Plain English Language Reference 1-3

Continuum System Architecture, continued

Ethernet IP Network

PC Windows Workstations running CyberStation SQL Database Server Infinity CX 9xxx Controller

NetController LBUS

IOU Modules

b4920 BACnet Router

IOU Modules b3xxx Local field wiring BACnet MS/TP RS-485 BACnet Controllers Local field wiring b3xxx Infinet Infinet Local field wiring Local field wiring

Local field wiring Infinet Controller

Infinet Controllers Local field wiring

Third Party BACnet Device

Local field wiring

Example of a Multi-Workstation Continuum/BACnet Network

Network Controllers

There are three types of Continuum network controllers: • Infinity CX 9000 series • CX 99xx NetController • b4920 BACnet Router All are IP compatible and each contains at least one port to allow communication with application controllers.

1-4

Andover Controls Corporation

Continuum System Architecture, continued

Infinet Controllers

These controllers include combinations of inputs and outputs for the monitoring and control of local sensors and devices. There is a wide variety of Infinet controllers. Each device is designed for a specific purpose: • ACX series⎯Access Control • DCX 250⎯Display Control • LCX800 series⎯Local Control • LCX89X series⎯Lighting Control • SCX series⎯System Control • TCX series⎯Terminal Control (HVAC, VAV, smoke detection) • i2 series (also referred to as Infinet II)⎯Updates and replaces many of the older Infinet controllers. The i2 series controllers have flash memory for firmware and object storage. Infinet controllers are connected to network controllers via the Infinet network.

MS/TP Controllers

Andover Controls offers a complete line of MS/TP BACnet-compatible sub controllers (b3 series) that are functionally equivalent to the entire i2 product line.

I/O Modules

Continuum I/O modules are specialized units that receive sensor inputs and activate equipment (valves, fans, and so on) and perform access control functions. They connect directly to the CX99xx NetController. Available I/O modules include input, output, mixed I/O, and display configurations.

Workstations

A personal computer (PC) connected to the Continuum Ethernet network serves as an operator workstation. The system can contain a single workstation or multiple workstations, depending on the site configuration.

Plain English Language Reference

1-5

Continuum System Architecture, continued

CyberStation Software

CyberStation is a Windows-based application program that runs on a PC workstation and interacts with the control system. It provides a graphic user interface (GUI) that can display and manipulate data that allows the entire site management of adjusting schedules and setpoints, acknowledging alarms, controlling doors, tracking personnel, etc.

Database

The Database stores all the vital information pertaining to the building automation control system. The database engine is either Microsoft SQL server or MSDE.

Infinet

The Infinet is a high performance, token-passing LAN that allows Infinet application controllers to communicate with each other and to a single CX or Netcontroller. Using InfiLink repeaters, it is possible to have 127 Infinet controllers on one Infinet. Data transmits over the Infinet at a rate of 19.2 Kb/sec.

LBUS

The LBUS is an RS-485-based protocol that is used by the Andover Controls AC256 to communicate with older IOU modules. The NetController can communicate to these IOU modules using the LA-1 converter. Only one LBUS can be connected to a CX controller. Each LBUS can handle up to 16 IOUs.

MS/TP

MS/TP is an RS-485 based network that connects Andover and third-party BACnet devices to the b4920 Router.

1-6

Andover Controls Corporation

Objects and Classes

Introduction

Continuum is based on object-oriented programming principles. Objects and classes are the basic building blocks of the system. Each item appearing on a Continuum workstation screen represents an object. There are hardwarebased objects (controllers, workstations, I/O points) and software-based objects (system variables, attributes). Furthermore, the objects are divided into classes.

Objects

Objects are the basic building blocks of Andover's Continuum control systems. All the items that makeup the system, both the hardware and the software are identified as objects. Each item appearing on a Continuum workstation screen represents an object. For example, objects contained within the controller class include: • CommPort • Input • Output • User • Groups Graphical icons, displayed in the Continuum Explorer, represent both hardware objects and software objects.

Classes

A class consists of a group of related objects. Examples of classes are: • Area • Device • Schedule If you open a class folder in the Continuum Explorer, you see a list of objects for that class. For example, the SystemVariable folder displays a list of system variables.

BACnet Objects vs. Continuum Objects

Like Continuum, all information in a BACnet system is represented in terms of “objects”. Objects may represent a single physical “point” or logical groupings of points that perform a specific function. The information contained within a BACnet object is presented as a set of properties. In the Continuum world, BACnet object properties are similar to a Continuum object’s attributes.

Plain English Language Reference

1-7

Attributes

Definition

An attribute is a characteristic of an object. An example attribute of an input would be its value. All objects have attributes associated with them. In most cases, there are several attributes that describe an object. In BACnet, attributes are called “properties”.

How to View Attributes

The attributes for any object in Continuum can be viewed by double clicking on the object icon in Continuum Explorer's viewing pane. The General page of the object editor displays some attributes for the selected object. An example of such a page is shown below:

Example of an object's General tab page

The attributes that appear on the object's General page will vary depending on the selected object.

1-8

Andover Controls Corporation

Attributes, continued

Basic Attribute Listing

The following table provides a summary of the attributes appearing in the previous example General page.
Attribute
Description Value Units State Alarms Exported A description of the object Describes the value of the object. Examples include: On or Off, True or False, Success or Failure, Set or NotSet. Units of measurement, such as Degrees Fahrenheit or Centigrade can be assigned to temperature measurements. The state of an object that can exist in either an Enabled or Disabled state. Indicates the alarms that are active for an object. Indicates if the point is referenced by another controller. This attribute is read-only and is set by the Continuum System.

Description

Accessibility

The attributes for all objects used in PE programs are accessible from any Continuum workstation. Most object attributes can be altered from the Command Line window of the workstation. (Refer to Chapter 3 for a detailed description of how to view object attributes using the Command Line.) Appendix C contains a complete list of attributes for each object contained in Continuum.

Plain English Language Reference

1-9

Object Ownership

Object Ownership

Object ownership is a term that describes the relationships between objects in the Continuum system. Objects in Continuum are arranged in a hierarchy. The Root object is always the prime object at the top of the hierarchy. Objects at the top of the hierarchy contain, or own the objects below them. This ownership refers to the physical network connection between devices and to where the objects are stored within the network.

Hierarchical View of System Objects

Network and Controller views that are selectable on the Continuum workstation screen represent the hierarchy of the physical components in the Continuum System. For example, an input point called Rm Temp1, attached to a NetController named CX1, that is connected to a network called Building 1, would be described using the following object hierarchy: The network object (Bldg1) owns the attached device object (controller CX1) which owns the input point object (Rm Temp1). These relationships are shown graphically below. This hierarchical relationship is an important concept that is applied to network path names in PE programming statements.

Root Network Bldg 1 Controller Input Point CX1 Rm Temp1

Example of Object Hierarchical Relationships

1-10

Andover Controls Corporation

Object Ownership, continued

Network Paths

A path is the route you follow along the network to get from one object to another. The object could be any of the following: • Controller • Workstation • Printer • Point • Some other object on the network The network path and object relationships are important concepts when creating statements in PE. For example, if you need to take action when the room temperature in Building 1 (BLDG1) exceeds 74 degrees, the following statement might be entered into the program: IF BLDG1 CX1 RM_TEMP1 > 74 THEN...
Network Path

In this statement, the correct path from the network and controller (BLDG1, CX1) to the input point (RM_TEMP1) must be specified in order to run the program.

Plain English Language Reference

1-11

Naming Conventions

Object Names

When you create a name for an object in Continuum, the system automatically creates a second object identifier called an Alias. The object name can be lengthy and descriptive whereas the object alias must conform to a stricter naming convention (see "Alias Names" below). The object name is stored in the Continuum database, not in the controller.

Object Naming Convention

The set of characters allowed in object names, called the "Naming Character Set”, is described below.
The Naming Character Set Character
A-Z and a-z

Description
Alphabetic characters. Upper- and lowercase are interchangeable. Numeric characters. Underscore character. Period character Slash character Dash character Space character

0-9 _ . / −

Object names can be up to 64 characters long and may consist of any combination of the naming character set. Ideally, the object name should be as descriptive as possible to help identify the object it represents. For example, an output point for an operating fan could be named Fan Start/Stop.

1-12

Andover Controls Corporation

Naming Conventions, continued

Alias Names

The alias is the object reference used in programs and functions. Continuum creates the alias version of the object name whenever a new object is created. The alias name is saved to both the controller and the Continuum database.

Alias Naming Convention

The rules for the alias naming character set are as follows: • • • • • • The length of the alias name cannot exceed 16 characters Must start with a letter, not a number Alphanumeric characters Period and underscores are the only punctuation characters allowed No spaces No reserved words, keywords or symbols (+,-,/,*, etc.)

Plain English Language Reference

1-13

1-14

Andover Controls Corporation

Chapter 2
The Plain English Integrated Development Environment

At a Glance

Introduction

This chapter provides a overview of the Plain English Integrated Development Environment from the perspective of how it enhances the production of writing and editing Plain English programs. The discussions in this chapter are not intended to be a complete tutorial on the use of the IDE, but rather to present an overall picture of what it consists of and to touch briefly on each of its features.

Plain English Language Reference

2-1

Opening the Plain English IDE

To Create a New Program File

There are three ways to open the IDE when you wish to create a new program file: • • • From the System & Status button on Continuum's main menu (shown below) From the Continuum Explorer Selecting Programs – Continuum – PlainEnglish from the Windows Start menu.

These methods are described below.

From the Continuum Main Menu

hot spot on the left-hand side of If you click the the Continuum Main Menu, the System & Status menu page appears.

System & Status menu page

Click the

hot spot to start the Plain English IDE.

2-2

Andover Controls Corporation

Opening the Plain English IDE, continued

From the Continuum Explorer

From any view of the Continuum Explorer, right click on the controller or workstation where you want the program to reside. Then select New and InfinityProgram for controller-based programs or simply Program for workstation-resident programs from the popup menus that appear. BACnet programs are created as Infinity programs.

Selecting a New Infinity Program

From the Start Menu

From the Windows explorer, click Start. Select Programs – Continuum PlainEnglish. Note: Continuum must be running.

Plain English Language Reference

2-3

The New create dialog box appears if you selected New InfinityProgram. Otherwise, selecting New from the File menu or clicking the new file quick pick button displays the dialog box shown below:

The New Dialog Box

Creating the Program File

Type the program name in the Object name text box and click the Create button. Next, the Editor screen appears in the IDE main window.

2-4

Andover Controls Corporation

Plain English IDE Features

IDE Tools Overview

Continuum's Plain English Integrated Development Environment (IDE) provides a complete set of integrated tools designed to simplify the writing, editing and debugging of Plain English language programs. The IDE consists of a variety of color-enhanced windows, menus and toolbars. Shown below, the Plain English IDE main screen includes standard Windows features (title bar, menu bar, various toolbars, main window and status bar) along with specialized editor function windows.
Command Line Find Toolbar Check Toolbar

Title Bar Menu Bar

Main Toolbar

Class of Objects Displayed In IDE Explorer IDE Explorer

Editor

Main Window

Assistant

Watch Bar

Status Bar

Plain English IDE Main Screen

Plain English Language Reference

2-5

Plain English IDE Features, continued

IDE Tools Overview continued

Several special features are included: • Command Line • Find Toolbar (text searching) • Check Toolbar (program error checking) • IDE Explorer (graphical display of your system) • Editor • Assistant (program error checking, objects, keywords, favorites, etc.) • Watch Bar (program monitoring) Each of these tools is described within this section.

Rearranging IDE Toolbars and Windows

Many features within the IDE can be rearranged to suit your personal preference: • • • The Title Bar, Menu Bar, Main Window and Status Bar remain on your screen at all times. You can display or hide the icon toolbars and other tool window components of the IDE. The icon toolbars can also be dragged and dropped into different locations within the upper portion of the IDE.

The IDE Explorer, Command Line, Assistant and Watch Bar can be arranged in accordance with docking and floating options described later.

Title Bar

The Title bar indicates the directory path to the current PE program file. If you change programs in the PE Editor, the Title bar will change to reflect the new path.

2-6

Andover Controls Corporation

The Menu Bar

Offers Seven Menu Selections

The menu bar dropdown menus within the IDE.

provides seven

File Menu
Option New Open Close Delete Save Save As Save All Close All Import Export Configuration Firing Order Print Exit Description Opens a new program file. Opens an existing program file. Closes the current active program file. Deletes the current active program file. Checks and saves the active program file. Checks and saves the active program file under a new name. Checks and saves all open program files. Closes all open program files. Inserts the contents of another file into the active program file. Saves the active program file to a different type of file. Displays the Infinity Program, or the Function Configuration Dialog. Displays and allows editing of the current firing order. Prints the active program file. Exits the Plain English editor.

Edit Menu
Option Undo Redo Cut Copy Paste Select All Find Find Next Find Previous Replace Goto Description Reverts to the previous action. Performs the last action that was undone by Undo. Removes selected text from the program and places it in the Clipboard. Copies selected text from the program and places it in the clipboard. Inserts contents of the clipboard at the cursor position. Selects the entire program. From the cursor position, finds the next or previous instance of specified text. From the cursor position, finds the next instance of the text you last searched for. From the cursor position, finds the previous instance of the text you last searched for. Finds specified text, and replaces it with a different specified text. Places your cursor at the specified line number or line definition.

Plain English Language Reference

2-7

The Menu Bar, continued

View Menu
Option Toolbars → Description When checked (√) adds the selected toolbar to the IDE screen. When not checked removes the selected toolbar from the IDE screen. The toolbars are Main, Find, Check, Assistant, Explorer, Command Line and Watch. Displays the Font dialog box, allowing you to change the font for the active program file. Checks and saves the active program file, and refreshes the screen. Changes the IDE Explorer to folder view. In this view, the Root and all folders appear in the navigation pane. Changes the IDE Explorer to network view. In this view, the network you set up appears in the navigation pane.

Set Font Refresh Folder View Network View

Build Menu
Option Check Check All Stop Description Complies the currently active program file. Reports errors in the Check page of the Assistant Complies all open program files. Reports errors in the Check page of the Assistant. Stops compiling.

Tools Menu
Option Wizard Calculator Options Description Opens the Plain English Wizard. Displays the calculator. Displays the Options dialog.

Window Menu
Option Cascade Tile Horizontally Description Displays program windows overlapping diagonally. Displays program windows in equal horizontal portions of the editor. Tile Vertically Displays program windows in equal vertical portions of the editor. Arrange Icons This feature is not supported in this release Note: A list of currently open windows appears at the bottom of the Window menu. Clicking on any window in the list will make it the active window.

Help Menu
Option Help Topics About IDE Description Displays Plain English online help topics. Displays the copyright and version number for the PE editor.

2-8

Andover Controls Corporation

The Main and Find Toolbars

1

2

3

4

5

6

7

8

9

10

11

The Main Toolbar

The Main toolbar is described below. It contains shortcuts to many of the items found in the Edit menu.
Main Toolbar Selections
To Do This … Open a new program Open an existing program Save the currently active program Save all open programs Cut text Copy text Paste text Undo the last action you performed Redo the last action you performed Find a particular word in the current program Print the current program Click Icon Reference 1 2 3 4 5 6 7 8 9 10 11

The Find Toolbar

is a The Find toolbar shortcut find tool. It contains an input field and buttons to help you look for specific words, symbols, and phrases in the program or function that you are writing or editing. If the Find toolbar is hidden, go to Toolbars in the View menu to add it.

Using the Find Toolbar
Step 1 2 Action Type the text that you want to find, or use the pull-down list to select previously searched text. To search from the cursor position to the end of the program, click on To search from the cursor position to the beginning of the program, click on

3

Plain English Language Reference

2-9

The Check Toolbar and Command Line

The Check Toolbar

is used in conjunction The Check toolbar with the Assistant to compile programs and report errors. Each of the icon buttons appearing on the Check toolbar is listed below. If the Check toolbar is hidden, go to Toolbars in the View menu to add it.
IDE Check Toolbar Buttons
Button Action When Clicked Compiles the active program in the Editor Complies all programs in the Editor Stops compilation Save the program and refreshes the windows Displays the program Configuration dialog box Starts the Plain English Wizard. (See "Using the Plain English Wizard" in this chapter.) Displays a pop-up calculator

The Command Line

The Command Line is where you enter and execute Plain English commands. If the Command Line is hidden, go to Toolbars in the View menu to add it. Its features include: • Browse Button⎯opens a drop down explorer tree. • Command Line⎯where you enter Plain English commands. • Response Line⎯where messages and print requests appear.

Command Line Text Field IDE Explorer Browse Button

Response Line Text Field

IDE Command Line Components

2-10

Andover Controls Corporation

The IDE Explorer

Features

The IDE Explorer is a small, more limited version of the Continuum Explorer. It helps you navigate through the folders and devices on your system to find and select objects to add to your programs. If the IDE Explorer is hidden, go to Toolbars in the View menu to add it. The basic parts of the IDE Explorer include: • • • • Explorer Drop-Down List Box⎯Displays the object tree of the current folder or device directory. Class Drop-Down List Box⎯Displays the classes of the folder or device object selected from the Explorer Drop-Down List Box. Back Up One Level Button⎯Changes the Explorer Drop-Down List Box to the next higher directory. Copy Objects Button⎯Copies selected object on the Class Drop-Down List to the IDE Assistant.
IDE Explorer DropDown List Box Back Up One Level Button Copy Objects Button

Current Device Current Class

Class DropDown List Box List of Objects Matching Selected Current Class

IDE Explorer

Plain English Language Reference

2-11

The IDE Explorer, continued

Popup Shortcut Menu

In addition to the above features, the IDE Explorer provides several options by means of a popup shortcut menu, which is activated whenever, you rightclick on an object in the drop-down list box.
IDE Explorer Popup Shortcut Menu Features
Menu Item Open Edit Put in Service Take out of Service Enable Disable Send To Delete Rename Page Setup Print Selected Go To Properties Action Opens programs in the IDE. For other classes, opens the appropriate dialog box. Starts another IDE session for the selected program. For other classes, opens the appropriate application. Opens a dialog box to confirm the state of the object’s attribute is “Enabled” [NOT SHOWN FOR INFINITYPROGRAM] Opens a dialog box to confirm the state of the object’s attribute is “Disabled” [NOT SHOWN FOR INFINITYPROGRAM] Opens a dialog box to confirm the state of the program’s attribute is “Enabled” [ONLY SHOWN FOR INFINITYPROGRAM] Opens a dialog box to confirm the state of the program’s attribute is “Disabled” [ONLY SHOWN FOR INFINITYPROGRAM] Offers a selection of "Controller, Database, Text File or Printer". Deletes the selected object. Opens a dialog box for renaming the object. Opens a dialog box to select the page setup of the object to be printed. Opens a dialog box to select the printer. Offers a selection of “Owner or Device. Opens the Properties dialog box.

2-12

Andover Controls Corporation

The IDE Editor

Features

The IDE program Editor is a window that appears in the Main Window area of the IDE screen when you open a new or existing Plain English program. The Editor is the tool you use to write and edit programs. Its main features are: • • • • • • • Each program displays in its own Editor window. More than one program can be open at the same time, each with its own resizable Editor window. When multiple programs are open, a tab appears at the bottom of the Editor window for each program and the active program tab overlays the other tabs. In multiple Editor window displays, clicking on a program tab activates that program. Only one program at a time can be the active or current Editor window. When a program becomes too large for its window, scroll bars appear. Color is used for distinguishing program elements. Blue is for keywords, red for line definitions and green for comments.

Displaying Multiple Programs

The Editor's ability to display multiple programs allows you to copy code from one program to another thus saving typing time. In the figure below, four programs occupy the Editor window. Prog4 is the active window since its tab (see bottom of screen) overlays the other program tabs.

IDE Editor Window

Plain English Language Reference

2-13

The IDE Assistant
The IDE Assistant provides additional support in the writing and editing of Plain English programs. Six tabs located at the bottom of the Assistant window provide features that help to simplify the coding process. When selected, each tab becomes a separate page in the Assistant window.
IDE Assistant Page Features
Menu Item Objects Check Keywords Functions Values Favorites Action Provides a temporary storage place for object names that you need in a program Displays errors that occur when a program is saved or checked. Lists all the Plain English language keywords that are not functions. Contains all the pre-written Plain English functions Provides attribute values used by the system. Provides a storage area for commonly used items such as keywords, statements, functions, objects and so on.

Features

Selecting and Placing Objects

Double clicking items displayed within these pages automatically inserts them into the active program Editor window. From the Check page, double clicking on a listed error places the cursor on the program instruction in the Editor that caused the error. To place object names on the Objects page, locate them in the IDE Explorer and then drag them onto the page.

Note: If the Assistant is hidden, go to Toolbar in the Edit menu to add it.

IDE Assistant Window

2-14

Andover Controls Corporation

The IDE Watch Bar

Purpose

The Watch Bar allows you to monitor your program's effect on other objects. Watched objects can be objects that the program refers to, or any object that is part of your Continuum system. If the Watch Bar is hidden, go to Toolbars in the View menu to add it For every object you add to the Watch Bar, you see the object name and its current value. The Watch Bar is very helpful in tracking down errors in your program.

IDE Watch Bar

Plain English Language Reference

2-15

Docking and Floating

Docking and Floating Options

Depending on the selection or de-selection of the Allow Docking and Float
in Main Window options:

• • •

The Assistant and Watch Bars can be placed and arranged within the Main Window. The Assistant and Watch Bars can be dragged and dropped outside of the Main Window or outside of the IDE window. The Explorer Bar can be dragged and dropped within the IDE or outside of the IDE window.

Using the Docking and Floating Options

The docking and floating menu is accessed by right clicking the mouse cursor in a gray, non-button area of the: • • Assistant or Watch windows IDE Explorer or Command Line

Docking and Floating Options Menu

Docking and Floating Menu Selections
Option Allow Docking Enabled Lets you drag the window to a fixed position on the screen. Window size changes according to available empty screen space. Shows an outline of the new window shape before docking. A docked window’s title bar disappears. Removes the window from view. Puts the tool window in the Main Window and can be moved within it. Disabled Displays the window’s title bar, indicating that the window is a floating object that can be dragged anywhere on the screen.

Hide Float in Main Window

Make windows visible from the View menu. Window can be dragged out of the Main Window.

2-16

Andover Controls Corporation

Configuring a Plain English Program File

Configuring the Program File

in the To setup the new program file, click the Configuration icon Check toolbar, or select Configuration from the File menu. This displays the Configuration dialog box.

Configuration Dialog Box

Configuring a New Program File
Step 1 2 3 4 5 6 Action Enter a brief description (optional) up to 32 characters in length. Select Enabled in the State selection box. Select the Autostart checkbox if you want the program to start running the moment it is saved. Select the Command Line checkbox if you want the program to be controlled from the Command line. Select either Looping or Fall Thru in the Flow Type selection box depending on what type of program is intended. If a "Run on Any Workstation" checkbox is present, select it if you want to be able to run the program from any workstation. If you don't select it, then the program can only be run from the workstation it is installed on. Note: When Run on Any Workstation appears in the File Configuration dialog box, you can select it or AutoStart, but not both. Click the OK button at the bottom of the dialog box and the File Editor window appears.

7

Plain English Language Reference

2-17

Using the Editor

Program Guidelines

When the Editor window first appears, it is blank until you begin writing your program. As you enter your program, keep the following guidelines in mind: • A single program can have up to 400 physical lines. • A physical line can have up to 132 characters. • If a line must exceed 132 characters, enter a tilde (~) at the end to continue the line. • Do not use a tilde inside the quotation marks of a Print statement.

Text Entry

On a Continuum CyberStation you can create your program by entering text with the keyboard and using either the mouse or keystroke combinations to: • Move the cursor • Select text • Change and move text The keystroke combinations to accomplish these tasks are described below.
Editor Keystroke Combinations
Key or Keys Arrow CTRL right arrow CTRL left arrow Home End CTRL Home CTRL End Page Up Page Down Shift Arrow Shift Home Shift End Shift CTRL right arrow Moving the Cursor Action Moves the cursor one space in the direction of the arrow (left, right, up, or down). Moves the cursor to the beginning of the next word. Moves the cursor to the beginning of the previous word. Moves the cursor to the beginning of the line it is on. Moves the cursor to the end of the line it is on. Moves the cursor to the beginning of the first line in the file. Moves the cursor to the end of the last line in the file. Scrolls the text up the number of lines in a window. Scrolls the text down the number of lines in a window. Selecting Text Selects text one character at a time in the direction of the arrow. Selects text from the cursor position to the beginning of the line. Selects text from the cursor position to the end of the line. Selects text from the cursor position to the beginning of the next word.

2-18

Andover Controls Corporation

Using the Editor, continued

Text Entry continued
Using the Text Editor continued
Selecting Text Key or Keys Shift CTRL left arrow Shift CTRL Home Shift CTRL End Backspace Action Selects text from the cursor position to the beginning of the previous word. Selects text from the cursor position to the beginning of the file. Selects text from the cursor position to the end of the file. Changing and Moving Text Deletes text you have selected. Otherwise, deletes one character to left of the cursor. If the cursor is at the beginning of a line joins the line with the previous one. Opens the Find window. Opens the Replace window. Copies selected text and store it in a temporary storage area. You can then put it somewhere else with Shift Insert. Deletes text you have selected. Otherwise, deletes one character to the right of the cursor. If the cursor is at the end of a line connects the line to the next one. Ends a line and starts a new one. Toggles between two modes: • Inserting text into the current text • Typing over current text. Cuts selected text and store it in a temporary storage area. You can then paste it with Shift Insert. Puts or pastes text you last copied or cut at the cursor position in the file. Replaces any selected text with text you last cut or copied from the file.

CTRL F CTRL H CTRL Insert Delete

Enter Insert

Shift Delete Shift Insert

The Editor Shortcut Menu

You can also edit text with selections from the Edit drop-down box on the Menu bar or you can use the editor shortcut menu. To use the shortcut menu, highlight the desired text and press the right mouse button.

Editor Shortcut Menu

Plain English Language Reference

2-19

Using the Editor, continued

Finding Text

The IDE Editor provides a Find tool for locating specific words, symbols and phrases whenever the Editor window is activated. To use the Find tool, place the cursor at the place in the program where you want to begin searching for text and press the Ctrl-F key or click Edit in the Editor toolbar and then select Find.

Find Dialog Box

Find Dialog Box Features
Menu Item Find What Match whole word only Match case Direction Find Next Action Enter the text to search for⎯can be up to 132 characters including spaces. Only finds the selected word and rejects other words that would contain it (if "one" is the selected word, it would reject "done", "bone", "alone", and so on). Will match the case of the selected word( if "One" is selected it will ignore "one") Up searches from the cursor position to the beginning of the program. Down searches from the cursor position to the end of the program. Finds the next instance of the word/s listed in the "Find What" column.

2-20

Andover Controls Corporation

Using the Editor, continued

Replacing Text

To find and replace text in a program, you use the IDE Editor's Replace tool. To activate it, place the cursor where you want to begin searching in the program and click Edit in the Editor toolbar and then select Replace to bring up the Replace dialog box.

Replace Dialog Box

Replace Dialog Box Features
Menu Item Find What Replace with Match whole word only Match case Replace Find Next Replace All Action Enter the text to search for⎯can be up to 132 characters including spaces. Enter the text you want to replace the found text with. Only finds the selected word and rejects other words that would contain it (if "one" is the selected word, it would reject "done", "bone", "alone", and so on). Will match the case of the selected word( if "One" is selected it will ignore "one") Replaces the first instance of the found text. Replaces the found text when it is clicked on and then the Replace button is clicked. Replaces all instances of the found text.

Plain English Language Reference

2-21

Using the Editor, continued

Going to a Labeled Program Line

To locate a labeled line in any program, you can use the Goto command. Select Edit…Goto from the IDE menu bar to bring up the Go To dialog box. Then type in the desired line label in the Line text box and click on the Go To button.

Go To Dialog Box

Importing Programs

You can import an external program (located on a floppy disk or in a different directory) into an existing program in the Editor. To do this, perform the steps below.
Importing a Program File
Step 1 2 3 4 5 Action Click at the point in the existing program where you want to insert the external program. A flashing cursor will appear at that point. Open the File menu from the main menu bar. Select Import from the File menu. The IDE File Import dialog box appears.

File Import Dialog Box

2-22

Andover Controls Corporation

Using the Editor, continued

Importing Programs continued
Importing a Program File (continued)
Step 6 7 8 9 Action Use the Look in pull down list box to locate the file to import. Double click on the file name so that it appears in the File name text box. Click on the Import button. The entire file is inserted into the existing program at the point selected in step 1.

Exporting Programs

You can export an existing program in the Editor to another drive or directory. To do this, perform the steps below.
Exporting a Program File
Step 1 2 3 4 Action Make sure the program file you wish to export is the active program in the Editor window. Open the File menu from the main menu bar. Select Export from the File menu. The IDE File Export dialog box appears.

File Export Dialog Box

Plain English Language Reference

2-23

Using the Editor, continued

Exporting Programs continued
Table 3-19. Exporting a Program File continued
Step 5 6 7 Action Use the Look in pull down list box to locate the drive or directory to export to. Type in the name of the file in the File name text box. Click the Save button to copy the program to the selected location.

Note: If the existing program in the Editor has errors and you

don't have time to correct them, exporting the file is a good way to save the program.

Saving the Program

Once you have finished writing your program you need to save it, but before you do, make sure the Assistant is displayed on your screen. To save a program file, click on Save in the File menu, or click the button in the Main Toolbar. The IDE automatically checks the file for errors before saving. If errors are found, the Check tab on the Assistant becomes active and lists the errors. Double click on any error listed in the Assistant. This will place the cursor on the program instruction in the Editor that caused it. Note: The IDE will not let you close the program file, until you fix all the errors. If you want to postpone fixing the errors in your program until a later time, you can use the Export feature of the Editor to place it in a temporary file.

2-24

Andover Controls Corporation

Using the Editor, continued

Saving the Program File continued

When all the errors have been corrected, the Check page of the Assistant will display the message shown below.

The Save File Message

Opening the Program

To reopen the program from the IDE, open the IDE Explorer and locate the subject program file. Double click on the file symbol or hold down the right mouse button and select Open. This will cause an Editor window containing the selected program to appear in the IDE Main Window.

Running the Program from the Command Line

You can start your program by entering the Run keyword followed by the program name into the Command Line and then pressing the RETURN or Enter key (depending on the keyboard). Make sure that the directory path to the program file, appearing in the Command Line title bar, is correct.

Starting the Program from the Command Line

Plain English Language Reference

2-25

Using the Editor, continued

Running the Program from the Command Line continued

In order for the program to run, its State attribute must already be Enabled. (See "Configuring the Program File") The system then does the following: • • • Sets the program’s Status attribute to Active. Sets the program’s CurrentLine attribute to its first line. Updates the program's LineStartTime to the time the Scan starts. (See Chapter 3 for details on the Scanning process.)

Monitoring the Program File Status

You can monitor the program file status by viewing the Run Time status page. To access that page, click on the Configuration icon in the Check toolbar or select Configuration from the File menu. When the Configuration dialog box appears, click the Run Time tab to activate the file status window.

The Run Time File Status Window

You cannot change any of the information in this window. The controller automatically updates it. The Table on the following page explains the Run Time Page features

2-26

Andover Controls Corporation

Using the Editor, continued

Monitoring the Program File Status continued

Run Time Window Features
Item Last Changed Current Line Start File Size Description Shows the date and time the program was last altered. Displays the date and time the current line began executing. Displays the number of characters (bytes) in the file (1024 bytes equal 1KB). The size of the file also includes basics about the file, such as its name, flowtype, and other attribute settings that the controller stores. Shows whether the program is Active or Inactive. Displays the name or number of the currently active line of the program. No current line shows if you have not labeled any program lines. Gives the explanation of the last runtime error that occurred when running this program. Time in days that a program has been at the specified line. Time in hours that a program has been at the specified line. Time in minutes that a program has been at the specified line. Time in seconds that a program has been at the specified line.

Program Status Current Line

Error TD: TH: TM: TS:

Stopping the Program

You can stop the program from the Command Line by entering the “Stop” keyword followed by the program name. This causes the program to stop by setting the Status attribute to Inactive. The program will stop itself if it contains the Stop keyword with no name after it in any of its statements.

Plain English Language Reference

2-27

Using the Plain English Wizard

What it Does

The IDE provides another tool called the Plain English Wizard that provides you with a collection of pre-written programs and functions that can be copied and pasted into a program file.

How to Access It

in the Check toolbar or select Wizard To access the Wizard, click on the from the Tools drop-down list box on the main Menu bar. Using either of these methods will open the Wizard's main window.

The Plain English Wizard Window

Click on the Next> button to bring up the File Selection menu page.

2-28

Andover Controls Corporation

Using the Plain English Wizard, continued

The Wizard File Selection Menu

The File Selection menu page show below offers a variety of different types of pre-written programs and functions from which to choose. The tabs along the top of the menu's window identify different types of programs. Clicking on a tab displays the programs available of that type. To find information about a particular program, click on its icon. The program’s full name appears below the bottom left-hand corner of the window and a brief description of what the program does appears in the Description text box.

PE Wizard File Selection Menu

Selecting and Configuring a Wizard Program

To select a program, click on its icon and then click on the Next > button. This displays the File Configuration dialog box as shown on the next page. The selections on this dialog box are the same as the standard Configuration dialog box except for one additional checkbox: •
Yes, include comments⎯checking this box means you want to leave the pre-written program comments in the program. Not checking this box means you want the comments stripped out.

Plain English Language Reference

2-29

Using the Plain English Wizard, continued

PE Wizard File Configuration Dialog Box

Selecting and Configuring a Wizard Program, continued

Note: If you select a Function from the File Selection menu, the State, Flow Type and Autostart selection will not be available in the File

Configuration dialog box. Click on the Next> button displays the Object References Wizard screen.
Note: Some of the pre-written programs require additional input before

they can be transferred to the Editor. These programs are discussed on the next page.

2-30

Andover Controls Corporation

Using the Plain English Wizard, continued

The Object References Screen

The more complicated pre-written programs offered by the Wizard require references to external objects. So when you click on the Next> button on the Configuration dialog box, the Object References screen shown below appears. You may keep the default object references or replace them with new object names. To keep them, click on the Next> button to go to the Final Wizard screen.
Browse Button

Figure 3-26. The Object References Screen

To replace the object references, click on the empty Object Name field. This will display a browse button. Click on it and the “Select an Object” dialog box (not shown) appears. Choose the object you want and click on the Select button to place it in the Object Name field. When you are finished, click on the Next> button to go to the final Wizard screen.

Plain English Language Reference

2-31

Using the Plain English Wizard, continued

The Final Wizard Screen

Click on the Finish button to transfer the program that you selected with the PE Wizard to the Editor.

Final PE Wizard screen

2-32

Andover Controls Corporation

Chapter 3
Programs, Files and the Scanning Process

At a Glance

Introduction

This chapter provides a discussion on the makeup of Plain English programs and how to construct program statements. It also describes the type of files used with the language and a description of the program scanning process.

Plain English Language Reference

3-1

Plain English Language Programs

Instructions and Statements

A Plain English (PE) program consists of a set of instructions that tell the controller what to do. Each of these instructions is called a statement. A statement is a complete instruction that tells the controller to take some type of action. An example of a PE statement might be: TURN ON THE PUMP Program statements are listed in the order in which the controller must perform them to accomplish the program's purpose.

Names and Case Sensitivity

Throughout Plain English, there is no differentiation between words that are capitalized and those that are not. For instance, the following names are treated as the same: RoomTemp1 ROOMTEMP1 RoomtemP1

3-2

Andover Controls Corporation

Lines and Line Labels

In PE, a line is a statement or series of statements that belong together under one label. You label a line with the LINE keyword or a colon after the line name (see Chapter 7). An example of a line might look like the following: LINE BEGIN TURN THE HEAT OFF TURN THE FAN ON ..... Or BEGIN: TURN THE HEAT OFF TURN THE FAN ON ..... All of the statements following the “BEGIN” label are part of that line, until another LINE label is encountered. The statements in the line are indented here to emphasize their relationship to the line label. Ideally, you should always form lines this way. Line labels do not necessarily need to include the word "LINE". The line label could have been typed with just the name followed by a colon ( : ) Line labels are limited to 16 characters, including underscores, periods, and numbers.

Editor Line Limitations

Each single physical line can contain up to 132 characters (not including the Return at the end of the line).

Plain English Language Reference

3-3

Plain English Language Programs, continued

Expressions

Statements that involve mathematical operations are called expressions. Expressions can also be item names, or constants that return a numeric or string result.

Numeric Expressions

Numeric expressions always result in a number. Numeric constants and variables are expressions as well. Expressions can also be mathematical calculations that result in a number or comparisons that result in a TRUE or FALSE response. The following are valid numeric expressions: • • • • 2 SQRT (9) 900 DIVIDED BY 8 WKD IS GREATER THAN MONDAY

String Expressions

String expressions always result in a string of characters enclosed in quotation marks. String constants and String variables are expressions as well. String expressions can also be combinations that result in a string of characters. (See the PRINT keyword statement in Chapter 7.) The following are valid string expressions: • • • "WARNING⎯HIGH TEMPERATURE" LEFT ("TEST",1) "THE NUMBER OF ERRORS IS ";TOTAL1

Chapter 4 explains how to form a 'string expression' using the Joining Operator. Comments Comments are optional sentences used to help document the operation of a program for the human reader. Comments are not operated upon. Comments are entered as single lines preceded by a single quotation mark ( ' ). The following example contains a comment: ' The following line begins the cool down process Begin: TURN THE HEAT OFF TURN THE FAN ON You can add as many comments as necessary, but each is restricted to one physical (132 characters) line.
3-4 Andover Controls Corporation

Keywords

Description and Types

In Plain English, program statements are constructed using words that the controllers recognize. These words, called “keywords” are further classified into types. The keyword types are described below.
PE Keyword Types Definition Defines an action the controller can perform. Carries out a particular series of calculations or actions and may return one or more specific values. A symbol or keyword that carries out a mathematical or logical process, such as addition, subtraction, or TRUE/FALSE. A variable (a value that changes) that does not carry over a value from another program, but has a value only within the active program. A variable (a value that changes) that the controller automatically updates. A keyword that stands for a particular number or value that the controller knows the meaning of and that does not change.

Keyword Type Statement (an action word) Function Operator

Local Variable

System Variable System Constant

Chapter 7 lists all the keywords available in the PE and explains the correct format to use for each keyword.

Other Words

Besides keywords, other types of words the controller knows are: • • • Names you give to objects such as network controllers, Infinet controllers, BACnet controllers, programs, files, and points. Words that Andover Controls has reserved (called “reserved words” see Appendix B). Attributes and their settings (see Appendix C).

Command Lines

The Command Line is an area within the Plain English Development Environment of CyberStation where you manually type in and execute Plain English commands.

Plain English Language Reference

3-5

Program Flow

Types of Program Flow

You use Plain English to instruct a controller to do certain things, such as locking and unlocking doors, turning on fans, printing reports, adjusting times and dates, and so on. The controller accomplishes such actions in accordance with the sequential order in which the program's statements are arranged. This is termed "Program Flow". Every program in Plain English has a flow type that you identify with the FlowType attributes: • • FallThru Looping

A FallThru program executes the program lines in the sequential order in which you list them⎯from the first to the last line. So the program flows, or "falls thru" the entire sequence of statements. A Looping program remains on the line its is on until it is instructed to "go to" (GoTo) another line.

Looping vs. FallThru

In the following example, if you set the program to Looping, it scans the TESTING line continuously until one of the two conditions exists. If the temperature (assume that the variable “temp” holds the value of the current temperature of the room) is not in the range of 70 to 75 where does the program flow then? It continues to loop back to the beginning of the line (labeled TESTING) and check the temperature again and again. Line Testing IF the Temp is less than 70 GOTO heating IF the Temp is greater than 75 GOTO cooling Line Pumping ... Line Heating ... Line Cooling ... If you set the same program to FallThru, when the controller determines that the temperature is not less than 70 or not greater than 75, the program flows to the next consecutive line (labeled “Pumping”).

3-6

Andover Controls Corporation

Program Flow, continued

Triggers

Any point or system variable can be used to automatically start a program when its value changes. The program is “triggered” by the action of the point or system variable. Once a point is created or the system variable is chosen, the program you want to be run is attached via the trigger list that is found in the editor associated with the entity. For example, suppose you write a program to control a circulating fan. You want the fan to turn on whenever the room is occupied and turn off whenever the room is vacated. In your program, you could choose to use a point called OCCUPIED that triggers the following program: If OCCUPIED is On then Turn On the RoomFan Else Turn Off the RoomFan Endif Next, you associate the point called OCCUPIED with the program on the appropriate controller. To do this, you would: • • Select the associated system variable or point editor from the appropriate controller in CyberStation’s Explorer. Open the Triggers tab page on the editor and browse through the Plain English programs to locate and select the Fan program.

This adds the program to the system variable or point’s trigger list. Refer to Chapter 13 of the Continuum CyberStation Configurator’s Guide for detailed information on setting up triggers. You can also use triggers to reduce controller scan time. (See “Triggering Programs from Points” later in this chapter)

Plain English Language Reference

3-7

Constructing Program Statements

General Rules

To construct a program statement, you follow the structure indicated in the keyword format and the following general rules: • • You must use one and only one verb (statement word) in each statement. You can include one object or a list of objects after the verb.

The following are valid statements: OPEN THE DAMPER CLOSE THE VALVE OR Open the damper, vent1, vent2, vent3 and vent4 Close the firstvalve, secondvalve, thirdvalve You cannot, for instance, open the damper and close the valve in the same statement. The following is an invalid statement: OPEN THE DAMPER AND CLOSE THE VALVE

Conditional and Unconditional Instructions

Plain English includes two fundamental types of instructions: • Conditional • Unconditional Each of these instructions produces a different result, depending on how they are used in a program. A conditional instruction establishes criteria that have to be met before the instruction can be executed and the task performed by the controller. For example: IF Temp is 78 THEN Turn on Fan An unconditional instruction directs a specific action without establishing any criteria before the action can occur. For example: Turn on Fan

3-8

Andover Controls Corporation

IF…THEN

IF..THEN statements differ from other statements in two major ways: • • You use an operator to form the statement. You can include a statement (or multiple statements) that could otherwise stand on its own after the word THEN.

If you use a statement with IF and THEN, the IF through the THEN is considered one statement and contains one operator (operators are similar to verbs−see Chapter 5). For example, the following statement contains the IS operator: IF LIGHTSWITCH IS ON THEN... The three dots after THEN in the statement indicate that more text is required to complete the statement. Below is an example of a statement that contains another operator⎯IS GREATER THAN: IF TEMP IS GREATER THAN 86 THEN.. The following complete IF..THEN statement appears to have two verbs; however, the operator (IS) belongs with IF..THEN and TURN ON remains as the only verb: IF FAN IS ON THEN TURN ON PUMP The statement after THEN could be an independent statement: TURN ON PUMP For information on how to include multiple statements after the word THEN, see the IF..THEN..ELSE keyword in Chapter 7.

Use of "The"

To improve a statement’s readability, use the keyword "The". For instance, in the above examples: IF THE FAN IS ON THEN TURN ON THE PUMP Using "the" makes the statement appear more grammatical, its use is optional in the Plain English Language.

Plain English Language Reference

3-9

Program Files

What is a Program File?

A program file contains statements that instruct the controller to perform some type of action. You create program files to store program statements. You can create a program file on a controller or a CyberStation.

Keep Control in a Single Program File

Good programming practice dictates that you have one program file control a single piece of equipment. Following this practice has the following advantages: • • • Makes programs easier to maintain. Makes programs easier to debug Prevents firing order list (see “How it Works” on next page) issues.

Because the controller scans programs in the order they appear in the firing order list, and the entire scan of all programs occurs in a fraction of a second, following this practice prevents the possibility of a conflict occurring between the instructions in two different programs. For example, if a program unlocks a door and later in the same scan, a second program locks the same door, the door never actually unlocks. Placing the unlocking and locking of the door in the same program file eliminates this problem.

3-10

Andover Controls Corporation

The Scanning Process

How it Works

The Continuum control system is constantly engaged in a sequential scanning process that is performed in accordance with a firing order list. The firing order list is the order in which the system runs programs starting from the top of the list and working its way down. In general, the interpreter inside each controller does the following: • • Gathers all data it needs for the next scan through the programs. Reads and executes one line from each enabled program starting with the first program in the firing order list.

• Converts and sets outputs. This type of single run through the list of programs is called a "scan." The controller then returns to the beginning of the firing order list and scans the next appropriate line of each program. The scans continue. What is the "next appropriate line"? The line determined by the scan process sequence.

Scan Action List

A complete list of the scan actions in the order the controller carries them out is as follows: • • • • • • Updates all enabled system variables. Updates controller-resident schedules, setting occupied and unoccupied events. Updates controller input points. Runs program statements and Command Lines (executes Command Lines between program lines only). Updates controller output points. Processes all alarms and if necessary, updates the Status bar.

Other Actions

The controller also performs the following actions at any time during the scan: • • • • Has triggers set program Status to Active. Changes value of numeric, string, or datetime points. Updates attribute settings. Updates point logs.

Plain English Language Reference

3-11

The Scanning Process, continued

The Basic Stages

The basic stages in the scanning process are illustrated below. Each of the stages is discussed in detail in the following paragraphs.

The Scanning Process

3-12

Andover Controls Corporation

The Scanning Process, continued

1. Updating System Variables

The controller updates the values of all ENABLED system variables (DATE, SECOND, MINUTE, HOUR, WEEKDAY, and so on) at the start of each scan. Setting the DATE first ensures that all programs work from the same time base. System variables retain the value they begin with throughout the scan. So, if the scan starts on the 12th second of the minute, SECOND equals 12 throughout the scan. (If the scan itself is 0.25 seconds long, then the actions are taking place at between 12 and 12.25 seconds. This is a factor to keep in mind when timing is critical.) If a program is in the trigger list for a system variable that has changed, and the program’s State is ENABLED, its Status is set to ACTIVE so it runs during the upcoming scan.

2. Updating Schedules

When schedules are processed, it updates each occupied and unoccupied point so that later, when programs run, the actions are based on the latest schedules.

3. Updating Input Points

The scan gathers electrical values (represented by the ELECVALUE attribute) of all ENABLED inputs from remote and local inputs, in numeric order starting with input number 1. The inputs for the electrical values are in the electrical units specified for that point. The controller converts each input that has changed since the last scan into engineering units. Conversion methods may be different, but all occur at this moment in the scan, whether an auto-conversion, customized conversion, system conversion (such as ACC Degrees F or C), or null conversion (where VALUE equals ELECVALUE). The converted value of each input point is stored in the input's object value attribute. Once the new values are assigned to input points, those points retain their values throughout the scan. All action taken during the scan is based on the initial input values. If a program is in the trigger list for an input point that has changed, and the program's State is ENABLED, its Status is set to ACTIVE so it runs during the upcoming scan.
Plain English Language Reference 3-13

The Scanning Process, continued

4. Running Programs and Executing Commands

During each scan, the controller executes the current line from each program that conforms to the following: • • State is ENABLED Status is ACTIVE

• Current line is not zero The controller executes one line from each program in the sequence the firing order list specifies. The controller treats command lines like one-line programs. The scanner checks for command lines between every two-program lines during the scan and responds immediately. If any command line or program line prints to the Status bar, the Status bar display changes after the scan processes alarms. If more than one statement prints to the Status bar, the last statement "wins." The controller includes a safety mechanism such that no single program can monopolize the scan. The mechanism is a statement counter that disables a program and sets its ERROR attribute to "Executed too many statements on one line" if the scanner tries to execute more than 5000 statements in a single line during a single scan.

5. Updating Output Points

The scan sets output point values as instructed in programs or command lines during this phase of the scanning process. At the end of the scan, the controller converts the value of each output that changed in the previous scan from engineering units to electrical units. Conversion methods may be different, but all occur at this moment in the scan, whether an auto-conversion, customized conversion, or null conversion (where ELECVALUE equals VALUE). After converting all output point values, the ELECVALUEs are sent to the local or remote outputs. As an example, if the first program sets the output of HEATER to ON and the last program sets it to OFF, how does the controller resolve this kind of conflict? The HEATER is set to OFF, because output points change at the end of the scan⎯the setting of the last program is the one that takes affect.

3-14

Andover Controls Corporation

The Scanning Process, continued

5. Updating Output Points continued

You can use the fact that the output hardware is not updated until the end of the scan to carry out certain advanced control strategies, but we do not encourage you to program this way. You should handle both turning on and turning off a piece of equipment in one program, so that no conflicts arise based on the firing order list. We do, however, recognize that you may want a master emergency program to override output settings of all other programs in certain circumstances. That is why you are allowed to alter the firing order.

6. Evaluating Alarms

Finally, the last action of the scan is evaluating alarms. The following describes the actions of an Infinity or i2 controller, not a BACnet controller. BACnet alarms are slightly different. Points with Infinity alarms can be triggered by up to eight separate conditions. Whenever the point's value is set during the scan, the controller evaluates each condition associated with an alarm and updates the point's alarm attributes: ALARM1 through ALARM8. Or, it calculates the alarm's delay time. The alarm is activated immediately unless it has a delay. If the controller has set the ALARMDELAY, and the condition to set the alarm is TRUE, the controller adds the ALARMDELAY time to the current system time to calculate the alarm delay time. The scan places the alarm in a list of alarms to be evaluated again based on the alarm delay time. At the end of each scan, the scanner checks the list of delayed alarms. The scanner reevaluates the alarm conditions of the alarms that have reached their delay times, and if they are still TRUE, sets the alarms.

Updating the Status Bar

After the scan processes the alarms, it updates the Status bar display if its setting has changed or if a value it is displaying has changed.

Plain English Language Reference

3-15

Other Scanning Issues

Numeric, String, and DateTime Points

Numeric, string, and datetime points change values immediately within a program. So if the first program sets the setpoint to 72, and later in the same scan another program tests the setpoint, the later program sees the new value of 72.

Updating Point Logs

As it alters point values, the scan process evaluates all points that are automatic logs and updates them if necessary (based on the log interval).

Triggering Programs from Points

Scan length varies depending on the amount of work done. You can reduce scan time by assuring your programs conform to the following guidelines: • • • Set the points that your program references to triggers for that program. The program should make the decision and set some points.

The program should end (by being set up as a fall-thru program or including a STOP statement). Such programs run only when necessary, reducing scan time.

Exported Points

Point values can be exported at any time during the scan. As an example, if PROGRAM1 turns a FAN ON early in the scan and PROGRAM99 turns it OFF later, although the fan would never physically turn on, the VALUE of ON could be exported to another controller between PROGRAM1 and PROGRAM99. This is another reason you should handle both turning on and turning off a piece of equipment in the same program.

Power Failure Conditions and the Firing Order

The Firing Order can be used to determine the order in which programs run. This is especially useful when handling power failure conditions. In such a situation, once power is restored, the program at the top of the firing order list runs followed by the next program on the list, and so on, down the list. If you have a specific power-up sequence where certain programs and items must be set in a certain order, you can use the Firing Order to do this.

3-16

Andover Controls Corporation

Other Scanning Issues, continued

Power Failure Conditions and the Firing Order continued

To accomplish this, write a Fall-Thru program that is triggered by the PowerFail system variable. This program should contain a statement that starts all the other programs in the correct sequence. START Program1, Program2,… This sets each program's status to active, and places the program pointer to the first line of the program.

Plain English Language Reference

3-17

3-18

Andover Controls Corporation

Chapter 4
Points, Constants and Variables
At a Glance

Introduction

This chapter describes the types of points, constants and variables that exist in the Continuum system. The difference between hardware and software points, what constitutes a constant and how a constant differs from a variable, what a system defined constant is, what makes a local variable different from a system variable and unique i2 controller system variables are all covered in this chapter.

Plain English Language Reference

4-1

Points

Types of Points

Points are objects that supply information to the control system. There are five types of points: • • • • • Input Output Numeric String DateTime

Input and output points are hardware points, whereas numeric, string, and datetime points are software points.

Hardware Points

Controllers use input and output points to interact with the environment. They connect to sensors or devices directly from certain controllers or via input/output IOU modules that are attached to a controller.

Input Points

You use an input point to sense temperature, pressure, and the closure of a switch contact or any outside environmental entity that can be electrically represented. Input circuits in Andover controllers act like voltmeters; they can measure the presence or absence of a voltage. In situations where switch contacts are being sensed, the input circuit supplies the voltage to one side of the contact. When the contact is closed, the voltage is “sensed” on the other contact. Temperature and pressure sensors modify the value of the voltage sensed. Each input point includes an associated “value” attribute that represents the voltage reading at one particular point in time. When you reference an input point in a Plain English program you are actually referencing the value attribute of the point. Example: IF INPUT1 = 74 THEN … INPUT1’s “value” attribute contains the input reading (74)

4-2

Andover Controls Corporation

Points, continued

Output Points

Outputs control external equipment such as motors, valves and heaters. Andover controllers include two types of outputs: those that switch and those that supply a variable voltage or current. Outputs that switch (we call these Digital outputs), effectively close or open switch contacts (relays or electronic equivalents to relays-Triacs). These can be set to ON or OFF. They can also be PULSED (rapid on-off). Outputs that supply a variable voltage or current can be set to a specific value. The value becomes the voltage or current the output supplies.

Software Points

Software points are storage locations found within the controller or workstation where information can be saved for use in a program. Some software points are read-only. These points can represent system information regarding the status of various hardware or software entities. The following are examples of software points: Numeric (called Multi-State Value, Analog Value or Binary Value on Workstations) String DateTime A good example of a software point would be a numeric that serves as a place to store the high or low limit (set point) for a temperature reading.

Numeric Points

Numeric points are storage locations in a controller's memory that contain numeric-only information. A numeric point could also be used to indicate whether a building is occupied or not, in which case its value could be ON or OFF.

Multi-State Value Points

Multi-State Value points are storage locations in a workstation's memory that contain numeric-only information.

String Points

String points are storage locations in a controller or workstation’s memory that contain plain text information such as messages that are displayed on a workstation screen, printer or for a display device such as the LD-1 or xP Display.
Plain English Language Reference 4-3

Points, continued

DateTime Points

Datetime points are storage locations in a controller or workstation's memory that store date time information. They store a timestamp (the default is January 1, 1989) not month or day of week. They are used in schedules and to create time stamps.

Controller vs. Workstation Points

Workstations and controllers share many of the same Continuum capabilities. For instance, you can create a program that runs only on a workstation (this is called a “program”). Similarly, you can create a program that runs only on a controller (this is called an “InfinityProgram”). Software points can be created on both workstations and controllers. Once again, an entity created on the controller would include the “Infinity” name as part of the entity (e.g., InfinityNumeric, InfinityDateTime). BACnet controllers are treated as Infinity controllers and therefore include Infinity-based names for their points and programs as well.

4-4

Andover Controls Corporation

Constants

Description and Types

Constants are numbers, words, or dates that do not change. They remain constant. There are two types of constants: • • Numeric String

Numeric Constant

A numeric constant is a number. The number can be an integer (with no decimal places) or a number with a decimal (floating point).

Integer Numbers

Integer numbers have no decimal places. When an integer number is required in a keyword format, you can use only a whole number, positive or negative, including zero.

Floating Point Numbers

You can enter a floating point number as one of the following: • • • • The actual number with up to seven decimal places A number in scientific notation Positive numbers between 1.40129E-45 and 3.402823E+38 Negative numbers between -3.402823E+38 and -1.40129E-45 The numbers accepted are IEEE single precision floating point.

Examples of Numeric Constants

Examples of some acceptable numbers are: • 12 • 74.5 • -.543 • 4E+32 You cannot have a comma in the number (e.g., 2,000) because the number must be made up of the numeric characters 0 through 9 only. Entering a comma in a number makes it an invalid number. The controller accepts all numbers, but the controller interprets: • • • Numbers greater than 3.402823E+38 as infinity. Numbers less than -.402823E+38 as negative infinity. Numbers between 1.40129E-45 and -.40129E-45 as zero.

How the Controller Interprets Numbers

Plain English Language Reference

4-5

Constants, continued

String Constants

A string constant is a series of ASCII characters, including blanks, surrounded by quotation marks ("string").

Rules for String Constants

Even though a string may contain a number, the number cannot be used in mathematical calculations. A string can have up to 132 characters when used in a CX series controller and up to 32 characters when used in an Infinet i2 controller. In addition, a string can contain a vertical bar ( | ) followed by an ASCII code (a number that stands for a character or simple action). You would, for instance, use |7 to produce a beep: PRINT "The next sound you hear is a beep |7" Anything you put after the vertical bar is interpreted as a code or a format for a variable value. For example, to print a quote enclosed by quotation marks you would use (“) following the vertical bar. In the statement: PRINT “The string |” abc|” is included” Prints: The string “abc” is included. More information about the vertical bar in strings is included under the PRINT keyword, in Chapter 7. The complete ASCII code table is listed in Appendix A.

System Defined Constants

System constants are predefined in Plain English and their values do not change. ON and OFF are two examples of system constants. Days of the week, months of the year are also system constants. Certain keywords are also constants. Other system constants include not only keywords, but also values you can set attributes to. For instance, you can set the point type attribute to VOLTAGE, so VOLTAGE is a system constant. Do not use these words as names when you name programs, points, or other items. For a complete listing of Continuum system constants refer to Appendix B.

4-6

Andover Controls Corporation

Variables

Description and Types

Variables are names that stand for numbers, words, or dates and times. A variable, unlike a constant, has a value that changes or varies. Types of variables include: • • • Numeric String DateTime

The Plain English Language supports both System and program variables.

Numeric Variables

A numeric variable is a name that represents a number. Numeric variables are subject to the same range limitations as numeric constants. Numeric constants, variables, points, expressions (formulas), or functions can be compared to other numeric type items or used in mathematical calculations. For more about numeric variables, see the NUMERIC statement keyword in Chapter 7.

String Variables

A string variable is a name that represents a series of alphanumeric characters. String constants, variables, points, expressions, or functions can be compared to other string type items. Strings cannot be used in mathematical calculations unless they are converted to a numeric type. For more about string variables refer to the STRING and STRINGFILL statement keywords in Chapter 7.

DateTime Variables

A datetime variable is a name that represents a date and time. Datetime constants, variables, points, expressions, or functions can be compared to other datetime items. You can retrieve the date and time from the STRTODATE function or from the DATE system variable. Chapter 7 provides a full discussion of both these keywords. You can print out a datetime variable to see what date and time is in it, but the date and time that prints is in a predefined format you cannot change. The date and time prints in this format (in the 24-hour clock): MONTH DD YYYY hh:mm:ss

Plain English Language Reference

4-7

Local Variables

Description

Whereas system variables are understood by all controllers and workstations in the system, local variables are only understood by the program where they are defined. You must define each local variable at the beginning of the program where they will be used. If you define them anywhere else in the program it will not run.
Note: If you name a local variable with the same name you have

defined for a point, your program always assumes you are referring to the local variable and not to the point. You can have a total of 255 local variables (of all types) in a single program. You define local variables using the Numeric, String, and DateTime keyword statements (each is listed in Chapter 7). An example of each of these keywords is given below.

Numeric Keyword

The Numeric keyword assigns the name that follows it as a local numeric variable: Numeric RateOfRise

String Keyword

The String keyword assigns the name that follows it as a local string variable with a maximum number of characters allowed defined before the name: String 40 DirtyFilterMsg

DateTime Keyword

The DateTime keyword assigns the name that follows it as a local variable that accepts a date and time: DateTime LocalDateTime

4-8

Andover Controls Corporation

System Variables

Description

A system variable is a storage location that the system sets and updates automatically. Most of the system variables are controlled by the system and cannot be changed by the user. Those that can be changed are referred to as “Programmable System Variables” (see below). System variables exist on all controllers and workstations. You can view them by selecting the Network views in the Continuum Explorer menu and opening the InfinitySystemVariable folder under the applicable controller or workstation. The screenshot below illustrates a portion of the system variables that appears in the Explorer’s viewing pane for the selected controller.

Controller System Variables Appearing in Continuum Explorer

Programmable System Variables

Programmable system variables are names for values the controller sets initially, that you can change later. The term “programmable” always means you can change a value. The programmable system variables available in the Plain English Language are listed below and each is described on the following page. • • • AudioBell BackLight CPUPower • • • DCXPower IOUPower MicroPower • • ModemPower Status1 to Status8

Note: The i2 and BACnet controller programmable system variables and

techniques are covered extensively in the i2 and BACnet Controller Technical Reference Guides.
Plain English Language Reference 4-9

System Variables

System Variable Listing

The following table provides a complete list of the system variables for workstations and CX controllers. In addition to these, i2 and BACnet controllers have a unique set of extra system variables that are fully described in their respective Technical Reference Guides.
Workstation & CX System Variables Name
AccessLog AccessSsrver

Available on
CX series controllers ACX & CX series controllers

Description
The number of personal records stored on the access server. A programmable system variable that indicates the ACCNet ID where the areas and personnel are stored for access control. Setting this system variable to 0 (zero) instructs the access controller to perform local access validation using its distributed personnel objects. The number of pending alarms. Increments by one each time a new alarm occurs and decrements by one each time an alarm returns to normal. A programmable system variable that sets the number of seconds that the DCX250 display will beep for. Expresses a close approximation of the remaining slots left to store personnel records in a controller’s memory. A programmable system variable that sets the number of seconds to turn on the background light on the DCX250 display. Indicates whether or not the controller has been tampered with (True or False). A programmable system variable that is used to turn off the battery power to the controller’s CPU. Shows the current state of the database as Online or Offline. Retrieves current system date and time so that you can then store it in a variable. Gives the current day of the month from 1 to 31. Gives the current day of the year between 1 and 366.

Alarms

All controllers & CyberStation

AudioBell

DCX250 controller

AvailRecords

ACX & CX series controllers DCX250 controller

BackLight

CabinetTamper CPUPower

ACX controller CX series controllers CyberStation *All controllers & CyberStation *All controllers & CyberStation *All controllers & CyberStation

DatabaseStatus Date

DayofMonth DayofYear

4-10

Andover Controls Corporation

System Variables

System Variable Listing continued
Workstation & CX System Variables continued Name
DCXPower

Available on
DCX250 controller

Description
A programmable system variable that controls power to the controller when its PowerFail system variable is ON. Indicates the number of errors existing on the system. A programmable system variable that indicates the number of access control events the controller can store in its event log. Indicates the number of bytes of free memory available on a controller. Does not indicate available memory on a CyberStation. Indicates the current hour, from0 to 23. Indicates the time in decimal form from 0 to 23.99. Indicates hundredths of a second as a number between 0 and 99. Gives the number of Infinet controllers communicating with the CX or CMX 9924 using Commport 1. Gives the number of Infinet controllers communicating with the CX or CMX 9924 using Commport 2. Gives ON if there is a communication fault (failure) to or from the controller’s IOU module or OFF if there is no communication fault. A programmable system variable that controls power to the IOU modules when the associated controller’s PowerFail system variable is ON. A separate window that shows all of the system text messages since the last time the message window was emptied.

Errors EventLogSize

*All controllers & CyberStation CX series controllers

FreeMem

*All controllers

Hour HourofDay HundredthofSecond Infinet1Count

*All controllers & CyberStation *All controllers & CyberStation CyberStation CX series controllers and CMX 9924 controller CX series controllers and CMX 9924 controller *All controllers

Infinet2Count

IOUCommFlt1 to IOUCommFlt16

IOUPower

CX series controllers

MessageWindow

CyberStation

Plain English Language Reference

4-11

System Variables

System Variable Listing continued
Workstation & CX System Variables continued Name
MicroPower

Available on
CX series controllers and ACX781Infinet controllers *All controllers & CyberStation CX series and CMX series controllers

Description
A programmable system variable that controls power to the ACX781 Infinet controller when the associated controller’s PowerFail system variable is ON. Gives the exact minute of the current hour, from 0 to 59. A programmable system variable that controls the battery power to the controller’s modem. Set to ON when AC power is up and OFF when it is goes down. Gives the current month of the year, from January to December. Indicates the number of new alarms on the controller and all its Infinet controllers since the last time the alarms were sent to the workstation. Indicates whether or not the AC power to the controller has failed. See full description on page 4-14. Gives the date and time of the last AC power application to the controller. Indicates whether or not any access card reader on the controller has lost power. Gives TRUE if the card reader lost power, FALSE if not. Indicates the controller’s last scan time in seconds. Gives the exact number of seconds of the current minute, from 0 to 59. Programmable system variables that control the eight status LEDs on the front of the controller cabinet. ON turns on the LED and OFF turns off the LED. Indicates whether communications is occurring between the access server and the controller.

Minute ModemPower

Month NewAlarmCount

*All controllers & CyberStation CX and CMX series controllers

PowerFail

*All controllers & CyberStation *All controllers & CyberStation ACX series controllers

PowerUpTime ReaderPower

Scan Second Status1 to Status8

*All controllers & CyberStation *All controllers & CyberStation CX 9201 controller

SystemStatus

ACX and CX series controllers

4-12

Andover Controls Corporation

System Variables

System Variable Listing continued
Workstation & CX System Variables continued Name
TimeofDay

Available on
*All controllers & CyberStation

Description
Gives the time of day with the hour and minute in the format HHMM where HH is a number between 0 and 23 and MM is a number between 0 and 59. Indicates the number (from 1 to 64) of the first block (cell) that an operator touched on the ACX 250 display during the last scan. Indicates whether or not each person who has access must have a unique personal identification number (PIN). Gives the current version number of the software running on the controller. Gives the current day of the week, from SUNDAY through SATURDAY. Gives the current year from 1989 through 2088.

TouchedCell

DCX250 controller

UniquePin

ACX, CMX and CX (except 9500) series controllers *All controllers & CyberStation *All controllers & CyberStation *All controllers & CyberStation

Version Weekday Year

*Includes the following controllers: ACX series, CX series, LCX series, SCX series, TCX series and the DCX 250.

Specific information pertaining to various characteristics of particular system variables listed in the tables is provided in the following paragraphs.

STATUS# System Variables

The STATUS# system variables exist for up to eight status lights on the front of the CX 9201 controller’s cabinet (STATUS1, STATUS2, STATUS3, and so on.) You can label each status light on the CX 9201 to any value you choose; for instance, STATUS 2 could be an alarm that says SPACE TOO WARM. When the space is too warm, the light turns on. (You turn the light on by setting it from inside a program when the space temperature is higher than setpoint.) See the STATUS# keyword in Chapter 7 for more information.

Plain English Language Reference

4-13

System Variables, continued

PowerFail and other Power related System Variables

On all controllers that have battery backup, each time you lose AC power to the controller its PowerFail system variable is automatically set to ON and the battery backup provides power. This PowerFail system variable remains ON throughout AC power loss until AC power is restored (see Note, below, for PowerFail behavior on Infinet, i2 and BACnet controllers). The PowerFail system variable: • Indicates the loss of AC power. • • Is set to ON if power has failed and set to OFF if AC power is present. Can be used as a trigger to tell the controller when to start a power management program. All CX9900 series controllers can continue to run on battery backup while power is down. The ACX781 is the only Infinet controller that continues full functional operation on battery backup. On the CX9900 series controller and the ACX781 controller, the PowerFail system variable turns OFF as soon as AC power is restored.

For CX9900 and ACX781 controllers: •

Note: On all other controllers, when AC power is restored the PowerFail system variable is ON only during the first scan after power restoration.

When AC power is applied to the controller, the current date and time is recorded to the PowerupTime system variable. This system variable can be used to determine how many hours have elapsed since AC power was restored to the controller. When the system sets the PowerFail system variable to ON, some additional system variables provide the user with power control for certain portions of the system. These are settable by the user only if the system is operating in battery backup mode (meaning the PowerFail system variable is ON). These power-related system variables can be ON or OFF.
Associated PowerFail System Variables
CPUPower DCXPower ModemPower IOUPower ReaderPower MicroPower Controls the power for the controller itself. Controls the power for the DCX controller. Controls the power for the modem. Controls the power for the IOU modules. Controls the power for the ACX700 series controllers. Controls the power for the ACX781 controllers.

4-14

Andover Controls Corporation

Chapter 5
Operators and Expressions

At a Glance

Introduction

This chapter describes the operators that Plain English uses for mathematical expressions.

Plain English Language Reference

5-1

Order of Action

Definition of an Operator

An operator is that part of an expression that causes a mathematical operation to occur, such as addition, subtraction, multiplication, division, and so on, or tests a condition such as equality.

Listing Order

In Plain English, operators are acted upon in a certain sequence when more than one operator occurs in an expression. The following table lists the order (top to bottom) that is used when working out an expression
Operators and Their Order When Used in an Expression Operator Description Association () Parentheses Left to Right [] Array Element Blank or \ Path Name Connector Right to Left Right to Left Plus Sign on Number + Minus Sign on Number Logical Negation NOT Bitwise Negation BITNOT Percentage % ^ Exponentiation Left to Right Left to Right Multiplication * Division / Modulus MOD + Addition Left to Right Subtraction Left to Right Less Than < Less Than or Equal <= Greater Than > Greater Than or Equal >= Left to Right Equal = Not Equal <> Set Inclusion IS IN Set Exclusion IS NOT IN Range IS BETWEEN Range IS THRU Left to Right Bitwise Logical And BITAND Bitwise Logical Or BITOR Bitwise Logical Exclusive Or BITXOR & Logical And Left to Right ! Logical Or ; Joining Operator Left to Right

5-2

Andover Controls Corporation

Plus Sign, Minus Sign, Negation, BITNOT, and Percentage

+ number

Can be used in front of a number to show it is positive, but has no affect on the value.

- number

Makes a positive number negative and a negative number positive. This works only on numeric expressions.

NOT number

Logically negates the number or expression. If the value of the expression is nonzero, NOT changes it to 0 and vice-versa. If the expression is TRUE, NOT makes it FALSE and vice-versa.

BITNOT integer

Changes the 1s to 0s and 0s to 1s in the binary equivalent of the integer, then gives you the decimal integer equivalent of that binary number.

number %

Divides the number by 100 to give you the percentage.

Plain English Language Reference

5-3

Fundamental Operators

Addition

number + number Adds the numbers. Works only on numbers or datetimes and the resulting expression is numeric or datetime. Alias: PLUS.

Subtraction

number − number Subtracts one number from another. Works only on numbers or datetimes and the resulting expression is numeric or datetime. Alias: MINUS.

Multiplication

number * number Multiplies the numbers. Works only on numbers or datetimes and the resulting expression is numeric or datetime. Aliases: TIMES, MULT, and MULTIPLIED BY.

Division

number / number Divides one number by another. Works only on numbers or datetimes and the resulting expression is numeric or datetime. Alias: DIVIDED BY.

Modulus

number MOD number Finds the amount left over when dividing the first number by the second. For example 9 MOD 7 gives 2. Similarly, −9 MOD 7 also equals −2. Alias: REMAINDER.

Exponentiation

number ^ number Finds the result of the first number raised to the second number power. Alias: EXP

5-4

Andover Controls Corporation

Comparative Operators

General

Each of the following operators compares the number to the left of the keyword with the number to its right. All of the expressions using comparative operators yield TRUE (numeric 1) or FALSE (numeric 0) and are considered numeric.

Less Than

number < number Compares two numbers and determines whether the value of the left number is less than the value of the right. Aliases: IS LESS THAN, (THAN is optional), and IS BELOW.

Less Than or Equal

number <= number Compares two numbers and determines whether the value of the left number is less than or equal to the value of the right. Alias: IS LESS THAN OR EQUAL TO where THAN and TO are optional.

Greater Than

number > number Compares two numbers and determines whether the value of the left number is greater than the value of the right. Alias: IS GREATER THAN (THAN is optional), and IS ABOVE.

Greater Than or Equal

number >= number Compares two numbers and determines whether the value of the left number is greater than or equal to the value of the right. Alias: IS GREATER THAN OR EQUAL TO where THAN and TO are optional.

Plain English Language Reference

5-5

Comparative Operators, continued

Equal

number = number Compares two numbers and determines whether the value of the left number is equal to the value of the right. Aliases: EQUALS and IS EQUAL TO where TO is optional.

Not Equal

number <> number Compares two numbers and determines whether the value of the left number is not equal to the value of the right. Aliases: DOES NOT EQUAL and IS NOT EQUAL TO where TO is optional.

Comparing String Values

You may also use greater than, less than, or equal to operators to compare two string values. The strings are evaluated by ASCII code. This means that “Z” is greater than “A” and “9” is greater than “0” and “A” is greater than “9”. Also “ABC” is greater than “A”. Refer to the standard ASCII chart in Appendix A for a complete list of characters.

Type Conversion

If the compared expressions are not the same type, you must convert them to the same type using the keywords below: • • • StrToNum converts a string to a number. NumToStr converts a number to a string. StrToDate converts a string with the correct information into a datetime.

5-6

Andover Controls Corporation

List and Range Operators

IS IN

number IS IN list or number IS list Determines if the first number or expression is in the listed set. If the number on the lefthand side of the expression is in the list expression on the righthand side, the expression yields TRUE (numeric 1), or FALSE (0) otherwise. Alias: IS EITHER.

IS NOT IN

number IS NOT IN list Determines if the first number or expression is NOT in the listed set. If the number on the left hand side of the expression is not in the list expression on the right hand side, the expression yields TRUE (numeric 1), or FALSE (0) otherwise. Alias: IS NEITHER.

IS THRU

IS number THRU number Gives a range starting with the number or expression to the left of THRU and ending with the one to the right. The result of a range is the same type as the expressions. (This statement is operationally equivalent to IS BETWEEN)

IS BETWEEN

IS BETWEEN number AND number Gives a range starting with the number or expression before AND and ending with the one after it. (This statement is operationally equivalent to IS THRU)

Plain English Language Reference

5-7

Bit Operators

BITAND

integer BITAND integer Compares the binary equivalents of the two integers, digit by digit, as if the 1s were TRUE and the 0s FALSE. If both binary numbers contain a 1 in the same place, that is TRUE AND TRUE, which gives TRUE. If both numbers contain a 0 in the same place, that is FALSE AND FALSE, which is FALSE. If one number contains a 1 and the other a 0 in the same place, that is TRUE AND FALSE, which is also FALSE. Refer to the truth table on the next page for further explanation.

BITOR

integer BITOR integer Compares the binary equivalents of the two integers, digit by digit, as if the 1s were TRUE and the 0s FALSE. If both binary numbers contain a 1 in the same place, that is TRUE OR TRUE, which gives TRUE. If both numbers contain a 0 in the same place, that is FALSE OR FALSE, which is FALSE. If one number contains a 1 and the other a 0 in the same place, that is TRUE OR FALSE, which is TRUE. Refer to the truth table on the next page for further explanation.

BITXOR

integer BITXOR integer Compares the binary equivalents of the two integers, digit by digit, as if the 1s were TRUE and the 0s FALSE. While BITOR finds cases where either digit is TRUE, BITXOR finds cases where one or the other is TRUE, but not both. If both binary numbers contain a 1 in the same place, that is TRUE OR TRUE, which gives FALSE because only one or the other can be TRUE, not both. If both numbers contain a 0 in the same place, that is FALSE OR FALSE, which is FALSE. If one number contains a 1 and the other a 0 in the same position, that is TRUE OR FALSE, which is TRUE. Refer to the truth table on the next page for further explanation.

5-8

Andover Controls Corporation

BIT Operators, continued

Truth Table

The truth table for the bit operators is as follows:
BIT Operator Truth Table Operator Integer1 Integer2 TRUE TRUE BITAND FALSE TRUE BITAND FALSE FALSE BITAND BITOR BITOR BITOR BITXOR BITXOR BITXOR TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE

Result TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE FALSE

Plain English Language Reference

5-9

AND/OR and String Joining Operators

AND

number & number Includes two expressions (which must be numeric or converted to numeric) in a comparison. The statement returns TRUE (numeric 1) if both expressions are nonzero, and FALSE (numeric 0) otherwise. The Alias: AND.

OR

number ! number Determines whether a comparison is true by making the comparison to each expression (which must be numeric or converted to numeric) separately, excluding the others. The statement returns FALSE (numeric 0) if both expressions are false, TRUE (numeric 1) if at least one is true. The Alias: OR.

String Joining

string ; string Joins two strings by adding the second one onto the end of the first to form a new string. Both expressions must be of type string or convert to type string.

5-10

Andover Controls Corporation

Chapter 6
Functions, Arrays, and Logs

At a Glance

Introduction

This chapter explains Plain English Language functions, their arguments, how to call them and how to return a value to a function. It also explains arrays and logs, how to set them up and how they can be used in functions.

Plain English Language Reference

6-1

Functions

Definition

A function is a routine designed to carry out a particular task or series of tasks and is executed in one Plain English scan. There are built-in and user-defined functions. An example of a built-in function is the Plain English function SQRT that returns the square root of a given number: RESULT = SQRT(25) The number the function operates on (25) is included within parentheses. This function returns the value 5. When a function is used to calculate or provide a value, it “returns” the value to the program that calls the function. A program may also provide (“pass”) the function some values (called “arguments”) to use in calculations or actions it must take. Arguments (separated by commas if these are several) are included in parentheses following the function name. Not all functions require arguments, however, you should include the parenthesis even if it is empty (e.g., function ()). You can run a function from: • • The Command Line, if the function exists in a controller or on a workstation. A Program, if the program and the function exist on the same controller.

User-defined functions are created using standard Plain English keywords within something called a “function file”. The name you give the file becomes the word you use to activate the function. The small Plain English program you write as a function becomes a subroutine that may be called whenever that particular action needs to be done. Functions must end with the RETURN statement. It tells the controller to "return to the calling program, function or command line."

6-2

Andover Controls Corporation

Functions, continued

Calling a Function

You can activate ("call") a function by using its name as a statement in a program, on the command line, or inside another function. You place the arguments in parentheses after the statement. In the following example, the START.STOP function starts fans 1 and 2 and stops fans 3 and 4 during daylight hours. IF TimeofDay > 6:00am AND TimeofDay < 6:00pm THEN START.STOP(FAN1, FAN2, FAN3, FAN4) RUN HEATER ELSE START.STOP(FAN3, FAN4, FAN1, FAN2) ENDIF

Calling a Function without Arguments

The function need not have arguments if it works with the same points all the time. You can define one that stops all fans and call it FANSTOP. STOP FAN1, FAN2, FAN3 AND FAN4 RETURN Parentheses may be omitted. IF TOD > 1800 AND TOD < 800 THEN FANSTOP( ) FANSTOP knows about the fans because they are points on the controller. Functions can have not only points for arguments, but local variables from the calling program, program names, other function names; basically anything that is named within a controller. The following example shows a function that starts and stops two programs. ARG 1 PROGRAM1 ARG 2 PROGRAM2 START PROGRAM1 STOP PROGRAM2 RETURN The calling program can send any two items to this function that can be acted on by START or STOP. You can start and stop any point (piece of equipment) or program.

Calling a Function with Arguments

Plain English Language Reference

6-3

Functions that Return a Value

In addition to returning to the calling program, RETURN can also bring back the results of a calculation. The following example shows a function that returns a value. In this case, the RETURN statement contains an expression. The function returns the value resulting from that expression to the program. ARG 1 TMP1 ARG 2 TMP2 ARG 3 TMP3 ARG 4 TMP4 NUMERIC TOTAL.CHANGE TOTAL.CHANGE = (TMP1 - TMP2) + (TMP2 - TMP3) + (TMP3 -TMP4) RETURN (TOTAL.CHANGE/3) As shown below, you could also give the expression a local variable name. ARG 1 TMP1 ARG 2 TMP2 ARG 3 TMP3 ARG 4 TMP4 NUMERIC TOTAL.CHANGE, MID.CHANGE TOTAL.CHANGE = (TMP1 - TMP2) + (TMP2 - TMP3) + (TMP3 TMP4) MID.CHANGE = TOTAL.CHANGE/3 RETURN MID.CHANGE Why use a name instead of an expression in the RETURN statement? The name is more readable as its meaning is automatically clear. RETURN can return a string in quotation marks or a date and time as well as a number. All of these are values.

6-4

Andover Controls Corporation

Arrays

Definition

An array is a group of variables of the same size, and sharing a single name, but broken up into numbered cells, called elements. You refer to each element in the array using a number called an "index". For example, if we had an array with 8 elements called CLOCK, you can refer to its eight possible values as CLOCK[1], CLOCK[2], CLOCK[3], CLOCK[4], and so on.
Example of an Eight Element Array
Index 1 2 3 4 5 6 7 8 Value 8.000 8.510 9.000 9.620 10.000 10.750 11.000 11.250

CLOCK[1] is 8.000, CLOCK[2] is 8.510, CLOCK[3] is 9.000, and so on. Each entry in an array is referred to as an element. A Continuum array can contain up to 32,767 elements. You can also put a numeric variable in place of the index number, such as CLOCK[COUNT]. The variable is called an "index variable."

Setting Up an Array of Variables

When you define an array variable, you must specify a type (numeric, string, or datetime) and the number of elements. The following statement defines (declares) a local array called “Temperature” as numeric with 50 elements: NUMERIC TEMPERATURE[50] For more on defining arrays and other types of variables, see the NUMERIC, STRING, and DATETIME keywords in Chapter 7.

Plain English Language Reference

6-5

Logs

Definition

Logs are points that automatically update and save readings from the environment. Logs can be input, output, numeric, string, or datetime points. A log of points stores the last several values of an input, output, or an other point. Logs are similar to arrays (see the previous page) except that arrays must be programmatically updated while the log point automatically updates.

How a Log Updates

Continuum updates automatic logs by inserting new values into the first log entry, as shown below. At every interval a new value is stored in the first log entry, pushing existing values down to the remaining entries. When the specified number of entries is full of values, the bottom value is “dropped off” when a new value is inserted.
Example of Log Updates Index 1 2 3 4 5 6 7 8 Value 72 73 75 74 73 72 71 73 Most recent value recorded

8 most recent value recorded

th

The log position with the index [1] contains the newest logged value. The highest index number holds the oldest value. However, if you access the log without an index number, you receive the current value of the point. For example, the OUTSIDEAIR log updates as follows: OUTSIDEAIR is the current value. OUTSIDEAIR[1] is the most recently logged value. OUTSIDEAIR[2] is the second most recently logged value. OUTSIDEAIR[3] is the third most recently logged value, and so on.

6-6

Andover Controls Corporation

Logs, continued

How to Retrieve Log Values

When working with logs, you won’t actually see structures like the one shown on the previous page. Instead, you’ll use point names and index numbers to retrieve values stored in logs. To do this, simply enclose the index number in square brackets ([ ]) directly after the point name. For example, to print the sixth entry (72) of the log for OUTSIDEAIR (shown above), use the following command: PRINT OutsideAir[6]

Log Update Intervals

Logs are updated at an intervals that you specify. You can specify that a log update every ‘x’ number of seconds, minutes, hours, or days. The log always updates at an even interval on the clock, no matter when the log started. For example, a log with an interval of 15 minutes would log entries at 10:15, 10:30, 10:45, 11:00, and so on.

Log Types

When you define a log, as with any other point, you must specify a type (numeric, string, datetime, input, or output) and the number of entries, called elements. Logs automatically update in one of four ways: • • • • Instantaneous Average Minimum Maximum

Each update takes all the values of the last scan and acts on either the most recent (instantaneous), the average of them (average), the lowest of them (minimum), or the highest of them (maximum). String and datetime logs must be instantaneous. You can have a string log that contains messages. Note: You can always manually update a log.

Plain English Language Reference

6-7

Logs, continued

Setting Up a Log

You can define two logs for any point: a short-term log, and an extended log. Short-term logs are stored on the controller that owns the point. As the name implies, an extended log is an extension of a short-term log. Extended logs are stored in the Continuum database rather than the controller. For input, output, numeric, string or datetime points, you can set up one of two basic types of short-term logs: logs that you update manually or logs that the system updates automatically. For a complete description on setting up a log refer to Chapter 13 of the Continuum CyberStation Configurator's Guide. You can use the SIZE attribute in a FOR..NEXT loop to access the values of a log. See the FOR..NEXT keyword in Chapter 7.

Using Arrays or Logs in Functions

In certain functions you can use an array or a log name to represent the entire series of numbers. Usually the function has a special format for arrays or logs. Such functions automatically understand that you want the function carried out on the entire array or log. For example, applying the AVERAGE function to a log called OUTSIDEAIR automatically averages all the temperatures in the log: AVERAGE (OUTSIDEAIR) However, functions or other keywords that do not have a special format for arrays do not carry out the function on the entire array or log, but instead automatically take the current value of the point. For example, PRINT OUTSIDEAIR prints the current value of OUTSIDEAIR, rather than each value in the log. The current value of the log and the last value logged are not necessarily the same. The current value is the one read by the current scan. Functions automatically carried out on the entire log are: AVERAGE MAXIMUM MAXITEM MINIMUM MINITEM STANDARDDEVIATION SUM See Chapter 7 for more information on these function keywords.

6-8

Andover Controls Corporation

Chapter 7
Keywords

At a Glance

Introduction

This chapter provides a complete description of all the keywords used in Andover Controls Plain English programming language. The chapter begins with a discussion of the formatting conventions used to describe each keyword, followed by a listing of the keywords categorized into logical groups. The main body of the chapter contains the keyword descriptions arranged in alphabetical order.

What's in this Chapter

This chapter contains the following topics.
Topic Section 1 Format Conventions Keyword Formatting Standard Text and Symbols Used in the Format Heading Format Terms in Bold Italics Section 2 Logical Keyword Groups Logical Keyword Groups Listing Section 3 Keywords A through C Section 4 Keywords D through G Section 5 Keywords H through N Section 6 Keywords O through R Section 7 Keywords S through Z See Page 7-2 7-2 7-4 7-6 7-7 7-7 7-12 7-75 7-147 7-231 7-305

Plain English Language Reference

7-1

Section 1 Format Conventions

Keyword Formatting Standard

Identical Format for All Keywords

The keywords are listed in alphabetical order beginning on page 7-13. Each keyword starts at the top of a new page and its classification by type is indicated in the right-hand side of the keyword heading. The classification types are: constant, function, operator, statement and system variable. The information is presented in identical format for each keyword under the headings described below. Note: If a particular heading does not apply to the keyword being discussed, it will be omitted.

Format

Shows the correct way to enter the keyword instruction. The correct order must be followed when entering the keyword into the system to avoid programming problems. Additional information regarding text style and symbols appearing under this heading are described on page 7-4.

Purpose

Describes the exact action the keyword carries out.

Remarks

Provides an additional explanation of the format, purpose, and the result of the keyword statement, including any limitations or cautions.

Example

Gives an example/s of how the keyword could be used in a program. The example always indicates whether it would form part of a Command Line or a Program File. The keywords used in the examples are shown in bold letters to identify where they occur.

Related Keywords

Keywords that are often used with the keyword being described or that are closely related to it.

7-2

Andover Controls Corporation

Keyword Formatting Standard, continued

Alias

An equivalent word or symbol for the keyword such as an abbreviation.

Products Supported

The Andover Controls products (controllers and/or CyberStation) that the keyword can be used on.

Modes Available

Lists whether the keyword can be used in the command line mode, the program file mode, or both. Programs cover InfinityPrograms, InfinityFunctions, Functions and Programs. Program Function InfinityProgram InfinityFunction Only run at the workstation Can only be called at the workstation For Controllers For Controllers

Plain English Language Reference

7-3

Text and Symbols Used in the Format Heading

Format Heading Information

The information contained after the keyword Format heading shows how and what you must enter to correctly use the indicated keyword. Depending on the keyword, the Format may present certain words that you must type exactly as they are shown, and indicate words that you must replace with an appropriate name or number. The details on how to interpret the Format information are presented in the following paragraphs.

Capital Letters

Any words shown in CAPITAL LETTERS indicate words that must form part of the keyword instruction. They can be typed with upper or lower case letters. For example: Format ACOS (number) indicates that ACOS must be entered (typed) as "ACOS" or "acos".

Bold Italics

Any terms shown in bold italics stand for elements that you must replace with a name, number, or other item. For example: Format ACOS (number) indicates that number must be replaced with the appropriate number to satisfy the use of the keyword ACOS (arccosine) in the given program. The terms that appear in bold italics and the items that replace them are described on page 7-6.

Parentheses ( )

When parentheses are shown as part of the Format, they must be typed as part of the keyword statement. For example: Format ACOS (number) might require the arccosine of the number ". 7071", so the keyword statement would be entered as ACOS (.7071).

7-4

Andover Controls Corporation

Text and Symbols Used in the Format Heading, continued

Italics

Regular italics indicate elements that are not a mandatory part of the keyword statement. They can be replaced with a particular word or they may be left out of the statement. For example: Format STRING string_length LocalVariable which defines a local string variable. You can optionally specify the length of the string in characters.

Comma (,) and Colon (:)

When a comma or colon is shown as part of the Format, it must be typed as part of the keyword statement. For example: Format SEARCH (string, search_string) Indicates that the words substituted for string and search_string in the keyword statement must be separated by a comma (,).

Period (.)

The period is used as a character in names and is not interpreted as punctuation. Never put a period at the end of a keyword statement or command line.

Plain English Language Reference

7-5

Format Terms in Bold Italics

Replacement of Terms

When the following terms appear in bold italics after the keyword in the Format heading, they must be replaced according to the following rules.

Number

Replace number with: • Any number. • Any name that stands for a number. • Any other expression that gives a number, a formula or a function. The number may have decimal places after it. In some cases number can be a comparison such as TOD > 1500. Such a comparison gives a TRUE or FALSE result, which the controller interprets as a number.

Integer

Replace integer or integer_expression with any non-decimal positive or negative number, including zero

String

Replace string with any text (word or words) or any name that stands for a text. You can also replace it with any expression that gives a string of text, including a formula or function.

Name

Replace name with: • • • Any point (including input, output, numeric, string, and datetime types. A variable name. An object name (program, controller, commport, etc.).

Note: name cannot be a keyword.

List

Replace list with a list of either: • Numbers • Integers • Strings • Names Separate the items in the list with commas. You can also use AND or OR between the last two items in the list. Often, where a list is called for, you can give a single item or a list of items.

7-6

Andover Controls Corporation

Section 2 Keyword Groups

Logical Keyword Groups

Logical Keyword Groups Listing

This section presents the Andover Controls Plain English keywords in their associated logical groups. Details on each keyword are in the alphabetically ordered keyword descriptions that follow this section.
Table 7-1. Logical Grouping of PE Keywords Keyword Type System variable ACCESSLOG System variable ACCESSSERVER System variable AVAILRECORDS System variable CABINETTAMPER System variable EVENTLOGSIZE System variable READERPOWER System variable SYSTEMSTATUS System variable UNIQUEPIN ACTIVEALARMS System variable UNACKEDALARMS System variable READPROPERTY RELINQUISH WRITEPROPERTY MOVE TURN IOUCOMMFLT# STATUS# INITMODEM DIAL CLOSE HANGUP OPEN READ CLOSEFILE FILE OPENFILE POSITIONFILE READFILE WRITEFILE EOF Function Function Function Statement Statement System variable System variable (programmable) Function Function Function Function Function Function (comm port) Function Statement Function Function Function Function Constant

Group Access Control

Alarm Counting BACnet

Building Control Control of Inputs and Outputs

Control Over Communications

Creating/Manipulating Files

Plain English Language Reference

7-7

Logical Keyword Groups, continued

Logical Keyword Groups Listing, continued
Table 7-1. Logical Grouping of PE Keywords, continued Group Keyword Type System variable Date and Time DATE Statement DATETIME System variable DAYOF MONTH System variable DAYOFYEAR Function DIFFTIME System variable HOD System variable HOUR System variable MINUTE System variable MONTH System variable POWERFAIL System variable POWERUPTIME System variable SECOND Function STRTODATE Function TIMEPIECE System variable TOD Attributes TS, TM, TH, TD System variable WEEKDAY System variable YEAR Debugging DISABLE ENABLE P Print ASK CLOSEWINDOW PRINT MESSAGEWINDOW SHOW SHOWREPORT STATUSLINE BASEDON..GOTO BREAK CONTINUE FOR..NEXT GOTO IF..THEN..ELSE LINE Statement Statement Statement Statement Function Function Statement System variable Statement Statement System variable Statement Statement Statement Statement Statement Statement Statement

Display

Flow Control

7-8

Andover Controls Corporation

Logical Keyword Groups, continued

Logical Keyword Groups Listing, continued
Table 7-1. Logical Grouping of PE Keywords, continued Group Keyword Type Statement Flow Control continued REPEAT..UNTIL Statement RETURN Statement ROTATE Statement RUN Statement STOP Statement SELECT…CASE Statement WHILE Statement Input/Output LOGOUT Statement P Statement PRINT Logical AND BITAND BITNOT BITOR BITXOR IS IS BETWEEN IS GREATER… IS LESS… NOT OR ABS ACOS ASIN ATAN ATAN2 AVERAGE CEILING COS DIVIDED BY EXPONENTIAL FACTORIAL FLOOR LN LOG MAXIMUM MAXITEM MINIMUM MINITEM MINUS Operator Operator Operator Operator Operator Operator Operator Operator Operator Operator Operator Function Function Function Function Function Function Function Function Function Function Function Function Function Function Function Function Function Function Operator

Mathematical

Plain English Language Reference

7-9

Logical Keyword Groups, continued
Table 7-1. Logical Grouping of PE Keywords, continued Group Keyword Type Operator Mathematical, continued MOD Operator PLUS Function RANDOM Function ROUND Function SIN Function SQRT Operator STANDARDDEVIATION Function SUM Function TIMES Function TAN Function TRUNCATE Statement Miscellaneous ARG Statement CD Article THE Operating System Access SHELL Statement Function Retrieving Lists of Objects CLOSELIST Function GETEXTLOG Function GETOBJECT Statement OBJECT Function OPENLIST Function String Manipulation ASC Function CHR Function LEFT Function LENGTH Function MID Function NUMTOSTR Function RIGHT Function SEARCH Function STRINGFILL Function STRTODATE Function STRTONUM Function TAB Constant System Defined Constants FAILURE Constant OFF Constant ON Constant -ON Constant PASSED Constant SUCCESS Using Names in Programs GETNAME Function Statement Value Assignment SET Statement MOVE Statement TURN ON Statement TURN OFF

7-10

Andover Controls Corporation

Logical Keyword Groups, continued

Restricted Keywords

The use of this group of keywords is usually limited to system administrators and other users with appropriate configuration level clearance
Table 7-2. Restricted Keywords Keyword CURUSER CURWORKSTATION DELETEEXTLOG ERRORS FREEMEM LOAD SAVE SCAN VERSION

Group Administration

Type Function Function Function Function System variable System variable Statement Statement System variable

250 Display Unit Keywords

This group of keywords only applies to the 250-display unit.
Table 7-3. Keywords for the 250 Display Unit Group Keyword Type System variable Display Unit Basics AUDIOBELL System variable BACKLIGHT Function BEGINPOLYLINE Function CLEARSCREEN Function CONTROL Function DRAWELIPSE Function DRAWLINE Function DRAWRECTANGLE Function ENDPOLYLINE Function LINEPOINT Function LOCATE Function SETDISPLAY System variable TOUCHEDCELL Constant BLUE Constant FILL Constant NOFILL Constant WHITE

Plain English Language Reference

7-11

Section 3 Keywords A through C

ABS

Function

Format

ABS (number)

Purpose

Returns the absolute value of number. The absolute value of any number, positive or negative, is always the positive number.

Remarks

The number is any number or expression.

Example 1

You find the absolute value of -3 as follows: Program File RESULT = ABS (-3) This statement sets RESULT to 3.

Example 2

To maintain a setpoint temperature to within plus or minus 3 degrees, when the temperature changes in either direction, the fan should blow in either the heating or cooling mode as required. In this situation, you should find the absolute value of the change to control the fan, since it doesn't matter whether the change is positive or negative: Program File If ABS(TEMP.SP - TEMP.2) > = 3 THEN RUN FAN.2

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation

Modes Available

Command lines and programs.

7-12

Andover Controls Corporation

AccessLog

System variable

Format

AccessLog

Purpose

Indicates the amount of the access log that has been filled, from 0 to 1. It can be interpreted as a percentage of the access log, and displays as .01 for 1 percent, .02 for 2 percent, .03 for 3 percent, etc. The value of the log includes up to six digits after the decimal point.

Remarks

This system variable and the event log it refers to exist only on the controller. Since the event log contains all access events that have occurred on the controller, the keyword applies only if you are using the controller for access control. Types of access events logged include the following: • • • • • Valid Access Door Fault Door Ajar Cabinet Tamper Refresh Database • • • • • Invalid Attempt Door Violation Request to Exit Door Channel Override Access Mode

Example 1

If any access events have been stored in the event log of a controller, the controller's AccessLog system variable value is greater than zero. You can see if the log has any events in it by using the system variable in an IF..THEN statement: Program File If AccessLog > 0 then GOTO CallingOut . . .

Plain English Language Reference

7-13

AccessLog, continued

Example 2

To determine how full the event log is in a CX or CMX series controller, you can print the AccessLog system variable in a program or from the command line window, as follows: Command Line PR AccessLog The response appears in the command line window as follows for a 29% full access log: AccessLog = .29

Related Keywords

EventLogSize

Products Supported

ACX series, BACnet series, CMX series, CX series, and i2 series controllers.

Modes Available

Command lines and programs.

7-14

Andover Controls Corporation

AccessServer

System variable

Format

AccessServer

Purpose

Generally, a controller System Variable used to designate the mode in which Continuum validates personnel objects (cardholders). Specifically, refers to the Network ID to which a controller sends validation requests.

Remarks

• • • •

Applies to ACX 700/780 series Infinet controllers as well as CX99xx series NetControllers (with AC-1 series IOU modules). Setting the AccessServer System Variable to 0 (zero) in an ACX controller allows local validation only (personnel objects with area links must exist in the controller's memory). Setting the AccessServer System Variable to its own Network ID in the NetController allows local validation only (personnel objects with area links must exist in the controller's memory). Setting the AccessServer System Variable to the Network ID of a Continuum CyberStation (191or above) in the ACX 700/780 or NetControllers allows local and remote validation (personnel objects with area links can exist in the controller's memory or in the Continuum database). Users may set AccessServer from the object editor or from the Command Line interface.

AccessServer is not a global System Variable⎯settings will affect only the owner's validation modes.

Example 1

Suppose you want a CX controller with an ID of 126 to store the areas and personnel for access control. To set the AccessServer system variable, you connect to the ACX controller and type the following Command: Command line Set AccessServer = 126 You can then proceed to set up the areas and personnel for your access control system.

Plain English Language Reference

7-15

AccessServer, continued

Example 2

Suppose you want the database to store the areas and personnel for access control. If you have two workstations with IDs 225 and 226, you can set the AccessServer system variable to either of those IDs. This remains true no matter how many workstations you have on the network. Go to the Command Line and type the following: Set AccessServer = 225 or Set AccessServer = 226

Note

The value of AccessServer is stored in the controller’s EEPROM memory. Changing the value of AccessServer does not require a controller reset.

Products Supported

ACX series and CX series controllers.

Modes Available

Command lines.

7-16

Andover Controls Corporation

ACOS

Function

Format

ACOS (number)

Purpose

Returns the arccosine of the given number.

Remarks

The number is any number or expression that gives a result between -1 and 1 inclusive. The value returned is between 0 and pi (3.14159) radians. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File AN.VALUE = ACOS(.7071)

Related Keywords

SIN, COS, TAN, ATAN, ATAN 2, ASIN

Alias

ARCCOSINE

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-17

Alarms

System variable

Format

ALARMS

Purpose

Gives the number of alarms pending. ALARMS increments (increases by one) each time a new alarm occurs and decrements (decreases by one) each time an alarm returns to normal.

Remarks

You cannot change the setting of ALARMS. The controller automatically updates it.

Example

Since ALARMS automatically decrements when the alarm returns to normal, its value should never get very large. In the program below, you set a limit to how many alarms should be pending (in this case 10) and print a report on all alarms: Program File IF ALARMS > 10 THEN GOTO REPORT.ALARM LINE REPORT.ALARM ...

Products Supported

ACX series, BACnet series, CMC series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-18

Andover Controls Corporation

AND

Operator

Format

Format 1: number AND number Format 2: namelist AND final_name

Purpose

Format 1: Provides the logical AND between two expressions. Format 2: When used in a list of names between the last two items, indicates the end of the series.

Remarks

The number is any number or expression. The namelist is one or more names with commas between them. The final_name is a single name at the end of a series of names. AND before the last name is optional. The controller carries out all other operations (such as adding and subtracting) before it acts on AND or (OR). Table 6-1 compares the order that the controller acts on all operators. Because AND and OR are acted on last, you can form logical statements without using too many parentheses. See Example 3 for how to use AND and OR together. The ampersand (&) is the alias for the logical AND only.

Example 1

Instead of forming separate IF..THEN statements to turn the heat on when more than one condition exists, you can make one statement using AND: Program File IF TEMP < 70 AND TOD > 7:00am THEN TURN ON THE HEAT Or IF TEMP < 70 & TOD > 7:00am THEN TURN ON THE HEAT

Plain English Language Reference

7-19

AND, continued

Example 2

To run a series of programs, instead of using RUN several times, you can list the program names on the same command line, using AND (final comma optional) to indicate the last item in the list: Program File RUN THE COOLING, HEATING AND FAN Or using the final comma: RUN THE COOLING, HEATING, AND FAN You may not use the ampersand (&) for AND in a series. You may, however, leave out AND as follows: RUN THE COOLING, HEATING, FAN

Example 3

If OR occurs before AND, the controller interprets OR first because it works from left to right on AND and OR. For instance, take this statement: Program File IF WKD = SAT OR WKD = SUN AND TOD > 9:00am THEN... The above statement is interpreted so that the items in parentheses below are calculated first: IF (WKD = SAT OR WKD = SUN) AND TOD > 9:00am THEN... If AND occurs before OR, the controller interprets AND first: Program File IF TOD > 9:00am AND WKD = SAT OR WKD = SUN THEN... is interpreted so that the items in parentheses below are calculated first: IF (TOD > 9:00am AND WKD = SAT) OR WKD = SUN THEN...

Note to Programmer: Use parentheses to enforce the order of interpretations to resolve any ambiguities.

7-20

Andover Controls Corporation

AND, continued

Example 4

AND is also used with the operator BETWEEN, as in the following example: Program File IF TOD IS BETWEEN 8:00am AND 6:00pm THEN... You may not use the ampersand (&) for AND when it is used with BETWEEN.

Related Keywords

IF..THEN..ELSE IS... OR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-21

ARG

System variable

Format

Format 1: ARG integer_constant name Format 2: ARG [ integer_expression ]

Purpose

Format 1: Renames one of the 15 system defined argument variables (ARG[1] to ARG[15]) with a name you choose. Can only be used to name an argument in a function. The ARG variables are arguments or parameters that are passed to a function. After you assign an easy-to-remember name to an argument variable, you can then refer to it by its name so your function is easier to understand. Format 2: Calls the argument variable by its number.

Remarks

integer_constant is any integer between 1 and 15. name is any name you choose for the argument; up to 16 alphanumeric characters, including underscore and period, but must begin with a letter. May not be a keyword. integer_expression is any integer or expression that gives an integer. Up to 15 arguments can be passed.

Example 1

In this example, ARG[5] returns the status of a report. To make that easier to understand, ARG[5] is redefined as RPTSTATUS. The function refers to RPTSTATUS for the variable value from then on. Function File ARG 5 RPTSTATUS

7-22

Andover Controls Corporation

ARG, continued

Example 2

To test the report status to see if it equals SUCCESS, you can call on the argument variable using its easy-to-remember name (from Example 1): Function File IF RPTSTATUS IS SUCCESS THEN…

Example 3

To test the report status to see if it equals SUCCESS, you can also call on the argument variable using ARG[5]: Function File IF ARG[5] IS SUCCESS THEN…

Related Keywords

PASSED

Alias

PARAM

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs (only in functions).

Plain English Language Reference

7-23

ASC

Function

Format

ASC (string)

Purpose

Returns the ASCII value of the first character of the string.

Remarks

The string is any text (word or words) or text expression.

Example

In this example, the function uses a string constant ("S") as its argument: Program File ASC ("S") This statement returns 83, which is the ASCII value of the character S.

Related Keywords

CHR

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

7-24

Andover Controls Corporation

ASIN

Function

Format

ASIN (number)

Purpose

Returns the arcsine of the number.

Remarks

The number is any number between -1 and 1 inclusive or expression that gives a result in that range. ASIN returns the arcsine of number as an angle between -3.14159/2 and 3.14159/2. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File RESULT = ASIN (1)

Related Keywords

SIN, ACOS, COS, TAN, ATAN, ATAN 2

Alias

ARCSINE

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-25

ASK

Function

Format

ASK (title, question, answer_var_or_point)

Purpose

This function is available only on a workstation. You can use ASK in multiple programs, however, only one ASK window displays at a time.
Element title Replace with A string containing the title of the window. The string may be a string point, a local STRING variable, or a series of characters in quotation marks. It may also be any string expression. A string containing the question you want to present. The string may be a string point, a local STRING variable, or a series of characters in quotation marks. It may also be any string expression. Point or local variable to receive an answer to the question. May be numeric, string, or datetime.

question

answer_var_or_point

When the window displays, the current value of answer_var_or_point displays in the answer text box. If the answer_var_or_point has never been set before, the answer text box appears blank. You can choose to change that value and then press OK. When you change the value and press OK, the answer_var_or_point becomes equal to the value you type in the text box You must use ASK on a labeled line by itself. The program automatically proceeds to the next labeled line after running the ASK statement. The line that follows the ASK statement should check for the result of ASK. ASK returns SUCCESS after the window displays successfully, the person using it responds and presses OK, and the software receives the answer. ASK returns FAILURE if another window generated by ASK is already displaying, since only one such window can display at a time. ASK returns FormCancel if the window displays, but the person responding to it presses CANCEL. Note: When ASK is used, the program waits for user input. It is not possible to enter the required data and submit the result programmatically. This is strictly a manual operation.

7-26

Andover Controls Corporation

ASK, continued

Example 1

Suppose you want to ask the operator to enter a setpoint. You would begin by creating a variable to receive the setpoint. Then you would use ASK to draw a window on the workstation screen as follows: Program File Numeric AnySetpt Ask "Setpoint Information", "Enter the new setpoint", AnySetpt The displayed window would appear as shown on Figure 7-1.

Figure 7-1. Window created with the ASK keyword

Because this program is not asking for a particular type of setpoint, you would be able to run this program in a variety of situations.

Plain English Language Reference

7-27

Example 2

When you use ASK, you may want to check to see if it returns SUCCESS, FAILURE, or FormCancel. If ASK returns FAILURE, you can continue to try to set up the window until ASK returns SUCCESS, as shown in the following fall thru program: Program File NUMERIC RESULT STRING ANYPOINT, TITLESTRING PRESENTING: RESULT = ASK ("POINT NAME", "ENTER THE POINT NAME", ~ ANYPOINT) TESTING: IF RESULT = FAILURE THEN GOTO PRESENTING IF RESULT = SUCCESS THEN GOTO WORKING IF RESULT = FORMCANCEL THEN STOP

Products Supported

CyberStation

Modes Available

Program only

7-28

Andover Controls Corporation

ATAN

Function

Format

ATAN (number)

Purpose

Returns the arctangent of number.

Remarks

The number is any number or expression. Returns an angle value between -3.14159/2 and 3.14159/2. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File VAL.ARC = ATAN (0)

Related Keywords

ASIN, SIN, ACOS, COS, TAN, ATAN 2

Alias

ARCTANGENT

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-29

ATAN2

Function

Format

ATAN2 (sin, cos)

Purpose

Returns an angle with a sine of sin and a cosine of cos.

Remarks

Replace sin with a number that is the sine of an angle. Replace cos with a number that is the cosine of an angle. The angle returned is between -3.14159 and 3.14159 radians. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File ANG.DAMPER = ATAN2 (0.0, 1.0)

Related Keywords

ASIN, SIN, ACOS, COS, TAN, ATAN

Alias

ARCTANGENT2

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

7-30

Andover Controls Corporation

AUDIOBELL

System variable

Format

AUDIOBELL

Purpose

Makes the DCX 250-Display Unit beep for the number of seconds you set it to.

Remarks

You can use "TURN OFF AUDIOBELL" to stop the beep.

Example 1

Inside a program or from the command line, you set AUDIOBELL as follows to make the controller beep for 15 seconds: Program File AUDIOBELL = 15

Example 2

Inside a program or from the command line, you can stop the beeping at any time as follows: Program File TURN OFF AUDIOBELL

Products Supported

DCX 250 Display Unit.

Modes Available

Command lines and programs.

Plain English Language Reference

7-31

AvailRecords

System variable

Format

AvailRecords

Purpose

Continuum controller System Variable used to express a close approximation of remaining "slots" left to store personnel records in the controller's memory.

Remarks

• • • •

Applies to all ACX, CX, and CMX series controllers. Not user settable⎯you cannot set AvailRecords. Approximation only⎯calculation based on average memory space taken by a personnel object and its corresponding arealinks. You are able to view the value from the object editor or print it from the Command Line interface.

Example 1

To find out approximately how many remaining personnel slots are available on an ACX series controller's memory, you would enter the following at the command line: Command Line PR MyNet\MyCX9410\MyACX701\AvailRecords The control system software then prints the number of personnel records in the following format:
AvailRecords = 3630

The returned AvailRecords value indicates that the ACX 701 controller can store approximately 3630 more personnel records.

Products Supported

ACX series, CMX series, CX series controllers.

Modes Available

Command lines.

7-32

Andover Controls Corporation

AVERAGE

Function

Format

Format 1: AVERAGE (numeric_list) Format 2: AVERAGE ( numeric_array) Format 3: AVERAGE ( numeric_log)

Purpose

Format 1: Returns the average of the listed items. Format 2: Returns the average of the items in the array you name. Format 3: Returns the average of the items in the log you name.

Remarks

Replace numeric_ list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_array with any defined array that contains numbers. Replace numeric_log with any defined log that contains numbers. Items in the list must all be either numbers or variables that contains numbers. Element numbers are not required. Omitting element numbers averages the entire array or log.

Example 1

To average several temperatures, you place them directly in the AVERAGE function statement. You list them in parentheses after AVERAGE, as follows: Program File FLR8.AVG = AVERAGE (TMP801, TMP802, TMP803, TMP804)

Plain English Language Reference

7-33

AVERAGE, continued

Example 2

Since you know a certain temperature varies, you have been storing readings in an array called OAT. You then use the average function on that array, as follows: Program File OAT.AVG = AVERAGE (OAT)

Example 3

You have been logging temperatures in a log for several hours. To find their average, you find the average of that log, as follows: Program File HOURLYAVG = AVERAGE (TEMPLOG)

Alias

AVG

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-34

Andover Controls Corporation

BACKLIGHT

System variable

Format

BACKLIGHT

Purpose

Turns on the background light of the DCX 250-Display Unit for the number of seconds you set it to. Once it has been set to a number, it will automatically decrement its value by one each second.

Remarks

You can use "TURN OFF BACKLIGHT" to turn off the light

Example 1

Inside a program or from the command line, you set BACKLIGHT as follows to turn on the DCX 250 Display Unit background light for 20 seconds: Program File BACKLIGHT = 20

Example 2

Inside a program or from the command line, you can turn on the DCX 250 Display Unit background light for 5 minutes when an operator touches anywhere on the screen, as follows: Program File IF TOUCHEDCELL THEN SET BACKLIGHT = 300

Example 3

Inside a program, you can turn off the DCX 250 Display Unit background light as follows: Program File TURN BACKLIGHT OFF

Products Supported

DCX 250 Display Unit.

Modes Available

Command lines and programs.

Plain English Language Reference

7-35

BASEDON..GOTO

Statement

Format 1

BASEDON number GOTO linelist or BASEDON number GO TO linelist or BASEDON number GO linelist

Format 2

BASEDON number GOTO LINE linelist or BASEDON number GO TO LINE linelist

Purpose

Branches to a different line for each value the number can have. You put the line names in the linelist.

Remarks

Replace number with any number or expression. If less than 1 or greater than the number of lines in the linelist, the system ignores the BASEDON..GOTO statement and executes the statement immediately after BASEDON..GOTO. Replace linelist with one or more defined line labels (see LINE statement) present in the current program. The label must be spelled here just as it is defined, except you may interchange upper- and lowercase. The line label may also be an integer.

Example

You may have a series of steps (a line) that you want to run every Friday to shut down equipment not required over the weekend. And every Monday you may want to restart that equipment. To run different lines on particular days, you write a program that activates certain lines based on what day it is. The lines are labeled with LINE (see LINE), telling the line the routine starts on.

7-36

Andover Controls Corporation

BASEDON..GOTO, continued

Example continued

Remember that SUN is considered the first day of the week, so in the program below, the first line listed after GOTO runs on Sunday, the next on Monday, the next on Tuesday, and so on: Program File BASEDON WKD GOTO SUN.1, MON.1, TUE.1, WED.1, THU.1, FRI.1 … LINE SUN.1 … LINE MON.1 … LINE TUE.1 … LINE WED.1 … LINE THU.1 … LINE FRI.1 BASEDON.. GOTO works well with logs and arrays. Note: The following variations to the BASEDON statement (above) are acceptable. You can also include the word LINE in front of the line list: BASEDON WKD GOTO LINE SUN.1, MON.1, TUE.1, WED.1, THU.1, FRI.1 You can replace GOTO with the word GO: BASEDON WKD GO SUN.1, MON.1, TUE.1, WED.1, THU.1, FRI.1 You can separate the word GO from the word TO: BASEDON WKD GO TO SUN.1, MON.1, TUE.1, WED.1, THU.1, FRI.1 You can include the word LINE after GO and TO: BASEDON WKD GO TO LINE SUN.1, MON.1, TUE.1, WED.1, THU.1, FRI.1

Plain English Language Reference

7-37

BASEDON..GOTO, continued

Related Keywords

GOTO LINE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7-38

Andover Controls Corporation

BEGINPOLYLINE

Function

Format

BEGINPOLYLINE ( )

Purpose

Indicates that you want to begin drawing either multiple graphic lines (polylines) or a polygon on the DCX 250-Display Unit. Returns SUCCESS or FAILURE. Parentheses are not required if you put BEGINPOLYLINE at the beginning of a statement.

Remarks

Before you use BEGINPOLYLINE, you set the display to NOFILL to form lines, to FILL to form a polygon. You then give a series of line points (see LINEPOINT) you want connected. Finally, you indicate the series of line points is over by closing the instruction with ENDPOLYLINE. You cannot begin a new polyline with BEGINPOLYLINE between LINEPOINT statements. You may only draw one polyline at a time.

Example 1

You create a line connecting a series of line points on the DCX 250 Display Unit by entering the following: Program File SETDISPLAY (NOFILL) BEGINPOLYLINE LINEPOINT (10, 10) LINEPOINT (10, 100) LINEPOINT (100, 50) LINEPOINT (40, 10) ENDPOLYLINE Notice that the parentheses are not required because BEGINPOLYLINE begins the statement.

Plain English Language Reference

7-39

BEGINPOLYLINE, continued

Example 1 continued

As shown on Figure 7-2, the DCX 250-Display Unit forms a line (rather than a polygon) because you set the display to NOFILL.

Figure 7-2. Drawing connected line points using BEGINPOLYLINE on the DCX 250 Display Unit

Example 2

You create a polygon connecting a series of line points on the DCX 250 Display Unit by entering the following (again, no parentheses are required): Program File SETDISPLAY (FILL) BEGINPOLYLINE LINEPOINT (10, 10) LINEPOINT (10, 100) LINEPOINT (100, 50) LINEPOINT (10, 10) ENDPOLYLINE

7-40

Andover Controls Corporation

BEGINPOLYLINE, continued

Example 2 continued

The DCX 250-Display Unit forms a polygon (rather than a line) because you set the display to FILL as shown on Figure 7-3.

Figure 7-3. Drawing a polygon using BEGINPOLYLINE on the DCX 250 Display Unit

Related Keywords

SETDISPLAY LINEPOINT ENDPOLYLINE

Products Supported

DCX 250 Display Unit.

Modes Available

Programs

Plain English Language Reference

7-41

BITAND

Operator

Format

integer BITAND integer

Purpose

Logically compares the binary equivalents of the two integers, digit by digit. Creates a new binary number that contains a 1 for each digit's position where the first number's bit and the second number's bit are both 1. Sets all other digits to zero. Converts the new binary number to its decimal equivalent. For carrying out comparisons of checksums and similar operations

Remarks

The integer is any number from 0 to 65535. If you give a number with a decimal point in it, BITAND uses only the integer from it and drops the fraction.

Example

Suppose you want to compare TOTAL1 and TOTAL2: • TOTAL1 = 13 (binary equivalent is 0000000000001101) • TOTAL2 = 11 (binary equivalent is 0000000000001011) You would compare them with BITAND as follows: Program File SET RESULT = TOTAL1 BITAND TOTAL2 The comparison would give 0000000000001001. RESULT would be set to 9.

Related Keywords

BITOR BITXOR BITNOT

Products Supported

BACnet series, CMX series, CX series controllers and CyberStation.

Modes Available

Command lines and programs.

7-42

Andover Controls Corporation

BITNOT

Operator

Format

BITNOT integer

Purpose

Switches 1s to 0s and 0s to 1s in the binary equivalent of the integer, digit by digit. (This is called the "one's complement" of the binary number.) Creates a new binary number and then converts it back to its decimal equivalent. For carrying out bitmasking and similar operations.

Remarks

The integer is any number from 0 to 65535. If you give a number with a decimal point in it, BITNOT uses only the integer from it and drops the fraction.

Example

Suppose you want to find the one's complement of AMOUNT. AMOUNT = 13 (binary equivalent is 0000000000001101) You could reverse the number with BITNOT as follows: Program File SET RESULT = BITNOT AMOUNT The BITNOT of the amount would be 1111111111110010. The statement would set RESULT to 65522.

Related Keywords

BITAND BITOR BITXOR

Products Supported

BACnet series, CMX series, CX series controllers and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-43

BITOR

Operator

Format Purpose

integer BITOR integer Logically compares the binary equivalents of the two integers, digit by digit. Creates a new binary number that contains a 1 for each digit position where either the first number's bit or the second number's bit is 1 and where both the first and second number's bits are 1. Sets all other digits to zero. Converts the new binary number to its decimal equivalent. For carrying out comparisons of checksums and similar operations

Remarks

The integer is any number from 0 to 65535. If you give a number with a decimal point in it, BITOR uses only the integer from it and drops the fraction. Suppose you want to compare TOTAL1 and TOTAL2: • TOTAL1 = 13 (binary equivalent is 0000000000001101) • TOTAL2 = 11 (binary equivalent is 0000000000001011) You would compare them with BITOR as follows: Program File SET RESULT = TOTAL1 BITOR TOTAL2 The comparison would give 0000000000001111. RESULT would be set to 15.

Example

Related Keywords

BITAND BITXOR BITNOT BACnet series, CMX series, CX series controllers and CyberStation.

Products Supported Modes Available

Command lines and programs.

7-44

Andover Controls Corporation

BITXOR

Operator

Format

integer BITXOR integer

Purpose

Logically compares the binary equivalents of the two integers, digit by digit. Creates a new binary number that contains a 1 for each digit position where either the first number's bit or the second number's bit is 1, but gives zeros where both are 1 or both are 0. Converts the new binary number to its decimal equivalent. For carrying out comparisons of checksums and similar operations.

Remarks

The integer is any number from 0 to 65535. If you give a number with a decimal point in it, BITXOR uses only the integer from it and drops the fraction.

Example

Suppose you want to compare TOTAL1 and TOTAL2: • TOTAL1 = 13 (binary equivalent is 0000000000001101) • TOTAL2 = 11 (binary equivalent is 0000000000001011) You would compare them with BITXOR as follows: Program File SET RESULT = TOTAL1 BITXOR TOTAL2 The comparison would give 000000000000110. RESULT would be set to 6.

Related Keywords

BITAND BITOR BITNOT

Products Supported

BACnet series, CMX series, CX series controllers and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-45

BLUE

Constant

Format

BLUE

Purpose

Sets the graphics on the DCX 250-display unit screen to blue when you use it with SETDISPLAY.

Remarks

The graphics on the 250 screen may be blue or white.

Example

You set color of the graphics on the 250 screen as follows: Program File SETDISPLAY (BLUE)

Related Keywords

SETDISPLAY WHITE

Products Supported

DCX 250-display unit.

Modes Available

Programs

7-46

Andover Controls Corporation

BREAK

Statement

Format

BREAK

Purpose

Halts the smallest enclosing FOR..NEXT, REPEAT..UNTIL ,WHILE and SELECT..CASE statements.

Remarks

After BREAK executes, the next statement the system carries out is the one immediately following the end of the loop.

Example

To check several stored temperatures to see if any is reading over 75 degrees, you use a FOR..NEXT loop (see FOR..NEXT statement, later in this chapter). Normally, the loop below would end after it checks the 20 temperatures. To exit the loop as soon as you find one over 75 degrees, you use the BREAK statement: Program File LINE TEMPCK 'This line loops until it finds a temperature over 75 degrees. FOR NUM = 1 TO 20 IF TEMP[NUM] > 75 THEN BREAK NEXT NUM GOTO HIGHTEMP LINE HIGHTEMP

Related Keywords

CONTINUE

Products Supported

ACX series, BACnet series, CMC series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-47

CabinetTamper
Format Purpose CabinetTamper

System variable

Indicates whether or not the ACX controller has been tampered with. A binary value controller System Variable linked to a controller's cabinet door. Applies only to ACX controllers. If it is TRUE, the cabinet door has been opened; if FALSE, the cabinet door is closed. You cannot set CabinetTamper. You can print it from the Command Line interface or read its value from the object editor. You must connect to the ACX controller before you can print CabinetTamper from the command line. Or you can access CabinetTamper using the full path.

Remarks

Example

If an alarm indicates the ACX controller cabinet has been tampered with, you can print the cabinet door status as follows: Program File PR CabinetTamper The control system responds as follows:
True

If you want to take a particular action whenever the ACX controller cabinet has been tampered with, you can write the following in a program: If CabinetTamper Then GoTo EmergencyAction Or If CabinetTamper is True Then GoTo EmergencyAction

Products Supported Modes Available

ACX controller.

Command lines and programs.

7-48

Andover Controls Corporation

CD

Statement

Format

Format 1: CD controller_name Format 2: CD Format 3: CD \ path_name

Purpose

Format 1: Connects to a CX or Infinet controller on the local area network. Does not connect to a controller at another network (see Format 3). Format 2: Reconnects you to the CyberStation you actually logged on to. Format 3: Connects you to another network or, if you give only the backslash, to the root. (Applies on workstations only.) You can also connect to a controller or Infinet controller at another network by giving the full path with this format. Also connects you to any folder in the system.

Remarks

Controller_name is the name of a CX controller or path name to an Infinet controller. The "path" names first the CX controller, then the Infinet controller. path_name is the path to a site or to the root (backslash alone) on an CyberStation workstation only. The backslash must always precede the path to a site. Can also be a path to a controller or workstation at the same or another site. After you open the connection, it remains open until you use CD again to connect to another site, or until the connection is open and inactive for longer than the SafetyInterval attribute of the site allows (see Appendix B for a listing of Site attributes).

Plain English Language Reference

7-49

CD, continued

Example of Format 1

From a terminal on any CX controller, you can connect to the FLOOR1 CX controller as follows: Command Line CD FLOOR1 From a terminal on any CX controller, you can connect to the ROOM4 Infinet controller on the FLOOR1 CX controller as follows: CD FLOOR1 ROOM4 Or, if you are already connected to the FLOOR1 CX controller, enter the following: CD ROOM4

Example of Format 2

After connecting to another controller for a while, you can connect to the one you logged on to by entering CD without a name after it: Command Line CD To connect to the root from the command line, you enter CD followed by the backslash alone: CD \

Example of Format 3

To connect to another network from the command line, you enter CD followed by the name of the network. Command Line CD \Building6 To connect to a controller at another site from the command line, you enter CD followed by the name of the site and the controller. CD \Building6 Floor1

7-50

Andover Controls Corporation

CD, continued

Example of Format 3 continued

To connect to an Infinet controller at another site from the command line, you enter CD followed by the name of the site, controller, and Infinet controller, in that order. (Remember that the backslash must always precede the site name): CD \Building6 Floor1 Room4

Example of Format 4

To connect to a controller (on Ethernet or Infinet) that you have highlighted in the Object Tree, you enter CD followed by a period: Command Line CD .

Products Supported

ACX series, BACnet series, CMC series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines

Plain English Language Reference

7-51

CEILING

Function

Format

CEILING (number)

Purpose

Rounds number to the nearest larger integer on the number line and returns that integer.

Remarks

The number is any number or expression. See the keyword "ROUND" for a comparison of all rounding functions.

Example 1

Program File TOP = CEILING (-2.7) This statement returns -2. (See figure 7-4.)
Position of –2.7

-4

Example 2

Program File RNDVAL = CEILING (4.3) This statement returns a 5.

Related Keywords

FLOOR TRUNCATE ROUND

7-52

Andover Controls Corporation

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
CEILING of –2.7 is nearest higher integer -3 -2 -1 0 1 2 3 4

Figure 7-4. Number line-showing CEILING (-2.7)

Ceiling, continued

Products Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-53

CHR

Function

Format

CHR (number)

Purpose

Returns one character whose ASCII code is number.

Remarks

The number is any number or expression. Can be used to send nonprinting characters to a terminal, computer, or printer to initiate action.

Example 1

After several pages of messages print, you then want to send a report to that printer. You make sure the report starts on a clean sheet of paper by sending an instruction to the printer telling it to bring the paper to the top of a new page. This action is called a formfeed. The ASCII code to generate a formfeed is 12. You would write it like this: Program File 'Generate a formfeed and report title PRINT CHR(12); "Weekly Energy Report"

Example 2

Another way to use the CHR function is to send a bell to a terminal, computer, or printer to warn that the ERRORS variable has reached a critically high value. The ASCII code to generate a bell sound is 7. You would write it like this: Program File 'Decides too many errors are not acknowledged and generates a bell IF ERRORS > 15 THEN PRINT CHR(7)

7-54

Andover Controls Corporation

CHR, continued

Related Keywords

PRINT ASC

Products Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-55

CLEARSCREEN

Function

Format

CLEARSCREEN ( )

Purpose

Erases everything on the DCX 250-DisplayUnit screen and resets all display attributes (set with SETDISPLAY) to their original settings. Returns SUCCESS or FAILURE.

Remarks

You can use CLEARSCREEN in programs only, not from the command line. This characteristic prevents users from erasing screen settings. You do not need the parentheses if CLEARSCREEN is at the beginning of a statement

Example

You can display a graph on the 250 screen and then clear the screen before you display a list of choices, as follows: Program File RUN DISPLAYGRAPH CLEARSCREEN RUN DISPLAYCHOICES Notice that the parentheses are not required here because CLEARSCREEN is at the beginning of a statement. You may also clear the screen at the beginning of a new 250 program.

Alias

CLS

Products Supported

DCX-250 Display Unit.

Modes Available

Programs

7-56

Andover Controls Corporation

CLOSE

Function

Format Purpose

CLOSE (comm_port) After you have used OPEN, resumes normal interactions with the comm port. Normally, input appears on the screen and output goes to the Message window. Returns SUCCESS if the comm port closes without a problem and FAILURE if the comm port does not close. Once CLOSE executes, the controller automatically moves to the next labeled line. You never need GOTO after CLOSE.

Remarks

The comm_port is the comm port the modem is on. Or it can be the path to the comm port. You may use CLOSE as a function only on comm ports. CLOSE must always be the last statement on a labeled line or on a line by itself. The line immediately following the CLOSE line must test for SUCCESS or FAILURE; otherwise, the control system software considers that a CLOSE error. Once you open a comm port with OPEN, after you complete communications on that port, you must close the port with CLOSE.

Example

After you open a modem with OPEN, then send a message, you can close the modem comm port with CLOSE. The following example shows a program that uses close. Note that it is a fallthru program and uses a customized function named CALL and this program is named ModemMessage. Program File Numeric Startup, Result Opening: Startup = Open (Modem1) Calling: If Startup = Success Then Call (Modem1, "999999") Else Goto Ending Endif

Plain English Language Reference

7-57

CLOSE, continued

Example continued

Sending: Print "Alarm on Floor2" to Modem1 Closing: Result = CLOSE (Modem1) Ending: If result = Success Then Stop ModemMessage Else Print "Could not access Modem1 Port" Endif

Related Keywords

LINE OPEN READ

OPENFILE READFILE CLOSEFILE

WRITEFILE

Products Supported

CMX series, CX series controllers and CyberStation.

Modes Available

Programs

7-58

Andover Controls Corporation

CloseFile

Function

Format

CloseFile (file_variable_name)

Purpose

Closes the text file you opened earlier with the OpenFile keyword.

Remarks

The file_variable_name must be the local FILE variable name you created with FILE to correspond to a text file name. CloseFile returns SUCCESS or FAILURE. If you have used FILE in the program to define a FILE variable name, you can then open the file with OpenFile and later close it with CloseFile.

Example 1

Once you create a text file with FILE and open it with OpenFile, you must later close it with CloseFile, as shown in this example. Program File File ZONEDATA Numeric Chars, OK String Dataline 80 Line Opening Set OK = OpenFile ("c:\text\zone.txt", WRITEONLY, ZONEDATA) If OK = Failure Then Print "File Open Failed" Stop Else Goto Writing Endif Line Writing . . . Line Closing Set OK = CloseFile (ZONEDATA) If OK = Failure Then Print "File Close Failed" Else Stop Endif

Plain English Language Reference

7-59

CloseFile, continued

Example 1 continued

The control system software knows that the file in the string ("c:\text\zone.txt") is the file that the ZONEDATA FILE variable represents. Remember that CloseFile is a function, so you must set a variable to its result or use it in an IF..THEN statement. In this case, you set the OK numeric variable equal to the results of the CloseFile.

Example 2

If you want to close an array of files you opened earlier, you can use a FOR..NEXT loop with CloseFile, as in the following example. Notice that the FilesOpen variable gives the actual number of files opened successfully. You would set this variable in the OPENING line and later use it in the CLOSING line to close the correct number of files. Program File FILE ZONEDATA [3] NUMERIC OK, FileNum, FilesOpen LINE Opening . . LINE Closing FOR FileNum = 1 TO FilesOpen SET OK to CloseFile (ZONEDATA[FileNum]) IF OK = FAILURE THEN BREAK NEXT FileNum IF OK = SUCCESS THEN STOP PRINT "File Close Failed for ZONEDATA"; FileNum Notice that when CLOSEFILE fails, the control system software breaks out of the loop and prints a failure message.

7-60

Andover Controls Corporation

CloseFile, continued

Related Keywords

FILE OPENFILE READFILE POSITIONFILE WRITEFILE FAILURE SUCCESS

Products Supported

CyberStation.

Modes Available

Programs

Plain English Language Reference

7-61

CloseList

Function

Format

Format 1: CLOSELIST (object_var) Format 2: CLOSELIST (member_object_var)

Purpose

Format 1: Closes the list of objects that the local OBJECT variable stands for. Format 2: Closes the group of objects that the local OBJECT variable (in member_object_var) stands for. Note: An object is any defined item on a controller or workstation

Remarks

The list is always one you opened earlier in the same program with the OPENLIST keyword. You must have defined the local OBJECT variable with the OBJECT keyword. Returns SUCCESS or FAILURE.

!!

CAUTION
Be sure you close every list you open with OPENLIST.

Example 1

After you have opened any list with OPENLIST, you must close it with CLOSELIST. The name of the list to close must be a local OBJECT variable such as: CLOSELIST (CurrentReport) The following is a complete program that opens a list of programs from the CENTRALSTATION, prints their names, and then closes the list.

7-62

Andover Controls Corporation

CloseList, continued

Example 1 continued

Program File OBJECT CurrentReport NUMERIC OK Opening: OK = OpenList ("Program", CurrentReport, CentralStation) IF OK = SUCCESS THEN GOTO Checking ELSE PRINT "Cannot Open List" STOP ENDIF Checking: IF GetObject (CurrentReport) IS NOT SUCCESS THEN GOTO Closing PRINT CurrentReport Closing: OK = CloseList (CurrentReport) IF OK = FAILURE THEN PRINT "Cannot Close List" STOP ENDIF This program does not print the actual reports, only their names.

Example 2

After you have opened any list of group members with OPENLIST, you must close it with CLOSELIST: Program File CLOSELIST (GrpMember) The name of the list to close must be a local OBJECT variable that stands for a group member.

Plain English Language Reference

7-63

CloseList, continued

Related Keywords

GetObject OBJECT OpenList

Products Supported

Format 1: BACnet series (except b3885, b3887), CMX series, CX series, i2 series controllers (except i2885, i2887), and CyberStation. Format 2: CyberStation.

Modes Available

Programs

7-64

Andover Controls Corporation

CloseWindow

Function

Format

Format 1: CloseWindow (graphics_object_name) Format 2: CloseWindow (graphics_object_name_list)

Purpose

Format 1: Closes the window of the named Pinpoint graphic object. Format 2: Closes the windows of one or more named Pinpoint graphic objects in list.

Remarks

Replace graphics_object _name with the name of a Pinpoint graphics object, including a full path name. Replace graphics_object_name_list with the name of one or more Pinpoint graphic objects, including a full path name. Returns SUCCESS or FAILURE as described below: • • SUCCESS- If the Pinpoint application is running, and the specified graphics object or objects are successfully closed, or are already closed. FAILURE - If the Pinpoint application is not running.

A graphics object may include a button, with a Plain English script that closes a specific graphics object, including the one the button is in. The Pinpoint Application does not close itself, but only closes the specified graphics object. The object may be in the front or in the background.

Example 1

To close the Panel1 graphics object on the CyberStation: Command Line CloseWindow (CyberStation\Panel1)

Plain English Language Reference

7-65

CloseWindow, continued

Function

Example 2

Command Line CloseWindow(Net1\Controller1\Panel1, Net1\Controller1\Panel2)

Products Supported

CyberStation

Modes Available

Command lines, programs, and functions.

7-66

Andover Controls Corporation

CONTINUE

Statement

Format Purpose

CONTINUE Stops the current iteration of the smallest enclosing FOR..NEXT, REPEAT..UNTIL, SELECT..CASE or WHILE statement and starts the next iteration from the top of the loop. Each time the loop repeats the action is an iteration of that loop. To check several temperatures stored in an array and print names of those over 75 degrees, you use a FOR..NEXT loop (see FOR..NEXT statement in this chapter). Normally, the loop below would print the names of all 20 stored temperatures. To get it to select those over 75, use CONTINUE to break the loop whenever one is less than or equal to 75, and skip to the next array item. Program File 'The following prints all zones > 75 FOR NUM = 1 TO 20 IF TEMP[NUM] <= 75 THEN CONTINUE PRINT TEMP[NUM] NEXT NUM In the above program, if the temperature is less than or equal to 75 degrees, CONTINUE tells the controller to go back to the top of the FOR..NEXT loop to check the next temperature (and therefore skip any statement between CONTINUE and the NEXT statement).

Remarks Example

Related Keywords Products Supported Modes Available

BREAK

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation. Programs

Plain English Language Reference

7-67

CONTROL

Function

Format

CONTROL (style, left, bottom, right, top, user_change, point_or_attribute_path, title, frame, direction, bot_scale, top_scale, tickmarks, steps, format)

Products Supported

Places a control graphic on the DCX-250 Display Unit's screen and activates it. The type of control is determined by a style number (1 to 14) that you select from a group of predefined controls (see Appendix D). Returns SUCCESS or FAILURE.

Remarks

First, you must erase the 250 screen with the CLEARSCREEN keyword and the backlight must then be turned on for the CONTROL keyword to function. Once the backlight is on, the 250 positions the selected control graphic in the center of the four coordinates (left, bottom, right, and top) that you specify. The example that follows is a very basic illustration of a control button (style 1). Refer to Appendix D for complete details on all 13-control styles.

Example

Displays a button control (Control Style 1) for FAN2 in the approximate center of the screen (see Figure 7+-5) as a 240 dot wide by 50 dot high rectangle with the title "Fan 2". Program File CLEARSCREEN TURN ON BACKLIGHT CONTROL 1, 40, 75, 280, 125, TRUE, Fan2, "Fan 2"

7-68

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Fan 2

Modes Available

Products Supported

Example continued

CONTROL, continued

Programs

DCX-250 Display Unit.

The format for this example uses all the required arguments plus the "title" argument.

The user_change argument must be either "TRUE" if you want the operator to be able to change the setting, or "FALSE" if is not to be changed.

Figure 7-5. Display of a Control Style 1 (control button) on the 250 screen

Plain English Language Reference

7-69

COS

Function

Format

COS (number)

Purpose

Returns the cosine of number.

Remarks

The number is any number or expression and represents an angle measured in radians. The following formulas define radians and degrees: Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example 1

Program File MY.COS = COS(3.14159/2)

Example 2

Program File MY.COS = COS(ANGLE)

Related Keywords

SIN, ACOS, TAN, ATAN, ATAN 2, ASIN

Alias

COSINE

Products Supported

ACX series, BACnet series (except b3885, b3887), CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

7-70

Andover Controls Corporation

CPUPower

System variable (programmable)

Format

CPUPower

Purpose

A predefined variable that you set to OFF to turn off battery power to the central processing unit (CPU) of the CX series controller. You turn off the CPU after AC power fails. This way you preserve the life of the battery and extend the length of time the controller can retain memory on battery backup.

Remarks

For advanced users only. Most often used in programs that respond to loss of AC power. When you set CPUPower to OFF and AC power is not present, you shut off power to the entire CX series controller, including its modem, EnergyLink, and the 250-display unit. Leave CPUPower set to ON while AC power is up. If AC power has not failed, setting CPUPower to OFF has no affect. Instead of turning off the CPU, it resets itself back to ON at the end of the scan after it has determined that AC power is present and a shutdown has not occurred. After AC power goes down and battery power takes over, setting CPUPower to OFF turns off power to the CPU at the end of the scan; as a result, the controller does not operate at all until AC power returns. When AC power returns to normal, the CX series controller begins the scan at the first program in the firing order list and all programs continue on the line that they were on before you turned off the CPU. To retain memory for the longest possible time, you should turn off CPUPower as soon as possible after PowerFail becomes ON.

Plain English Language Reference

7-71

CPUPower, continued

Example

When the AC power fails, the PowerFail system variable becomes ON. You can have PowerFail trigger the following looping program to turn off the CPU if the power remains off for 2 minutes: Program File Line WaitForFail If PowerFail Is On Then Goto TimePowerDown Else Stop Endif Line TimePowerDown If TM > 2 Then Goto TurnOffCPU Line TurnOffCPU If PowerFail Is On Then Set CPUPower To Off Else Stop Endif Notice that since the PowerFail variable triggers the program whenever the system variable changes, you must test to be sure that PowerFail is ON, not OFF, before setting CPUPower to OFF.

Related Keywords

PowerFail PowerUpTime ModemPower

Products Supported

CMX series and CX series controllers.

Modes Available

Command lines and programs.

7-72

Andover Controls Corporation

CurUser

Function

Format

CurUser ( )

Purpose

Returns the user object of whoever is logged on to the workstation.

Example 1

If you want to have a program or report check who is logged on to the current workstation, type the following in a program: Program File If UserOnWS = CurUser ( ) Then . . . Notice that in this case, the parentheses are required, because CurUser is not the first word in the statement.

Example 2

If you want to create a USR function that gives the name of the current user, you can create it by typing the following in a function file called USR: Function File OBJECT CU CU = CurUser ( ) Print CU Name Return CU Name Why create a local OBJECT variable and assign it CU? Since CurUser is a function, you cannot directly print CurUser with PRINT. You must first store what CurUser returns in an OBJECT variable. By making CU an OBJECT variable, you can then print the attributes normally associated with a user, such as NAME or FULLNAME. In this case, the function prints the NAME attribute.

Products Supported

CyberStation

Modes Available

Command lines and programs.

Plain English Language Reference

7-73

CurWorkstation

Function

Format

CurWorkstation ( )

Purpose

Returns the workstation object that you are currently sitting at.

Example 1

If you want to have a program or report check which workstation it is running on, type the following in a program: Program File If CurWST = CurWorkstation ( ) Then . . .

Example 2

If you want to create a WS function that gives the name of the current workstation, you can create it by typing the following in a function file called WS: Function File OBJECT CurWST CurWST = CurWorkstation ( ) Print CurWST Name Return CurWST Name Why create a local OBJECT variable and assign it CurWST? Since CurWorkstation is a function, you cannot directly print CurWorkstation with PRINT. You must first store what CurWorkstation returns in an OBJECT variable. By making CurWST an OBJECT variable, you can then print the attributes normally associated with the workstation, such as NAME.

Products Supported

CyberStation

Modes Available

Command lines and programs.

7-74

Andover Controls Corporation

Section 4 Keywords D through G

DATE

System variable

Format

DATE

Purpose

Retrieves current system date and time so that you can then store it in a variable.

Remarks

The default value for the DATE system variable is January 1, 1989. DATE is designed to be used with DIFFTIME, along with a datetime variable (defined using the DATETIME statement). You can set the DATE value for the system using the STRTODATE keyword from a program or command line.

Example

Once you have defined the datetime variable called TEMP_DATE using the DATETIME statement (see page 7-77), you can then set the value of that variable using the DATE system variable, as follows: Program File DATETIME TEMP_DATE TEMT_DATE = DATE This way, TEMP_DATE retrieves the exact system date and time at a given moment. You may, for instance, record the date and time that a point changes. You can use the variable you have created in subsequent calculations.

Related Keywords

DATETIME DIFFTIME STRTODATE

Plain English Language Reference

7-75

DATE, continued

Alias

TIME

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-76

Andover Controls Corporation

DATETIME

Statement

Format

DATETIME namelist [ array_size_number]

Purpose

Creates and defines one or more names as local DATETIME variables. You define the variables inside a program for use only in that particular program. Each variable may be a single variable or an array. You specify an array by including the array_size_number when you define it.

Remarks

Replace namelist with the name of a datetime variable you are defining or a series of datetime variables separated by commas. Replace array_size_number with a number up to 32,767 that tells the controller the number of elements in the DATETIME array. Because the datetime is stored in seconds, you can add seconds to it to as if it were a number. You must define all local datetime variables at the top of your program. You usually set the datetime variable to the time at a given moment using the DATE system variable (see page 7-75). You can print the datetime variable. When you do, you receive the date and time printed in this format: MONTH DD YYYY hh:mm:ss The month is spelled out; the day is two digits, the year four digits. The hour, minute, and second are in 24-hour time.

Plain English Language Reference

7-77

DATETIME, continued

Example 1

In this program, the first statement defines the TEMPTIME as a datetime variable. The next statement sets the variable to the time at a given moment with the DATE system variable: Program File DATETIME TEMPTIME TEMPTIME = DATE

Example 2

When you print a datetime variable, you cannot set the format: Program File PRINT TEMPTIME
October 26, 2003 18:25:06

Example 3

You can define a series of datetime variables in a single statement. Program File DATETIME TEMPTIME, FIRSTTIME, LASTTIME

Example 4

You can define more than one array of datetime variables in a single statement: Program File DATETIME TEMPTIME[40], TIMER[30], WATCH[15]

Example 5

You can define several arrays of datetime variables and several single variables in a single statement: Program File DATETIME TEMPTIME[40], FIRSTTIME, TIMER[30], LASTTIME

7-78

Andover Controls Corporation

DATETIME, continued

Related Keywords

DATE DIFFTIME STRTODATE NUMERIC STRING

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-79

DAYOFMONTH

System variable

Format

DAYOFMONTH

Purpose

Gives the day of month from 1 to 31.

Remarks

You cannot change the DAYOFMONTH. The system automatically updates it.

Example 1

To print out a headline that contains the date, you would use DAYOFMONTH, as shown below: Program File PRINT 'The kwh History for", MONTH, DAYOFMONTH, "," , YEAR The resulting header would print the actual month, day of the month, and year, like this:
The kwh History for October 15, 2003

Example 2

To make some events occur only on particular days of each month, you could set up an IF..THEN statement that would check for the day of the month: Program File IF DAYOFMONTH IS BETWEEN 7 AND 14 THEN…

Related Keywords

MONTH YEAR DAYOFYEAR

7-80

Andover Controls Corporation

DAYOFMONTH, continued

Alias

DOM

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-81

DAYOFYEAR

System variable

Format

DAYOFYEAR

Purpose

Gives the number of the day of the year, between 1 and 366.

Remarks

You cannot change the DAYOFYEAR. The system automatically updates it.

Example

Suppose on a certain date, you need to switch off the heating and switch on cooling. You would use DAYOFYEAR to program the controller as in the following example: Program File IF DAYOFYEAR is 152 THEN Stop The Heating_Prog Run The Cooling_Prog Endif

Related Keywords

MONTH YEAR DAYOFMONTH

Alias

DOY

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-82

Andover Controls Corporation

DeleteExtLog

Function

Format

DeleteExtLog ( object, datetime )

Purpose

Deletes old entries from an extended log for the point, group of points, or controller you give it. If you are not sure what an extended log is, refer to the Continuum CyberStation Configurator's Guide for further information.
Note: The DeleteExtLog function is only available on a CyberStation

workstation. It is not available on any controller.

Remarks

Replace object with the name or full path and name of a point that is set up as an extended log, a group (where each point group member is then treated as an extended log), or a controller (whose points are then all treated as extended logs). Can also be a local OBJECT variable. Replace datetime with a datetime point, a local variable, an actual datetime, or expression that results in a datetime. To delete all log entries, enter a time in the future as the datetime. You must use the DeleteExtLog statement on a line by itself. After executing a statement formed with DeleteExtLog, the program automatically proceeds to the next labeled line. DeleteExtLog returns SUCCESS or FAILURE. When you use UpdateExtLog to update an extended log, the log does not automatically drop entries the way a regular log would. It keeps storing entries until you delete them with DeleteExtLog. When do you delete the extended log entries? When you expect the log has stored more than the maximum number of entries you set it up to log. For instance, if you set up the log for 2880 entries, once it has logged the 2880 entries it continues to log them⎯beyond the 2880. To avoid filling your database with log entries, you must instruct the workstation to remove the extra log entries either automatically or using DeleteExtLog.

Plain English Language Reference

7-83

DeleteExtLog, continued

Remarks continued

DeleteExtLog removes only old entries⎯those entries that have expired. How does it determine an entry has expired? It calculates the expiration date of each entry as follows: DateTime Entry Was Logged + ExtLogInterval × ExtLogSize Notice that the ExtLogInterval and ExtLogSize that the workstation uses in the calculation are the ones that existed when the entry was logged. So, if you later changed the extended log interval or size, the expiration date calculated remains as is. As soon as the software sees the DeleteExtLog statement in a program, it understands the purpose of the datetime variable you defined⎯to tell it to delete all log entries that have expired before that date.

Example 1

Suppose you want to delete the expired extended log entries of all points in the Floor1 controller that were logged more than 90 days ago. You could delete them with a fallthru program like the one that follows: Program File Numeric Result DeleteLog: Result = DeleteExtLog (Building1 Floor1, Date - 90 * 24 * 3600) CheckLogDeletion: IF Result is not success THEN Print "Failed to delete extended log entries for Floor1" Stop Endif You give DeleteExtLog the controller name, then a calculation that creates a datetime in seconds. The datetime value is the number of seconds that are equivalent to the date and time that the logs must have expired by.

7-84

Andover Controls Corporation

DeleteExtLog, continued
Example 2 Suppose you want to delete the expired extended log entries of a single point up to the last day of June 1993. You could delete them from the Command line as follows: Command Line DeleteExtLog (Building1 Floor1 Temp1, StrToDate ("June 30, 1993 23:59:00")) This statement converts the date string into a date the controller system can understand and then deletes the log entries that have expired by that date. Example 3 Suppose you want to delete the expired extended log entries of all points in the Floor1 controller that have been logged and then expired by a future date⎯a month from now. You could delete them with a fallthru program like the one that follows: Program File Numeric Result DeleteLog: Result = DeleteExtLog (Building1 Floor1, Date + 30 * 24 * 3600) CheckLogDeletion IF Result is not success THEN Print "Failed to delete extended log entries for Floor1" Stop Endif

Note: When the datetime argument is greater than or equal to log timestamp, the entry is deleted immediately. Related Keywords Products Supported Modes Available UpdateExtLog

CyberStation

Command lines and programs.

Plain English Language Reference

7-85

Dial
Format Format 1: Dial (phone_number, commport) Format 2: Dial (phone_number) Format 3: Dial (phone_number, commport)

Function

Purpose

Format 1: From a program, dials the Infinity modem (via the comm port you indicate) to connect from a controller (often at a remote site) to another device, usually a workstation. Format 2: From a program, dials the Infinity modem to connect from a controller (often at a remote site) to another device, usually a workstation. Uses the DefaultPort of the program. Format 3: From the Command line on a terminal, dials the Infinity modem to connect from a controller (often at a remote site) to another device, usually a workstation. The commport is required on the Command line.

Remarks

DIAL applies only on a controller with an Infinity modem. The controller may also connect over modem to a third-party controller with an ASCII interface, another Andover controller, a terminal, or a printer. Replace phone_number with any string expression or series of numbers and other characters, in quotation marks, that represent a phone number. Or any local STRING variable or string point that represents the phone number you must dial to connect to a remote site. Can be up to 132 characters total. Characters allowed are all letters, numbers, and symbols you can print on a printer, but not characters that you cannot print such as ESC, carriage return, or line feed. You can use a comma (,) to force a pause, such as after dialing 9 to get an outside line. For a full 0.5 second pause, use an at sign (@). The phone number string can also contain valid AT Commands such as “ATD,T,, 978-470-0555”.

7-86

Andover Controls Corporation

DIAL, continued
Remarks continued If the first character in the phone number is an ‘A’ or ‘a’, the DIAL keyword assumes that the phone number string contains valid AT commands prior to the phone number to command the modem to dial. This feature is useful for 3rd party modems or Cellular Modems that require something other than “ATDT” to command dialing.
Note: commport is optional in a program and is required on the Command

line Replace with the Controller port that physically connects to the modem. The DefaultMode and Mode attributes of the port must be set to AutoSet or Printer. If, in a program, you do not indicate the comm port, DIAL uses the default port you set at the top of the program or in the File Configuration window. From the command line, you must indicate the comm port. DIAL automatically turns on the DTR (data terminal ready) attribute of the port to put the port in Raw mode. Once DIAL establishes the connection to a workstation, programs can then and only then use the READ comm port function to take data from the port or PRINT to send data out the port. The port stays in Raw mode until you use HangUp or CLOSE to close the connection. You can use DIAL in a program or on the Command line. When you use DIAL from a program, you must use it on a labeled line by itself. After it executes, DIAL automatically moves the program to the next labeled line. The next labeled line should then test for the returned results of DIAL. When you use DIAL from the Command line, it returns right away, before the dialing actually begins. In this case, what DIAL first returns reflect the first response to DIAL rather than the final results: DIAL can return any of the following results:
Returned Success Failure When Controller has established connection with the workstation or other device. One of the following situations exists: • Comm port is not in the correct mode. • • Default port is not defined. Using HangUp while dialing stops the dialing from continuing. You can hang up any time during dialing. Phone


DialNotCarrier

number contains an incorrect expression or is otherwise incorrect.

Controller's modem does not detect a carrier on the communications line.

Plain English Language Reference

7-87

DIAL, continued

Remarks continued
Returned DialNotAnswer When Controller's modem detects a continuous ringback signal on the line for longer than the modem expiration timer allows. The expiration timer is the S-7 register, which is automatically set to 50 seconds if you do not change it. To change it, refer to the modem manual. Controller detects a busy signal on the line. Modem is waiting for a dial tone before dialing and has not received one.

DialBusyTone DialNotDialTone

DIAL returns the last of the above that occurs. If the controller at first does not detect a carrier, then gets a busy signal, DIAL returns DialBusyTone and does not indicate that initially it could not find the carrier. Once DIAL is successful, the Mode of the comm port is Raw. After dialing, DIAL waits up to 90 seconds for a response. (The 90 seconds includes the 50 seconds from the S-7 register.) If it fails, DIAL does not try again. Instead, DIAL responds as follows: • Returns one of the above results • Reactivates the program it is in. • • Double checks to be sure DTR is ON Returns the port to its default mode (either AutoSet or Printer) based on the DefaultMode attribute.

Once DIAL acts on the port successfully, the port is in Raw mode. So to verify its success from the Command line, you can check the Mode attribute of the port. Whenever you dial the port with DIAL and use PRINT to transmit data, be sure to check the PrintDone attribute of the port before hanging up with HangUp. PrintDone is True when no more characters are waiting to be sent over the port.

!!

CAUTION Whenever you use DIAL to call out from a port, you must later use HangUp to disconnect. If you do not, the line is still open and you are still paying for the connection.

7-88

Andover Controls Corporation

DIAL, continued
Example 1 You can use DIAL to call a workstation and send it messages. The following looping program exists on a controller that calls a workstation: Program File on Controller Numeric InitResult, DialResult, HangUpResult ... StartingDial: DialResult = Dial ("5085551212", Comm1) ‘ Using alternate AT Command ‘ Issue the ATD command, then pause, issue the T command and ‘ pause again… ‘DialResult = Dial ("ATD,T,, 5085551212", Comm1)

CheckingStatus: IF DialResult is Success THEN GOTO SendingData ELSE GOTO StoppingComms Endif Sending Data: Print Message 1 to Comm1 Print Message 2 to Comm1 Print Message 3 to Comm1 ... GOTO CheckingDone CheckingDone: IF Comm 1 PrintDone THEN GOTO CompletingComm CompletingComm: HangUpResult = HangUp (Comm 1) Checking Hangup: IF HangUpResult is not Success THEN Print "Could Not Hang Up Comm Port" GOTO StoppingComms StoppingComms: Stop
Plain English Language Reference 7-89

DIAL, continued

Example 1 continued

The program starts by creating a few local numeric variables for holding the results of initializing the modem, dialing the call, and hanging up. It then initializes the modem (see the InitModem keyword for more details). Then, in the StartingDial line, the program uses the DIAL keyword to call a phone number, indicated in quotation marks, and to find the modem on a particular port, Comm1. Notice that the phone number is in quotation marks because it is an actual phone number rather than an object, point, or variable in the control system. Since DIAL immediately sends the program to the next labeled line, you do not need a GOTO to proceed to CheckingStatus. If DIAL is successful, then the program goes to the SendingData line. Since the port is in Raw mode, the program can now use PRINT to send messages out the port to the workstation. So, on this line the program proceeds to the send a series of messages to the workstation. After sending data to the port, the program goes to the CheckingDone line, where it checks the PrintDone attribute of the port. When the attribute is True, the port has finished transmitting data. The program remains on this line until the attribute is True. Once PrintDone is True, the program goes to CompletingComm, where it uses HangUp to hang up on the port (see the HangUp keyword for details).

Example 2

Program File on Controller Numeric InitResult, DialResult, HangUpResult String PhoneNum ... DeterminingSite: IF TOD is less than 17:00 THEN Set PhoneNum = "5085551212" ELSE Set PhoneNum = "6175551212" Endif

7-90

Andover Controls Corporation

DIAL, continued

Example 2 continued

GOTO StartingDial StartingDial: DialResult = Dial (PhoneNum, Comm1) CheckingStatus: IF DialResult is Success THEN GOTO SendingData ELSE GOTO StoppingComms Endif ... CheckingDone: If Comm1 PrintDone Then Goto CompletingComm CompletingComm: HangUpResult = HangUp (Comm1) Checking Hangup: IF HangUpResult is not Success THEN Print "Could Not Hang Up Comm Port" GOTO StoppingComms StoppingComms: Stop

Plain English Language Reference

7-91

DIAL, continued

Example 3

You can call a site from the controller Command window. First, you must use InitModem to initialize the modem, and then you can dial with DIAL. When you dial from the Command window, you must include the comm port with DIAL: Command Window DialResult = Dial ("6175551212", Comm1) Pr Comm1 Mode DIAL immediately returns SUCCESS or FAILURE. If it does not succeed within 90 seconds, it returns the port to its DefaultMode setting. To verify that DIAL has succeeded, you can print the Mode of the comm port from the Command line to be sure the port is in Raw mode. Later, you must be sure to hang up with the HangUp keyword.

Related Keywords

InitModem HangUp

Products Supported

CX series controllers.

Modes Available

Command lines and programs.

7-92

Andover Controls Corporation

DIFFTIME

Function

Format

Format 1: DIFFTIME (SECOND, date_time1, date_time2) Format 2: DIFFTIME (MINUTE, date_time1, date_time2) Format 3: DIFFTIME (HOUR, date_time1, date_time2) Format 4: DIFFTIME (WKD, date_time1, date_time2)

Purpose

Format 1: Calculates the difference in whole seconds between two dates and times, date_time1 and date_time2. (Subtracts date_time1 from date_time2.) Format 2: Calculates the difference in whole minutes between two dates and times, date_time1 and date_time2. (Subtracts date_time1 from date_time2.) Format 3: Calculates the difference in whole hours between two dates and times, date_time1 and date_time2. (Subtracts date_time1 from date_time2.) Format 4: Calculates and returns the difference in whole days between two times and dates, date_time1 and date_time2. (Subtracts date_time1 from date_time2.)

Remarks

The date_time is any actual date and time or a datetime variable. DIFFTIME always subtracts the first datetime from the second one. With SECOND, any time beyond a complete second is not counted. So, 2 1/2 seconds becomes 2 seconds. With MINUTE, any time beyond a complete minute is not counted. So, 2 minutes and 15 seconds becomes 2 minutes With HOUR, any time beyond a complete hour is not counted. So, 2 hours and 15 minutes becomes 2 hours.

Plain English Language Reference

7-93

DIFFTIME, continued

Remarks continued

With WKD, any time beyond a complete day is not counted. So, 2 days and 15 hours becomes 2 days. If date_time1 is later than date_time2, DIFFTIME returns a negative number.

Example 1

You can use DIFFTIME with SECOND to determine how many seconds have passed. The sample program below calculates the difference between two readings of the datetime variable TIMER. Program File DATETIME TIMER[2] IF DIFFTME (SECOND, TIMER[1], TIMER[2]) > 30 THEN RUN TEST The statement determines the result of TIMER [2] - TIMER [1]. If the difference is greater than 30 seconds, TEST runs. You would substitute MINUTE or HOUR in the above example to get time difference in minutes or hours.

Example 2

You can use DIFFTIME with WKD to determine how many days have passed. The sample program that follows calculates the difference between the old date (stored in the OLDDATE variable) and the current date (in the DATE system variable). Program File Numeric RESULT RESULT = DIFFTIME (WKD, OLDDATE, DATE) The statement sets RESULT to the number of days that DATE - OLDDATE gives.

7-94

Andover Controls Corporation

DIFFTIME, continued

Related Keywords

DATE DATETIME STRTODATE TIME

Alias

DT

Products Supported

BACnet series, CMX series, CX series, i2 series controllers and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-95

DISABLE

Statement

Format

Format 1: DISABLE program_name Format 2: DISABLE point_name Format 3: DISABLE namelist

Purpose

Format 1: Stops running the program named with program name at the current line and does not allow you to run the program until you enable it with ENABLE, setting its state attribute to Enabled or through the menus and windows. Format 2: Disables a point called "point_name". Format 3: Stops program control of a list of programs named namelist all at once, each at the current line.

Remarks

Replace program name with any program file name. Replace point_name with any point, piece of equipment, terminal, computer or printer. Replace point_name with any point. Replace namelist with any list of programs or points as defined above and separated by commas. The named program, name, or each item in the namelist must have a STATE attribute (see page 1-10). The STATE attribute allows the item to be enabled or disabled. All disabled items remain disabled until you enable them (see ENABLE keyword).

7-96

Andover Controls Corporation

DISABLE, continued

Example 1

To stop a blower program named BLOWERPROG that is in the process of executing, enter the following command: Command Window DISABLE THE BLOWERPROG

Example 2

When debugging, you may disable a point called FAN temporarily to see how that affects the program. You could place the following statement in a program or enter it from the command line: Program File DISABLE THE FAN

Example 3

To stop several active programs at once, enter the following command line: Program File DISABLE THE HEATING, THE COOLING, THE PUMPING Note: In the above example HEATING and COOLING are points and PUMPING is the program name.

Related Keywords

ENABLE

Alias

DIS

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-97

DIVIDED BY

Operator

Format

number DIVIDED BY number

Purpose

Divides one number by another.

Remarks

The number is any number or expression. The division operator ( /) may be substituted for DIVIDED BY.

Example 1

Program File USAGE = kwh DIVIDED BY 24

Example 2

Program File USAGE = kwh/24

Alias

/ DIV

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-98

Andover Controls Corporation

DRAWELLIPSE

Function

Format

DRAWELLIPSE (left, bottom, right, top)

Purpose

Draws an ellipse inside an imaginary rectangle that is positioned on the DCX 250 Display Unit screen by its lower left and upper right corner line point locators. Returns SUCCESS or FAILURE.

Remarks

Applies the current display settings. The DCX 250 Display Unit forms the ellipse so the leftmost, rightmost, top, and bottom points on its circumference touch the sides of an imaginary Rectangle. You do not need the parentheses if DRAWELLIPSE is at the beginning of a statement. Replace left with the number of dots (line points) from the left that the left side of the imaginary rectangle around the ellipse should be positioned. Can be an integer from 1 to 320, or a name or expression that gives one. Replace bottom with the number of dots (line points) from the bottom that the bottom side of the imaginary rectangle around the ellipse should be positioned. Can be an integer from 1 to 200, or a name or expression that gives one. Left and bottom together give the location of the lower left corner of the rectangle. Replace right with the number of dots (line points) from the left that the right side of the imaginary rectangle around the ellipse should be positioned. Can be an integer from 1 to 320, or a name or expression that gives one. Replace top with the number of dots (line points) from the bottom that the topside of the imaginary rectangle around the ellipse should be positioned. Can be an integer from 1 to 200, or a name or expression that gives one. Right and top together give the location of the upper right corner of the rectangle.

Plain English Language Reference

7-99

DRAWELLIPSE, continued

Example 1

You can draw an ellipse from the left-bottom (10, 20) to the right-top (250, 100) line point positions as follows: Program File DRAWELLIPSE 10, 20, 250, 100 Notice that the parentheses are not required in this case, because DRAWELLIPSE is at the beginning of a statement. Figure 7- 6 shows how left and bottom give the lower left corner and right and top give the upper right corner of the imaginary rectangle. (250, 100)

(10, 20) Figure 7-6. Ellipse drawn with DRAWELLIPSE showing imaginary rectangle with bottom left and top right corner locations

The left-bottom and right-top positions are the crosses shown in the lower and upper corners of the rectangle.

Example 2

You can draw a perfect circle (Figure 7-7) by giving a left-bottom (10, 10) and a right-top (100, 100) line point positions as follows: Program File DRAWELLIPSE (10, 10, 100, 100) (Although the parentheses are not required in this case, you can use them to make the program easier to read.)

7-100

Andover Controls Corporation

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN

Modes Available

Products Supported

Related Keywords

Example 2 continued

DRAWELLIPSE, continued

Programs

DCX 250 Display Unit

DRAWLINE DRAWRECTANGLE

IF DrawEllipse (10, 10, 100,100) = Failure THEN Print "DCX Could Not Draw Ellipse" To Floor1 Comm3 Endif

When you draw an ellipse, you can have DRAWELLIPSE tell whether it was successful or not, as follows:

If DRAWELLIPSE is successful, the controller draws the circle, otherwise, the message prints.

Figure 7-7. Circle drawn with DRAWELLIPSE

Plain English Language Reference

7-101

DRAWLINE

Function

Format

DRAWLINE (begin_left, begin_bottom, end_left, end_bottom)

Purpose

Draws a line that is positioned on the DCX 250-Display Unit screen by the arguments you supply as line point locators (dots) to the function. Returns SUCCESS or FAILURE.

Remarks

Applies the current display settings with the SETDISPLAY keyword. The DCX 250-Display Unit forms the line on its screen by joining dots (line points) that mark each end. You indicate the position of these dots as follows: Replace begin_left with the number of dots (line points) from the left that the line should begin. Can be an integer from 1 to 320, or a name or expression that gives one. Replace begin_bottom with the number of dots (line points) from the bottom that the line should begin. Can be an integer from 1 to 200, or a name or expression that gives one. The begin_left and begin_bottom positions give the location of the beginning of the line. Replace end_left with the number of dots (line points) from the left that the line should end. Can be an integer from 1 to 320, or a name or expression that gives one. Replace end_bottom with the number of dots (line points) from the bottom of the screen that the line should end. Can be an integer from 1 to 200, or a name or expression that gives one. The end_left and end_bottom positions give the location of the end of the line.

7-102

Andover Controls Corporation

Example

DRAWLINE, continued

SETDISPLAY (white) DRAWLINE 10, 100, 200, 50 Notice that the parentheses are not required in this case, because DRAWLINE is at the beginning of a statement. Figure 7-8 shows how the begin_left, begin_bottom, end_left, and end_bottom values mark the dots that begin and end the line.

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000 0 0000000000000000000000000000000000000000000000000000000000 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Begin_Left = 10 • Begin_ Bottom = 100 End_Left = 200 • End_Bottom = 50

Modes Available

Products Supported

Related Keywords

Programs

DCX 250 Display Unit

DRAWELLIPSE DRAWRECTANGLE

Program File

SETDISPLAY first sets the color to white, so the line appears on the 250 screen in white.

Figure 7-8. Line drawn with DRAWLINE showing begin and end line locations.

Plain English Language Reference

7-103

DRAWRECTANGLE

Function

Format

DRAWRECTANGLE (left, bottom, right, top)

Purpose

Draws a rectangle on the screen of the DCX 250-Display Unit by the arguments you supply to the function as line point locators (dots) for the lower left and upper right corners. Returns SUCCESS or FAILURE.

Remarks

Applies the current display settings. You do not need the parentheses if DRAWRECTANGLE is at the beginning of a statement. Replace left with the number of dots (line points) from the left that the left side of the rectangle should be positioned. Can be an integer from 1 to 320, or a name or expression that gives one. Replace bottom with the number of dots (line points) from the bottom that the bottom side of the rectangle should be positioned. Can be an integer from 1 to 200, or a name or expression that gives one. The left and bottom positions give the location of the lower left corner of the rectangle. Replace right with the number of dots (line points) from the left that the right side of the rectangle should be positioned. Can be an integer from 1 to 320, or a name or expression that gives one. Replace top with the number of dots (line points) from the bottom that the topside of the rectangle should be positioned. Can be an integer from 1 to 200, or a name or expression that gives one. The right and top positions give the location of the upper right corner of the rectangle.

7-104

Andover Controls Corporation

DRAWRECTANGLE, continued

Example 1

You can draw a rectangle with the left side 10 dots over and the bottom side 20 dots up, the right side 250 dots over and the top 100 dots up as follows: Program File DRAWRECTANGLE 10, 20, 250, 100 The 250 display unit draws the rectangle from the left-bottom 10, 20 to the right-top 250, 100 as shown in Figure 7-9.

Figure 7-9. Rectangle drawn with DRAWRECTANGLE showing bottom left and top right corner locations

You can have DRAWRECTANGLE tell you whether or not it drew successfully by putting it inside an IF..THEN statement and including the parentheses: IF DRAWRECTANGLE (10, 20, 250,100) = Failure THEN Print "DCX Could Not Draw Rectangle" Endif If DRAWRECTANGLE is successful, the controller draws the rectangle, otherwise, the message prints.

0000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000 00 0 0 0 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000 00 00 00 0 00 00 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Right = 250 Left = 10 Bottom = 20 Top = 100

Plain English Language Reference

7-105

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 0 0000 00 0000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Program File DRAWRECTANGLE 10, 10, 100, 100
250 Screen

7-106

Modes Available

Products Supported

Related Keywords

Example 2

DRAWRECTANGLE, continued

Andover Controls Corporation

Programs DCX 250 Display Unit DRAWELLIPSE DRAWLINE SETDISPLAY You can draw a perfect square (Figure 7-10) by giving the same values for left and bottom, then the same values for right and top, such as 10, 10, and 100, 100, as follows:
Figure 7-10. Square drawn with DRAWRECTANGLE

ENABLE

Statement

Format

Format 1: ENABLE program_ name Format 2: ENABLE point_name Format 3: ENABLE namelist

Purpose

Format 1: Allows the program named by program name to be run by the RUN or ROTATE statements. Format 2: Places the point, named by point name in an Enabled state where it may be used by a program. Format 3: Allows the listed programs named by namelist to be run by RUN or ROTATE. Places several items under program control at once, or enables points.

Remarks

Replace program name with any program file name. Replace point name with any point. Replace namelist with any list of programs or names, as defined above, separated by commas. The named program, name, or each item in the namelist must have a STATE attribute (see page 1-12). The STATE attribute allows the item to be enabled or disabled.

Example 1

Suppose you have disabled a program that controls cooling. To now let the controller run it, type the following: Command Line ENABLE COOLING

Plain English Language Reference

7-107

ENABLE, continued

Example 2

When you temporarily disable a point to debug a program, it remains disabled until you enable it again. You can enter the following as a program statement or command line: Program File ENABLE the Fan

Example 3

To activate several programs at once, enter the following command line: Command Line ENABLE the Heating, the Cooling, and the Pump Note: In the above program, Heating and Cooling are program names and Pump is a point.

Related Keywords

DISABLE

Alias

EN

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-108

Andover Controls Corporation

ENDPOLYLINE

Function

Format

ENDPOLYLINE ( )

Purpose

After a BEGINPOLYLINE statement and a series of drawing statements, ENDPOLYLINE indicates drawing on the DCX 250-Display Unit is complete. Returns SUCCESS or FAILURE.

Remarks

After you use BEGINPOLYLINE, and you then give a series of line points (see LINEPOINT keyword) you want connected, you then indicate the series of line points is over by entering ENDPOLYLINE. You do not need the parentheses if ENDPOLYLINE is at the beginning of a statement.

Example

You create a line connecting a series of line points on the 250 display unit by entering the following: Program File SETDISPLAY (NOFILL) BEGINPOLYLINE LINEPOINT (10, 100) LINEPOINT (100, 50) LINEPOINT (200, 100) LINEPOINT (250, 60) ENDPOLYLINE Neither BEGINPOLYLINE nor LINEPOINT actually causes the lines to be drawn. Instead, ENDPOLYLINE takes its cue from those statements and actually executes the drawing.

Plain English Language Reference

7-109

ENDPOLYLINE, continued

Example continued

Without ENDPOLYLINE, BEGINPOLYLINE does nothing. Without ENDPOLYLINE, LINEPOINT only places dots (line points); it does not draw lines. The DCX 250-Display Unit stores the line points in memory until it sees ENDPOLYLINE which then makes it draw the lines as shown on Figure 7-11.

Figure 7-11. Connected line points executed by ENDPOLYLINE.

If you want to know whether the lines or polygon have been drawn successfully put ENDPOLYLINE inside an IF. . THEN statement: IF ENDPOLYLINE ( ) = Failure THEN Print "DCX Cannot Draw Polygon" Endif If ENDPOLYLINE is successful, the controller draws the polygon, otherwise, the message prints.

7-110

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 000000000000000000000000000000000 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 0 0000 00 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 Screen

ENDPOLYLINE, continued

Related Keywords

BEGINPOLYLINE LINEPOINT

Products Supported

DCX 250 Display Unit

Modes Available

Programs

Plain English Language Reference

7-111

EOF

Constant

Format

EOF

Purpose

EOF means end-of-file. Used in expressions to indicate a process or function has failed because it tried to access information past the end of a file read by CyberStation.

Remarks

EOF is always numeric.

Example

Program File IF WriteFile (ZONEDATA, RECORDLINE, 80, CHARS) = EOF THEN Print "Not enough room in file for record" GOTO WriteCheck Endif

Related Keywords

FAILURE SUCCESS

Products Supported

CyberStation

Modes Available

Programs

7-112

Andover Controls Corporation

EQUALS

Operator

Remarks

See the IS keyword.

Plain English Language Reference

7-113

ERRORS

System variable

Format

ERRORS

Purpose

Is a variable the controller maintains that indicates the number of system errors pending. The number increments (increases by one) each time a new error occurs and is cleared when manually reset to zero (∅).

Remarks

The controller automatically updates ERRORS. You can only reset it to zero. The controller increments ERRORS when any of the following occurs: • A Plain English program error disables a program (which also sets the program ERROR attribute). • • • • • The controller’s input reference voltage goes out of its normal range, usually when you apply too much voltage to one or more inputs. The controller’s output reference voltage goes out of its normal range, usually when drawing too much current from one or more inputs. The Infinet has trouble transmitting or receiving data. Someone resets an Infinet controller. Someone turns off the AC power to any Infinet, CX series or CMX series controller so that the AC power shuts down, but the battery retains memory.

Example

Since the ERRORS variable automatically decrements after you acknowledge an error, the value of the variable should never get very large. In the sample program below, you set a limit to how many errors can accumulate and generate a report on all errors if the limit is exceeded: Program File IF ERRORS > 10 THEN GOTO Report_Error

7-114

Andover Controls Corporation

ERRORS, continued

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-115

EventLogSize

System variable

Format

EventLogSize

Purpose

Refers to the event log that stores access control events in the CX series controller, which is hidden from view. Indicates the number of access control events that the event log can store.

Remarks

This system variable applies only if you are using your CX series controller for access control. You can set the number of events that the event log will contain, based on the size of the controller's memory

Example 1

If you want to know how many events you can fit in the event log of a CX or CMX series controller, you can print the controller’s EventLogSize system variable in the Command window, as follows: Command Line PR EventLogSize

Example 2

If you want to change the number of events the controller can store in its event log, you can set the EventLogSize system variable in a program or in the Command window, as follows: Program File SET EventLogSize = 1000

7-116

Andover Controls Corporation

EventLogSize, continued

Related Keywords

AccessLog

Products Supported

CMX series and CX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7-117

EXPONENTIAL

Function

Format

EXPONENTIAL (number)

Purpose

Returns a value equal to the base e raised to the number power.

Remarks

The number is any number or expression.

Example 1

Program File EVAL = EXPONENTIAL (0) The result of e to the 0 power is 1. Because the EXPONENTIAL function returns 1, EVAL is set to 1.

Example 2

Program File R.VAL = EXPONENTIAL (-1) The result of e to the -1 power is 0.368, so R.VAL is set to 0.368.

Alias

EXP

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers (except i2885, i2887, b3885, b3887), and CyberStation.

Modes Available

Command lines and programs.

7-118

Andover Controls Corporation

FACTORIAL

Function

Format

FACTORIAL (integer_expression)

Purpose

Returns the factorial of integer_expression.

Remarks

The integer_expression is an integer greater than or equal to zero. The largest number you can use FACTORIAL on is 34.

Example

The following statement sets FVAL to the result of factorial 3: Program File FVAL = FACTORIAL (3) The function returns 6, so FVAL = 6.

Alias

FACT

Products Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX series, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-119

FAILURE

Constant

Format

FAILURE

Purpose

Used in expressions to indicate a function has failed to complete.

Remarks

FAILURE is always numeric and equal to one. It can be used to replace number in a comparison expression.

Example

Program File IF Read (Comm2, 80, TextString, 10) = FAILURE THEN Print "Could not Read Text" TO Screen GOTO ErrorLine Endif IF OpenFile ("Com1", Read Write, File Var) = FAILURE THEN Print "Error opening file" Endif

Related Keywords

SUCCESS

Products Supported

CX series and CyberStation.

Modes Available

Command lines and programs.

7-120

Andover Controls Corporation

File

Statement

Format

FILE file_variable_namelist [array_size_number]

Purpose

Creates and defines one or more names as local FILE variables, just as NUMERIC, STRING, and DATETIME create local variables. You define the FILE variables inside a program for use only in that particular program. You can not use FILE on the command line. Each variable may be a single variable or an array. You specify an array by including the array_size_number when you define it. Each FILE variable name is a control system software name that corresponds to any actual Windows file name. Later you use this name to open the file with OPENFILE, and act on the file with READFILE, POSITIONFILE, WRITEFILE, and CLOSEFILE keywords.

Remarks

A FILE variable is a file name that the control system software understands; this is useful because the control system software does not comprehend Windows file names. After you define the FILE variable, you later use OPENFILE to open a Windows file that goes with it. Although the variable is like a NUMERIC, STRING, or DATETIME local variable, it is also different⎯you do not set it to a Windows file name with a SET statement. Instead, the control system software sets the name within an OPENFILE, CLOSEFILE, READFILE, POSITIONFILE, or WRITEFILE statement, where you give the FILE variable name and a string containing the Windows file name. (See each related keyword for more detail.) What makes it a variable is that you can change the Windows file name to a FILE variable name that it associates with. You always make that change within a statement you form with a related keyword. Replace file_variable_namelist with one or more local FILE variable names that you want Windows text files to correspond to. May be up to 32 characters, including letters, numbers, periods, and underscores, starting with a letter.

Plain English Language Reference

7-121

File, continued

Remarks continued

Replace array_size_number with a number up to 32,767 that tells the controller how many positions are in the array of file names. Each position in the array is like a separate FILE variable that corresponds to a single Windows text file.

Example 1

You use FILE in a program to define a file called ZONEDATA. Then you can open an Windows file and put data in it with other related keywords: Program File FILE ZoneData Numeric Chars String 80 Dataline Line Opening . . Line Working . . Line Closing . .

Example 2

You can create an array of variables with FILE and once you have defined them, you can assign each a Windows file name using a FOR..NEXT statement with OPENFILE.

7-122

Andover Controls Corporation

FILE, continued

Example 2 continued

In this example, you open the Windows files in the left column below. Each corresponds to the control system software name you created with a local FILE variable defined in the array, shown in the right column:
Windows File
\text\zone1.txt \text\zone2.txt \text\zone3.txt

Control System File Variable
ZoneData[1] ZoneData[2] ZoneData[3]

Program File File ZoneData[3] Numeric OK, NumFile Line Opening FOR NumFile = 1 To 3 OK = OPENFILE ("c:\text\zone"; NumFile;".txt", WRITEONLY, ZoneData [NumFile]) IF OK = FAILURE THEN BREAK NEXT NumFile Line Working . . Line Closing .

Related Keywords

CLOSEFILE READFILE

OPENFILE WRITEFILE

POSITIONFILE

Products Supported

CyberStation

Modes Available

Programs

Plain English Language Reference

7-123

FILL

Constant

Format

FILL

Purpose

Sets the graphics on the DCX 250 Display Unit screen to filled solids rather than lines when you use it with SETDISPLAY.

Remarks

The graphics on the 250 screen may be filled (FILL) or not filled (NOFILL).

Example

You set the graphics on the 250 screen to solids, as follows: Program File SETDISPLAY (FILL)

Related Keywords

NOFILL SETDISPLAY

Products Supported

DCX 250 Display Unit

Modes Available

Programs

7-124

Andover Controls Corporation

FLOOR

Function

Format

FLOOR (number)

Purpose

Rounds number to the nearest smaller integer on the number line and returns that integer.

Remarks

The number is any number or expression. (See ROUND keyword for a comparison of all rounding functions.)

Example 1

Program File TmpVar = FLOOR (42.7) This statement returns 42.

Example 2

Program File RESULT = FLOOR (-1.1) This statement returns -2. Figure 7-12 illustrates how the controller arrives at -2 for the floor of -1.1.

-4

Related Keywords

CEILING TRUNCATE ROUND

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000 0000000000
Position of FLOOR (–1.1) Position of –1.1 on the number line -3 -2 -1 0 1 2 3 4

Figure 7-12. Number line showing FLOOR (-1.1)

Plain English Language Reference

7-125

FLOOR, continued

Products Supported

BACnet series (except b3885, b3887), CX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

7-126

Andover Controls Corporation

FOR..NEXT

Statement

Format

Format 1: FOR numeric_name = begin TO end statement statement ... NEXT numeric_name Format 2: FOR numeric_name = begin TO end STEP number statement statement ... NEXT numeric_name

Purpose

Carries out all statements in a loop a fixed number of times.

Remarks

Replace numeric_name with a defined local variable or point that stands for a number. The numeric_name after NEXT must be the same as the one after FOR. Replace statement with any complete instruction that tells the program what to do next or what action to take. Replace begin with an integer expression. Replace end with an integer expression. number tells the amount to increase numeric_name by each time the controller goes through the loop. A FOR..NEXT loop looks like this: FOR Count = 2 TO 10 STEP 2 Print Count, " "; Print (10 + Count) NEXT Count

Plain English Language Reference

7-127

FOR..NEXT, continued

Remarks continued

The statement sets the value of the numeric_name to the begin value, then carries out the statements after FOR until it reaches NEXT. At NEXT, the program goes back to FOR and gets the next value of numeric_name by adding number to begin. Here, since begin is 2, end is 10, and number is 2, the numeric_name (often called the “counter”) counts 2, 4, 6, 8, 10. The first time through the loop numeric_name is 2, the second time it is 4, and so on. As long as numeric_name is less than or equal to end, the statements inside the loop are carried out. When numeric_name is greater than end the program then goes to the statement after NEXT. Here is the output printed by the loop above:
2 4 6 8 10 12 14 16 18 20

If you do not specify a STEP number, the name automatically increases by one (increment) each time the loop executes. The step may also be a negative step, taking the value of the name from a begin of, for instance, 10 to an end of 1 by a number of –1. The setting of counter numeric_name cannot be changed from within the loop.

! !

CAUTION The scan action limits the number of statements that can execute on one line to 5000. Be careful of exceeding the limit when using FOR..NEXT.

7-128

Andover Controls Corporation

FOR..NEXT, continued

Example 1

Before you run functions that use the ARG variables, you may want to set them all to zero. You can set them all with one programming statement using FOR..NEXT: Program File FOR Count = 1 TO 15 Set Arg [Count] = 0 NEXT Count The first time through the loop, ARG[1] is set to 0, the second time ARG[2] is set to 0, the third time ARG[3] is set to 0, and so on.

Example 2

To set every third value in an array to zero, you can go to the third item, then sixth, then ninth, and so on using STEP with FOR..NEXT: Program File Number Count FOR Count = 3 TO 15 Step 3 Set Pump [Count] = 0 NEXT Count

Example 3

To find a filtered average, you could set up a function called FILT.TOTAL. The function, shown below, uses FOR..NEXT to loop from ARG[3] through ARG[15], and add only the numbers with a value between that of ARG[1] and ARG[2]: Function File Number Total, Count, Num SET Num, Total = 0 FOR Count = 3 TO 15 IF Arg[Count] is Between Arg[1] AND Arg[2] THEN Total = Arg[Count] + Total Num = Num + 1 Endif NEXT Count RETURN (Total/Num)

Plain English Language Reference

7-129

FOR..NEXT, continued

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Related Keywords

BREAK, CONTINUE

Modes Available

Programs

7-130

Andover Controls Corporation

FREEMEM

System variable

Format

FREEMEM

Purpose

Contains the number of bytes of free memory. Does not indicate memory available on a workstation.

Remarks

For system manager only. Primarily designed to be used on the command line because the value of FREEMEM does not change dynamically. Also, it can be used in programs but doing so will slow the controller down.

Example

If you want to know the size of the largest block of free memory available on a controller, enter the following: Program File Print FREEMEM

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, and TCX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7-131

GetExtLog

Function

Format

GetExtLog (object_name , value_var , start_time , end_time)

Purpose

Gets the value from an entry in the extended log and gets the time it was stored in the log. Retrieves this information for a particular point and a range of times that begins with the start_time and ends with the end_time.

Remarks

When you use GetExtLog, you must use it on a labeled line by itself. Once GetExtLog executes, the controller automatically goes to the next labeled line, where the program should test to see if GetExtLog returns SUCCESS or FAILURE. Replace object_name with the full path name of the object. Replace value_var with a local variable or point to hold the value of the next extended log entry that GetExtLog retrieves. Replace start_time with a time of first entry that the GetExtLog should retrieve from the log. Can be a datetime point or local datetime variable. Replace end-time with the Time of last entry that the GetExtLog should retrieve from the log. Can be a datetime point, local datetime variable, or datetime data file field. If you do not give an end time, GetExtLog continues to retrieve the time and log values until the current date and time. May be a numeric or string expression that results in a datetime (or number of seconds representing one). The program starts getting extended log values at the start_time you give. The program continues to get the extended log times and associated values until it reaches the end_time you give.

7-132

Andover Controls Corporation

GetExtLog, continued

Example

Fall-Thru program that retrieves all the extended log entries of a numeric point since 30 days ago. Program File Numeric result, logvalue DateTime LogTime, endLogTime SetEndLogTime1: EndLogTime = StrToDate(“12/10/2003 09:50:00 AM”) Print “Start Log Extraction” to MessageWindow GettingLogEntry: result = GetExtLog(MyNetwork\MyCX\n1log, logvalue, logtime, endLogTime) PrintingLogEntry: If result = Success then Print logtime, endLogTime, logvalue to MessageWindow ‘do we need to finish thelog? if logtime >= endLogTime then print "Log Extraction Finished" to MessageWindow stop endif Goto GettingLogEntry Else Print “Failed getting extended log” to MessageWindow Stop Endif

Plain English Language Reference

7-133

GetExtLog, continued

Related Keywords

DeleteExtLog UpdateExtLog

Products Supported

CyberStation

Modes Available

Programs

7-134

Andover Controls Corporation

GETNAME

Function

Format

GETNAME (string)

Purpose

Changes the string to a name, such as the name of a defined point, so it can then be set to a value or used anywhere in the language that a point name is allowed. Can be used to give one name to a series of items in the database that has the same root in their names. Each of the names is made up of a root abutted with (joined to) a variable. CAUTION: This function is time consuming and should be used sparingly. It is recommended that it only be used in reports.

Remarks

The string can be either text (word or words) or a text expression. The text expression can be a known character or characters combined with a changeable character or characters to form one word. A semicolon joins the parts of the combined string (TEMP; X gives TEMP1, TEMP2, TEMP3, as X becomes 1, then 2, then 3). The “word” formed in the string must be a path name or a single-word name that you have defined somewhere in the control system software.

Plain English Language Reference

7-135

GETNAME, continued

Example 1

In the following example, GETNAME converts the "TEMP"; ROOM string to the TEMP1, TEMP2, and other temperature point names up to TEMP10. These points have been defined on the controller. The program prints the values of the points: Program File Numeric Room Line SettingRoom SET Room = 1 GOTO PrintingTemp Line PrintingTemp Print GETNAME("Temp";Room) GOTO GettingRoom Line GettingRoom SET Room = Room + 1 IF Room is less than 11 THEN GOTO PrintingTemp ELSE Stop ENDIF

Example 2

You can use GETNAME to get the value of a point from more than one controller. In this example, the controllers are VAV box controllers called ROOM1, ROOM2, ROOM3, and so on, up to ROOM10. Since each ROOM controller has a TEMP point, GETNAME can easily retrieve that point from each controller: Program File Numeric ROOM Line SettingRoom ROOM = 1 GOTO CheckingTemp Line CheckingTemp IF GETNAME("Room";ROOM;" Temp") > 75 THEN Print "Room |## is |###", ROOM, GETNAME("Room"; ~ ROOM;" Temp")

7-136

Andover Controls Corporation

GETNAME, continued

Example 2 continued

Endif GOTO GetNextRoom Line GetNextRoom IF ROOM >= 10 THEN STOP ROOM = ROOM + 1 GOTO CheckingTemp "Room"; ROOM;" Temp" gets the path to the TEMP point on the ROOM1 controller first. Once the program gets the value of TEMP from each controller, it compares that value to the setpoint of 75. If the temperature is not at setpoint, the program prints a message.

Example 3

To get an attribute with GETNAME, you must include the attribute name in the GETNAME string. (You cannot get the name and then put an attribute after it.) Include the attribute as follows: Program File Print GETNAME("Room"; ROOM; "Temp VALUE")

Example 4

You can also get attributes of a point other than the value. This example retrieves the STATE attribute (enabled or disabled): Program File Print "The Lights are |*", GETNAME("Room";ROOM;"Lights State")

Example 5

You can also get attributes of any other name defined in the control system software, for instance, the STATUS of a program called HEATING (active or inactive): Program File Print "Status of Heating is |*", GETNAME("Floor";FloorNum;" "Heating STATUS")

Plain English Language Reference

7-137

GETNAME, continued

Example 6

You can use GETNAME to generate a report on several points at a particular time. For example, you can get the setting of the lights in a particular space, the status of the lighting program, the setpoint at that time, the actual temperature at that time, the airflow setpoint, and the actual airflow: Program File Numeric ROOM Line SetRoom ROOM = 1 Print "Today's Date and Time are ";DATE GOTO CheckRoom Line CheckRoom PRINT "Room |## Status", ROOM PRINT "The lights are |$###", GETNAME("Room";ROOM;" Lights") PRINT "The lighting program is |*", GETNAME("Floor";Num,"Lighting STATUS") PRINT "The temperature setpoint is ⏐##..#", GETNAME ("Room"; ROOM;" Sept") PRINT "The actual temperature is ⏐##..#", GETNAME ("Room"; ROOM;" Temp") PRINT "The airflow setpoint is ⏐##.# cmf", GETNAME ("Room"AirSetpt") PRINT "The actual airflow is ⏐##.# cmf", GETNAME ("Room"; ROOM;" AirFlow) GOTO GetNextRoom Line GetNextRoom IF ROOM >=10 THEN STOP ROOM = ROOM + 1 GOTO CheckRoom

Products Supported

BACnet series (except b3885, b3887), CX series, CMX series, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Programs

7-138

Andover Controls Corporation

GetObject

Function

Format

Format 1: GETOBJECT ( object_var ) Format 2: GETOBJECT ( member_object_var )

Purpose

Format 1: Gets the next object from a list of objects you opened with OPENLIST. The list is always of one particular class of objects, such as INPUT, OUTPUT, PROGRAM.

Remarks

The object_var is a local OBJECT variable you defined with the OBJECT statement. Returns SUCCESS or FAILURE. After it gets the last object in the list of that object class, GETOBJECT returns FAILURE. See the related keywords for details on how to open and close the lists. Format 2 is available only on a workstation.

Example 1

After you have defined a local OBJECT variable with the OBJECT keyword, you can then open the list of objects of a particular class (see OPENLIST) and get each object with GETOBJECT. In this case, you open a list of VAV points and get each point as follows Program File Object VavPoint Line OpenPoint . . Line GetPoints IF GetObject (VavPoint) Is Not SUCCESS THEN GOTO ClosePoints

Plain English Language Reference

7-139

GetObject, continued

Example 1 continued

IF VavPoint State Is Disabled THEN Print VavPoint Name Line ClosePoints . . Stop The program is looping, so that it stays on the GetPoints line until GETOBJECT fails to retrieve another point. You know GETOBJECT cannot find anymore points when it returns FAILURE rather than SUCCESS. Notice that because the program is looping, you use the STOP keyword to prevent it from repeating the actions on the ClosePoints line. This program checks the state of each point it retrieves from a particular controller. If the point is disabled, the program prints the point name. When the control system software has finished getting all the points, you have a list of the disabled points. See the related keywords for details on how to open and close the lists.

Example 2

You can print a list of disabled programs on a particular controller using GETOBJECT. This time, the program is not looping, but fallthru. Notice that GOTO creates the loop that continues to look for programs on the controller. Program File Object Prog Line OpenProg . . Line GetProgs IF GetObject (Prog) Is Not SUCCESS THEN GOTO CloseProg IF Prog State Is Disabled THEN Print Prog Name GOTO GetProgs Line CloseProg .

7-140

Andover Controls Corporation

GetObject, continued

Example 2 continued

This program checks the state of each program it retrieves from a particular controller. If the program is disabled, the control system software prints the program name. When the control system software has finished getting all the programs, you have a list of the disabled programs.

Example 3

You can print a list of the CX series controllers that are off-line using GETOBJECT. The sample program is looping: Program File OBJECT EnetCtrlr Line OpenController . . Line GetController IF GetObject (EnetCtlr) Is Not SUCCESS THEN GOTO CloseController Endif IF EnetCtlr CommStatus Is OffLine THEN Print EnetCtlr Name Endif Line CloseController . This program checks the COMMSTATUS of each Cx series controller on the network. If the controller is off-line, the control system software prints the controller name. When the control system software has checked the entire list of controllers, you have a complete list of the CX controllers that are off-line. Since this information can change, you might run a program like this every hour (trigger it from the HOUR system variable) or more frequently.

Example 4

You can also get a list of all points or all files rather than a particular type of point or file. GETOBJECT gets all points in the following example. Program File Object VavPoint
Plain English Language Reference 7-141

GetObject, continued

Example 4 continued

Line OpenVavPoints . . Line GetVavPoints IF GetObject (VavPoint) Is Not SUCCESS THEN GOTO CloseVavPoints Endif PR VavPoint Line CloseVavPoints . . This program gets each point from the VAVPoint list. PR prints the name, value, and units of each point. You can use this type of program to retrieve all point values from a single controller quickly and easily.

7-142

Andover Controls Corporation

GetObject, continued

Related Keywords

CloseList OBJECT OpenList

Products Supported

Format 1: BACnet series (except b3885, b3887), CX series, CMX series, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-143

GOTO

Function

Format

Fromat 1: GOTO linename Format 3: GO linename

Format 2: GOTO LINE linename Format 4: GO TO linename

Format 5: GO TO LINE linename

Purpose

Branches to the line labeled linename.

Remarks

The linename is any line label created with the LINE statement. Must be in the same program. (See LINE.) Note: Do not use GOTO in FOR..NEXT, WHILE, or REPEAT..UNTIL loops. The controller gives an error if you do.

Example 1

In the following looping program the GOTO statement with IF..THEN controls the heating and cooling processes: Program File Line Beginning IF Temp is Less Than 68 THEN GOTO Heating IF Temp is Greater Than 76 THEN GOTO Cooling Line Heating Turn On Heater1 GOTO Beginning Line Cooling Turn On Cool1 GOTO Beginning Both "HEATING" and "COOLING" are line labels. When the temperature changes, GOTO sends control to the appropriate line. The controller then executes instructions in the labeled line. Notice that the GOTOs have been strategically placed so the controller executes some statements and skips others.

7-144

Andover Controls Corporation

GOTO, continued

Example 2

You can include the word LINE in front of the line name, as follows: Program File LINE 1 Start Fan1 GOTO LINE 2 LINE 2 IF Fan1.Status is on THEN GOTO LINE Shutdown LINE Shutdown IF Zone1 Temperature is less than 60 THEN Stop Fan1 GOTO LINE 1 Endif

Example 3

You can leave out TO and type only GO: Program File Line Beginning IF Temp is less than 68 THEN GO Heating IF Temp is greater than 76 THEN GO Cooling Line Heating Turn On Heater1 GO Beginning Line Cooling Turn On Cool1 GO Beginning

Example 4

You can separate GO and TO as follows: Program File Line Beginning IF Temp is Less Than 68 THEN GO TO Heating IF Temp is Greater Than 76 THEN GO TO Cooling

Plain English Language Reference

7-145

GOTO, continued

Example 4 continued

Line Heating Turn On Heater1 GO TO Beginning Line Cooling Turn On Cool1 GO TO Beginning

Example 5

You can separate GO and TO, and include LINE as well: Program File Line Beginning IF Temp is Less Than 68 THEN GO TO LINE Heating IF Temp is Greater Than 76 THEN GO TO LINE Cooling Line Heating Turn On Heater1 GO TO LINE Beginning Line Cooling Turn On Cool1 GO TO LINE Beginning

Related Keywords

BASEDON..GOTO LINE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7-146

Andover Controls Corporation

Section 5 Keywords H through N

HangUp

Function

Format

Format 1: HangUp (commport) Format 2: HangUp ( ) Format 3: HangUp (commport)

Purpose

Format 1: From a program, using the comm port you indicate, hangs up on the Infinity modem connection. The Infinity modem is on the comm port. Format 2: From a program, hangs up on the Infinity modem connection. Determines the comm port based on the DefaultPort attribute for the program. Format 3: From the Command line on a terminal, hangs up on the Infinity modem connection over the comm port you give.

Remarks

HangUp applies only on a controller with an Infinity modem. The controller may also be connected over a modem to a third-party controller with an ASCII interface, another Andover controller, a terminal, or a printer. Replace commport with the controller port that physically connects to the modem. (Optional in a program but required on the command line.) If, in a program, you do not indicate the comm port, HangUp uses the default port you set at the top of the program or in the File Configuration window. From the command line, you must indicate the comm port. You can use HangUp in a program or on the command line. When you use HangUp from a program, you must use it on a labeled line by itself. After it executes, HangUp automatically moves the program to the next labeled line. The next labeled line should then test for the returned results of HangUp.

Plain English Language Reference

7-147

HangUp, continued

Remarks continued

When you use HangUp from the command line, it returns right away, before the hanging up actually begins. In this case, what HangUp first returns reflects the first response to HangUp rather than the final result. HangUp can return one of the following results: SUCCESS⎯Controller has successfully disconnected from the workstation or other device. FAILURE⎯If the commport is not in the correct mode or the default port is not defined in the program. If the Mode of the port is PPP, Window, or Command, then HangUp does not hang up the phone. Instead, it returns FAILURE and reactivates the program that attempted to hang up. If the Mode of the port is AutoSet or Printer, then HangUp turns off DTR, returns SUCCESS, and reactivates the program that is hanging up. Hanging Up While Dial is in Process If the Mode of the port is Raw, and DIAL is in progress, HangUp responds as follows: • • • • • • • • Attempts to hang up and waits 10 seconds for the hang-up to complete. If CXD is still ON sets DTR to OFF and waits 10 seconds for the modem to reinitialize. Sets DTR to ON. Returns FAILURE. Reactivates the program that used DIAL to connect. Reactivates the program that used HangUp to disconnect. Sets the port to its DefaultMode. If you attempt to use CLOSE on the port while DIAL is active, HangUp ignores it. CLOSE is not accepted.

Hanging Up While Connected to a Remote Device If the Mode of the port is Raw, and DIAL has established a connection with a workstation (from a remote site), HangUp responds as follows: • Does not respond to characters from the port with READ or characters sent to the port with PRINT.

7-148

Andover Controls Corporation

HangUp, continued

Remarks continued

• • • • • • • •

Discards all characters the controller has not yet printed to the port. If READ is occurring, sets the TimedOut attribute of the port to True and reactivates the program that was using READ. Attempts to hang up and waits 10 seconds for the hangup to complete. If CXD is ON then sets DTR to OFF and waits 10 seconds for the modem to reinitialize. Sets DTR to ON. Reactivates the program that used HangUp to disconnect. Sets the port to its DefaultMode. Sets the PrintDone attribute of the port to True when the last PRINT has been completed.

! !

CAUTION If you attempt to use CLOSE instead of hanging up while the port is connected using DIAL, CLOSE is successful, but the phone does not disconnect. If you do not HangUp, the line is still open and you are still paying for the connection Hanging Up While InitModem is in Process If you use HangUp or CLOSE while the InitModem keyword is preparing the modem for communication, the controller ignores these two statements.

Plain English Language Reference

7-149

HangUp, continued

Example 1

Suppose you are on a controller and have written a program to call a device with DIAL. After you have the program call the device successfully, and once you determine the PrintDone attribute of the port is True, you can hang up. To have the program hang up, you use HangUp and give it the name of the port to hang up on: Program File CheckingDone: IF Comm1 PrintDone THEN GOTO CompletingComm CompletingComm: HangUpResult = HangUp (Comm1) CheckingHangUp: IF HangUpResult is not Success THEN Print "Could Not Hang Up Comm Port" On the line immediately after you use HangUp, you must check for the result of hanging up. If it was successful, HangUpResult is equal to SUCCESS; otherwise it is equal to FAILURE.

Example 2

You use HangUp to have a program hang up after it has successfully called a device. If you do not give HangUp the name of the comm port, it automatically assumes you want it to hang up on the DefaultPort you set in the File Configuration window or at the top of the program, as in the following example.

7-150

Andover Controls Corporation

HangUp, continued

Example 2 continued

Program File Preparing: Set Floor1 CallingUp DefaultPort = Comm3 ... CheckingDone: IF Comm1 PrintDone THEN GOTO CompletingComm CompletingComm: HangUpResult = HangUp ( ) CheckingHangup: IF HangUpResult is not Success THEN Print "HangUp of Comm Port Failed" Remember that if you used DIAL to make the call on the comm port and used PRINT to send messages through the port, you should check the PrintDone attribute of the port before hanging up

Example 3

You can hang up on a port from the Command window of a controller as follows: Command Window HangUp (Comm3) From the Command line, you must always name the comm port Before you attempt to hang up from the Command line, you should check the PrintDone attribute of the port from the Command line: Pr Comm3 PrintDone If PrintDone is True, then proceed to hang up.

Plain English Language Reference

7-151

HangUp, continued

Related Keywords

DIAL CLOSE OPEN READ InitModem WRITE

Products Supported

Available only on CX and CMX series controllers.

Modes Available

Command lines and programs.

7-152

Andover Controls Corporation

HOD

System variable

Format

HOD

Purpose

Give the time in a decimal form from 0.0 to 23.99.

Remarks

You cannot change the HOD. The controller automatically updates it.

Example 1

You can use the decimal form of the time to see if the time is past 5:30 a.m. Program File IF HOD is greater than 5.50 THEN . . . .

Example 2

A simple way to calculate the StartTime based on OutsiedAir could use HOD as follows: Program File IF OutsideAir > 70 THEN GOTO CoolStart Set StartTime = 8.00 - (70 - OutsideAir) * RateOfRise IF HOD = StartTime THEN GOTO StartBldg

Related Keywords

HOUR SECOND

MINUTE TOD

Alias

HOUROFDAY

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-153

HOUR

System variable

Format

HOUR

Purpose

Gives the current hour, from 0 to 23.

Remarks

If the time is 5:23:02, the hour is 5. Although the system automatically updates HOUR, you can reset it for daylight savings time or a change in time zone. You reset HOUR using the SET statement.

Example

To take action every day at 5:00 a.m., you would check the hour with the following statement: Program File IF HOUR is Equal to 5 THEN GOTO StartUp

Related Keywords

HOD MINUTE SECOND TOD

Alias

HR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-154

Andover Controls Corporation

IF..THEN..ELSE

Statement

Format

Format 1: IF expression THEN statement Format 2: IF expressionTHEN statement statement statement . . ENDIF Format 3: IF number THEN statement ELSE statement Format 4: IF expression THEN statement statement statement . . ELSE statement statement statement . . ENDIF

Format Rules

Here are some general rules for all formats: • • • • • IF and THEN must always be on the same physical line. THEN can be followed by one statement on the same physical line or multiple statements on the physical lines that follow it. If a multi-line statement, ELSE must always be on a physical line by itself (Format 4). ELSE can be followed by one statement on the same physical line or multiple statements on the physical lines that follow it (Format 4). ENDIF is required to close an IF..THEN block when multiple statements occur after THEN or when one or more statements occur after ELSE.

Plain English Language Reference

7-155

IF..THEN..ELSE, continued

Format Rules continued

When you use an IF statement after THEN, it must be nested under THEN and end with ENDIF (see "If Statement after Then" example).

! !

CAUTION To use WHILE, FOR..NEXT, REPEAT..UNTIL or similar looping statements with IF..THEN..ELSE, you must use Format 2 or 4.

Purpose

Carries out a given statement or series of statements if the expression is true. May also carry out a given statement or series of statements if the given expression is false.

Remarks

Replace expressionr with any number or expression. The expression can be a TRUE or FALSE comparison. Replace statement with any complete instruction that tells the program what to do next or what action to take.

Actions

For all formats, the following action takes place: • • If the expression is TRUE, the controller carries out the statement or statements following THEN. If the expression is FALSE, the controller skips those statements after THEN and does either of these: ⎯ Carries out the statements after ELSE (if ELSE is used). ⎯ Moves on to the next statement after the IF..THEN block. Whether the number is TRUE or FALSE, when the IF..THEN statement is complete, program flow goes to the statement following the IF..THEN statement unless it is directed to another line using GOTO, Break or Continue. If you have multiple statements after THEN, they must occur on consecutive (physical) lines, and the end of the statement must be marked with ENDIF.

7-156

Andover Controls Corporation

IF..THEN..ELSE, continued

Example of Format 1

To take a single action if the expression is true, you use Format 1, the singleline IF..THEN statement: Program File IF TOD > = 1200 THEN GOTO Noon If the time of day is greater than 12:00 noon, then program flow moves to the NOON line. Otherwise, the program continues with the next statement. Note: If you put THEN on a separate physical line from IF, a syntax error will occur.

Example of Format 2

To take several actions if the expression is true, and take no action if it is false, you use format 2: Program File IF Wkd = Mon and TOD > 800 and TOD < 1600 THEN Run the HeaterProg Run the FanCheckProg Stop the PumpProg ENDIF If the expression is false, the controller ignores the statements following THEN and moves to the statement after ENDIF.

Example of Format 3

To take a single action if an expression is true and another single action if it is false, you use Format 3: Program File IF TOD > 800 & TOD < 1700 THEN Run DayPrg ELSE Run NiteProg Notice that IF, THEN, AND ELSE must all be on one line in this format.

Plain English Language Reference

7-157

IF..THEN..ELSE, continued

Example of Format 4

To take several actions if the expression is true or take several others if it is false, you use Format 4: Program File IF Temp < 72 AND Pump.Stat is OFF THEN Turn ON the Fan Close the Damper ELSE Turn OFF the Fan Open the Damper ENDIF ELSE stands on a line by itself in this format and the end of the IF.. THEN..ELSE statement must be marked by ENDIF.

Example of Nested IFs

IF statements may be included (nested) within other IF statements. Program File IF the Wkd is Either Saturday OR Sunday THEN Set Occupancy to Off Stop the DailyProgram IF the Temp is Greater Than 70 THEN Turn On the Fan Open the Damper ELSE Turn OFF the Fan Open the Damper ENDIF ELSE Set Occupancy to On Start the DailyProgram ENDIF

7-158

Andover Controls Corporation

IF..THEN..ELSE, continued

Example of Nested Ifs continued

Notice that each IF ends with an ENDIF. The inner (indented) ENDIF goes with the inner IF and ELSE, the outer ENDIF with the outer IF and ELSE. The ELSE and ENDIF that belong to the indented IF are aligned under that IF. Notice that the last IF ends first.

Example of an IF Statement after THEN

Take a look at the following statement with an IF after THEN: Program File The ELSE goes with this IF IF the Wkd is Sat THEN IF the Hour is 1 THEN GOTO 1 ELSE GOTO 2 Which IF does the ELSE belong to? In this case the ELSE belongs to the IF the arrow points to. Why? Because it belongs to the closest previous IF on the same physical line. An IF..THEN statement that starts right after THEN is always a selfcontained statement that ends on that physical line. To make the ELSE belong to the first IF, you must form a nested IF arrangement, as follows: Program File The ELSE goes with this IF IF the Wkd is Sat THEN IF the Hour is 1 THEN GOTO 1 ENDIF ELSE GOTO 2 ENDIF In this nested IF statement, the ELSE belongs with the first IF, the one the arrow points to.

Plain English Language Reference

7-159

IF..THEN..ELSE, continued

Example of a Nonzero Value number

Program File IF 10 THEN Start Burner Here, since 10 is a nonzero value it is interpreted as TRUE and will cause the burner to fire up. CAUTION Be careful when programming with IF..THEN..ELSE statements if the number is any nonzero value. When this occurs, the number is interpreted as TRUE and the THEN block is executed.

! !

Related Keywords

AND IS. . . OR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-160

Andover Controls Corporation

INFINET#COUNT

System variable

Format

INFINET#COUNT

Purpose

Gives the number of Infinet controllers on-line on COMM1 or COMM2 of the CX series controller you are connected to. Or gives the number of Infinet controllers on-line on the single Infinet on the CMX 9924 series controller you are working on.

Remarks

The pound sign (#) can be either 1 (for COMM1 on a CMX 9924 series controller), or 2 for COMM2. You cannot change the value of these system variables; the control system software updates them automatically. You may give the path to another CX series controller to find the total Infinet controllers on one of its comm ports.

Example 1

After you have pressed the LEARN button for an Infinet on COMM1, you can print the value of INFINET1COUNT on the command line as follows: Command Line Print INFINET1COUNT

Example 2 To find out how many Infinet controllers are online on COMM2 of the FLOOR6 99xx controller, you can print the value of INFINET2COUNT on the command line as follows: Command Line Print Floor6 INFINET2COUNT

Plain English Language Reference

7-161

INFINET#COUNT, continued

Products Supported

CX series controllers and CMX 9924 controller.

Related Keywords

SELECT..CASE

Modes Available

Command lines and programs.

7-162

Andover Controls Corporation

InitModem

Function

Format

Format 1: InitModem (commport) Format 2: InitModem ( ) Format 3: InitModem (commport)

Purpose

Format 1: From a program, initializes the Infinity modem so it can connect from a controller (often at a remote site) to another device, usually a workstation. Format 2: From a program, initializes the Infinity modem so it can connect from a controller (often on a remote network) to another device, usually a workstation, using a default commport. Format 3: From the Command line on a terminal, initializes the Infinity modem so it can connect from a controller (often on a remote network) to another device, usually a workstation.

Remarks Before you can dial a call over a modem through a comm port, the modem must be correctly set up. To set the modem up correctly is to initialize it. To correctly initialize the port every time, use InitModem rather than setting the comm port attributes for the modem. InitModem applies only on a controller with an Infinity modem. The controller may also connect over a modem to a third-party controller with an ASCII interface, another Andover controller, a terminal, or a printer. Replace commport with a Controller port that physically connects to the modem. (Optional in a program.) The DefaultMode and Mode attributes of the port must be set to AutoSet or Printer. If, in a program, you do not indicate the comm port, InitModem uses the default port you set at the top of the program or in the File Configuration window. From the command line, you must indicate the comm port. If the port is in Printer mode when InitModem tries to initialize it, all characters waiting to print are discarded.

Plain English Language Reference

7-163

InitModem, continued

Remarks continued

InitModem automatically sets the following attributes of the port:
Attribute
TrackCXD Baud Parity StopBits DataLength FlowControl DTR

Setting
True Equal to the DefaultBaud attribute of the port. None StopBit1 DataBits8 CtsRts On

You can use InitModem in a program or on the Command line. When you use InitModem from a program, you must use it on a labeled line by itself. After it executes, InitModem automatically moves the program to the next labeled line. The next labeled line should then test for the returned results of InitModem.

! !

CAUTION Be careful not to use IinitModem to initialize Comm3 of a controller if you want to keep that port set up for a terminal since Comm3 does not automatically revert to the terminal settings if the the controller resets. To revert Comm3 to its original settings after initializing it, you must manually set the FlowControl attribute of Tffsasfff Comm3 to NoFlowControl either before or after you reset the controller. If you do not change FlowControl, Comm3 remains set at CtsRts. When you use InitModem, it returns right away, before the initialization is actually complete. For this reason, you should wait up to 10 seconds before checking for the result of InitModem (or before taking the next action if you used it from the Command line). While initializing the port, InitModem momentarily puts the port in Raw mode and then returns it to its DefaultPort mode. You cannot use PRINT or READ after InitModem. Instead, you must wait until the comm port returns to its original DefaultMode setting and then use DIAL or UpDate.

7-164

Andover Controls Corporation

InitModem, continued

Remarks continued

You wait the 10 seconds before you check the result of InitModem to be sure your program waits for the transition from Raw to the AutoSet or Printer. Or you could, instead, check to be sure that the Mode attribute of the port is AutoSet or Printer rather than Raw.

! !

CAUTION While Raw mode is temporarily in effect, you cannot use READ to receive data from the port or PRINT to send data to the port. If you do use them, READ and PRINT both return failures. InitModem can return one of the following results: • • Success when the modem has been initialized successfully. Failure when one of the following situations exists: Comport is not in the correct mode. Default port is not defined. Modem initialization failed.

The modem AT commands that InitModem executes for you are listed below.
Command
AT&F ATE ATV AT&C1 AT&D3 AT&S1 ATS0=1 AT\N3 AT\A3 AT%E1 AT%C1 ATX3 AT&W

Resulting Action
Sets all modem setting to factory defaults. Turns off screen display of commands and responses. Enables short-form result codes. Sets CXD (DCD) to ON while carrier is present; to OFF if it is not. If DTR drops (becomes OFF), hang up the phone and reset the modem. Activates DSR when connection has been established. Sets the modem to answer automatically after one ring. Sets autoreliable mode to ON, turning on MNP error correction protocols. Sets the maximum block size in MNP to 256. Monitors line quality and automatically falls back/forward in error correcting mode. Turns on the modem's MNP5 data compression/error correction protocol. Monitors busy signals. Sends only OK, Connect, Connect XXXX, Ring, No Carrier, Error, No Dialtone, No Answer Stores the current modem setup in memory.

Plain English Language Reference

7-165

InitModem, continued

Example 1

Before dialing a call over the modem, to correctly initialize the port, you use the InitModem keyword. Because the actual initialization process may takes a few seconds, you should wait for a few seconds before checking the result. In this example, the line after InitializeModem waits 10 seconds before going to the CheckModemInit line, where it checks the result of InitModem. Program File Numeric DialDelay, InitResult, DialResult, HangUpResult SettingDelay: DialDelay = 20 GOTO InitializeModem InitializeModem: InitResult = InitModem (Comm3) GOTO WaitForModInit WaitForModInit: IF TS > 10 THEN GOTO CheckModemInit CheckModemInit: IF InitResult = Success THEN GOTO StartingDial ... CheckingDone: IF Comm1 PrintDone THEN GOTO CompletingComm CompletingComm: HangUpResult = HangUp (Comm3) CheckingHangup: IF HangUpResult is not Success THEN Print "Could Not Hang Up Port"

Example 2

If you are using InitModem inside a program, you can have the program automatically initialize the DefaultPort of the program that you set in the File Configuration window or at the top of the program. Just give InitModem without a comm port name, as shown on the next page.

7-166

Andover Controls Corporation

InitModem, continued

Example 2 continued

Program File Numeric DialDelay, InitResult, DialResult, HangUpResult SettingDelay: DialDelay = 20 GOTO InitializeModem InitializeModem: InitResult = InitModem ( ) WaitForModInit: IF TS > 10 THEN GOTO CheckModemInit ...

Example 3

You can use InitModem in the Command window of a controller. When you do, you must include the name of the comm port: Command Window InitModem (Comm3) If the result was successful, the port Mode should switch from Raw to its DefaultMode. You can check to be sure the result is successful by printing the Mode attribute of the port as follows: Command Window Pr Comm3 Mode If it is still in Raw mode, the port is not yet ready to send data.

Related Keywords

DIAL HangUP

Products Supported

Available only on CX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7-167

IOUCommFlt#

System variable

Format

IOUCommFltnumber

Purpose

Gives ON if there is a communication fault (failure) on an input/output unit (IOU) or OFF if there is no communication fault.

Remarks

The number is any number or expression that gives the number of the IOU, up to 16. If number is greater than the highest IOU number, the controller does not recognize the word. You may not put a space between IOUCommFlt and the number (#).

Example

Program File IF Floor1 IOUCommFlt2 = On THEN Print "IOU #2 has failed" ENDIF This statement can be for IOUCommFlt1, IOUCommFlt2, IOUCommFlt3, and so on, up to IOUCommFlt16 if you have that many IOUs.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-168

Andover Controls Corporation

IS…

Operator

Format

Greater-than-expression: number > number number IS GREATER THAN number number IS ABOVE number Greater-than-or-equal-to-expression: number > = number number IS GREATER THAN OR EQUAL TO number Less-than-expression: number < number number IS LESS THAN number number IS BELOW number Less-than-or-equal-to-expression: number <= number number IS LESS THAN OR EQUAL TO number Equal-expression: number = number number IS number number IS EQUAL TO number number EQUALS number Not-equal-expression: number < > number number IS NOT number number IS NOT EQUAL TO number number DOES NOT EQUAL number List-inclusion-expression: number IS IN list number IS range (see range-expression below) number IS EITHER list

Plain English Language Reference

7-169

IS…, continued

Format continued

List-exclusion-expression: number IS NOT IN list number IS NOT range (see range-expression below) number IS NEITHER list Range-expression: number IS BETWEEN lower_number AND higher_number number IS NOT BETWEEN lower_number AND higher_number number IS lower_number THRU higher_number number IS NOT lower_number THRU higher_number

Purpose

Carries out the logical test you specify.

Remarks

Replace number with any number or expression, including a date and time, or name that stands for one. Replace list with two or more numbers (as defined above) with commas between them. Replace range with two numbers (as defined above), each marking one end of a range with THRU between them, or two numbers preceded by BETWEEN with AND between them.

Example 1

To compare two values, you usually place an IS... statement between IF and THEN in an IF..THEN statement, as illustrated in the following examples. Note: Because THAN is optional, in the following pairs of statements, each statement gives the same instructions to the controller.

7-170

Andover Controls Corporation

IS…, continued

Example 1 continued

Program File IF Zone.Temp IS GREATER THAN 70 THEN… IF Zone.Temp IS GREATER 70 THEN… IF Zone.Temp IS ABOVE 70 THEN… IF Zone.Temp IS LESS THAN 70 THEN… IF Zone.Temp IS LESS 70 THEN… IF Zone.Temp IS BELOW 70 THEN…

Example 2

The following the statements are grouped together and give the same instructions to the controller, because TO is optional and EQUALS can stand alone without IS: Program File IF Zone.Temp IS EQUAL TO 70 THEN… IF Zone.Temp IS EQUAL 70 THEN… IF Zone.Temp EQUALS 70 THEN… IF Zone.Temp IS NOT EQUAL TO 70 THEN… IF Zone.Temp DOES NOT EQUAL 70 THEN…

Example 3

With IS IN, IS EITHER, IS NOT IN, or IS NEITHER, the comma in the list means OR. You can also use the word OR before the last item in the list, for example: Program File IF Zone.Status IS IN Occupied, WarmUp THEN… IF Zone.Status IS EITHER Occupied, WarmUp, or Reset THEN… IF Zone.Status IS NOT IN Occupied, WarmUp THEN… IF Zone.Status IS NEITHER Occupied, WarmUp THEN… IF Zone.Status IS NOT 80 Through 81 THEN…

Plain English Language Reference 7-171

IS…, continued

Example 4

With IS BETWEEN and IS NOT BETWEEN, you always use AND. IS BETWEEN with AND is equivalent to IS with THRU. The following statements are equivalent: Program File IF Zone.Temp IS BETWEEN 70 AND 80 THEN… IF Zone.Temp IS 70 THRU 80 THEN… Note: With THRU or BETWEEN, do not put parentheses around the two elements being compared. The following are not allowed: IF Zone.Temp IS (70 THRU 80) THEN… IF Zone.Temp IS BETWEEN (70 THRU 80) THEN… Program File IF Zone.Temp IS NOT BETWEEN 70 AND 80 THEN… IF Zone.Temp IS NOT 70 THRU 80 THEN… IF Zone.Temp IS NOT (RoomTmp - 5) THRU (RoomTmp + 5) IF Zone.Temp IS NOT RoomTmp - 5 THRU RoomTmp + 5 Note: With THRU or BETWEEN, always put the lower number first. The following are not allowed: IF ZONE.TEMP IS 80 THRU 70 THEN... IF ZONE.TEMP IS BETWEEN 80 AND 70 THEN... Note: Both THRU and BETWEEN are always inclusive, so the following are both TRUE if the ZONE.TEMP is equal to 70 or 80: IF ZONE.TEMP IS 70 THRU 80 THEN... IF ZONE.TEMP IS BETWEEN 70 AND 80 THEN...

7-172

Andover Controls Corporation

IS…, continued

Related Keywords

AND IF..THEN..ELSE OR WHILE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference 7-173

LCDPassword

System variable

Format

LCDPassword

Purpose

Contains the password to the keypad of an Infinet controller.

Remarks

Applies only to Infinet controllers with keypads (see "Products Supported"). You may only set the LCDPassword from the System Variable dialog box on a Continuum CyberStation. You must select the Infinet controller from the CyberStation before you can set its password.

Example

To set the password for the keypad of an Infinet controller: • Select the controller from the Continuum Explorer window. • Select the Infinity System Variable folder. • Select the LCDPassword system variable. • Enter the password in the Value text box of the System Variable dialog box. Be sure the password is a number and only three digits, such as 237. • Click on the Apply button and then the OK button.

Products Supported

BACnet series, SCX 900 and 920, i2 series, and LCX 810 controllers (with keypads only).

Modes Available

N/A

7-174

Andover Controls Corporation

LEFT

Function

Format

LEFT (string, integer)

Purpose

Returns a string consisting of the leftmost characters of string with a length specified by integer.

Remarks

Replace string with any text (word or words) or text expression. Replace integer with any integer or integer expression up to the length of the string that tells how many characters you want from the string. If integer is greater than the length of the string then the controller returns the entire string.

Example1

Program File LVAL = LEFT("ABCDEF",2) This statement returns "AB".

Example 2

Suppose that the TEXT variable contains "ROOM808"; the following statement retrieves the word ROOM by carrying out the LEFT function: Program File LVAL = LEFT(TEXT, 4) This statement returns "ROOM".

Alias

FIRST

Products Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference 7-175

LENGTH

Function

Format

LENGTH (string)

Purpose

Returns the number of characters in the string.

Remarks

The string is any text (word or words) or text expression.

Example 1

Program File RESULT = LENGTH ("ABCDE") The LENGTH function returns 5 and the statement sets RESULT to 5.

Example 2

Program File RESULT = LENGTH ("") The LENGTH function returns 0 and the statement sets RESULT to 0.

Alias

LEN

Products Supported

ACX series, BACnet series (except b3885, b3887), CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

7-176

Andover Controls Corporation

LINE

Statement

Format

Format 1: LINE linename Format 2: linename: Format 3: LINE integer Format 4: integer:

Purpose

Labels a particular line in the program so that program control can later branch or move to that line with the GOTO (or the more advanced BASED ON..GOTO) statement.

Remarks

Replace linename with any single character or word that is not a keyword, except: • C (reserved) • E (used for error detection) Note: On CX series and CMX series controllers, and CyberStation you may label a line LINE E and the program automatically goes to that line when an error occurs. (See Example 5.) The line name can contain up to 16 characters, each an alphanumeric, underscore, or period character. You must begin the name with an alphabetic character. In the GOTO statement, the label must be spelled exactly as it is in the LINE statement, only you may interchange upper- and lowercase. Replace integer with a single whole number, except zero (0). LINE 0 is predefined for stopping the program, so you may not label a line LINE 0, but you can use GOTO line 0 to stop a program. Format 2 is the linename followed by a colon (:) on its own line.

Plain English Language Reference 7-177

LINE, continued

Remarks continued

Format 4 is the integer followed by a colon (:) on its own line. In this case, the line has a line number for a name. You can label lines to redirect program flow to any part of the program. For instance, you could return program flow to an earlier line, such as the first line. Or you could send program flow to a later line to branch into a specific set of actions. Note: When you use View Programs in a CX series controller menu system, one column tells you the line each executing file is on. If you use words for line labels, rather than numbers, the View Programs information becomes readily understandable. Labels such as COOLING or HEATING tell you exactly what the controller is doing.

Example 1

In the following example the first linename is “STARTUP,” labeled “LINE STARTUP.” Follow the program flow to see how the line name directs the control of the program. Program File LINE STARTUP IF TEMP > 72 THEN GOTO COOLING IF TEMP < 70 THEN GOTO HEATING LINE HEATING TURN ON THE HEAT ... GOTO STARTUP LINE COOLING TURN ON THE BLOWER ... GOTO STARTUP

7-178

Andover Controls Corporation

LINE, continued

Example 2

This example is the same as the last, only each linename is labeled with the name followed by a colon: Program File STARTUP: IF TEMP > 72 THEN GOTO COOLING IF TEMP < 70 THEN GOTO HEATING HEATING: TURN ON THE HEAT ... GOTO STARTUP COOLING: TURN ON THE BLOWER ... GOTO STARTUP

Example 3

This example shows how to use an integer (lines 1 and 2) as a line label: Program File LINE 1 START FAN1 GOTO 2 LINE 2 IF FAN1.STATUS IS ON THEN GOTO SHUTDOWN LINE SHUTDOWN IF ZONE1 TEMPERATURE IS LESS THAN 60 THEN STOP FAN1 GOTO 1 ENDIF

Plain English Language Reference 7-179

LINE, continued

Example 4

This example shows an integer with a colon as a line label: Program File 1: START FAN1 GOTO 2 2: IF FAN1.STATUS IS ON THEN GOTO 3 3: IF ZONE1 TEMPERATURE IS LESS THAN 60 THEN STOP FAN1 GOTO 1 ENDIF

Example 5

This example shows a program that has a line labeled E. The program automatically goes to line E when an error occurs. If you do not have a line E, the software automatically disables the program. You might want the program to go to a special line when an error occurs to take such actions as the following: • Closing an open comm port (see the OPEN keyword) • Closing an open file (see the OpenFile keyword) The following program goes to line E and closes the comm port when an error occurs. Program File Numeric Result Line OpenPort3 Result = OPEN (Comm3) Line TestingOpen If Result = SUCCESS Then GOTO PrintMenus

7-180

Andover Controls Corporation

LINE, continued

Example 5 continued

Line PrintMenus Run MenuDisplay . . . If Comm3 PrintDone = TRUE Then Goto ClosePort3 Line ClosePort3 Result = CLOSE (Comm3) Line TestingClose If Result = SUCCESS Then STOP Line E Result = CLOSE (Comm3) Print "Emergency Exit ⎯ MenuProgram failed." If you have a line E, when an error occurs, line E appears in the file status information. Remember that line E is available only on CyberStation, and CX series and CMX series controllers.

Related Keywords

BASEDON..GOTO GOTO (can also use LINE with GOTO) ROTATE RUN

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference 7-181

LINEPOINT

Function

Format

LINEPOINT (horizontal, vertical)

Purpose

Places a dot (vertex) on the DCX 250 Display Unit screen at the horizontal and vertical dots you indicate. This dot is where a long graphic line should bend or a polygon should begin a new side. The dots are called “line points.” The line points do not actually appear on the screen, but form the corners when lines or polygons print. Returns SUCCESS or FAILURE.

Remarks

All LINEPOINT statements for the same line or polygon must always be between a BEGINPOLYLINE statement and an ENDPOLYLINE statement. You can have up to 100 line points in a single graphic line (polyline) or polygon. You cannot begin a new polyline with BEGINPOLYLINE between LINEPOINT statements. You may draw only one polyline at a time. Replace horizontal with the number of dots (line points) from the left of the screen that the DCX 250 Display Unit should position the dot horizontally. Can be an integer from 1 to 320, or a name or expression that gives one. (See Appendix D for a description of the 250 screen layout.) Replace vertical with the number of dots (line points) from the bottom of the screen that the DCX 250 Display Unit should position the dot vertically. Can be an integer from 1 to 200, or a name or expression that gives one. (See Appendix D for a description of the 250 screen layout.) Horizontal and vertical positions set the location of the line point. You do not need parentheses if LINEPOINT is at the beginning of a statement.

Example 1

You can create a graph using LINEPOINT (see Figure 7-13) by giving the dots (line points) you want to graph in a program. First, you must have a SETDISPLAY statement that sets the display to NOFILL. NOFILL always gives a graphic line rather than a polygon.

7-182

Andover Controls Corporation

Example 1 continued

LINEPOINT, continued

Program File SETDISPLAY (NOFILL) BEGINPOLYLINE LINEPOINT 20, 30 LINEPOINT 60, 80 LINEPOINT 90, 50 LINEPOINT 150, 90 ENDPOLYLINE

00 0 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 000000000000000000000000000000000000000000000000000000 0000 00 0000 00 0000 00 00 0 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN

The program looks like this:

Finally, you enter the ENDPOLYLINE statement.

Third, you enter one LINEPOINT statement for each line point.

Second, you must have a BEGINPOLYLINE statement.

Figure 7-13. Graph drawn with LINEPOINT.

Plain English Language Reference 7-183

LINEPOINT, continued

Example 2

You can create a polygon (see Figure 7-14) using LINEPOINT by giving the dots (line position) at the corners of the polygon. First, you must have a SETDISPLAY statement that sets the display to FILL. FILL gives a polygon rather than a graphic line. Second, you must have a BEGINPOLYLINE statement. Third, you enter one LINEPOINT statement for each line point. Finally, you enter the ENDPOLYLINE statement. Program File SETDISPLAY (FILL) BEGINPOLYLINE LINEPOINT 20, 30 LINEPOINT 60, 80 LINEPOINT 90, 50 LINEPOINT 20,30 ENDPOLYLINE

7-184

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN Figure 7-14. Polygon drawn with LINEPOINT.

LINEPOINT, continued

Example 3

You can use an array of values to create a graph with LINEPOINT. First you decide how far apart you want the values horizontally for easy viewing. Then make each array element a vertical value. For instance, to graph temperatures, you can use an array that stores the temperatures for the vertical (vertical) values. To space the values 20 dots apart horizontally, you can multiply the index variable (1, 2, 3, 4, and 5) times 20 for the horizontal values, so the values are placed at 20, 40, 60, 80, and 100 dots across the screen. The program looks like this: Program File SETDISPLAY (NOFILL) BEGINPOLYLINE FOR INDEX = 1 to 5 LINEPOINT INDEX *20, OUTSIDEAIR[INDEX] NEXT INDEX ENDPOLYLINE You enter the expression INDEX * 20 for the horizontal value, since the controller understands an expression that gives a number just as it does an actual number. Suppose these are the first five array values: OUTSIDEAIR[1] = 45 OUTSIDEAIR[2] = 60 OUTSIDEAIR[3] = 52 OUTSIDEAIR[4] = 48 OUTSIDEAIR[5] = 30 The resulting line points are as follows: 20, 45 40, 60 60, 52 80, 48 100, 30 The graph appears on the 250 screen as shown on Figure 7-15.

Plain English Language Reference 7-185

LINEPOINT, continued

Example 3 continued

Figure 7-15. Graph drawn with LINEPOINT using and array of values.

To magnify the differences between the values, and to center the graph vertically, you can multiply the temperature values by 2, changing the program as follows: Program File SETDISPLAY (NOFILL) BEGINPOLYLINE FOR INDEX = 1 to 5 LINEPOINT INDEX *20, OUTSIDEAIR[INDEX] *2 NEXT INDEX ENDPOLYLINE Now, 45 becomes 90, 60 becomes 120, and so on, so the vertical distance between values is greater. The graph also appears more centered on the 250 screen, as shown on Figure 7-16.

7-186

Andover Controls Corporation

00 0 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 000000000000000000000000000 0000 00 0000 00 0000 00 0000 00 00 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN

Example 3 continued

LINEPOINT, continued

You can also label the graph and add scales as described under the LOCATE keyword.

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 00 00 0000 00000000000000 00 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 0 000000000000000 0000000000000000000000000000000000000000000000000000000000 00 0000 0000 00 0000 00 00 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN

Modes Available

Products Supported

Related Keywords

Programs

DCX 250 Display Unit

BEGINPOLYLINE ENDPOLYLINE LOCATE

Figure 7-16. Expanded vertically centered graph drawn with LINEPOINT using and array of values.

Plain English Language Reference 7-187

LN

Function

Format

LN (integer_expression)

Purpose

Returns the natural logarithm of integer_expression.

Remarks

The integer_expression is any integer not equal to zero.

Example

Program File LGVAL = LN(3.2) The natural log of 3.2 is returned and placed in LGVAL.

Products Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-188

Andover Controls Corporation

LOAD

Statement on controller

Format

Format 1: LOAD Format 2: LOAD -o Format 3: LOAD -m Format 4: LOAD -o -m

Purpose

Note: You must use this statement on a computer attached to a comm port on the CX series controller. The computer must be running a terminal emulation program, such as HyperTerminal. For information about how to use LOAD on a CyberStation, see the next LOAD (Statement on workstation) keyword description on page 193. Note: Restricted to users with administration level access. Loads a saved file (called a “dump” file) from a disk into the controller. The dump file is an appropriately formatted ASCII file (see Appendix A) that you usually create using the SAVE command (see the SAVE keyword). You can also create a dump file manually, if you want. Format 1: Does not erase any points, files, or other items (objects) already on the controller, but loads information alongside them. Format 2: Updates any existing points or creates points, files, or other items on the controller using the information from the dump file. The “o” stands for “overwrite.” Overwriting is similar to recording over information on a tape recorder. Format 3: While loading, sends messages about any errors that occur to a Messages window. The "m" stands for "message". Format 4: While loading, erases any points, files, or other items on the controller and replaces them with information from the dump file and also displays messages about errors that occur. The messages appear in the Messages window.

Plain English Language Reference 7-189

LOAD (controller), continued

Remarks

You must use a communication package with an ANSI terminal emulator such as HyperTerminal in order to send a dump file from a computer on the network to the controller. The dump file must be sent either immediately before or after you enter the LOAD command into the controller's command line window. On a CX series or CMX 220 controller, the LOAD command allows up to 60 seconds to start receiving the dump file. Once you have sent the file from the computer, you return to the talk-through mode on the computer so that you can resume working with the controller. (Refer to Appendix C for information on how to set up an ASCII file to load.)

Example 1

In the following example, you load a dump file onto a controller so that it adds to the items on the controller, but does not replace items already present: Command Line window on controller LOAD On a terminal attached to a controller, within 60 seconds you type a command to send the file from the communications package on the computer. The command is determined by the communications package used. The following is an upload command from HyperTerminal: Host Computer running HyperTerminal Upload C: addpnts

7-190

Andover Controls Corporation

LOAD (controller), continued

Example 2

In the following example, you load a dump file from a disk into the controller to replace any points, programs, or other items (objects) on the controller with information from the dump file: Command Line window on controller LOAD –o On the terminal, within 60 seconds you type a command to send the file from the communications package on the computer. The command is determined by the communications package used. The following is an upload command from HyperTerminal: Host Computer Running HyperTerminal upload C: ctrlinfo

Example 3

In the following example, while the dump file or database reloads into the controller, the controller sends messages to the Messages window: Command Line window on controller LOAD –m On the terminal, within 60 seconds you type a command to send the file from the communications package on the computer. The command is determined by the communications package used. The following is an upload command from HyperTerminal: Host Computer Running HyperTerminal upload C: ctrlinfo

Example 4

In the following example, the dump file replaces any points, programs, or other items on the controller with information from the file, and the controller sends messages to the Messages window on the terminal during the reload.

Plain English Language Reference 7-191

LOAD (controller), continued

Example 4 continued

Command Line window on controller LOAD –o –m You may put the options in any order, -m first or -o first. The -m option applies only when loading the controller from a disk via a terminal emulation program. On the terminal, within 60 seconds you type a command to send the file from the communications package on the computer. The command is determined by the communications package used. The following is an upload command from HyperTerminal: Host Computer Running HyperTerminal upload C: database

Related Keywords

SAVE

Alias

RELOAD

Products Supported

CX series controllers and CM X220.

Modes Available

Command lines.

7-192

Andover Controls Corporation

LOAD

Statement on workstation

Format

Format 1: LOAD object_list -o Format 2: LOAD object_list -c -o Format 3: LOAD object_list any_combination_of_options -o Format 4: LOAD filename -u -a -o -x

Purpose

Note: You must use this statement on a workstation. running CyberStation software. The workstation must store the database or be networked to a server that stores the database For information about how to use LOAD on a terminal connected to a CX series or CMX 220 controller, see the previous keyword description on page189. On a CyberStation, you use this command to reload a controller using information you have saved and stored in the database on the server. Format 1: Updates any existing points or creates points, files, or other items on the controller using the information from the dump file. The “o” stands for “overwrite.” Overwriting is similar to recording over information on a tape recorder. Format 2: Loads the information you indicate but first displays a window where you confirm your choice of controllers to reload. The “c” stands for “confirm.” When you use LOAD from the command line, you do not have to use this format; LOAD automatically gives you the confirmation window. If, however, you use LOAD in a program, to have a confirmation window appear, you must use this format. Format 3: Loads the information you indicate using any combination of the “options” from the above formats: –c (confirm). The –o (overwrite) is always required.

Plain English Language Reference 7-193

LOAD (workstation), continued

Purpose continued

Format 4: Loads a filename with either a .CSV (Comma Separated Variable) or .dmp extension. You must choose only one of these three options: • u (update) this is the default • a (append) • o (override) The x option stands for distribute personnel.

Remarks

Restricted to users with a minimum of configure level access. Replace object_list with a list of controllers, Infinet controllers, or other objects that are stored in a controller, since you are loading the information into a controller. The objects should all be of the same class; for instance, all numeric points or all programs. If the list is of a class other than Controller or InfinetCtlr, the class list should contain only objects from the same controller and each name should include the full path. Replace any_combination_of_options with one or more of the options:–c (confirm) and/or –v (validate). The –o (overwrite) is always required. You can use LOAD from the command line or in a program. If you use it in a program, you must use LOAD on a line by itself. You do not have to indicate that the program should then go to the next line, because it automatically proceeds to the next line after completing the load. Once you begin the LOAD, you can see the actions listed in the Distribution Properties window on the CyberStation.

Example 1

To load the information from a workstation database into the FLOOR1 CX series controller and replace any objects (points, programs, and others) already present on that controller, you give the name of the controller and then -o, as follows: Command Line LOAD Floor1 –o

7-194

Andover Controls Corporation

LOAD (workstation), continued

Example 2

In the following example, from a workstation, you load only the information about the TEMP1, TEMP2, and TEMP3 points into the FLOOR1 controller: Command Line LOAD Floor1 Temp1, Floor1 Temp2, Floor1 Temp3 –o Other information on the controller, such as Infinet controllers and other points, remains intact..

Example 3

You can use LOAD from a program as well as from the command line. For instance, to reload a controller that has been reset by some strong, external interference, you may want to load the information from the database when the FREEMEM system variable is greater than a predetermined value: Program File LINE CheckingMem IF FREEMEM > 18,000 THEN GOTO UpdateMem LINE UpdateMem LOAD Floor4 –o LINE EndingLoad GOTO CheckingMem Notice that the program does not require a GOTO after the LOAD statement. The program automatically proceeds to the next line.

Example 4

Normally, when you use LOAD from the command line, the software automatically displays a window where you can confirm the load. To have the software display that window when you use LOAD in a program, you must use -c with the LOAD command: Program File LINE UpdateMems LOAD Floor4, Floor5, Floor6, Floor7 –c –o

Plain English Language Reference 7-195

LOAD (workstation), continued

Example 5

Command Line LOAD Personnelfile.CSV –a Personnel distribution is automatically done with CSV files.

Example 6

: Program File LOAD Floor1.dmp -o

Example 7

: Program File LOAD PersonnelFile.dmp –x -o The –x option instructs the LOAD command to distribute personnel records to the controller(s). Personnel distribution usually takes place when something about their record, such as the card number, has changed.

Related Keywords

SAVE

Alias

RELOAD

Products Supported

CyberStation

Modes Available

Command lines and programs.

7-196

Andover Controls Corporation

LOCATE

Function

Format

LOCATE (left, bottom)

Purpose

Places the next text you print on the DCX 250 Display Unit screen at the location you indicate with left and bottom, indicating the number of dots from the left and from the bottom. The next text you print appears at the location. Returns SUCCESS or FAILURE.

Remarks

To place text accurately, locate it in the position where the lower left corner of the first character should begin. You usually follow each LOCATE statement with a PRINT statement. Replace left with the number of character dots from the left of the screen that the DCX 250 Display Unit should position the text horizontally. Can be an integer from 1 to 320, or a name or expression that gives one. (See Appendix D for a description of the 250 screen layout.) Replace bottom with the number of character dots from the bottom of the screen that the DCX 250 Display Unit should position the text vertically. Can be an integer from 1 to 200, or a name or expression that gives one. (See Appendix D for a description of the 250 screen layout.) You do not need parentheses if LOCATE is at the beginning of a statement.

Example 1

Suppose you want to print text on the screen to label two buttons. First, you draw the buttons with, for instance, DRAWRECTANGLE. Then you locate the text with the LOCATE function and print the button label, as follows: Program File SETDISPLAY (BLUE) DRAWRECTANGLE 50, 100, 100, 120 DRAWRECTANGLE 50, 50, 100, 80 LOCATE 125, 105 PRINT "OPEN VALVE" LOCATE 125, 85 PRINT "CLOSE VALVE"

Plain English Language Reference 7-197

LOCATE, continued

Example 1 continued

Notice that you do not need the parentheses in this case, because LOCATE is at the beginning of a statement. (You can, however, use the parentheses to make the program easier to read.) The labels appear next to the buttons as show in Figure 7-17.

Figure 7-17. Using the LOCATE function to label buttons.

Example 2

Suppose you want to put labels on a graph, such as the one discussed in Example 3 of the LINEPOINT keyword. You use LOCATE to first position the title of the graph, then locate the temperature labels, as follows: Program File SETDISPLAY (BLUE) LOCATE 20, 150 PRINT "Outside Air Temp–Occupied Hours" SETDISPLAY (NOFILL) BEGINPOLYLINE FOR INDEX = 1 to 5 LINEPOINT INDEX *20, OUTSIDEAIR[INDEX] * 2 NEXT INDEX

7-198

Andover Controls Corporation

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000 00 0 000000000000000000000 0000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 00 0 0 0000000000000000000 0000 00 0000000000000000000000000 000000000000000000000000000000000000000000000000 0000 00 00000000000000000000000000000000000000000000 0000 00 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN
OPEN VALVE Lower left corner at 125, 105 CLOSE VALVE Lower left corner at 125, 85

LOCATE, continued

Example 2 continued

ENDPOLYLINE LOCATE 20, 130 PRINT "70" LOCATE 20, 100 PRINT "50" LOCATE 20, 70 PRINT "30" LOCATE 35, 45 PRINT " 8 10 12 14 DRAWLINE 30, 42,110, 42 DRAWLINE 30, 42, 30, 145

16"

The title appears where you position the text as shown in Figure 7-18.

For the temperature scale along the left side, you must place each temperature individually. For the horizontal list of hours, you can use a single LOCATE statement followed by a single PRINT statement.

00 0 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000 00 0000 000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 00000000000000 00000000000000 0 0 0000 00000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000 0000000000000000000000000000000000000000000000000000000000 00 00 0000 000 00 00 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 SCREEN
Outside Air Temp–Occupied Hours 70 50 30 8 10 12 14 16

Figure 7-18. Using the LOCATE function to label a graph.

Plain English Language Reference 7-199

LOCATE, continued

Related Keywords

PRINT

Products Supported

DCX 250 Display Unit

Modes Available

Programs

7-200

Andover Controls Corporation

LOG

Function

Format

LOG (integer_expression)

Purpose

Returns the base 10 logarithm of integer_expression.

Remarks

The integer_expression is an integer greater than zero.

Example

Program File RESULT = LOG(10) This statement sets RESULT equal to 1.

Products Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX 250, i2 series (except i2885, i2887), LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference 7-201

MAXIMUM

Function

Format

Format 1: MAXIMUM (numeric_list) Format 2: MAXIMUM (numeric_log) Format 3: MAXIMUM (numeric_array)

Purpose

Format 1: Finds the maximum number in a list of numeric values. Format 2: Finds the maximum number in a numeric log. Format 3: Finds the maximum number in a numeric array.

Remarks

Replace numeric_list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_log with any defined log that contains numbers. Replace numeric_array with any defined array that contains numbers. Items in the list must all be either numeric expressions, numbers, or variables that contains numbers. If any of the items in the list in Format 1 is an array or a log but does not indicate an element number, the controller retrieves the current value of the point and treats it like any other single item in the list.

Example 1

The MAXIMUM function finds the maximum number in a list of variables as follows: Program File TOPNUMBER = MAXIMUM (ZONE1, ZONE2, ZONE4) The TOPNUMBER variable is assigned the maximum value found.

7-202

Andover Controls Corporation

MAXIMUM, continued

Example 2

You have a log called AV.TEMP that holds the average temperature for each of the last five days. You can use the MAXIMUM function to find the maximum temperature: Program File WKLYMAX = MAXIMUM (AV.TEMP) If AV.TEMP contains 110, 114, 112, 108, 109, MAXIMUM returns 114 and the program statement sets WKLYMAX to 114.

Example 3

You can find the maximum number of kilowatts in the array of variables as follows: Program File TOP = MAXIMUM (KW)

Example 4

You find the highest of several temperatures, including the current value of TEMPLOG, as follows: Program File HOURLYAVG = MAXIMUM (TMP801, TMP802, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Alias

MAX

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 203

MAXITEM

Function

Format

Format 1: MAXITEM (numeric_list) Format 2: MAXITEM (numeric_log) Format 3: MAXITEM (numeric_array)

Purpose

Format 1: Finds the position (in a list) of the largest number. For instance, returns 1 if the largest number is the first one in the list. Format 2: Finds the index position of the largest number in the log. Format 3: Finds the index position of the largest number in the array.

Remarks

Replace numeric_list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_log with any defined log that contains numbers. Replace numeric_array with any defined array that contains numbers. If any of the items in the list in Format 1 is an array or a log, the controller retrieves the first item from the array or log and treats it like any other single item in the list.

Example 1

To find the position of the largest number in a series of numbers, you enter the series in the parentheses: Program File TEMP1 = 60 TEMP2 = 65 TEMP 3 = 70 TEMP 4 = 67 MAXITEM (TEMP1, TEMP2, TEMP3, TEMP4) The MAXITEM statement returns 3, because the third item in the list contains the largest number.

7-204

Andover Controls Corporation

MAXITEM, continued

Example 2

To find the index position of the largest number in a log, you give the log name in parentheses: Program File MAXITEM (TEMP)

Example 3

To find the index position of the largest number in an array, you give the array name in parentheses: Program File MAXITEM (KW)

Example 4

You find the position of the highest of several temperatures in a list, including the current value of TEMPLOG, as follows: Program File HOURLYAVG = MAXITEM (TMP801, TMP802, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 205

MessageWindow

Constant

Format

MESSAGEWINDOW

Purpose

Refers to the message window on a CyberStation.

Remarks

To have PRINT statement text appear in the message window of a CyberStation, use MESSAGEWINDOW in a statement. All PRINT statements automatically send text to the message window unless you change the default port of a program to either a printer or the Status line (see the StatusLine keyword).

Example

If you have assigned an object other than the MESSAGEWINDOW as the default port of your program, you can still send a message to the message window using MESSAGEWINDOW in a PRINT statement: Program File PRINT "Cannot open the file" TO THE MESSAGEWINDOW

Related Keywords

STATUSLINE

Products Supported

CyberStation

Modes Available

Command lines and programs.

7-206

Andover Controls Corporation

MicroPower

System variable

Format

MicroPower

Purpose

A predefined variable that you set to OFF to turn off battery power to the ACX 781 controller. You turn off the battery power after AC power fails, so that you preserve the life of the battery and extend the length of time the controller can retain memory on battery backup.

Remarks

For advanced users only. Most often used in programs that respond to loss of AC power. When you set MicroPower to OFF and AC power is not present, you shut off power to the ACX 781 controller. Leave MicroPower set to ON while AC power is up. If AC power has not failed, setting MicroPower to OFF has no affect. Instead of turning off the CPU, it resets itself back to ON at the end of the scan after it has determined that AC power is present and a shutdown has not occurred. After AC power goes down the battery power takes over. Setting MicroPower to OFF turns off battery power to the CPU at the end of the scan that was in process when the AC power failed. As a result, the controller does not operate at all until AC power returns. When AC power returns to normal, the ACX 781 controller begins the scan at the first program in the firing order list and all programs continue on the line that they were on before you turned off the battery power to the CPU. To retain memory for the longest possible time, you should turn off MicroPower as soon as possible after PowerFail becomes ON.

Plain English Language Reference

7- 207

MicroPower, continued

Example

When the AC power fails on the ACX 781, the PowerFail system variable becomes ON. You can have PowerFail trigger the following looping program to turn off the 781 CPU if the power remains off for 2 minutes: Program File Line WaitForFail IF PowerFail Is On THEN Goto TimePowerDown Else Stop Endif Line TimePowerDown IF TM > 2 THEN GOTO TurnOffCPU Line TurnOffCPU IF PowerFail Is On THEN Set MicroPower To Off Else Stop Endif Notice that since the PowerFail variable triggers the program whenever the system variable changes, you must test to be sure that PowerFail is ON, not OFF, before setting MicroPower to OFF.

Products Supported

ACX 781 controller.

Modes Available

Command lines and programs.

7-208

Andover Controls Corporation

MID

Function

Format

MID (string, offset, number)

Purpose

Returns a string number characters long extracted from string starting at offset.

Remarks

Replace string with any text (word or words) or text expression. Replace offsett with the number (or a variable that contains the number) of the position where you want the controller to start extracting the string of characters. If offset is greater than the length of the string expression, the MID returns the empty string, "". Replace number with any number or expression. Tells how many characters you want extracted from the text string.

Example 1

Program File MIDSTR = MID("ABCDE", 2, 3) MID returns "BCD" and the statement sets MIDSTR to "BCD".

Example 2

Program File PARTSTR = MID("ABCDE", 9, 2) Since the offset (9) is greater than string length, the statement returns an empty string ("").

Products Supported

BACnet series (except b3885, b3887), CX series, CMX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 209

MINIMUM

Function

Format

Format 1: MINIMUM (numeric_list) Format 2: MINIMUM (numeric_log) Format 3: MINIMUM (numeric_array)

Purpose

Format 1: Finds the minimum number in a list of numeric values. Format 2: Finds the minimum number in a numeric log. Format 3: Finds the minimum number in a numeric array.

Remarks

Replace numeric_list with one or more numbers or names that stand for numbers. Replace numeric_log with any defined log that contains numbers. Replace numeric_array with any defined array that contains numbers. Items in the list must all be either numbers, numeric expressions, or variables that contains numbers. If any of the items in the list in Format 1 is an array or a log but does not indicate an element number, the controller retrieves the current value of the point and treats it like any other single item in the list.

Example 1

The MINIMUM function finds the minimum number in the following list of variables: Program File BOTNUMBER = MINIMUM (ZONE1, ZONE2, ZONE3, ZONE4) The BOTNUMBER variable is assigned the minimum value found.

7-210

Andover Controls Corporation

MINIMUM, continued

Example 2

Suppose you have a log or array called AV.TEMP that holds the average temperature for each of the last five days. You can use the MINIMUM function to find the minimum temperature: Program File WKLYMIN = MINIMUM (AV.TEMP) If AV.TEMP contains 110, 114, 112, 108, 109, MINIMUM returns 108 and the program statement sets WKLYMIN to 108.

Example 3

You can find the minimum number of kilowatts in the array of variables as follows: Program File BOTTOM = MINIMUM (KW)

Example 4

You find the minimum of several temperatures, including the current value of TEMPLOG, as follows: Program File HOURLYAVG = MINIMUM (TMP801, TMP802, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 211

MINITEM

Function

Format

Format 1: MINITEM (numeric_list) Format 1: MINITEM (numeric_log) Format 1: MINITEM (numeric_array)

Purpose

Format 1: Finds the position (in a list) of the smallest number. For instance, returns 1 if the smallest number is the first one in the list. Format 2: Finds the index position of the smallest number in the log. Format 3: Finds the index position of the smallest number in the array.

Remarks

Replace numberic_list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_log with any defined log that contains numbers. Replace numeric_array with any defined array that contains numbers. If any of the items in the list in Format 1 is an array or a log, the controller retrieves the first item from the array or log and treats it like any other single item in the list.

Example 1

To find the position of the smallest number in a series of numbers, you enter the series in the parentheses: Program File TEMP1 = 60 TEMP2 = 65 TEMP 3 = 70 TEMP 4 = 67 MINITEM (TEMP1, TEMP2, TEMP3, TEMP4) The MINITEM statement returns 1, because the first item in the list contains the smallest number.

7-212

Andover Controls Corporation

MINITEM, continued

Example 2

To find the index position of the smallest number in a log, you give the log name in parentheses: Program File BOTNUMBER = MINITEM (TEMP)

Example 3

To find the index position of the smallest number in an array, you give the array name in parentheses: Program File BOTNUMBER = MINITEM (KW)

Example 4

You find the position of the lowest of several temperatures in a list, including the current value of TEMPLOG, as follows: Program File HOURLYAVG = MINITEM (TMP801, TMP802, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 213

MINUS

Operator

Format

number MINUS number

Purpose

Subtracts number from number.

Remarks

The number is any number or expression.

Example 1

Program File KWH.PM = KWH.DAY MINUS KWH.AM

Example 2

Program File KWH.PM = KWH.DAY - KWH.AM

Alias

- (minus sign)

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-214

Andover Controls Corporation

MINUTE

System variable

Format

MINUTE

Purpose

Gives the exact minute of the current hour, from 0 to 59.

Remarks

The minute is the minute on the system clock, so if the time is 5:23:02, the minute is 23. You cannot change the MINUTE. The current device (the Infinity controller, the Infinet controller or the CyberStation) automatically updates it.

Example

Suppose you have eight programs to run every hour. To avoid consuming scan time by running all of the programs at once, you could run two programs in each quarter of every hour: Program File IF MINUTE EQUALS 15 THEN RUN THE SYSTEM.CHECK RUN THE POWER.USAGE ENDIF IF MINUTE EQUALS 30 THEN RUN THE TEMP.CHECK RUN THE TEMP.REPT ENDIF IF MINUTE EQUALS 45 THEN RUN THE FAN.CHECK RUN THE DAMPER.CHECK ENDIF IF MINUTE EQUALS 0 THEN RUN THE HEATER.CHECK RUN THE CO.CHECK ENDIF The SYSTEM.CHECK and POWER.USAGE programs now run at 15 minutes after the hour every hour of every day.

Plain English Language Reference

7- 215

MINUTE, continued

Example continued

The TEMP.CHECK and TEMP.REPT programs now run at 30 minutes after the hour every hour of every day, 24 hours a day and 365 days a year. The FAN.CHECK and DAMPER.CHECK programs now run at 45 minutes after the hour every hour of every day, 24 hours a day and 365 days a year. The HEATER.CHECK and CO.CHECK programs now run on the hour every hour of every day, 24 hours a day and 365 days a year.

Related Keywords

HOD HOUR SECOND TOD

Alias

MIN

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-216

Andover Controls Corporation

MOD

Operator

Format

number MOD number

Purpose

Returns the remainder of one number divided by another.

Remarks

Each number must be a number or expression.

Example

Program File EXTRA = 5 MOD 2 The equation divides 5 by 2 and gives a remainder of 1, so EXTRA is set to 1.

Alias

REMAINDER

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 217

ModemPower

System variable (programmable)

Format

ModemPower

Purpose

A predefined variable that you set to OFF to turn off battery power to the modem inside the door of the CX series controller. You turn off the modem when AC power fails. This way you preserve the life of the battery and extend the length of time the controller can operate on battery backup.

Remarks

For advanced users only. Most often used in programs that respond to loss of AC power. Leave MODEMPOWER set to ON while AC power is up. If AC power has not failed, setting MODEMPOWER to OFF has no immediate affect as long as the modem is operating on AC power, not DC. However, once AC power goes down and battery power takes over, MODEMPOWER turns off power to the modem without warning. You can turn the modem on and off with the MODEMPOWER keyword as long as AC power is off.

Example

When the AC power fails, the PowerFail system variable becomes ON. You can have PowerFail trigger the following looping program to turn off the modem if the power remains off for 10 minutes. Program File Line WaitForFail IF PowerFail Is On THEN GOTO TimePowerDown Else Stop Endif Line TimePowerDown IF TM > 10 THEN GOTO TurnOffModem

7-218

Andover Controls Corporation

ModemPower, continued

Example continued

Line TurnOffModem IF PowerFail Is On THEN Turn ModemPower To Off Else Stop Endif Notice that since the PowerFail variable triggers the program whenever the system variable changes, you must test to be sure that PowerFail is ON, not OFF, before setting ModemPower to OFF.

Related Keywords

PowerFail CPUPower DCXPower MicroPower

Products Supported

CX series, and CMX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 219

MONTH

System variable

Format

MONTH

Purpose

Gives you the current month of year, from January to December.

Remarks

You cannot change the MONTH. The system automatically updates it. When printed, the month is spelled out as January, February, and March, and so on through December. You may, however, compare the MONTH to: • The numbers (1 through 12). • The abbreviated three-letter names (first three letters). • The entirely spelled out month All values for MONTH are listed below:
Constant
1 2 3 4 5 6 7 8 9 10 11 12

Short Name
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC

Long Name
January February March April May June July August September October November December

Example 1

You can use the spelled out (long) names for printing or for comparing to an actual month: Program File IF MONTH Is December THEN Print MONTH Output
December

7-220

Andover Controls Corporation

MONTH, continued

Example 2

You can use the short names for comparing the month: Program File IF MONTH Is Either JUN, JUL, AUG, OR SEP THEN….

Example 3

You can use the constants 1 through 12 for comparing the month: Program File IF MONTH Is 2 THEN….

Alias

MTH

Related Keywords

DAYOFMONTH DAYOFYEAR YEAR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 221

MOVE

Statement

Format

Format 1: MOVE output_point_list TO number Format 2: MOVE output_point_list TO number %

Purpose

Set the point or points in output_point_list to number.

Remarks

Replace output_point_list with one or more output point names or variables with commas between them. Top and bottom of scale must be set for each point. Replace number with any number or expression, including a date and time or name that stand for one. MOVE converts engineering units to electrical units to control the output point, using the top and bottom of scale for that point. The percent sign is optional.

Example 1

If Valve2 has engineering units of 0 to 90 degrees, and the corresponding electrical units are 0 to 20 mA, when you move the setting of Valve2 to 45, it sets to 10 mA. To have the engineering units automatically converted to electrical units, you use MOVE as follows: Program File MOVE Valve2 To 45

Example 2

For this valve, assume engineering units of 0 to 1 where 0 is closed and 1 is open and corresponding electrical units of 0 to 20 mA. Moving the setting of Valve2 to 50% gives .5. At .5, the valve is set to the corresponding value of 10 mA. Program File MOVE Valve2 To 50%

7-222

Andover Controls Corporation

MOVE, continued

Related Keywords

SET

Alias

MODULATE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 223

NewAlarmCount

System variable

Format

NewAlarmCount

Purpose

Variable the controller maintains that indicates the number of new alarms on a CX series controller and all of its Infinet controllers since the last time the alarms were sent to the workstation.

Remarks

The controller automatically updates NewAlarmCount and you cannot set it. Even when the NewAlarmCount is disabled, the controller updates it. The number increments (increases by one) each time a new alarm occurs. After the alarms are sent to a workstation, subtracts the number delivered from the NewAlarmCount. If the controller fails to deliver the alarms to the workstation, and the controller has subtracted them from the NewAlarmCount, it adds them to the total once again. NewAlarmCount exists only on CX series and CMX series controllers and counts all alarms that occur on them and on any of its Infinet controllers. The controller also adjusts NewAlarmCount when you take any of the following actions: • Delete the point an alarm is associated with • Delete an alarm (that has been counted) from the workstation • Change a point (via the workstation) so it no longer associates with the alarm NewAlarmCount retains the number of undelivered alarms even when the controller goes off-line or the network is down.

Example 1

You can also use the NewAlarmCount in a program to see how many alarms have not been sent to the workstation and take appropriate action: Program File IF NewAlarmCount > 0 THEN…

7-224

Andover Controls Corporation

NewAlarmCount, continued

Products Supported

CX series, CMX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 225

NOFILL

Constant

Format

NOFILL

Purpose

Sets the graphics on the DCX 250 Display Unit screen to lines rather than filled solids when you use it with SETDISPLAY.

Remarks

The graphics on the 250 screen may be filled (FILL) or not filled (NOFILL).

Example

You set the graphics on the 250 screen to lines, as follows: Program File SetDisplay (NOFILL)

Related Keywords

FILL SETDISPLAY

Products Supported

DCX 250 Display Unit.

Modes Available

Programs

7-226

Andover Controls Corporation

NOT

Operator

Format

NOT number

Purpose

Logically negates or inverts a number or expression, changing 0 (FALSE or OFF) to 1 (TRUE or ON) or vice versa.

Remarks

The number is any number or expression. However, the number is interpreted as zero or nonzero, where zero is OFF or FALSE and nonzero is ON or TRUE. If you prefer, you may use parentheses around the number.

Example

In the statement below, suppose OCCUPIED can be ON or OFF. When OCCUPIED is ON, placing NOT in front of it tests for the opposite condition, OFF. Program File IF NOT OCCUPIED THEN…

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 227

NUMERIC

Statement

Format

NUMERIC namelist [array_size_number]

Purpose

Creates and defines one or more names as local numeric variables. You define the variables inside a program for use only in that particular program. Each variable may be a single variable or an array. You specify an array by including the array_size_number when you define it.

Remarks

Replace namelist with the name of the numeric variable you are defining, or a series of numeric variables separated by commas. Replace array_size_number with a number up to 32,767 that tells the controller how many positions are in the array. You must define all local numeric variables at the top of your program.

Example 1

Suppose that you are averaging the values of ten temperatures. The points that take the outside air temperature have been defined using menus and windows, but you define the variable that contains the average using NUMERIC: Program File NUMERIC Avg.Temp Avg.Temp = Average (Temp1, Temp2, …., Temp10) Print Avg.Temp

Example 2

You can define a series of numeric variables in a single statement: Program File NUMERIC Ave.Oat, Ave.Temp, Fan.Sp

7-228

Andover Controls Corporation

NUMERIC, continued

Example 3

You can define an array of numeric variables in a single statement: Program File NUMERIC Fan.Sp [20]

Example 4

You can define several arrays of numeric variables and several single variables in a single statement: Program File NUMERIC Fan.Sp [20], Pump.Sp, Ahu.Sp [10], Heat.Sp

Related Keywords

DATETIME STRING

Alias

NUMBER

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7- 229

NUMTOSTR

Function

Format

NUMTOSTR( number )

Purpose

Converts a number in a numeric variable or other numeric form to a string variable so it can be used in string operations. Returns the converted string value.

Remarks

The number is any number or expression. Once a number is in a string variable, it can be used in string operations.

Example

The following program translates the number 240 into a string: Program File STRING Trans Trans = NUMTOSTR(240) Print Trans 'prints string 240.

Related Keywords

STRTONUM

Products Supported

BACnet series (except b3885, b3887) , CX series, CMX series, DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Available

Command lines and programs.

7-230

Andover Controls Corporation

Section 6 Keywords O through R

OBJECT

Statement

Format

OBJECT var_namelist

Purpose

Creates and defines one or more local variables that can each hold the name of an item (also called an "object"). An object is any defined item on a controller or workstation. You define the local variables inside a program for use only in that particular program.

Remarks

The local OBJECT variable is somewhat like a numeric, string, or datetime local variable—only it stands for any item (also called an object) in a workstation, network controller or Infinet controller. The local OBJECT variable name can be up to 16 alphabetic and numeric characters, as long as it begins with a letter of the alphabet. You use OBJECT with OPENLIST, GETOBJECT, and CLOSELIST. See these related keywords for extensive examples.

Example 1

You use OBJECT to assign a local OBJECT variable name to a single class of items in a controller: Program File OBJECT VAVPOINT You can later open a series of points with OPENLIST.

Plain English Language Reference

7- 231

OBJECT, continued

Example 2

You use OBJECT to assign local OBJECT variable names to many classes of items in a controller: Program File OBJECT CHILLERPOINT, CHILLERPROG, CHILLERDATA You can later open each list of items with OPENLIST

Example 3

You can set an object variable to any object and then read or set any attributes of that object: Program File OBJECT X X = FLOOR4\TEMP1 PRINT x VALUE Prints the value of TEMP1

Related Keywords

CLOSELIST GETOBJECT OPENLIST

Products Supported

BACnet Series, CMX series, CX series, i2 series controllers, and CyberStation.

Modes Available

Programs

7-232

Andover Controls Corporation

OFF

Constant

Format

OFF

Purpose

Used in expressions to indicate an item is OFF or set to bottom of scale

Remarks

OFF is always numeric, so it can be compared to input, output, and numeric points or variables in a comparison expression.

Example 1

Program File Turn the Lobby_Light OFF

Example 2

Program File IF the Lobby_Light is OFF THEN Turn Off the Heat

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7 - 233

ON

Constant

Format

ON

Purpose

Used in expressions to indicate an item is ON or set to top of scale.

Remarks

ON is always numeric, so it can be compared to input, output, and numeric points or variables in a comparison expression.

Example 1

Program File Turn ON the Lobby_Light

Example 2

Program File IF the Lobby_Light is ON THEN Turn On the Heat

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-234

Andover Controls Corporation

-ON

Constant

Format

-ON

Purpose

Used in expressions to indicate a tristate point is set to -ON.

Remarks

-ON is always numeric, so it can be compared to input, output, and numeric points or variables in a comparison expression.

Example

Program File IF the Flow is greater than Setpoint THEN set the Damper to -ON

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7 - 235

OPEN

Function (comm port)

Format

OPEN (comm_port)

Purpose

Lets you direct information to or from a comm port, rather than automatically sending that information to the terminal screen or Message Window. You can open a port to call on a modem or to receive a call. Returns SUCCESS if the comm port opens without a problem. Returns FAILURE if the comm port does not open. Once OPEN executes, the controller automatically moves to the next labeled line. You never need GOTO after OPEN.

Remarks

The comm_port names the comm port that you wish to use can also be the path to a comm port. You may use OPEN as a function only on comm ports. Verify that the mode of the comm port you open is set to RAW mode. OPEN must always be the last statement on a labeled line or on a line by itself. The line immediately following the OPEN line must test for SUCCESS or FAILURE; otherwise, the control system software considers it an OPEN error. Once you open a comm port with OPEN, after you complete communications on that port, you must close the port with CLOSE.

Example

You can open the connection to a comm port and check to see if it was successful, then either read or write data to the port with a CALL function you create: Program File NUMERIC RESULT LINE OPENING RESULT = OPEN (COMM1) LINE SENDING IF RESULT = SUCCESS THEN ‘ Read up to 80 characters into the variable RCV_STRING READ (COMM1,80,RCV_STRING) ELSE PRINT "OPEN COMMPORT FAILED" TO TERMINAL1 ENDIF

7-236

Andover Controls Corporation

OPEN, continued

Example continued

In the situation shown in this example, you can check to be sure OPEN was successful before performing Commport operations.

Related Keywords

CLOSE PRINT READ

Products Supported

CX series controllers.

Modes Available

Programs

Plain English Language Reference

7 - 237

OpenFile

Function

Format

OpenFile (file, mode, file_variable_name)

Purpose

Opens a text file so that you can retrieve (read) text from it, put text into (write to) it, or both read from it and write into it.

Remarks

Replace an file with the name of any text file. If the file does not already exist, the control system software creates it mode must be either READONLY, WRITEONLY, or READWRITE. READONLY means you can only retrieve (read) text from the file, not put (write) any text into it. WRITEONLY means you can only add (write) text into the file, not retrieve (read) it. READWRITE means you can both retrieve (read) text from the file and put (write) text into the file. file_variable_name must be a control system software FILE variable name you created earlier with FILE to correspond to a text file name. Once you use FILE to create a FILE variable, you can then open a text file to act on under that name with OpenFile. OpenFile returns either SUCCESS or FAILURE.

Example 1

First you create a FILE variable name with FILE. You can then open a text file under that name with OpenFile, as shown in this example. Program File File ZoneData Numeric Chars, OK String 80 Dataline Line Opening IF OpenFile ("c:\text\zone.txt", WRITEONLY, ZoneData) = Failure THEN

7-238

Andover Controls Corporation

OpenFile, continued

Example 1 continued

Print "File Open Failed" GOTO Closing Else GOTO Writing Endif Line Writing . . LINE Closing IF CloseFile (ZoneData) = Failure THEN Print "File Close Failed" The control system software takes the text file name in the string ("c:\text\zone.txt") and assigns it to the ZoneData variable. Notice that because OpenFile returns SUCCESS or FAILURE, you can place it inside an IF..THEN statement. Once you have opened the file and taken action on it, you must close the file with CloseFile using the name you created with FILE.

Example 2

Once you have defined the array of FILE variables, you can open multiple text files. The following example shows opening \zone1.txt, \zone2.txt, and \zone3.txt in a FOR..NEXT loop. The loop uses the index variable (FILENUM) when forming the string for the text file name. If OpenFile fails for any of the files, the control system software breaks out of the loop (using the BREAK keyword) and carries out the rest of the statements in the line. Both breaking out of the loop and successfully completing the loop send the control system software to the next statement. In that statement, if the result of OpenFile is SUCCESS, then the control system software goes to the READING line and does not execute any more statements under OPENING. If the result is FAILURE, the control system software skips the GOTO READING instruction and goes to the next statement, where it prints a message, sets FILESOPEN to the number of files successfully opened (so it knows how many to close), then goes to the CLOSING line.

Plain English Language Reference

7 - 239

OpenFile, continued

Example 2 continued

Program File FILE ZONEDATA [3] NUMERIC OK, FileNum, Index, FilesOpen LINE OPENING FOR FileNum = 1 TO 3 OK=OpenFile ("c:\zone";FileNum;".txt", WriteOnly, ZONEDATA[FileNum]) IF OK = FAILURE THEN BREAK NEXT FileNum IF OK = SUCCESS THEN GOTO READING PRINT "File Open Failed for ZONEDATA";FileNum SET FilesOpen = FileNum – 1 GOTO CLOSING LINE READING SET FilesOpen to FileNum . . LINE CLOSING FOR Index = 1 TO FilesOpen SET OK to CLOSEFILE (ZONEDATA[Index]) IF OK = FAILURE THEN PRINT "File Close Failed for ZONEDATA";Index NEXT Index IF OK = SUCCESS THEN PRINT "File Processing Completed Successfully"

Related Keywords

CLOSEFILE WRITEFILE

FILE FAILURE

POSITIONFILE SUCCESS

READFILE

Products Supported

CyberStation.

Modes Available

Programs

7-240

Andover Controls Corporation

OpenList

Function

Format

OpenList ( class, object_var, controller_or_site )

Purpose

Opens a list of all the objects in the class you give on the controller you indicate. The list is always of the particular class of objects you give.

Remarks

Replace class with the name of the class (type) of objects you want in the list or string variable that contains the name. If you give the actual class, it must be in quotation marks. The class name must be spelled correctly (see list given on the next page). Replace object_var with a local OBJECT variable you defined earlier with the OBJECT statement. The variable cannot stand for an already opened list. Replace controller_or_site with a name or path to a particular controller or workstation on the EnergyNet or Infinet or a local OBJECT variable that stands for one. If you do not give a name or path, the control system software assumes you mean the workstation or controller you are connected to. Or, if you give the Network, Device or Folder class and no controller, the control system software assumes you mean the root level. Returns SUCCESS or FAILURE.

Plain English Language Reference

7 - 241

OpenList, continued

Remarks continued

The classes are each spelled a particualr way and are listed below.
AccessEvent ActivityEvent ACXList AlarmEnrollment AlarmEvent AlarmInfo AnalogInput AnalogOutput Area AreaLink BinaryValue ClassName CommPort ControllerUser DateTime Device DigitalInput DigitalOutput DistributionBatch DistributionObject Door DoorList ElevatorInfo ErrorEvent EventEnrollment EventLogControl EventNotification EventView Filter Folder Function Graphics Group GroupMember ImExportRef InfinityController InfinityDateTime InfinityFunction InfinityInfinetCtlr InfinityInput InfinityNumeric InfinityOutput InfinityProgram InfinityString InfinitySystemVariable IOUModule ListView MultistateInput MultistateOutput MultistateValue Network NetworkDialup Numeric ParamInfo Personnel Program RootClass Schedule SecurityLevel SecurityLink ShortCut String TemplateInfo User

Controller” refers to CX series controllers and the b4920, whereas “InfinityInfinetCtlr” refers to Infinet I and i2 series controllers. Also, be sure that you do not inadvertently pluralize the class you name; for instance “Point" not “Points” and “Group” not “Groups.” For a program in a controller, omit the “Infinity” prefix from the class name. Once you have set the controller or path within the OpenList statement, the control system software stays on the list for that controller or path until you give it another controller or path. Because the control system software remembers the location of the list you last opened, while it is still open, you can give the name of another controller or path under the one you just opened. For example, once you open a CX or b4920 controller path, you can then open an Infinet controller under it by using only the Infinet controller name rather than the path to it. (See Example 5.) To open a list of networks or alarms you can give the corresponding class and not follow it with a path name. The control system software assumes you want the list of objects from under the root of the current workstation.

7-242

Andover Controls Corporation

OpenList, continued

Example 1

After you have defined a local OBJECT variable called VAVPOINT, you can then open the list of outputs with OpenList, as in the following program. Program File OBJECT VAVPOINT NUMERIC OK LINE OPENPOINTS OK = OpenList ("InfinityOutput", VAVPOINT, FLOOR1 ROOM2VAV) IF OK = SUCCESS THEN GOTO GETPOINTS ELSE PRINT "Cannot Open List" STOP ENDIF LINE GETPOINTS IF GetObject (VAVPOINT) IS NOT SUCCESS THEN GOTO~ CLOSEPOINTS IF VAVPOINT STATE IS DISABLED THEN PRINT VAVPOINT~ NAME LINE CLOSEPOINTS OK = CloseList (VAVPOINT) IF OK = FAILURE THEN PRINT "Cannot Close List" STOP Notice that the class (InfinityOutput) is in quotation marks. Once the list is open, the program then gets each point on the FLOOR1 ROOM2VAV controller with GETOBJECT (see GETOBJECT keyword for more detail). Notice that because the program is looping, you use the STOP keyword to prevent it from repeating the actions on the CLOSEPOINTS line.

Example 2

You can print a list of disabled programs on a controller and vary the controller by using a local OBJECT variable to contain the controller name. Once you have defined the OBJECT variable, you can use that variable with OpenList.

Plain English Language Reference

7 - 243

OpenList, continued

Example 2 continued

Program File OBJECT PROG, CXFLOOR NUMERIC OK LINE OPENPROG SET CXFLOOR = FLOOR2 OK = OpenList ("InfinityProgram", PROG, CXFLOOR) IF OK = SUCCESS THEN GOTO GETPROGS ELSE PRINT "Cannot Open List" STOP ENDIF LINE GETPROGS IF GetObject (PROG) IS NOT SUCCESS THEN GOTO~ CLOSEPROG IF PROG STATE IS DISABLED THEN PRINT PROG NAME GOTO GETPROGS LINE CLOSEPROG OK = CloseList (PROG) IF OK = FAILURE THEN PRINT "Cannot Close List" STOP This fallthru program checks the state of each program it retrieves from FLOOR2. If the program is disabled, the control system software prints the program name. When the control system software has finished getting all the programs, you have a list of the disabled programs. The resulting list includes only programs on FLOOR2, not on any other controller. You can also get a list of programs from a workstation by setting the CXFLOOR local OBJECT variable to the name of a workstation. If you do not give a controller or workstation name, the control system software gives the programs from the controller you are connected to or workstation you are operating.

7-244

Andover Controls Corporation

OpenList, continued

Example 3

You can open a list of the Infinet controllers on the CX controller. (In this example, the program is looping.) You do not have to give the name of the controller if it is the one the program is running on. If it is another controller, however, you must give the full path to the controller. Program File OBJECT infController NUMERIC COUNT, OK LINE OPENController OK = OpenList ("InfinityInfinetCtlr", InfController) IF OK = SUCCESS then GOTO GETController ELSE PRINT "Cannot Open List" STOP ENDIF LINE GETController IF GetObject (InfController) IS NOT SUCCESS THEN GOTO~ CLOSEController IF InfController COMMSTATUS IS OFFLINE THEN PRINT InfController NAME COUNT = COUNT + 1 ENDIF LINE CLOSEController OK = CloseList (InfController) IF OK = FAILURE THEN PRINT "Cannot Close List" PR COUNT STOP Notice that the class name for an Infinet controller is “InfinetCtlr,” spelled exactly that way. This program checks the COMMSTATUS of each Infinet controller on the EnergyNet controller. If the controller is off-line, the control system software prints the controller name and adds 1 to the COUNT numeric variable. When the control system software has finished checking all the controllers, you have a list of the Infinet controllers that are off-line and a total of the number of controllers that are off-line.

Plain English Language Reference

7 - 245

OpenList, continued

Example 4

You can retrieve both input and output points by having a string that you can set to either class. In this case, you use an array variable called IOPOINTS with two entries; entry 1 is "Output" class, and entry 2 is "Input" class. You then get the points from first one class, then the other by using the array variable in the OpenList statement: Program File OBJECT CurrentPoint STRING IOPoints[2] NUMERIC Index Starting: IOPoints[1] = "InfinityOutput" IOPoints[2] = "InfinityInput" Index = 1 GOTO OpenPoints OpenPoints: OK = OpenList (IOPoints[Index], CurrentPoint, Building1 Floor1~ Room2) IF OK = SUCCESS THEN GOTO CheckPoints ELSE PRINT "Cannot Open List" STOP ENDIF CheckPoints: IF GetObject (CurrentPoint) IS NOT SUCCESS THEN GOTO~ ClosePoints PR CurrentPoint ClosePoints: OK = CloseList (CurrentPoint) IF OK = SUCCESS THEN Index = Index + 1 ELSE PRINT "Cannot Close List" STOP ENDIF

7-246

Andover Controls Corporation

OpenList, continued

Example 4 continued

IF Index <= 2 THEN GOTO OpenPoints ELSE GOTO Done Done: PRINT "End of Input/Output Point List" STOP Once the program closes the first list, it adds 1 to the value of INDEX. As long as the INDEX value is less than or equal to the number of entries (2), the program goes to OPENPOINTS and opens the list of the class of objects stored in the next entry of the IOPOINTS array. You could have an array with more entries and call it CLASSGRP. By changing the INDEX value you can then open lists of as many classes as you need in the same program.

Example 5

You can retrieve the name of every disabled program on every Infinet controller on every CX controller. You do this by using a local OBJECT variable for the controller called ENETCTLR, another for the Infinet controller called INETCTLR, and another for the program called CURRENTPROG. The way the sample looping program works is similar to how nested IFs work in a fall thru program. The arrows indicate the opening and closing statements “nested” within the program on the next page. The first OpenList statement opens the list of CX controllers, the next the list of Infinet controllers, and the last the programs. (They do not appear indented as nested IFs do.) The CloseList statements appear in the opposite order. Once you have retrieved all the programs, you close the program list; then you close the Infinet controller list, and finally you close the CX controller list. Notice that the first OpenList statement does not give a path. That is because this sample program is on a CX controller, and the current controller is the path to other controllers. It is important to note that if you put the same program on an CyberStation, the program would not give the same results. Why? Because on a CyberStation, it would give all the CX controllers and CyberStations under the current site.

Plain English Language Reference

7 - 247

OpenList, continued

Example 5 continued

If you wanted all controllers and workstations on all sites, you would have to open the site list first. Program File OBJECT EnetCtlr, InetCtlr, CurrentProg NUMERIC Count OpenEnergyNet: IF OpenList("InfinityController", EnetCtlr) = success THEN GOTO GetEnergyNet ELSE Print "Cannot Open EnergyNet List" Stop ENDIF GetEnergyNet: IF GetObject(EnetCtlr) = SUCCESS Then GOTO OpenInfinet GOTO CloseEnergyNet OpenInfinet: IF OpenList("InfinityInfinetCtlr", InetCtlr, EnetCtlr) = success THEN GOTO GetInfinet ELSE Print "Cannot Open Infinet List: ", EnetCtlr NAME GOTO GetEnergyNet ENDIF GetInfinet: IF GetObject(InetCtlr) = SUCCESS THEN GOTO OpenProg ELSE GOTO CloseInfinet ENDIF OpenProg: IFOpenList("InfinityProgram", CurrentProg, InetCtlr) = success~ THEN Count = 0 GOTO CheckProg ELSE Print "Cannot Open Program List: ", EnetCtlr NAME, InetCtlr NAME GOTO GetInfinet ENDIF

7-248

Andover Controls Corporation

OpenList, continued

Example 5 continued

CheckProg: IF GetObject (CurrentProg) IS NOT SUCCESS THEN GOTO~ CloseProg IF CurrentProg State IS DISABLED Then Print EnetCtlr NAME, InetCtlr NAME, CurrentProg NAME Count = Count + 1 ENDIF CloseProg: IF CLOSELIST(CurrentProg) = SUCCESS THEN Print "Total disabled progs in |* |* is |###", EnetCtlr NAME, InetCtlr NAME, Count ELSE Print "Cannot Close Program List" ENDIF GOTO GetInfinet CloseInfinet: IF CLOSELIST(InetCtlr) IS NOT SUCCESS THEN Print "Cannot Close Infinet List: ", InetCtlr NAME ENDIF GOTO GetEnergyNet CloseEnergyNet: IF CLOSELIST(EnetCtlr) IS NOT SUCCESS THEN Print "Cannot Close EnergyNet List" ENDIF STOP The following is a description of exactly what the program does. A flow chart for the program is shown on Figure 8-19. The control system software opens the list of CX (Infinity) controllers on EnergyNet, then gets the first CX (EnetCtlr) controller. If the GetObject successfully retrieves the CX controller, the control system software opens the list of Infinet controllers on that CX controller. It then gets the first Infinet controller.

Plain English Language Reference

7 - 249

OpenList, continued

Example 5 continued

If the GETOBJECT successfully retrieves the Infinet controller, the control system software opens the list of programs on that controller. It then gets the first program. If the first program is disabled, the control system software prints the program name and adds 1 to the COUNT numeric variable to start adding up how many programs are disabled. The control system software then gets the next program on the Infinet controller and sees if it is disabled. The process continues for all programs on that Infinet controller. When GETOBJECT cannot find another program, the control system software proceeds to the CLOSEPROG line where it closes the list of programs and then goes to the GETINFINET line to get the next Infinet controller. Once it has the next Infinet controller, the control system software goes to the OPENPROG line and tests the state of each of those programs. This process continues for all Infinet controllers. When GETOBJECT cannot find another Infinet controller, it goes to the CLOSEINFINET line where it closes the Infinet list and then goes to the GETENERGYNET line to get the next CX controller. Once it has the next CX controller on EnergyNet, the control system software goes to the OPENINFINET line and gets the first Infinet controller on that CX controller. Then the same process occurs for each program as with the last Infinet controller. And the same process occurs for every Infinet controller that occurred for each on the last CX controller. Finally, when GETOBJECT cannot get another CX controller, the control system software proceeds to CLOSEENERGYNET, where it closes the list and stops the program.

7-250

Andover Controls Corporation

OpenList, continued

Example 5 continued

Open EnergyNetList

Close EnergyNet

No

Get EnergyNet Controller ?

Yes Open Infinet List

Get Infinet Controller ?

No

Close Infinet List

Yes Open Program List

Close Program List

No

Get Another Program ?

Yes Process Program

STOP

Figure 7-19. OpenList (Example 5) Program Flow Chart

Plain English Language Reference

7 - 251

OpenList, continued

Example 6

You can retrieve a list of sites under the root by giving the Site class and an OBJECT variable name with OpenList: Program File OBJECT NetName NUMERIC OK LINE OpenSites OK = OpenList ("Network", SiteName) IF OK = SUCCESS THEN GOTO GetSites ELSE PRINT "Cannot Open List" STOP ENDIF LINE GetSites IF GetObject (SiteName) IS NOT SUCCESS THEN GOTO CloseSites PRINT SiteName NAME LINE CloseSites OK = CloseList (SiteName) IF OK = Failure Then Print "Cannot Close List" Stop

Related Keywords

GetObject Object CloseList

Products Supported

Format 1: BACnet series (except b3885, b3887), CMX series, CMX series, i2 series controllers (except i2885, i2887), and Cyberstation Format 2: CyberStation.

Modes Available

Programs

7-252

Andover Controls Corporation

OR

Operator

Format

Format 1: number OR number Format 2: namelist OR final_name

Purpose

Format 1: Provides the logical OR between two expressions. Format 2: When used in a list of names between the last two items, indicates the end of the series.

Remarks

Replace number with any number, name that stands for a number, formula or function that gives a number. Replace namelist with one or more names with commas between them. Replace final_name with a single name at the end of a series of names. OR with the last name is optional. The controller carries out all other operations (such as adding and subtracting) before it acts on OR (or AND). In Chapter 6 under "Order of Action" the listing compares the order the system software acts on all operators. Because OR (and AND) are acted on last, you can form logical statements without using too many parentheses. See Example 4 for how to use AND and OR together. The exclamation mark (!) is the alias for the logical OR only.

Example 1

To take an action only if one of several conditions exist, you use OR between the numbers, so if one of them is true, the resulting action occurs: Program File IF the Heat is On OR the Cool is On THEN… Notice that in the above statement, you could substitute exclamation mark (!) for OR.

Plain English Language Reference

7 - 253

OR, continued

Example 2

To put a list in an IF statement, you may use an OR between the last two names in the list: Program File IF the Zone is Warming, Occupied OR LowTemp THEN… You may not use the exclamation mark (!) for OR in a series. You may, however, leave out OR as follows: IF the Zone is Warming, Occupied, LowTemp THEN...

Example 3

You can also combine the logical OR with a name list containing an OR (with or without the comma before OR) as follows: Program File IF the Zone is Warm, Occupied OR Low OR Heat is Off THEN… IF the Zone is Warm, Occupied, OR Low OR Heat is Off THEN… The system software always interprets the first OR as the list OR and the second as the logical OR. If you want to reverse the order of the statement, use parentheses, as follows: IF (Heat is Off) OR Zone is Warming, Occupied, OR LowTemp THEN...

Example 4

If OR occurs before AND, the system software interprets OR first because it works from left to right on AND and OR. For instance, take this statement: Program File IF WKD = Sat OR WKD = Sun AND TOD > 900 THEN… The above statement is interpreted so that the items in parentheses below are calculated first: IF (WKD = Sat OR WKD = Sun) AND TOD > 900 THEN… If AND occurs before OR, the controller interprets AND first: IF TOD > 900 AND WKD = Sat OR WKD = Sun THEN… is interpreted as: IF (TOD > 900 AND WKD = Sat) OR WKD = Sun THEN…

7-254

Andover Controls Corporation

OR, continued

Related Keywords

AND IF..THEN..ELSE IS…

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7 - 255

P

Statement

Format

P list

Purpose

Prints the values of one or more variables, points, constants, or other expressions representing a value, including strings of characters and datetimes, each on a separate line. The list can contain different types of items. Prints units with point values.

Remarks

The list is one or more expressions with commas between them. Each expression can be a number or text as defined under Format Conventions at the beginning of this chapter. The list can also include functions or attributes. Prints the values to the screen you are currently working on. For points, system variables, and attributes, prints the name of the point (or variable or attribute), followed by an equal sign, the value of the point, and the units. Otherwise, only the value prints. Also, can print to comm ports and string objects (including program string variables). This keyword is most useful in the command window. However, you may use it in a program.

Example 1

Command Line P SupplyAir, ReturnAir, BurnerStat, CoilStatus
SupplyAir = 46 degrees F ReturnAir = 68 degrees F BurnerStat = ON CoilStatus = OFF

Notice that the name of the point and the units print for each point.

7-256

Andover Controls Corporation

P, continued

Example 2

Command Line P OutsideAir, AVG (Temp), AvgSetPt, OutsideAir TYPE, TOD
OutsideAir = 46 degrees F 86 AvgSetPt = 64 OutsideAir TYPE = Input TimeOfDay = 8 : 32 am

Alias

PR

Products Supported

B4920, CMX series, CX series, BACnet series controllers, i2 series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7 - 257

PASSED

Function

Format

PASSED (arg_number)

Purpose

Indicates whether or not the argument with the arg_number has been passed into the current function. Returns TRUE (numeric 1) if the argument is actually passed and FALSE (numeric 0) if it is not.

Remarks

Uses the arguments ARG[1] to ARG[15].

Example

You can create a function that takes an argument and check to see if the argument is passed. The function below returns the number of the argument that has the highest value. It returns when it finds the first argument that is not passed. The function called MAXITEM, predefined in the language and described earlier in this chapter, is as follows: Program File NUMERIC COUNT, LASTMAX LASTMAX = 1 FOR COUNT = 1 TO 15 IF NOT (PASSED(COUNT)) THEN RETURN (LASTMAX) IF ARG[COUNT] > LASTMAX THEN LASTMAX = COUNT NEXT COUNT

Related Keywords

ARG

Products Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7- 258

Andover Controls Corporation

PlayAudio

Statement

Format

Format 1: PlayAudio file Format 2: PlayAudio file, playback_mode

Purpose

Plays a prerecorded audio sample on the CyberStation. Format 1: Plays a prerecorded audio sample on the CyberStation one time only. Format 2: Plays a prerecorded audio sample on the CyberStation either once or continuously, depending on the playback_mode you indicate.

Remarks

The PlayAudio keyword is available only on the CyberStation. Replace file with the name and path of any * .wav prerecorded audio sample. The file name and path must be in quotation marks. Replace playback_mode with either PlayOnce or PlayContinuous. PlayOnce plays the prerecorded audio sample one time only. The PlayAudio keyword defaults to this value, so the audio sample plays only once if you omit PlaybackMode altogether. PlayContinuous plays the prerecorded audio sample continuously until you click on the Silence menu in the Active Alarms window.

Example 1

You may want to play a prerecorded audio sample from the command line on the CyberStation. To play the audio sample in the buzzer.wav file one time only, use PlayAudio as follows: Command Line PlayAudio "buzzer.wav"

Plain English Language Reference

7- 259

PlayAudio, continued

Products Supported

Cyberstation

Modes Available

Command lines and programs.

7- 260

Andover Controls Corporation

PLUS

Operator

Format

number PLUS number

Purpose

Adds two expressions.

Remarks

The number is any number or expression.

Example 1

Program File TotalKwh = KwhMonth PLUS KwhDay

Example 2

Program File TotalKwh = KwhMonth + KwhDay

Alias

+

Products Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 261

PositionFile

Function

Format

PositionFile (file_variable_name, offset, starting_position)

Purpose

Tells READFILE or WRITEFILE where to begin reading or writing in an text file.

Remarks

Once you have opened the file with OpenFile, a new read or write process (READFILE or WRITEFILE) automatically starts at the top of the file (FILEBEGIN) without you using PositionFile to set it. If you have been reading a file, the next read automatically begins where you last finished reading, unless you set a new starting position with PositionFile. The same applies for writing. Returns SUCCESS or FAILURE. file_variable_name must be a control system software FILE variable name you created earlier with FILE to correspond to an file name. Replace offset with the direction and number of characters from the starting_position to start reading/writing in the file. You may indicate to move forward with a plus sign (+) or backward with a minus sign (–). Starting_position tells where to begin reading or writing in the file. Must be one of the following: • FILEBEGIN • FILECURRENT (where you left off last read or write) • FILEEND.

Example 1

After you define a local FILE variable name and open the file (with OpenFile), you can start either reading (with READFILE) or writing (with WRITEFILE) at a particular position in the file. You use PositionFile to set the starting position. Suppose you want to read data from a file that lists controllers that had a temperature more than 2 degrees from setpoint for more than 2 minutes in the last 24 hours. The file contains three records and looks like this:

7- 262

Andover Controls Corporation

PositionFile, continued

Example 1 continued

Text File
10:12 11:26 12:35 Building2 Building1 Building2 Room8 Room6 Room3

PositionFile sets up ReadFile to begin reading here, at character eight.

You know that the controller name is 8 characters from the beginning of the file because the time is stored in the first 5 characters and followed by two spaces. The controllers are listed in order, so the first one in the file is the first one that deviated from setpoint. PositionFile tells ReadFile to start reading at the eighth character from the beginning of the file, which is the first line starting with "Building2..." When ReadFile reads 16 characters, it retrieves "Building2 Room8" from the first line of the file and places it in the DATALINE string. You could have PositionFile set the starting position from FILEBEGIN, but since ReadFile begins at the beginning anyway, you can have PositionFile set the starting position from FILECURRENT, so that when the control system software loops, it always moves to the beginning of the next record then to the eighth character. The complete program, called ZONEREADING, follows. Program File FILE ZONEDATA STRING 80 DATALINE NUMERIC CHARS, OK LINE Opening IF OpenFile ("c:\text\zone.txt", READONLY, ZONEDATA) = ~ FAILURE THEN PRINT "File Open Failed" STOP ZONEREADING ELSE GOTO Positioning ENDIF LINE Positioning IF PositionFile (ZONEDATA, 8, FILECURRENT) = FAILURE ~ THEN PRINT "Start Positioning Failed"

Plain English Language Reference

7- 263

PositionFile, continued

Example 1 continued

GOTO Closing ENDIF OK = ReadFile (ZONEDATA, DATALINE, 16, CHARS) IF OK = FAILURE THEN PRINT "File Read Failed" GOTO Closing ENDIF IF OK = SUCCESS THEN PRINT DATALINE TO StatusLine ELSE GOTO Closing ENDIF LINE Closing IF CloseFile (ZONEDATA) = FAILURE THEN PRINT "File Close Failed" STOP ENDIF

Example 2

To set the position to start writing to the end of the file, use PositionFile with an offset of 0, as follows: Program File PositionFile (ZONEDATA, 0, FILEEND)

Example 3

After writing to somewhere within the file, to reset the position to start writing at the beginning of the file, use PositionFile with FILEBEGIN, as follows: Program File PositionFile (ZONEDATA, 0, FILEBEGIN)

7- 264

Andover Controls Corporation

PositionFile, continued

Example 4

To put a space between a series of records you are writing into a file, set the position to start writing immediately after the last place the control system software wrote with FILECURRENT, then add an offset of 1, as follows: Program File PositionFile (ZONEDATA, 1, FILECURRENT)

Example 5

To put a space between a series of records you are writing and adding onto the end of a file, set the position to start writing immediately after the end of the file with FILEEND, then add an offset of 1, as follows: Program File PositionFile (ZONEDATA, 1, FILEEND)

Related Keywords

CloseFile FILE OpenFile ReadFile WriteFile FAILURE SUCCESS

Products Supported

CyberStation.

Modes Available

Programs

Plain English Language Reference

7- 265

PowerFail

System variable

Format

POWERFAIL

Purpose

Indicates whether or not the AC power has failed. For CX series controllers it will equal “ON” if power has failed, OFF if power is available. For all other controllers it is set equal to “ON” for one scan when power returns. All CX series controllers can continue to run on battery backup while power is down. The only Infinet controller that can run on battery backup is the 780.

Remarks

Most often used in programs to determine whether or not AC power is down. On CX series controllers and the 780 controller, POWERFAIL turns off as soon as AC power is restored. On all other Infinet controllers, POWERFAIL remains on until after the first scan following AC powerup, then sets to OFF.

Example

You test to see if AC power is down and then turn off a programmable system variable as follows: Program File IF POWERFAIL IS ON THEN SET MODEMPOWER TO OFF

Related Keywords

PowerUpTime CPUPower ModemPower

Products Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modles Available

Command lines and programs.

7- 266

Andover Controls Corporation

PowerUpTime

System variable

Format

POWERUPTIME

Purpose

Gives the date and time of the last warm or cold start of the AC power.

Remarks

Most often used in programs to determine how long AC power has been up since the last power failure.

Example

You can find the number of hours that have passed since the AC power was started: Program File TIMEUP = DIFFTIME (HOUR, POWERUPTIME, DATE)

Related Keywords

POWERFAIL

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 267

PRINT

Statement

Format

Format 1: PRINT string Format 2: PRINT list Format 3: PRINT string_format, list Format 4: Any of formats 1 through 3 above TO commport Format 5: Any of formats 1 through 3 above ; TO commport Format 6: Any of formats 1 through 3 above TO string_point_or_variable Format 7: Any of formats 1 through 3 above TO file_variable

Purpose

Prints a series of characters (text strings, often called simply “strings”) to the printer, string object or message window on the given communications port. You may also “print” into a string point or local variable to fill it with a string of text or numbers. In addition, on the CyberStation, you can print into an ASCII file. Format 1: Prints a string of text to the default comm port of the program or report. Format 2: Prints the values of one or more variables, points, constants, or other expressions representing a value. The list can contain different types of items. Format 3: Prints the variables, points, or other expressions in the list in the format you specify. Format 4: Prints any of formats 1 through 3 above from a controller to a command terminal or printer you specify (excluding printer queues).
Note: For a controller to print to a modem, you must first use OPEN to open

the port (see OPEN keyword).

7- 268

Andover Controls Corporation

PRINT, continued

Purpose continued

Format 5: Prints any of formats 1 through 3 above, printing the next PRINT statement on the same line because semicolon means “stay on the same line.” Format 6: Prints any value or string, including messages, points, or variables, into a string point or variable (including MessageWindow and StatusLine system variables) to set the value of that string. Format 7: Prints any value or string, including messages, points, or variables, into an ASCII file associated with a local FILE variable. You must have opened the file for writing with the OpenFile keyword. Each time it prints into the file, PRINT prints on a new physical line, unless you use the semicolon at the end of the print statement.

Remarks

Replace string with a series of characters in quotation marks. Replace string_format with a known character or string of characters combined with changeable characters to form one print line. The parts are joined by a vertical bar (|). Most of the changeable characters are represented with pound signs (###), each holding a place for one character. A comma follows the string. Replace list with one or more expressions with commas between them. Each expression can be a number or text as defined under Format Conventions at the beginning of this chapter. Replace commport with the name of a printer. You do not have to include commport. The printer cannot be a printer queue. The semicolon (;) is optional. If you end a PRINT statement without the semicolon, the next line you print starts on a new line. If you want to print two strings one after the other on the same line, you must end the first with a semicolon.

Plain English Language Reference

7- 269

PRINT, continued

Remarks continued

Replace string_point_or_variable with any defined string point or string variable. Replace file_variable with the name of a local FILE variable. You must have opened the file for writing with the OpenFile keyword. Each time you use PRINT, it prints to a new line in the file, unless you use a semicolon.

Formatting Characters

You may choose the layout of the print line and indicate it using the following special symbols:
Symbol
⏐ ⏐" ⏐numeric_ constant

Description
Indicates the beginning of a series of characters strictly for formatting and not to be treated as text. When followed by a numeric constant, indicates an ASCII code follows (see below). (A vertical bar immediately before a quotation mark.) Indicates to print the quotation mark, rather than interpreting it as the beginning or end of the string. Produces the ASCII code that corresponds to the numeric constant. For example, |7 would produce a bell or beep if printed on a terminal. |13 is the carriage return character. See the ASCII code chart in Appendix A for more codes. Represents one character that is numeric. The series of characters prints right-justified, filling with blanks any blank characters to the left. Displays either ON, -ON or OFF (as with a tristate output point). Multiplies the point value by 100 and places a percent sign after it (most useful with scale of 0 to 1, where 1 is 100%). Represents an unlimited number of alphabetic or numeric characters. Prints a leading or trailing minus sign, if expression is a negative number; prints a leading or trailing plus sign if expression is a positive number. Removes trailing zeros (extra decimal places). Prints commas every third digit left of the decimal point. Right justifies the number or text within the format. Left justifies the number or text within the format. Displays a numeric expression in scientific notation. Represents one character of any kind, alphabetic or numeric. The series of characters prints left-justified, filling with blanks any blank characters to the right.

#

$### % * -

} , > < ^ @

The format must be enclosed in quotation marks. The comma is required after the format (outside the quotation marks) if an item to insert in the format follows (see Example 3).

7- 270

Andover Controls Corporation

PRINT, continued

Examples1-21

The following examples illustrate the various PRINT formats:
No.
1

Program File
PRINT "WARNING-Trouble on the 4th Floor!"

Output

/Explanation

WARNING-Trouble on the 4th Floor! /The string of characters prints; the quotation marks do not. 67 72 77 75 / The value of each variable in the list prints, with a space after it. The temperature is 75.0 at 4:32:05 / The string prints with the value of the first point (or variable) in the first format and the value of the next point or variable in the next format. If there are more than two formats, the subsequent point or variable values are printed in the corresponding formats in order. 1340 / Leaves 3 leading spaces before the value of TOTAL_WATTS. The value prints on the terminal called TERMINAL. Tuesday January 2 / Prints all text and spaces on the same line because each PRINT statement ends with a semicolon (;). / Prints the value into the string and changes its setting. You can set a string point or variable this way.

2

PRINT TEMP1, TEMP2, TEMP3, TEMP4

3

PRINT "The temperature is ⏐###.# at ⏐##:##:##", Temp4, Hour, Minute, Second

4

PRINT "⏐#######", Total_Watts

5

PRINT WEEKDAY; PRINT " "; PRINT MONTH; PRINT " "; PRINT DAYOFMONTH PRINT "HEAT.SETPT" TO POINTNAME

6

Plain English Language Reference

7- 271

PRINT, continued

Examples 1-21 continued

No.
7

Program File
PRINT "⏐##,###.##", TOTAL_WATTS

Output /Explanation
1,340.00 / Leaves one leading space. Adds the comma after the 1 and has two zeros after the decimal. 1,340 / Drops extra decimal places (trailing zeros). The Fan Status is ON / Prints ON, -ON, or OFF for a digital or tristate point, leftjustifying On in the format. The Damper Setting is 20.00 / Prints the pulsing value of the damper in the format. Here the damper is ON for 20 seconds. For -ON, the value is negative. Murphy Johnson / Outputs any number of characters of any type that are in the FULLNAME attribute. The * is particularly useful when you do not want to limit the number of characters in a variable. Heater Failed! / The message inside STRMSG prints left justified in the 14 characters allowed by the @ signs. 21.7 / Right justifies and drops the trailing 0. +88.8 / Prints leading minus sign if the number is negative and the leading plus sign if the number is positive. Prints all trailing zeros.

8

PRINT "⏐#,###.##}", TOTAL_WATTS

9

PRINT "The Fan Status is ⏐$###," FANSTATUS

10

PRINT "The Damper Setting is ⏐##.##", DAMPER

11

PRINT "⏐*", Murphy FULLNAME

12

PRINT "⏐@@@@@@@@@@@@@@", STRMSG TO BUILDING1 CONSOLE

13

PRINT "⏐>#######.##}", 21.70

14

PRINT "⏐-##.##", 88.8

7- 272

Andover Controls Corporation

PRINT, continued

Examples 1-21 continued

No.
15

Program File
PRINT "⏐##.##-", -88.80

Output /Explanation
88.80- / Prints trailing minus sign if the number is negative and the trailing plus sign if the number is positive. Prints all trailing zeros. 8,97e03+05 is the "Total." / Prints the number in scientific notation. Also prints the quotation marks around VALUE, because a vertical bar is before each quotation mark that should print. 8,97e-01 / Prints in scientific notation with negative exponent. +1.340e+06 / Prints in scientific notation with a leading plus sign for a positive number. The blower's current state is ENABLED. / Prints the text string left justified in the format and leaves a blank for the unfilled character at the end. The Valve is set to 45% open. / Prints the value in engineering units as a percentage of the scale for the point. This format works best with a scale of 0 to 1, where 0 is fully closed and 1 is fully open. So, if the value is 1, the statement prints 100%. If the value is .45, the statement prints 45%.

16

PRINT "⏐###^## is the ⏐"TOTAL.⏐"", 897000

17

PRINT "⏐###^##"", .8970

18

PRINT "⏐-##.##^##"", 1340000

19

PRINT "The blower's current state is ⏐@@@@@@@@.", BLOWER STATE

20

PRINT "The value is set to ⏐%### open.", WATER_VALVE

Plain English Language Reference

7- 273

PRINT, continued

Examples 1- 21 continued

No.
21

Program File
PRINT "Date:", MONTH, ",DAYOFMONTH, ", ", YEAR PRINT " " PRINT "Test Report"

Output /Explanation
Date: December 4, 2001

Test Report / Prints the date. Commas must separate each group of literal text. Notice that the only place a space appears is immediately after the word Date. You must specify the blank space in quotation marks. Also prints a blank line between the date and the report title. If you use the word PRINT with one blank in quotation marks after it, then the entire line prints as a blank line (as long as you don't put a semicolon at the end).

Example 22

To put data in an ASCII file, you first open it with OpenFile (see the OpenFile keyword), then "print" into the file with the PRINT keyword, as shown below: Program File in CyberStation Numeric Cnt, OK File NewData OpeningFile: OK = OpenFile ("c:\tempdata.txt", WriteOnly, NewData) IF OK = Failure THEN GOTO Ending ELSE GOTO PrintToFile PrintToFile: Print "KWH Usage Cost" To NewData For Cnt = 1 to 10 Print "|######> |####.##>", KWHUsage[Cnt], Cost[Cnt] To NewData Next Cnt GOTO ClosingFile

7- 274

Andover Controls Corporation

PRINT, continued

Example 22 continued

ClosingFile: OK = CloseFile (NewData) IF OK = Failure THEN Print "Cannot close text File" Ending: Stop In this example, the local FILE variable called NewData represents an ASCII file. After the OpenFile keyword opens that ASCII file, PRINT can refer to the file by the local FILE variable name and put data in it. In this case, the local FILE variable is NewData, so PRINT prints the KWH usage and cost into the ASCII file. OutPut⎯To the File
KWUsage 4567 8724 3862 4532 3217 9421 567 856 3763 589 Cost 548.04 1134.12 463.44 543.84 386.04 1224.73 56.70 94.16 451.56 70.68

Since PRINT is inside a FOR..NEXT loop that counts to 10, it prints 10 KWH usage totals and their costs into the file. Each time it prints, PRINT starts a new physical line in the ASCII file.

Plain English Language Reference

7- 275

PRINT, continued

Example 23

If you put a semicolon at the end of the PRINT statement, the next PRINT statement's results appear on the same physical line inside the file: Program File in CyberStation Print "January: |####> |####.##> ", KWUsage, Cost; To NewData Print "February: |####> |####.##> ", KWUsage, Cost To NewData The resulting output appears as follows: OutPut—To the File
January: 4567 548.04 February: 589 70.68

Related Keywords

CHR P TAB FILE OpenFile

Products Supported

BACnet series* (except b3885, b3887), B4920, CMX series, CX series, i2 series* (except i2885, i2887), DCX 250 controllers, and Cyberstation. Format 7 only available on the CyberStation * Due to the lack of an available Comm port, BACnet and i2 series controllers support printing only to string variables. However, the i2/b3885 and i2/b3887 models of these controllers do not support the PRINT statement at all.

Modes Available

Command lines and programs.

7- 276

Andover Controls Corporation

RANDOM

Function

Format

RANDOM (number)

Purpose

Returns a random number from 0 to 32,767 using number. Used to simulate real-life values to test programs.

Remarks

The number is any number or expression. You may omit number, but the parentheses are required, as with all functions. Note: You must vary the number to generate different random sequences. If you do not vary the number, you may see a repetitious pattern of values emerging over time.

Example

To simulate fluctuations of temperature between 50 and 70 degrees, you put any number in the number. To generate a result in the range of 20 possible temperatures, you divide the random number you generate by 32767, which gives you a number between 0 and 1. Then multiply the result by 20. Program File RANDOM (8) /32767 TIMES 20 Finally you add 50 degrees to the bottom of the range you are trying to simulate to the random number: TEMP = (RANDOM (8) /32767 TIMES 20) + 50

Alias

RND

Products Supported

BACnet series (except b3885, b3887), CMX series, CX series, i2 series (except i2885, i2887), DCX250 controllers, and Cyberstation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 277

READ

Function (comm port)

Format

READ(comm_port, number_chars, string_point, timeout, end_char)

Purpose

Reads characters from a communications port and places them in a string. Returns SUCCESS or FAILURE. You should test for SUCCESS or FAILURE in the line immediately following READ.

Remarks

The READ function must be the last statement in a line or on a line by itself. Once READ executes, the controller automatically goes to the next labeled line. You must use OPEN to open the port before attempting to read the input. Once the communications are complete, you must use CLOSE to close the port. You may open the comm port with OPEN in one program, then read input from the port with READ in another program. Replace comm_port with any communications port or path to one that you want to read information from. Replace number_chars with the number of characters you expect the function to read from the port. Any number or expression that gives a number, up to 132. Replace string_point with a string point that can contain the number of characters the function is reading. This string is where the characters read are stored. It can be up to 132 characters. Note: string_point must be a string point (external to the program), and not a string variable (local to the program). Replace timeout (optional) with the length of time in increments of 10 ms each that you want the controller to keep trying to read if it detects no characters. If the controller does not read any characters before the timeout period is over, it stops trying and goes to the next line. If you do not set a timeout period, it is automatically 10 minutes. Setting timeout to zero forces the controller to wait indefinitely or until it reads characters. (See also the TIMEDOUT attribute in Appendix B.)

7-278 Andover Controls Corporation

READ (comm port), continued

Remarks continued

Replace end_char (optional) with a single character that indicates the end of the text being read. Indicated by an ASCII code (inside quotation marks to make it a string), string point, or local string variable. If you give more than one character, the control system software uses only the first character. Note: The control system software stops reading when either it has read the number of characters in number_chars, the amount of time in timeout has elapsed, or it has read the end_char. You can give all three pieces of information and whichever occurs first ends the reading process. For instance, if READ reads the end character before it reads the number of characters, it stops based on the end character.

Example 1

You can read input from a modem on COMM3 into a string called MODEMDATA as follows (you must also close the port afterwards): Program File OPENING: OPENRESULT = OPEN(COMM3) TESTING: IF OPENRESULT = SUCCESS THEN GOTO READING ELSE GOTO FAILING ENDIF READING: RESULT = READ(COMM3, 132, MODEMDATA, 100) PRINTING: IF COMM3 TIMEDOUT THEN GOTO CLOSING IF RESULT = SUCCESS THEN PRINT MODEMDATA TO INPUTFILE ELSE GOTO CLOSING ENDIF The timeout of 100 is 100 increments of 10 ms each, for a total of 1000 ms or 1 second.

Plain English Language Reference

7- 279

READ (comm port), continued

Example 2

You can give a carriage return as the character that indicates the end of the text to be read in a READ statement. You specify the carriage return using the ASCII code for it, "|13". You must place the ASCII code inside quotation marks to make it a string. (See "Formatting Characters" under the PRINT keyword for a discussion of the⏐symbol.) Program File OPENING: OPENRESULT = OPEN(COMM3) TESTING: IF OPENRESULT = SUCCESS THEN GOTO READING ELSE GOTO FAILING ENDIF READING: RESULT = READ(COMM3, 132, MODEMDATA, "|13") PRINTING: IF COMM3 TIMEDOUT THEN GOTO CLOSING IF RESULT = SUCCESS THEN PRINT MODEMDATA TO INPUTFILE ELSE GOTO CLOSING ENDIF

Related Keywords

CLOSE OPEN

Products Supported

CMX and CX series controllers.

Modes Available

Programs

7-280 Andover Controls Corporation

ReadFile

Function

Format

ReadFile (file_variable_name, string_variable_or_point, chars_to_read, numeric_variable_or_point, end_character)

Purpose

Retrieves data from (reads) a text file you opened earlier with OpenFile. Retrieves the number of characters you indicate in the chars_to_read argument.

Remarks

ReadFile automatically starts retrieving data where it last stopped unless you specify that it must start at another position, such as the beginning or end of the file. You can also specify a particular number of characters to move away from the current position, beginning, or end of the file with PositionFile. file_variable_name must be a control system software name you created earlier with FILE to correspond to a file name. Replace string_variable_or_point with either a local string variable or a string point to store the text the control system software reads from the file. Replace chars_to_read with the number of characters to read into the string variable or point. May be any number or expression that gives a number up to 255. Replace numeric_variable_or_point with a numeric variable or numeric point to store the number of actual characters ReadFile has read once the reading is complete. Replace end_character (optional) with a single character that indicates the end of the text being read (not the end of file). ReadFile reads up to, but not including, this character. Can be indicated by an ASCII code (inside quotation marks to make it a string), string in quotation marks, string point, or local string variable. If you give more than one character, the control system software uses only the first character. For example, you might have a file with lines of data that each end in a carriage return. To read up to the carriage return, give the ASCII code for a carriage return in quotation marks ("|13") as the end character in the ReadFile statement. (See "Formatting Characters" under the PRINT keyword for a discussion of the⏐symbol.)

Plain English Language Reference

7- 281

ReadFile, continued

Remarks continued

You might, in another case, have a comma between pieces of data. You can then give the comma (in quotation marks) as the end_character (see Example 3). Once you use FILE to define a FILE variable and you open a file with OpenFile, you can then read the text file with ReadFile. If ReadFile is successful, it returns the number of characters it has read (in the numeric variable or numeric point you designate). If it is not successful, it returns FAILURE. If it has reached the end of the file, it returns EOF.

Example 1

In this example, you first create a FILE variable called ZONEDATA with FILE and then open a file under ZONEDATA with OpenFile. You then read from that text file with ReadFile. Here, ReadFile reads the file opened under ZONEDATA and stores the text it reads in DATALINE. It reads 80 characters and stores the contents of them in the DATALINE string. After READING the file, the program prints the text from DATALINE to the screen. ReadFile also stores the actual number of characters read in the local numeric variable CHARS. Program File FILE ZONEDATA STRING 80 DATALINE NUMERIC CHARS, OK LINE Opening SET OK = OpenFile ("c:\text\zone.txt", READONLY, ZONEDATA) IF OK = FAILURE THEN PRINT "File Open Failed" STOP ZONE.READING ELSE GOTO Reading ENDIF

7-282 Andover Controls Corporation

ReadFile, continued

Example 1 continued

LINE Reading OK = ReadFile (ZONEDATA, DATALINE, 80, CHARS) IF OK = FAILURE THEN PRINT "File Read Failed" GOTO Closing ENDIF IF OK = SUCCESS THEN GOTO Printing ELSE GOTO Closing LINE Printing PRINT DATALINE GOTO Reading LINE Closing OK = CLOSEFILE (ZONEDATA) STOP ZONE.READING

The control system software executes this statement when ReadFile returns EOF.

Notice that if ReadFile returns FAILURE, the control system software goes to the CLOSING line. If it returns SUCCESS, the control system software goes to the PRINTING line; if it returns EOF, the control system software goes to the CLOSING line. You must close the file in two situations—when ReadFile fails or when it has read the entire file.

Example 2

In this example, you first create a FILE variable called ZONEDATA with FILE and you open a file under ZONEDATA with OpenFile. You then read from that text file with ReadFile. Here, ReadFile reads the file opened under ZONEDATA and stores the text it reads in DATALINE. It reads until it reaches the carriage return in the file (designated by the ASCII code |13 with quotation marks around it). It then stores the actual number of characters retrieved in the local numeric variable CHARS. You still must give a number of characters to read. (See "Formatting Characters" under the PRINT keyword for a discussion of the⏐symbol.) This program functions very much the way the last example did.

Plain English Language Reference

7- 283

ReadFile, continued

Example 2 continued

Program File FILE ZONEDATA STRING 80 DATALINE NUMERIC CHARS, OK LINE Opening SET OK = OpenFile ("c:\text\zone.txt", READONLY, ZONEDATA) IF OK = FAILURE THEN PRINT "File Open Failed" STOP ZONE.READING ELSE GOTO Reading ENDIF LINE Reading OK = ReadFile (ZONEDATA, DATALINE, 80, CHARS, "|13") IF OK = FAILURE THEN PRINT "File Read Failed" GOTO Closing ENDIF IF OK = SUCCESS THEN GOTO Printing ELSE GOTO Closing LINE Printing PRINT DATALINE GOTO Reading LINE Closing OK = CLOSEFILE (ZONEDATA) STOP ZONE.READING

Example 3

In this example, you first create a FILE variable named ZONEDATA with FILE and you open a file under ZONEDATA with OpenFile. You then read from that text file with ReadFile. Here, ReadFile reads the file opened under ZONEDATA and stores the text it reads in DATALINE. The file to read contains data separated by commas, as follows; Floor1, Room1, 75, 72, Floor1, Room2, 74, 72, Floor1, Room3,

7-284 Andover Controls Corporation

ReadFile, continued

Example 3 continues

It reads until it reaches the comma (you designate the comma with quotation marks around it). The program then stores the actual number of characters retrieved in the local numeric variable CHARS. Even though you give an ending character, you must still give a number of characters to read, in this case, 16. Program File FILE ZONEDATA STRING 16 DATALINE NUMERIC CHARS, OK LINE Opening SET OK = OpenFile ("c:\text\zone.txt", READONLY, ZONEDATA) IF OK = FAILURE THEN PRINT "File Open Failed" STOP ZONE.READING ELSE GOTO Reading ENDIF LINE Reading OK = ReadFile (ZONEDATA, DATALINE, 16, CHARS, ",") IF OK = FAILURE THEN PRINT "File Read Failed" GOTO Closing ENDIF IF OK = SUCCESS THEN GOTO Printing ELSE GOTO Closing LINE Printing PRINT DATALINE OK = PositionFile (ZONEDATA, 2, FILECURRENT) IF OK = FAILURE THEN PRINT "Positioning for Read Failed" GOTO Closing ENDIF GOTO Reading LINE Closing OK = CLOSEFILE (ZONEDATA) STOP ZONE.READING

Plain English Language Reference

7- 285

ReadFile, continued

Example 3 continued

This program functions very much the way the last example did, only each time the program goes to the PRINTING line, after the program prints what it read, it sets where to start reading in the file as two characters past where it stopped. The two characters are the comma and the space after the comma. For more on how to set where to begin reading, see the PositionFile keyword.

Related Keywords

FILE CloseFile OpenFile PositionFile WriteFile

Products Supported

CyberStation

Modes Available

Programs

7-286 Andover Controls Corporation

ReadProperty

Function

Format

ReadProperty (Object_Property, Index)

Purpose

To get (return) the property of a BACnet object.

Remarks

Replace Object_Property with the object name, including a full path name, followed by a property name. The object Identifier and Property Identifier are combined as one argument. Replace Index with an array index. This is optional. It only applies to an array-type BACnet property. The index is ignored whenever it is not applicable. The returned value is the object property value that has been read.

Example 1

Use ReadProperty to get the value of an Analog Value point. Print ReadProperty(Net1\B4\AV1 Value)

Example 2

Use ReadProperty to get the description of an analog point and place it into a string Point. StringPoint = ReadProperty(Net1\B4\AV1 Description)

Example 3

Use ReadProperty to get the value of an analog point using index 3. Numerical Value ReadProperty(BACnetDevices\B4\B3\AV1, 3)

Related Keywords

WriteProperty, Relinquish

Products Supported

BACnet series controllers and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 287

ReaderPower

System variable

Format

ReaderPower

Purpose

Indicates whether or not any access card reader on an ACX series controller has lost power.

Remarks

Applies only to ACX series controllers. You cannot set ReaderPower. You can print it from the command line or use it in a program. You must connect to an ACX controller before you can print ReaderPower from the command line. Or you can access ReaderPower using the full path. ReaderPower is TRUE if a card reader on the controller has lost power, FALSE if not.

Example 1

To see if any card reader on an ACX series controller has lost power, you first connect to the controller, then print the ReaderPower system variable from the command line as follows: Command Line PR ReaderPower The control system responds as follows if the reader has lost power:
True

Example 2

If every time a card reader on an ACX series controller loses power you want to take a particular action, then you would use ReaderPower in a program as follows: Command Line IF Door4 ReaderPower is True THEN Run Door4Emergency This example gives the path from a CX series controller to the Door4 of an ACX 781 controller.

7-288 Andover Controls Corporation

ReaderPower, continued

Products Supported

ACX series and CX9702 controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 289

Relinquish

Function

Format

Relinquish(Object_Property, Priority)

Purpose

To relinquish a command issued at an earlier time. Returns SUCCESS or FAILURE.

Remarks

A relinquish operation is similar to a WritePropery operation (see WriteProperty keyword) with the exception that it places a NULL value in the Priority_Array that corresponds to the appropriate priority. When that occurs, the next lower priority, non-NULL position takes control of the property. If all the priority table array elements are NULL, the commandable property (refer to Chapter 14 in the Continuum CyberStation Configurator’s Guide Version 1.6, 30-3001-781) assumes the one defined in the Relinquish_Default property of the object. Object_Property is an optional argument specifying the commandable property you wish to relinquish command priority over. Object_Property is replaced with the object name, including a full path name, followed by a property name. The Object Identifier and Property Identifier are combined as one argument. Property is expected to be the BACnet commandable property (When referring to the Present_Value property of a BACnet object, the word “Value” not “Present_Value” is used in Plain English). If no Object_Property is included, it is assumed to be Present_Value Note: For Andover Controls systems, Present_Value is the only commandable property for the following classes: Analog Output Binary Output Multi-State Output Multi-State Value Analog Value Binary Value

Replace Priority with the priority number, ranging from 1 (highest) to 16 (lowest). Applies only to a BACnet commandable property. If not present, the property value that matches with priority 10, if applicable, is used for controllers. For CyberStations, the priority from the BACnet Preferences is used.

Example

Use Relinquish to relinquish the last command issued with priority 5 Relinquish(NET1\B4\AV, 5) This statement places a NULL in the 5th entry.

7-290 Andover Controls Corporation

Relinquish, continued

Related Keyworks

WriteProperty ReadProperty

Products Supported

BACnet series controllers and CyberStation

Modes Available

Command lines and programs.

Plain English Language Reference

7- 291

REPEAT..UNTIL

Statement

Format

REPEAT statement statement … UNTIL number Carries out the statements in the loop until the number is true. Replace statement with any complete instruction that tells the program what to do next or what action to take. Replace number with any number or expression, including a date and time or name that stand for one. The statements within the loop always execute at least once before the expression is evaluated.

Purpose Remarks

! !
Example

CAUTION The scan action limits the number of statements that can execute

If you want to print all the values in an array, you could do the following: Program File REPEAT Print OutsideAir[Count] Count = Count + 1 UNTIL Count = OutsideAir

Related Keyworks Products Supported Modes Available

Break Continue ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation. Programs

7-292 Andover Controls Corporation

RETURN

Statement

Format

Format 1: RETURN Format 2: RETURN number Format 3: RETURN variable

Purpose

Format 1: In a function file, returns program control to the calling program. Format 2: In a function file, returns the number, and sends it to the calling program. Format 3: In a function file, returns the contents of the variable.

Remarks

The optional number is any number or expression, including a date and time or name that stands for one. If you expect to use the results of a calculation in more than one program, you set up a function file and put the calculation instructions in it, creating a function. When you need the function in a program, you call the function by using the file name as if it were any other keyword verb. Later, the RETURN statement tells the function the value to return to the calling program. If you omit the number, the function returns a numeric 0.

Example 1

You use RETURN without an expression to return to the calling program without passing parameters. You might do that with a function that contains a series of actions to be carried out, as in the SHUTDOWN function shown below: Function File TURN OFF THE HEAT TURN OFF THE FAN RUN PUMP, COOLING RETURN In this case, RETURN returns you to the program that called the SHUTDOWN function, returning a numeric 0 because you supplied no arguments on the RETURN statement.

Plain English Language Reference

7- 293

RETURN, continued

Example 1 continued

The statement that calls SHUTDOWN in the calling program looks like this: Program File SHUTDOWN( )

Example 2

To create a function called GetArea that calculates the cross-sectional area of a circle, name the function file AREA and enter the following in the function file: Function File ARG[1] RADIUS RETURN (3.14159 * (RADIUS^2)) You pass the radius into the function file from the calling statement in the main program. Here is a sample calling statement: Program File VOL = GetArea(RADIUS) * LEG This statement calls the AREA function, giving it the radius, which it requires to calculate the area.

Example 3

To create a function that returns the contents of the numeric variable that calculates the circumference of a circle. Program File ARG[1] DIAMETER NUMERIC CIRCUMF CIRCUMF = 3.14159 * DIAMETER RETURN (CIRCUMF)

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7-294 Andover Controls Corporation

RIGHT

Function

Format

RIGHT (string, integer)

Purpose

Returns a string containing the rightmost characters of the string, starting integer characters back from the end.

Remarks

Replace string with any text (word or words) or text expression. Replace integer with any integer or integer expression up to the length of the string that tells how many characters you want from the string. If integer is greater than the length of the string then the controller returns the entire string.

Example

Program File RGTVAL = RIGHT ("ABCDE"' 3) This statement returns "CDE".

Alias

LAST

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and Cyberstation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 295

ROTATE

Statement

Format

Format 1: ROTATE linename program_list Format 2: ROTATE program_list TO line

Purpose

Executes the program or programs you specify in the program_list, beginning at the line named by line. You may use format 1, giving the line name first, or format 2, giving the program names first.

Remarks

Replace program_list with one or more program names with commas between them. Replace linename with any line label created with the LINE statement. (See the LINE keyword.) Must be in the program you name. The label must be spelled here just as it is defined, except you may interchange upper- and lowercase. The line label may also be an integer. Note: You cannot rotate a program to line 0. Line 0 is reserved to mean stop the program. LINE E is reserved for handling errors. A program can also rotate itself to another line. In this situation, ROTATE becomes a synonym for GOTO. (See the GOTO keyword.)

Example 1

If you have a series of programs you want to start every Monday morning, you could put the following into a MondayStartup program: Program File IF WKD = MONDAY THEN ROTATE 1 BLOWER, PUMP, HEATING ROTATE LIGHTS TO BEGINNING ENDIF

7-296 Andover Controls Corporation

ROTATE, continued

Example 2

After the Heating program has been activated, it takes in the temperature and rotates back to the beginning of the testing loop. To loop back you can rotate the program from within itself: Program File ROTATE HEATING TO 1

Example 3

To rotate the Heating program to an "English-like" line label, you rotate the program from within itself: Program File ROTATE HEATING TO WINTER

Related Keywords

LINE RUN STOP

Alias

ROT

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 297

ROUND

Function

Format

ROUND (number)

Purpose

Rounds number to the nearest integer and returns that value.

Remarks

The number is any number or expression. ROUND, CEILING, FLOOR, and TRUNCATE are similar, but differ in the following ways: • ROUND rounds up if the decimal is .5 or higher and down if the decimal is below .5. ROUND (–1.7) gives –2 (see Figure 8-20 below). • CEILING always rounds up. CEILING (–2.7) gives the closest higher number on the number line, –2. • FLOOR always rounds down. FLOOR (–3.8) gives the closest lower number on the number line, –4. • TRUNCATE cuts off the decimal value. TRUNCATE (–3.8) gives the integer without the decimal, –3.

-4

The following table illustrates how the four functions differ:
Functions
ROUND CEILING FLOOR TRUNCATE

7-298 Andover Controls Corporation

0000 000000 0000 0000 0000 0000 000000000000000000 0000 000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Position of –1.7 on the number line -3 -2 -1 0 1 2 3 4

Position of ROUND(–1.7)

Figure 8-20. Number line showing ROUND (-1.7)

4.2
4 5 4 4

4.5
5 5 4 4

-3.1
-3 -3 -4 -3

-3.7
-4 -3 -4 -3

ROUND, continued

Example 1

Program File TMPVAR = ROUND (-42.7) This statement returns -43.

Example 2

Program File RNDVAL = ROUND (4.3) This statement returns 4.

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and Cyberstation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 299

RUN

Statement

Format

Format 1: RUN file_list Format 2: RUN point_list Format 3: RUN local_variable_list Format 4: any of format 1 thru 3 TO MESSAGEWINDOW Format 5: any of format 1 thru 3 TO STATUSLINE Format 6: any of format 1 thru 4 TO printer Format 7: any of format 1 thru 4 TO file Format 8: any of format 1 thru 4 TO file WITH APPEND

Purpose

Format 1: Begins executing the program, or function you specify at the first line, even if it is already running. This statement, in a command line or a program, controls the control system software. Format 2: Sets the output or numeric point (or points) you specify to the top of the scale defined for it (or ON). You can use this statement in a program to start up a piece of equipment, or at the command line to directly turn on a piece of equipment. Usually used with output points. Format 3: Sets a local variable inside a program to ON. You use this statement only inside a program. Format 4: When running a program, function, or report, displays the results of all PRINT statements in the Message window of the workstation. Format 5: When running a program, function, or report, displays the results of all PRINT statements in the Status Line of the workstation, one statement at a time. Format 6: When running a program, function, or report, sends the results of all PRINT statements to a printer rather than displaying them on the default port for that file. Format 7: When running a program, function, or report, prints the results of all PRINT statements into an ASCII file (you can give a full path name if you would like). If the file already contains text, the statement writes over (like taping over) the old text.

7-300 Andover Controls Corporation

RUN, continued

Purpose continued

Format 8: When running a program, function, or report, prints the results of all PRINT statements into an ASCII file and adds (appends) them onto the end if the file already contains text.

Remarks

Replace file_list with any program, function, report, or list of them (separated by commas). Replace point_list with any defined output point or list of output points. May also be input or numeric points. Replace local_variable_list with any local variable or variables defined with NUMERIC, STRING, or DATETIME for use strictly inside the program. (See the appropriate keyword for more information.) Replace printer with a printer that has been defined. You must enclose the name of the printer in quotation marks. Replace file with a file on a workstation. May have characters in its base name and a suffix, based on the conventions of file naming. The file name must be in quotation marks. If you have not already created the file, the control system software creates it when you make the RUN statement (see Example 5). With an output point (Format 2), actually starts the piece of equipment. With an input point, sets the point to the top of the scale defined for it. With a numeric point, sets the point to the highest number in the controller system. You might RUN an input to test it when the input is not actually active. With a local variable (format 3), sets the variable to ON. To display PRINT statements on another terminal or to print them on a printer, use Format 6 and give the terminal or printer name (full path if necessary). You can also display the results of PRINT statements in a workstation message window (format 4) or to the status line on a workstation (Format 5). To save the results of all PRINT statements in a file, use Format 7.

Plain English Language Reference

7- 301

RUN, continued

Example 1

You can use RUN in an IF..THEN statement to start a program: Program File IF TOD > 800 THEN RUN THE HEATERPROG

Example 2

You can use RUN on the command line to start one or more pieces of equipment: Command Line RUN THE HEATER AND THE FAN

Example 3

You can use RUN in a program to turn on a local variable: Program File RUN THE LEADFAN

Example 4

You can use RUN to print a report on an printer named, for example, LPT1Q: Program File RUN DAILYREPORT TO "LPT1Q"

Example 5

You can have all PRINT statements in CHILLERPROG print in the Message window on your workstation, as follows: Program File RUN ChillerProg To MessageWindow

Example 6

You can have a PRINT statement inside the AVG.TEMP program print a point value to the status line on your workstation, as follows: Program File RUN Avg.Temp To StatusLine

7-302 Andover Controls Corporation

RUN, continued

Example 7

You can use RUN to save the results of running the humidity report in a file named HUMID.RPT: Program File RUN HumidReport To "humid.Rpt" This statement writes over any text that may already be in the HUMID.RPT file. If the HUMID.RPT file does not exist, the CyberStation automatically creates it.

Example 8

You can add the results of running the humidity report to the end of a file named HUMID.RPT and not write over the information already in the file (such as from the previous version of the report) by adding WITH APPEND to the RUN statement: Program File RUN HumidReport To "Humid.RPT" with Append

Related Keywords

LINE ROTATE STOP

Alias

START and OPEN (for Formats 1 through 4 only)

Products Supported

B4920, CMX series, CX series, I2 series controllers, and Cyberstation.

Modes Available

Command lines and programs.

Plain English Language Reference

7- 303

7-304 Andover Controls Corporation

Section 7 Keywords S through Z

SAVE

Statement (on controller)

Format

Format 1: SAVE ALL Format 2: SAVE list Format 3: SAVE typelist Format 4: SAVE ENERGYNET Format 5: SAVE INFINET Format 6: SAVE SITE Format 7: any of formats above -d Format 8: any of formats above -m

Purpose

Saves programs, points, or other items on the controller that you have created. The controller saves these items in a file called a dump file on a disk connected to the computer on the network. The computer must be running a communications package with an ANSI terminal emulator. You can later reload the file to put the information into the controller. Format 1: Saves every item on the connected controller. Format 2: Saves the listed items from the connected controller. Format 3: Saves all the items on the connected controller belonging to the type or types listed. Format 4: Saves all items from all CX controllers on the entire EnergyNet, including the CX controller you are operating or are connected to. Saves them with a “dictionary” listing their names and types. Format 5: Saves all items from the CX controller you are on and all Infinet controllers connected to it. Saves them with a “dictionary” listing their names and types.

Plain English Language Reference

7-305

SAVE (controller), continued

Purpose continued

Format 6: Saves all items from all CX controllers and Infinet controllers on the entire EnergyNet and all Infinets. Saves them with a “dictionary”. This format combines Format 4 and Format 5. Format 7: Saves only a “dictionary” of the items you indicate, listing their names and types. Format 8: Saves the items you indicate and, while saving, sends messages to the Messages window of the CX controller.

Remarks

This keyword is restricted to users with administration level access. Replace list with one or more names of files, points, or other items on the controller to be saved. Replace typelist with one or more names of the type of file, point, or other item on the controller to be saved. The type of an item is that it is an input or output point, program or data file, or similar type. The dictionary ensures that the controller knows point or programs or other items referred to by other programs or other items. For instance, if you save all programs, the controller requires a “dictionary” of all points referred to. This keyword applies only to CX controllers. You cannot use SAVE on an CyberStation. See Appendix C for a complete description of the contents of a dump file, and how to create your own dump file.

Example 1

You can save all items on the entire controller by using ALL: Command Window on Controller SAVE ALL

7-306 Andover Controls Corporation

SAVE (controller), continued

Example 1 continued

If you are saving from a CX controller terminal, within 60 seconds you type a command to receive the file from the communications package on the computer. The command is determined by the communications package used. The following is a capture command from CROSSTALK that saves the file to a disk in drive B: Host Computer Running CROSSTALK capture B: points

Example 2

You can save particular items on the controller by specifying their names in a list. In this example the items are points. Command Line SAVE VAV1.FAN, ROOM1.TEMP, ROOM2.TEMP

Example 3

You can save all items of a certain type on the connected controller, such as all program files, by entering the type or a list of types: Command Line SAVE PROGRAM This command line saves all files that are programs. Command Line SAVE INPUT This command line saves all points that are inputs. Command Line SAVE INPUT, OUTPUT This command line saves all points that are inputs and outputs.

Example 4

You can save all items from every controller on the entire EnergyNet network, and store their types in a dictionary, by entering: Command Line SAVE ENERGYNET This command line saves all items with their types.

Plain English Language Reference

7-307

SAVE (controller), continued

Example 5

You can save all items on the connected CX controller and all controllers on Infinet, storing their types in a dictionary, by entering: Command Line SAVE INFINET This command line saves all items with their types.

Example 6

You can save all items on the EnergyNet and on all controllers on Infinet, storing their types in a dictionary, by entering: Command Line SAVE SITE This command line saves all items on all controllers with their types.

Example 7

You can save a dictionary of all items on the connected controller and their types by entering: Command Line SAVE ALL -d This command line saves a dictionary of names and types of all items on the connected controller. An example of a dictionary of a Floor1 EnergyNet controller follows: Dictionary : Floor1 : 1 ’TYPE : NAME : HANDLE : DEFAULTMODE : BAUD CommPort : Infinet1 : 6780 : Infinet : Baud19200 CommPort : LBusNet : 6781 : Lbus : Baud19200 CommPort : Term1 : 6782 : Terminal : Baud9600 TYPE : NAME : HANDLE Input : OutsideAirTemp : 7020 Output : OutsideAirDamper : 7030 User : dave : 7001 Program : AirVolumeCtrl : 7037

7-308 Andover Controls Corporation

SAVE (controller), continued

Example 7 continued

ImportExport : Floor1 Floor1 OutsideAirTemp To 2, 4-6, Floor1 Floor1 Room1 NextUnOccTime To 4, 6, 8-9, Floor1, Infinet1 EndImportExport EndDictionary Refer to Appendix C for more examples of dump files.

Example 8

While you are saving all items on the connected controller, you can send messages about any errors that occur to a message window while saving: Command Line SAVE ALL -m The following example saves all numeric items on the connected controller, and sends messages about errors that occur to a message window: Command Line SAVE NUMERIC -m

Example 9

You can both save a dictionary and send messages to a message window: Command Line SAVE INPUT, OUTPUT -d -m Be sure not to use a comma between the -d and -m options.

Example 10

You can save a list that contains both particular items and item types: Command Line SAVE CHILLER, FAN, INPUT, OUTPUT, NUMERIC

Plain English Language Reference

7-309

SAVE (controller), continued

Example 11

You can save all of EnergyNet and send errors messages to a message window: Command Line SAVE ENERGYNET -m

Related Keywords

LOAD

Alias

DUMP

Products Supported

B4920, CMX series, and CX series controllers.

Modes Available

Command lines

7-310 Andover Controls Corporation

SAVE

Statement on workstation

Format

Format 1: SAVE object_site_or_controller TO file_string Format 2: any of formats above -d Format 3: any of formats above -b Format 4: any of formats above -n Format 5: any of formats above -o Format 6: any of formats above -v

Purpose

Format 1: Saves the object, site, controller, or Infinet controller to the ASCII file you indicate. That file becomes a dump file. Format 2: Saves only the “dictionary” of the objects you indicate. The dictionary lists their names and their types. Format 3: Saves “branch controllers” of the object you indicate (controllers that reside under the site or under the controller) along with the object. Format 4: Saves only the site, controller, or Infinet controller you indicate, without any of its objects. Format 5: When saving objects to the database or the dump file, overwrites any already-existing objects. Format 6: When saving objects to the database or to the dump file, checks to be sure any points that are being taken in from another controller or sent out to another controller are valid.

Remarks

This keyword is restricted to users with administration level access. Replace controller with the name of the controller from which the objects are to be saved from (see Example 1). Replace site with the name of the site where the controller is located (see Example 1).

Plain English Language Reference

7-311

SAVE (workstation), continued
Remarks continued Replace file_string with a path to and name of the ASCII dump file to create and store the data in. When you give the name, include a .dmp extension. The file name must be in quotation marks. You can also give a string point or local string variable that contains the name of the file. The dictionary ensures that later when you load a controller, the unit knows about all objects. For instance if a program refers to a point on another controller, the program’s controller knows about that point through the dictionary. If you use multiple options, be sure that you do not separate them with commas. You can use SAVE from the command line or in a program. If you use it in a program, you must use SAVE on a line by itself. You do not have to indicate that the program should then go to the next line, because it automatically proceeds to the next line after completing the save. See Appendix C for a complete description of the contents of a dump file.

Example 1

You can create an ASCII dump file called FLOOR1.DMP that contains all objects on a controller called FLOOR1 from a site called BUILDING1 as follows: Command Line SAVE \Building1 Floor1 TO "c:\floor1.dmp" You must give the disk location (c:) and the full path to the dump file. The dump file automatically includes all objects on the FLOOR1 controller.

Example 2

To create a dump file that contains only the dictionary of the FLOOR1 controller, you would use the -d option as follows: Command Line SAVE \Building1 Floor1 TO "c:\floor1.dmp" -d This command line creates a file of only the dictionary.

7-312 Andover Controls Corporation

SAVE (workstation), continued

Example 3

To create a dump file of the FLOOR1 controller and all its Infinet controllers, you would include the –b option, as follows: Command Line SAVE \Building1 Floor1 TO "c:\floor1.dmp" -b This command line puts all of the data into the FLOOR1.DMP file. The dump file automatically includes all objects that exist on the controller and on its Infinet controllers.

Example 4

To create a dump file of a controller that does not include all its objects, you would include the -n option, as follows: Command Line SAVE \Building1 Floor1 TO "c:\floor1.dmp" -n

Example 5

To update an existing dump file for the BoilerPanel, since you want to overwrite any old data with the new data, you would include the -o option, as follows: Command Line SAVE \Building1 BoilerPanel TO "c:\boiler.dmp" -o

Example 6

To create a dump file of a program called HEATING and have the CyberStation verify that any points HEATING refers to on another controller are valid, you would use the -v option, as follows: Command Line SAVE \Building1 Floor2 Heating TO "c:\heat.dmp" -v

Example 7

To create a dump file of a report you would give the name of the report, as follows: Command Line SAVE \Building2 TempRept TO "c:\temps.dmp"

Plain English Language Reference

7-313

SAVE (workstation), continued

Example 8

To update a dump file of the FLOOR1 controller, do not include any of its objects except its Infinet controllers, and be sure that you overwrite any existing data in the dump file, you would use several options, as follows: Command Line SAVE \Building1 Floor1 TO "c:\floor1.dmp" -b -n -o Be sure not to use a comma between multiple options.

Example 9

You can also use SAVE within a program to create an automatic backup of a controller in an ASCII dump file. The following program would update the dump file for the FLOOR1 controller, including all of its Infinet controllers, every month on the first of the month at 11:00 p.m.: Program File TestingDateTime: IF DayOfMonth Is 1 and TimeOfDay Is > 23:00 THEN GOTO SavingCntr SavingCntr: SAVE \Building1 Floor1 TO "c:\floor1.dmp" -b -o You might want to save the controller to the database before creating the dump file.

Related Keywords

LOAD

Alias

DUMP

Products Supported

CyberStation.

Modes Available

Command lines

7-314 Andover Controls Corporation

SCAN

System variable

Format

SCAN

Purpose

Is a variable that the controller updates regularly. Indicates the length in seconds of the last interpreter scan interval. Accuracy is +/–. 01 second on the CX series controllers and +/–. 025 second on the Infinet controllers.

Remarks

You cannot change the value of this variable. The controller automatically updates it.

Example

To find the average number of seconds per scan, you would run the following program once every scan after all other programs have been run: Program File NUMERIC TOT.SCAN.SCS, SCAN.COUNT, SCAN.AVG SET TOT.SCAN.SCS, SCAN.COUNT, SCAN.AVG = 0 LINE TOTALING TOT.SCAN.SCS = TOT.SCAN.SCS + SCAN SCAN.COUNT = SCAN.COUNT + 1 IF TOD = 2359 THEN SCAN.AVG = TOT.SCAN.SCA/SCAN.COUNT PRINT "The average scan for ", WKD, " is ", SCAN.AVG, "sec" SET SCAN.AVG = 0 SET SCAN.COUNT = 0 SET TOT.SCAN.SCS = 0 ENDIF For each scan the controller adds the seconds that scan took to the total seconds for the day. Also for each scan, the controller adds 1 to the scan counter. At the end of the day (2359, or 11:59 p.m.), the controller divides the scan total by the number of scans to get the average length of the scans that day. It then prints the average for the day.

Plain English Language Reference

7-315

SCAN, continued

Example continued

The numeric variables used to calculate the average number of scans per day are all set to zero at the end of each day, so that they start at zero the next day.

Alias

SC

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-316 Andover Controls Corporation

SEARCH

Function

Format

SEARCH (string, search_string)

Purpose

Returns the position of the given search_string within string or 0 if the controller can’t find the search_string.

Remarks

Replace string with any text (word or words) or text expression. Replace search_string with any text (word or words) that you want to search for in the string.

Example 1

Program File NSTR = SEARCH ("ABCDE", "BC") The search returns 2 and sets NSTR to 2, the position BC starts at in the string.

Example 2

Program File NSTR = SEARCH ("ABCDE", "CB") The search returns 0 and sets NSTR to 0 because CB is not in the string.

Products Supported

BACnet series, CMX series, CX series, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-317

SECOND

System variable

Format

SECOND

Purpose

Gives the exact number of seconds of the current minute, from 0 to 59.

Remarks

The number of seconds is as indicated by the controller clock. If the time is 10:02:12, then SECOND equals 12.

Example

If you want to take action every time 50 seconds of the minute have gone by, you enter the following program statement: Program File IF SECOND IS GREATER THAN 50 THEN…

Related Keywords

HOD HOUR MINUTE TOD

Alias

SEC

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-318 Andover Controls Corporation

SELECT (CASE)

Statement

Format

Select Case Test_Expression Case Expression_List Statement_List Case Expression_List Statement_List … Case Else Else_Statement_List EndSelect Execution of one or more statements, depending on the value of Test_Expression Test_Expression: Any numeric, string or datetime expression Expression_List: List of one or more expressions, comma separated Statement_List: One or more statements to execute if Test_Expression matches any expression in corresponding Expression_List Else_Statement_List: One or more statements to execute if Test_Expression does not match any expression in any Expression_List. If Test_Expression matches any expression in Case Expression_List, then the statements following that Case clause are executed up to the next Case clause, if any, or up to End Select. At least one Case Expression_List clause is expected. The Case Else clause is used to execute the statements in Else_Statement_List if Test_Expression does not match any expression in any of the Case Expression_List clauses. The Case Else clause is not required, but it is a good idea to have it, to catch any unexpected Test_Expression value. Once the statement(s) in Statement_List or Else_Statement_List have been executed, the statement right after the End Select is the one to execute next. Expressions may be numeric, string or datetime

Purpose

Remarks

Plain English Language Reference

7-319

SELECT (CASE), continued

Statement

Example 1

Select Case Weekday Case Monday, Tuesday Print "Run Mon_Tue Report" Case Wednesday thru Friday Print "Run Wed_Thu_Fri Report" Case Else Print "Run Weekend Report" EndSelect

Example 2

Numeric ReportId Select Case ReportId Case 1 Print "Run First Report" Case 2, 3, 5 thru 10, 15 Print "Run Special Report" Case 20 Print "Run Final Report" Case Else Print "Invalid Report Id" EndSelect

Example 3

Select Case Numeric1 Description Case Numeric2 Description Print "Numeric1 and Numeric2 have the same description” Case “West Building” Print "Numeric1 is the West Building” Case Else Print "Numeric1 is not the West Building” EndSelect

7-320 Andover Controls Corporation

SELECT (CASE), continued

Statement

Related Keywords

IF..THEN..ELSE, BREAK, CONTINUE

Products Supported

CyberStation

Modes Available

Programs

Plain English Language Reference

7-321

SET

Statement

Format

Format 1: SET namelist TO number Format 2: SET namelist = number

Purpose

Assigns a value to a point or variable.

Remarks

Replace namelist with any defined name or list of names. The name or names can be any of these: • Point (any type). • Local variable, either numeric, string, or datetime. The type of name must match the type of number. Replace number with any number or expression, including a string or date and time, or a name that stands for either of those. A numeric name can accept only the results of a numeric expression. A string name can accept only text. A datetime name can accept only a date and time.

Example 1

At any time in a program, you may want to set the value of a variable or array of variables. You use SET with the word TO: Program File SET AREA TO HEIGHT TIMES WIDTH You can also use ADJUST, CHANGE, or MODIFY with TO. With ADJUST and CHANGE, the TO is required: ADJUST VALVE TO OPEN CHANGE SPACE.SP TO 72 MODIFY SPACE.SP TO 72 You cannot use the equals sign with ADJUST or CHANGE, but you can use it with MODIFY.

7-322 Andover Controls Corporation

SET, continued

Example 2

You can set a variable using SET and an equals sign as in the example below: Program File SET KWAVG = AVERAGE (KW) Instead of SET, you can use LET with the equals sign, as follows: LET DWAVG = AVERAGE (KW) You cannot use the word TO with LET. Neither the word SET nor the word LET is required with the equals sign, so you can set the same variable like this: KWAVG = AVERAGE (KW)

Example 3

You can set a string variable or point to a particular value: Program File SET STAT.Message TO "Heat Active"

Example 4

You can set several points and variables to a particular value: Program File SET KWAVG, OATAVG, HWAVG, CHWAVG = 0

Example 5

You can set disabled points only from the command line. (To set disabled points in a testing function, you must run the function from the command line.) In the example below, you disable some input points, then set them to test values: Command Line DISABLE OAT, HWT, CHWT SET OAT = 40 SET HWT = 120 SET CHWT = 50

Plain English Language Reference

7-323

SET, continued

Related Keywords

MOVE

Alias

ADJUST and CHANGE (Format 1 only) LET (Format 2 only) MODIFY

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-324 Andover Controls Corporation

SETDISPLAY

Function

Format

Format 1: SETDISPLAY (display_constant) Format 2: SETDISPLAY (display_constant_list)

Purpose

Sets the DCX 250 Display Unit screen to a color (blue or white) or sets the display to draw a polygon or series of lines (polylines). Returns SUCCESS or FAILURE.

Remarks

You set the display before you begin drawing. The display remains as you set it until you set them again. You must set the display to FILL to draw a polygon rather than drawing lines with LINEPOINT. You must set it to NOFILL to draw lines with LINEPOINT. (See LINEPOINT.) The DCX 250 screen settings you can alter with SETDISPLAY are as follows: Colors: • BLUE • WHITE Drawing: • • FILL NOFILL

Replace display_constant with a single constant from: BLUE, WHITE, FILL or NOFILL. Replace display_constant_list with a list of any of the constants (given above) with commas between. You do not need parentheses if SETDISPLAY is at the beginning of a statement. Before you begin drawing a polyline, you must set the display to NOFILL to ensure you do not draw a polygon instead.

Plain English Language Reference

7-325

SETDISPLAY, continued

Remarks continued

Before you begin drawing a polygon, you must set the display to FILL to ensure you do not draw a polyline instead. You can draw rectangles (see DRAWRECTANGLE) and lines (see DRAWLINE) in white or blue color by setting the display_constant to WHITE or BLUE.

Example

For examples of SETDISPLAY refer to "RELATED KEYWORDS".

Related Keywords

BEGINPOLYLINE DRAWRECTANGLE DRAWLINE

Products Supported

DCX 250 Display Unit.

Modes Available

Programs

7-326 Andover Controls Corporation

Shell

Statement

Format

SHELL string_list

Purpose

Runs one or more programs named by the string or strings. Or runs one or more programs named as string expressions from the Command Line or from inside a CyberStation program.

Remarks

The string_list can be any single string or a list of strings (with commas between them) containing programs. It can also be one or more string expressions that give a program name. TheCyberStation software must be running for the program to run. The string or strings must contain programs with the .exe suffix; however, you may omit the suffix. Note: If the path to the command you are using or the program you are running is not in your config.sys file, autoexec.bat file, or current directory, you must give the full path when you give the command. The full path always includes the disk (or partition) the program is stored on.

Example 1

Command Line Shell "c:\prg\dbmaint.exe" This command runs a program called dbmaint.exe and located under the \prg directory on the C disk. If the path to this program is in your config.sys file, you do not need to give the disk or full path; instead, you give only the program name: Shell "dbmaint.exe"

Plain English Language Reference

7-327

Shell, continued

Example 2

Suppose you want to run a program that is on the C disk drive of the workstation. If the program name is stored in a string called FileNameString, you can run it as follows: Command Line Shell "c:\";FileNameString A program employing this command line as a statement could execute a different program on disk drive C each time it runs.

Example 3

Command Line Shell "a:\";FileNameString, "c:\prog\dbsave","d:\prg\dbrestore.exe" In this command line, the CyberStation software runs several programs one after another. Notice that you may leave out the .exe extension on the program name. (The dbsave program, for instance, is a .exe program.) Be sure you put each disk and program name in quotation marks. The only string not in quotation marks is the name of one you created in control system software.

7-328 Andover Controls Corporation

Shell, continued

Example 4 continued

To run any Presentation Manager program followed by arguments, you can use SHELL with a string that calls the program and its arguments. For example, to edit the dbase.txt file, stored on disk drive C, enter the following: Command Line Shell "edit c:\dbase.txt" The system editor window opens inside the control system software as shown on Figure 8-21.

Figure 8-21. System editor window

This command works as long as the path to the edit command is in your config.sys file.

Products Supported

CyberStation

Modes Available

Command lines and programs.

Plain English Language Reference

7-329

Show

Statement

Format

Format 1: SHOW objectlist Format 2: SHOW logview_list

Purpose

Displays the object or objects each in a separate window on a CyberStation screen.

Remarks

Replace objectlist with any single object or a list of objects (with commas between them) defined in the control system software. Objects include sites, controllers, workstations, Infinet controllers, points, programs, functions, reports, data files, panels, and so on. The objects may have been defined on either a CX series controller or a CyberStation. Reports and panels both open in Run mode. All files other than reports open and display their Andover Controls Plain English statements. Sites and controllers open to the window you defined them in. (Using SHOW gives the same result as selecting File, then Open from the Menu bar.) Replace logview_list with a LogView that you have saved for the Alarm Log, Event Log, Error Log, or Activity Log. May not be more than one LogView for the same log.

Example 1

Command Line Show AirHandler1 The workstation software opens the windows for the air handler.

Example 2

Command Line Show AirHandler1, Room 1VAV, Room2 VAV The workstation software opens the windows for the air handler (controller) and two VAV boxes (Infinet controllers).

7-330 Andover Controls Corporation

Show, continued

Example 3

Command Line Show DailyReport, ChillerDisplay The DailyReport opens and displays in Run mode. The panel called ChillerDisplay opens and displays in Run mode. You can switch to Edit mode once each is open.

Example 4

Command Line Show InputsOwenEdited, Bldg4PointsInAlm This SHOW command opens the Activity Log showing the InputsOwenEdited log view range and the Alarm Log showing the Bldg4PointInAlm log view range. You can open more than one LogView at a time, as long as they are not both for the same log; for instance, you cannot open two different LogViews of the Activity Log.

Products Supported

CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-331

SHOWREPORT

Statement

Format

Format 1: SHOWREPORT object Format 2: SHOWREPORT string

Purpose

Displays the result of a program as a text file in Microsoft Notepad or as an HTML file on an HTML browser.

Remarks

Replace object with the name of a program or a listview. Programs must include the file path. Listviews must contain an associated HTML template file and an HTML browser must be installed on the CyberStation. Replace string with a text string containing the full file path of the HTML file. This also requires that an HTML browser be installed on the CyberStation. When SHOWREPORT runs an HTML report, the results are displayed in a file that has the same name as the HTML report, but with result_number appended to it. For example, with the first usage of SHOWREPORT myreport.htm The file name myreportresult_1.hmt will appear in the HTML browser. The second time myreport.htm is used the file will change to myreportresult_2.hmt and so on. To restart the result file numbering, move or delete the old files from the directory that holds your HTML report.

Example 1

Command line SHOWREPORT MyReport This command displays the results of a program named MyReport in Microsoft Notepad.

Example 2

Command line SHOWREPORT “C:\Program File\Continuum\Reports\SystemChk.htm” This command displays the specified HTML file as a web page in your HTML browser.

7-332 Andover Controls Corporation

SHOWREPORT, continued

Example 3

Command line SHOWREPORT Floor1\NtCtlr1\ListView1 This command displays the result of an HTML report template that has been associated with the listview object named ListView1. The report displays as a web page in the HTML browser on your CyberStation. By using special HTML tags that work with Continuum, the report template can extract attribute values from listview objects and any other Continuum object.

Products Supported

CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-333

SIN

Function

Format

SIN (number)

Purpose

Returns the sine of the angle you specify.

Remarks

The number is any number or expression. The number represents an angle in radians. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File RESULT = SIN (1)

Alias

SINE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers (except i2885,i2887,i3885,i3887), and CyberStation.

Modes Available

Command lines and programs.

7-334 Andover Controls Corporation

SQRT

Function

Format

SQRT (number)

Purpose

Returns the square root of number.

Remarks

The number is any number or expression.

Example

Program File MVAL = SQRT (4) The SQRT function returns 2 and the statement sets MVAL to 2.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-335

StandardDeviation

Function

Format

Format 1: StandardDeviation (numeric_list) Format 2: StandardDeviation (numeric_array) Format 3: StandardDeviation (numeric_log)

Purpose

Finds the standard deviation of a series of numbers. The standard deviation is the result of the following steps: • Find the average of the list. • Find the differences between the average and each number. If the average is 110 and one of the numbers is 112, that difference is 2. • Square the differences, so 2 becomes 4. • Add up the squares and find the average of them. • Take the square root of the average. Format 1: Returns the standard deviation of the listed items. Format 2: Returns the standard deviation of the items in the array. Format 3: Returns the standard deviation of the items in the log.

Remarks

Replace numeric_list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_array with any defined array that contains numbers. Replace numeric_log with any defined log that contains numbers. Items in the list must all be either numbers or variables that contains numbers. If any of the items in the list in Format 1 is an array or a log but does not indicate an element number, the controller retrieves the current value of the point and treats it like any other single item in the list.

7-336 Andover Controls Corporation

StandardDeviation, continued

Example 1

To find the standard deviation of several temperatures, you place them directly in the STANDARDDEVIATION statement. You list them in parentheses as follows: Program File TEMPDEV = StandardDeviation (70, 72, 74) The standard deviation returned is 1.63299.

Example 2

Since you know a certain temperature varies, you have been storing readings in an array called VARTMP. You then use the STANDARDDEVIATION function on that array, as follows: Program File VARIATION = StandardDeviation (VARTMP)

Example 3

You have been logging temperatures in a log for several hours. You can find the standard deviation of them as follows: Program File DEVIANCE = StandardDeviation (TEMPLOG)

Example 4

You can find the standard deviation of several temperatures in a list, including the current value of TEMPLOG, as follows: Program File AVGDEV = StandardDeviation (TMP1, TMP2, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Plain English Language Reference

7-337

StandardDeviation, continued

Alias

SD

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885,i2887,i3885,i3887), and CyberStation.

Modes Available

Command lines and programs.

7-338

Andover Controls Corporation

STATUS#

System variable (programmable)

Format

STATUSnumber

Purpose

Turns on the corresponding status light on the front door of the CX 9200 series controller if you set it to ON and turns it off if OFF. You label the numbered status light on the controller with the event, program, or similar item it indicates the status of.

Remarks

Replace number with number or expression that gives the number of the status light on the front door of the CX 9201 controller, up to 8. If number is greater than the highest status light number, the controller does not recognize the word. The status lights on the CX 9201 controller are numbered 1 through 8. You may not put a space between STATUS and the number. You cannot pulse a status light ON for a particular number of seconds—it must be ON or OFF. The light remains ON or OFF until you change it in a program or from the command line.

Example

Suppose you labeled the fourth status light on the CX 9201 controller “Chiller Alarm Active,” so you could set it when the alarm occurs. After the alarm occurs, to set the light, enter this statement in your program: Program File IF CHILLERALARM4 IS ON THEN SET STATUS4 TO ON

Products Supported

CX 9200 series controller only.

Modes Available

Command lines and programs.

Plain English Language Reference

7-339

STOP

Statement

Format

Format 1: STOP program_list Format 2: STOP point_list

Purpose

Format 1: At the command line level, halts the executing program or programs you specify at current line. Format 2: Sets the point (or points) to bottom of the scale that has been defined for it. It then turns the equipment off, controlling the equipment through the point. You can use this statement in a program to turn off a piece of equipment, or at the command line to directly turn off a piece of equipment.

Remarks

Replace program_list with any program or list of programs. Replace point_list with any defined output point or list of points. The statement is not designed for other types of points, but you can stop an input or numeric point. With an output point, actually stops the piece of equipment. With an input point, sets the point to the bottom of the scale defined for it. With a numeric point, sets the point to the lowest number in the controller system. You might STOP an input after you RUN it to test it when the input is not actually active.

Example 1

You can STOP a program from inside a program in response to a certain set of conditions. For instance, to halt the HEAT.PROG after 8 p.m.: Program File IF TOD > 2000 THEN STOP THE HEAT.PROG If you do not name a program after STOP, the controller assumes you mean the current program.

7-340

Andover Controls Corporation

STOP, continued

Example 2

You can use STOP on the command line to stop one or more pieces of equipment: Command Line STOP THE HEATER AND THE FAN

Related Keywords

ROTATE RUN

Alias

CLOSE SHUT

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-341

STRING

Statement

Format

STRING string_length namelist [array_size_number]

Purpose

Creates and defines one or more names as local string variables. You define the variables inside a program for use only in that particular program. You can specify the length of the string of characters with the string_length. Each variable may be a single variable or an array. You specify an array by including the array_size_number when you define it. Note: STRING also defines fields inside a data file. See the STRING data file statement for format and usage of STRING in data files.

Remarks

Replace string_length (optional) with a number up to 132 for a controller or 254 for Cyberstation, that tells the controller how many characters are in the string. Replace namelist with the name of the string (text) variable you are defining, or a series of string variables separated by commas. Replace array_size_number (optional) with any number up to 32,767 that tells the controller how many positions are in the array. You must define all local string variables at the top of your program. Used to store textual information in the current program. If you do not give a string_length, the string is given the default length, which are 16 characters.

Example 1

To set a string variable, you must first define it using STRING. To define a single string variable of the default length, you enter this program line: Program File STRING FILENAME

7-342

Andover Controls Corporation

STRING, continued

Example 2

To have a program read information from a file containing text, you would create a series of string variables like those below to contain each piece of text information. You can create them all in the same program line: Program File STRING 20 LNAME, LOGON, PWORD, ROOM, TERMINAL The length of each string is 20. To give them different lengths, you must define (declare) each one separately.

Example 3

To create a string array of variables, you must first define the array. The string called PUMP below is an eight-character string with 20 variables in the array (PUMP [1], PUMP [2], PUMP [3], and so on). Program File STRING 8 PUMP[20] PUMP[6] = "HEATPUMP"

Example 4

You can create several arrays of string variables and single string variables all in one program line: Program File STRING PUMP[6], BLOWER[8], HEATERNM, FANNAME

Related Keywords

DATETIME NUMERIC STRINGFILL

Products Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX 250, i2 series (except i2885, i2887) controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-343

STRINGFILL

Function

Format

STRINGFILL(number, charactercode)

Purpose

Returns a string of number length containing a particular character that you specify with the ASCII character code named by charactercode.

Remarks

Replace number with any number or expression. Gives the length of the string. Replace charactercode with the ASCII character code of the character you want to fill the string. See Appendix A for a list of ASCII codes.

Example 1

Suppose you want to print a series of 60 asterisks across the top of a report. You would use STRINGFILL to print them by giving it the number 60 for the number of asterisks, and the number 42 which is the ASCII code for the asterisk, as follows: Program File PRINT STRINGFILL (60, 42)

Example 2

You can draw dashed horizontal lines in a report using STRINGFILL by giving it the number of spaces you want the line to print across (60) and the ASCII code for a dash (45): Program File PRINT STRINGFILL (60, 45)

Example 3

Suppose you want to design a graph to show the peak kilowatt demand for each day in the last week. You can create a bar graph by filling the appropriate number of spaces with, for instance, asterisks. The following program sets up such a graph.

7-344

Andover Controls Corporation

STRINGFILL, continued

Example 3 continued

Program File Numeric DayX PRINT "Peak KW Demand for Week" PRINT " " FOR DayX = 1 TO 7 PRINT ST( DayX);" + "; STRINGFILL(KWD[DayX] /100, 42) NEXT DayX PRINT " +----+----+----+----+----+" PRINT " 0 500 1000 1500 2000 2500 " After the program prints the title, it proceeds to a FOR..NEXT loop. Inside the FOR..NEXT loop, the program first prints the short name of the weekday, based on the number for the day (1 for SUN) using a customized function called ST. Next, the program prints a plus sign after the name. STRINGFILL then uses two values to print the kilowatt demand for that day: • • Kilowatt demand for the day from the KWD array (KWD [1] = Sunday's kilowatt demand, KWD [2] = Monday's kilowatt demand, and KWD [3] = Tuesday's kilowatt demand, and so on. ASCII code for the asterisk (42).

To see how STRINGFILL uses these two values, take a look at Sunday in the graph the program produces, shown below. Program File Output
Peak KW SUN + * MON + * TUE + * WED + * THU + * FRI + * Demand for Week * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

SAT + * * *

Plain English Language Reference

7-345

STRINGFILL, continued

Example 3 continued

+----+----+----+----+----+
0 500 1000 1500 2000 2500 First the program retrieves Sunday's kilowatt demand from the KWD array. Sunday's kilowatt demand is 600 Kw. The program divides the demand by 100, giving 6. So STRINGFILL prints six asterisks for Sunday. The program then retrieves Monday's kilowatt demand from the KWD array. Monday's kilowatt demand is 1000 Kw. The program divides the demand by 100, giving 10. So STRINGFILL prints 10 asterisks for Monday. The program continues to carry out the same process for each day of the week. When it finishes printing Saturday's kilowatt demand, it prints the scale for the graph, displaying 0 to 2500 Kw.

Related Keywords

STRING

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

7-346

Andover Controls Corporation

STRTODATE

Function

Format

STRTODATE(date_time)

Purpose

Returns a date and time that corresponds to the particular date and time you specify in the date_time. The controller has a unique number for each moment in time it can understand. The system uses this date_time to process information about the date and time. If you print a variable that is equal to a STRTODATE, you receive the date_time.

Remarks

The date_time is any actual date and time in a string (surrounded by quotation marks) or the name of a string that has been set to a valid date/time string. To receive the date and time from STRTODATE, you must enter both the date and the time in one continuous input line. You may position the time before the date on that line, if you prefer. You may set up the date in any reasonably interpretable format—using all numbers or spelling the month as either the full word or the three-letter abbreviation. You can separate the month, day, and year with spaces, slashes, dashes, periods, commas, or any combination of these punctuation characters. If you prefer to put the day first, you can, as long as the day is obviously a day. Two ways that a day cannot be misinterpreted as a month are: • Spell the month as a word so that the day is the only other number so low. • Use numbers for both month and day only if the day is greater than 12, since any day between 1 and 12 could be interpreted as a month. The month can be: JAN[UARY] JUL[Y] FEB[RUARY] AUG[UST] MAR[CH] SEP[TEMBER] APR[IL] OCT[OBER] MAY NOV[EMBER] JUN[E] DEC[EMBER]

Plain English Language Reference

7-347

STRTODATE, continued

Remarks continued

YEAR You may enter the year as a two- or four-digit year after 1988. WEEKDAY Since the controller already knows the day of the week that corresponds to each date, you don't need the day. You can, however, place the day of the week after the date; it must be either the three-letter abbreviation or the completely spelled-out name of the day. The weekday can be: MON[DAY] TUE[SDAY] WED[NESDAY] THU[RSDAY] FRI[DAY] SAT[URDAY] SUN[DAY] TIME You enter the time as the one- or two-digit hour and one- or two-digit minute separated by a colon. You can type another colon and follow it with seconds if you would like. You can enter the time in 24-hour time or use regular time with AM or PM after it. The controller translates that time into the 24-hour clock. For instance, you can enter 3:00 PM and the controller automatically translates it to 15:00:00. The following are the acceptable time formats: hh:mm:ss [AM/PM] hh:mm [AM/PM] Where AM and PM (upper- or lowercase) are optional and: hh is hours (00 - 23) and 00 - 11 is AM and hh > 11 is PM if AM/PM isn't specified mm is minutes (00 - 59) ss is seconds (00 - 59)

7-348

Andover Controls Corporation

STRTODATE, continued

Example

Program File CONV.DATE = STRTODATE ("SEPTEMBER-21-20001 11:00 pm")

Alias

STRTOTIME

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-349

STRTONUM

Function

Format

STRTONUM(string)

Purpose

Converts a string that contains a number in a string variable or other string form to a numeric variable so it can be used in mathematical operations. Returns the converted numeric value.

Remarks

The string is any number in ASCII form (in quotation marks) or string expression that stands for a number in text form. If string is not a valid numeral or series of numerals, STRTONUM fails. If STRTONUM fails, the program either goes to LINE E (see LINE keyword) or disables. Once a number is in a numeric variable, it can be used in mathematical expressions and operations.

Example

If you receive string input from the keyboard, but you want it to be numeric so you can add it to another number, you use STRTONUM. The following program adds the string (in quotation marks) that contains 78.5 to the number 92.8: Program File NUMERIC TRANS TRANS = STRTONUM("78.5") + 92.8 PRINT TRANS Output
171.3

Alias

VAL

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

7-350

Andover Controls Corporation

SUCCESS

Constant

Format

SUCCESS

Purpose

Used in expressions to indicate a process or function has completed successfully.

Remarks

SUCCESS is always numeric and equal to zero.

Example

Program File IF OpenFile (C:\text\zoe.txt, ReadOnly, ZONEDATA) = SUCCESS THEN PRINT "OPEN SUCCESSFUL" GOTO NEXTPROG ENDIF

Related Keywords

FAILURE

Products Supported

CMX series, CX series, DCX 250 controllers, and CyberStation

Modes Available

Command lines and programs.

Plain English Language Reference

7-351

SUM

Function

Format

Format 1: SUM (numeric_list) Format 2: SUM (numeric_array) Format 3: SUM (numeric_log)

Purpose

Format 1: Returns the sum of the listed items. Format 2: Returns the sum of the items in the array you name. Format 3: Returns the sum of the items in the log you name.

Remarks

Replace numeric_list with one or more numbers or names that stand for numbers, separated by commas. Replace numeric_array with any defined array that contains numbers. Replace numeric_log with any defined log that contains numbers. Replace number with any number or expression. Items in the list must all be either numbers or variables that contains numbers. If any of the items in the list in Format 1 is an array or a log, the controller retrieves the first item from the array or log and treats it like any other single item in the list.

Example 1

To sum several timers, you place them directly in the SUM function statement. You list them in parentheses after SUM, as follows: Program File TOTAL.TIMERS = SUM (TIMER1, TIMER2, TIMER3, TIMER4)

7-352

Andover Controls Corporation

SUM, continued

Example 2

You have been storing calculated values in an array called PARTTME. You then use the sum on that array, as follows: Program File TOTAL TIME = SUM (PARTTIME)

Example 3

You have been logging temperatures in a log for several hours. To find the sum of them, you find the sum of that log, as follows: Program File HOURLYTOT = SUM (TEMPLOG)

Example 4

You find the sum of several temperatures in a list, including the current value of TEMPLOG, as follows: Program File HOURLYAVG = SUM (TMP801, TMP802, TEMPLOG) In this instance, TEMPLOG is interpreted as the current value of TEMPLOG.

Products Supported

ACX series, BACnet series, CMX series,CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-353

SystemStatus

System variable

Format

SystemStatus

Purpose

Indicates the current access control mode of the ACX and CX series controllers.

Remarks

Applies only to ACX and CX series controllers. You cannot set the SystemStatus. The control system software sets it for you automatically. You can print SystemStatus from the command line or use it in a program. You must connect to the access controller before you can print or use the SystemStatus. Or you can access SystemStatus using the full path to it. The three values the SystemStatus can have are as follows: • Normal—The 700 series controller is working normally. • NoComm—Communication between the access server and the 700 series controller has failed. • NoDatabase—Access server or the access controller has been reset or has otherwise lost the database to check access card numbers and personal identification numbers (PINs) against.

Example 1

If you want to see whether or not communication is occurring between the access server and the Door1 access controller, you can type the following on the command line: Command Line PR Door1 SystemStatus The system responds as follows if no communication is occurring:
Door1 SystemStatus = NoComm

7-354

Andover Controls Corporation

SystemStatus, continued

Example 2

If you want to take a particular action each time the Door1 700 series controller has lost communication with the database, you can type the following in a program: Command Line IF Door1 SystemStatus = NoComm or Door1 SystemStatus = NoDataBase THEN Run InterimProcedure Endif

Products Supported

ACX and CX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7-355

TAB

Function

Format

TAB(number)

Purpose

Returns a series of continuous blank spaces. The number of blank spaces is number.

Remarks

The number is any number or expression. The number represents the number of spaces you want to push the printed text to the right, as on a typewriter. Must be less than 132.

Example

Program File PRINT TAB(10); "This is a Title" Output
This is a Title

Notice that the text is moved ten spaces to the right

Related Keywords

PRINT

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Programs

7-356

Andover Controls Corporation

TAN

Function

Format

TAN (number)

Purpose

Returns the tangent of number.

Remarks

The number is any number or expression. The number represents an angle measured in radians. Radians = degrees TIMES (3.14159/180). Degrees = radians TIMES (180/3.14159).

Example

Program File POSITION = TAN (3.14159/4)

Alias

TANGENT

Products Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-357

TD

Local variable

Format

TD

Purpose

Contains the number of days (Time in Days) that have elapsed since the program has been on the current line. The total is stored as an IEEE floating point number.

Remarks

TD stands for Time in Days.

Example

To have a lead pump run for 3 days, then turn on the lag pump, you would check to see if the pump has been running for 3 days after you activate it: Program File LINE FIRSTPUMP TURN ON LEADPUMP IF TD = 3 THEN GOTO SWITCHPUMP LINE SWITCHPUMP IF LEADPUMP = PUMP1 THEN SET LEADPUMP = PUMP2 ELSE SET LEADPUMP = PUMP1 ENDIF The controller measures 3 days starting the instant that the program is on the line making the request for elapsed time.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7-358

Andover Controls Corporation

TH

Local variable

Format

TH

Purpose

Contains the number of hours (Time in Hours) that have elapsed since the program has been on the current line. The total is stored as an IEEE floating point number.

Remarks

TH stands for Time in Hours.

Example

To have the lead fan run 1 hour then run the lag fan, you would check to see if the fan has been running for 1 hour after you activate it: Program File LINE FIRSTFAN TURN ON LEADFAN IF TH = 1 THEN GOTO SWITCHFAN LINE SWITCHFAN IF LEADFAN = FAN1 THEN SET LEADFAN = FAN2 ELSE SET LEADFAN = FAN1 ENDIF The controller measures 1 hour starting the instant that the program is on the line making the request for elapsed time.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-359

THE

Statement

Format

THE name

Purpose

Performs no function, but enhances readability.

Remarks

The name is any point, piece of equipment, terminal, computer, or printer. THE can precede a name only. It cannot precede a keyword that designates an action (verb).

Example

Program File TURN ON THE FAN

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-360

Andover Controls Corporation

TIMEPIECE

Function

Format

TIMEPIECE (datetime_system_variable , datetime_name)

Purpose

Retrieves the piece of time (hour, minute, second) or the piece of the date (weekday, month, day of the month, year, day of the year) from a variable or point.

Remarks

Replace datetime_system_variable with one of the date or time system variables: HOUR, MINUTE, SECOND, HOD, TOD, WEEKDAY, MONTH, DAYOFMONTH, YEAR, DAYOFYEAR Replace datetime_name with any variable, date and time, including datetime variables and points and the DATE system variable.

Example 1

Program File DATETIME DATE1 NUMERIC CURRENTMIN DATE1 = STRTODATE ("5-25-01 11:13:23") CURRENTMIN = TIMEPIECE (MINUTE, DATE1) In this program, the TIMEPIECE function retrieves the minute from DATE1 and returns 13.

Example 2

Program File NUMERIC TODAYMONTH TODAYMONTH = TIMEPIECE (MONTH, DATE) In this program, the TIMEPIECE function retrieves the month from the DATE system variable. If the date is June 20, 1992, TODAYMONTH is set to JUNE.

Plain English Language Reference

7-361

TIMEPIECE, continued

Related Keywords

DATE DATETIME HOUR MINUTE SECOND HOD TOD MONTH YEAR DAYOFMONTH DAYOFYEAR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-362

Andover Controls Corporation

TIMES

Operator

Format

number TIMES number

Purpose

Multiplies two numbers.

Remarks

The number is any number or expression.

Example 1

Program File ENERGYCOST = BUILDING1 KW TIMES 1.78

Example 2

Program File ENERGYCOST = BUILDING1 KW * 1.78

Alias

MULTIPLIED BY MULT *

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-363

TM

Local variable

Format

TM

Purpose

Contains the number of minutes (Time in Minutes) that have elapsed since the program has been on the current line. The total is stored as an IEEE floating point number.

Remarks

TM stands for Time in Minutes.

Example

To have a 5-minute warmup of a fan before turning on the pump, you would check to see if the fan has been running for 5 minutes after you activate it: Program File LINE WARMUP TURN ON FAN IF TM = 5 THEN GOTO RUNNING LINE RUNNING TURN ON PUMP The controller measures 5 minutes starting the instant that the program is on the line making the request for elapsed time.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

7-364

Andover Controls Corporation

TOD

System variable

Format

TOD

Purpose

Gives the time of the day, from 12:00 a.m. (midnight) to 11:59 p.m. Also allows you to compare the time of day to 0 (midnight) to 2359, where 2359 is the equivalent of 23:59 on the 24-hour clock.

Remarks

The time of day is the time from the controller clock. You cannot change TOD. The controller automatically updates it.

Example 1

To check to see if the time of day is past 5:00 a.m., you enter one of the following: Program File IF TOD IS GREATER THAN 5:00 am THEN… If you do not give a.m. or p.m., the controller assumes you mean a.m. You must include the colon with “am” or “pm.” Never use periods after the A or M, or P or M.

Example 2

When you print out TOD, as in the following example, you always receive the 12-hour time followed by a.m. or p.m.: Program File PRINT TOD The time appears as follows: 8:00:00 pm

Related Keywords

HOD HOUR MINUTE

Plain English Language Reference

7-365

TOD, continued

Alias

TIMEOFDAY

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-366

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 0 0 0 00 0 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000 00 00 00 0000 00 00 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 28 12 20 4 61 53 45 37 13 29 21 5 62 54 46 38 30 14 22 6 63 55 47 39 31 23 15 7 48 40 32 24 16 64 56 8

Remarks

Purpose

Format

TOUCHEDCELL

The cells on the 250 screen are as shown on Figure 8-22.

Gives the number from 1 to 64 of the first block (cell) that an operator touched on the DCX 250 Display Unit screen during the last scan. If the operator touches more than one cell, the lowest (top leftmost) cell number is the value.

TOUCHEDCELL

You can reset TOUCHEDCELL to zero with CLEARSCREEN.

The operator must press the cell for at least 100 ms. If the operator presses the cell continuously, the TOUCHEDCELL value updates every second.

Figure 8-22. The DCX 250 Display Unit screen touch cells

Plain English Language Reference

System variable

7-367

Example 1

TOUCHEDCELL, continued

For instance, on the graphic shown in Figure 8-23, the first button is on CELL 19, the second on CELL 35, and the third on CELL 51.

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 0000 00 00 000000000000000000000000 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
ROOM FAN STATUSES Room3 Fan Status Room2 Fan Status Room1 Fan Status

7-368

Andover Controls Corporation

You determine whether or not an operator has pressed a particular button on the screen, by comparing the value of TOUCHEDCELL (the last touched cell) to the cell that button appears on.

Program File IF TOUCHEDCELL = 19 THEN GOTO ROOM1FAN.DCX IF TOUCHEDCELL = 35 THEN GOTO ROOM2FAN.DCX IF TOUCHEDCELL = 51 THEN GOTO ROOM3FAN.DCX You write the program as follows:
Figure 8-23. Touch Cell grid behind buttons

When you draw buttons, be sure each overlays a particular cell.

TOUCHEDCELL, continued

Example 2

You determine whether or not an operator has pressed any button by determining that TOUCHEDCELL has any value other than zero. Program File IF TOUCHEDCELL THEN RUN GRAPHDISPLAY

Products Supported

DCX 250 Display Unit.

Modes Available

Programs

Plain English Language Reference

7-369

TRUNCATE

Function

Format

TRUNCATE (number)

Purpose

Drops the fractional part of number and returns the integer..

Remarks

The number is any number or expression. See the ROUND keyword for a comparison of all rounding functions

Example 1

Program File CHP = TRUNCATE (4.5) TRUNCATE returns 4 and the program statement sets CHP to 4.

Example 2

Program File VAL.C = TRUNCATE (-1.7) TRUNCATE returns -1 and the program statement sets VAL.C to -1.

Alias

TRUNC

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

7-370

Andover Controls Corporation

TS

Local variable

Format

TS

Purpose

Contain the number of seconds (Time in Seconds) that have elapsed since the program has been on the current line. The total is stored as an IEEE floating point number.

Remarks

TS stands for Time in Seconds.

Example

To allow for a 90-second valve stroke time, see if 90 seconds have elapsed since you opened the valve: Program File LINE WaitForValve TURN ON Valve IF TS >= 90 THEN GOTO StartHWPump LINE StartHWPump Turn on HWPump The controller measures 90 seconds starting the instant that the program is on the line making the request for elapsed time.

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-371

TURN

Statement

Format

Format 1: TURN ON point_list TURN OFF point_list Format 2: TURN point_list ON TURN point_list OFF

Purpose

Sets the name or names to the top of the defined range for the point if ON and to bottom of the range if OFF.

Remarks

The point_list is one or more defined output or numeric points; the statement is not designed for other types of points. All output points used with TURN must have a range with its top and bottom defined.

Example 1

Suppose you want to turn on the fan and the pump. You can turn both on in one program statement: Program File TURN ON THE FAN AND THE PUMP

Example 2

You can place the word ON or OFF after the name of the point: Program File TURN THE PUMP OFF

Example 3

You can also place ON or OFF before the name of the point: Program File TURN OFF THE PUMP

7-372

Andover Controls Corporation

TURN, continued

Related Keywords

SET

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-373

UniquePIN

System variable

Format

UniquePin

Purpose

Indicates whether or not each person who has access must have a unique personal identification number (PIN).

Remarks

You cannot set the UniquePIN system variable, but you can print or access it from the command line or use it in a program. Its value is always TRUE or FALSE. You must connect to the applicable controller before you can access UniquePIN from the command line. Or you can access UniquePIN using the full path.

Example 1

To find out whether or not the personal identification numbers (PINs) on the CX controller are each unique, you can print UniquePIN from the command line as follows: Command Line PR AccessController UniquePIN The response will be either TRUE or FALSE.

Example 2

To take a particular action based on whether or not the personal identification numbers (PINs) on a controller are each unique, you can type the following program statement into the CX controller: Command Line IF DoorController UniquePIN is TRUE THEN…

Products Supported

ACX series controllers, CX series controllers (except 9500), and CMX series controllers.

Modes Available

Command lines and programs.

7-374

Andover Controls Corporation

UPDATE

Function

Format

UpDate (user, phone_number, comport, timeout)

Purpose

From a controller, if a phone number is provided, dials the phone number to contact a workstation and pushes alarms and events to the workstation. If the phone number is an empty string, Update assumes that a PE program has already opened the port and established a connection. After update, the controller sends Alarm Event Update packet to the workstation which then polls for alarms and events. You indicate the port where the Infinity modem is connected on the controller. UpDate applies only on an Infinity controller with a modem. UpDate always pushes alarms and events to the workstation. You can use UpDate in a program, but not on the Command line. When you use UpDate from a program, you must use it on a labeled line by itself. After it executes, UpDate automatically moves the program to the next labeled line. The next labeled line should then test for the returned results of UpDate. If a valid phone number string is provided, UpDate turns on DTR (Data Terminal Ready) for the controller’s port. Otherwise, UpDate assumes that a PE program has opened the port and established a connection. Update automatically dials the call to the modem if you provide a valid phone number string, so you do not use it with the dial keyword. The phone number string can be a simple telephone number such as ”978-470-0555”.

Remarks

! !

CAUTION Update momentarily changes the port to RAW mode, while it is dialing. However, while the port is in Raw mode, you cannot sent it READ or PRINT statements. READ and PRINT both return FAILURE and they drop any characters you are attempting to send down the port.

Plain English Language Reference

7-375

UPDATE, continued

Remarks continued

If the first character in the phone number string is not an ‘A’ or ‘a’ then the update command will issue the standard “ATDT” Command to the modem and then the phone number to be dialed. The phone number string can also contain valid AT Commands such as “ATD,T,, 978-470-0555”. If the first character in the phone number is an ‘A’ or ‘a’, the UpDate keyword assumes that the phone number string contains valid AT commands prior to the phone number to command the modem to dial. This feature is useful for 3rd party modems or Cellular Modems that require something other than “ATDT” to command dialing. UpDate automatically checks to see if the workstation acknowledges the update request. If it does: • UpDate starts a PPP session. • PPP Alarm & Event Msg is sent to the workstation. If no response is received, the controller drops the connection after timeout. Otherwise, the controller waits until the workstation finishes polling for Alarms and Events and then terminates the connection. Replace timeout with the number of minutes that the system waits before it starts the PPP session. If you do not give a timeout, it is automatically set to 0. The maximum you can set the timeout to is 255 seconds. If you set it to a greater number of seconds, UpDate automatically sets the timeout to 225. Can also be a numeric point or local numeric variable set to the number of seconds. UpDate can return any of the following results:

7-376

Andover Controls Corporation

UPDATE, continued
Returned
Success Failure

When
Controller has established connection with the workstation One of the following situations exists: • Comm port is not in the correct mode. • Default port is not defined. • Phone number contains an incorrect expression or is otherwise incorrect. • Controller does not receive an ACK from the workstation. • Workstation does not establish a PPP connection with the controller within 30 seconds plus the timeout you supply. Controller does not detect a carrier on the communications line. Controller detects a continuous ringback signal on the line for longer than the modem expiration timer allows. The expiration timer is the S-7 register, which is automatically set to 50 seconds if you do not change it. To change it, refer to the modem manual. Controller detects a busy signal on the line. Modem is waiting for a dial tone before dialing and has not received one.

DialNoCarrier DialNoAnswer

DialBusyTone DialNotDialTone

Plain English Language Reference

7-377

Example

You can use UpDate to update alarms and events. The following program is an example of using UpDate to update alarms and events at an interval. It uses a FallThru program to force the controller to "Push" it's updates after a given time interval. 'Program triggered by minute system variable to update alarms and events every 15 minutes Numeric FailedAttempt, UpdateStatus Initialize: FailedAttempt = 0 If (Minute Mod 15) = 0 Then GoTo PushUpdates Else GoTo EndProg Endif PushUpdates: UpdateStatus = UPDATE ("acc:acc", "122"', comm3, 4) ‘ Using alternate AT Command ‘ Issue the ATD command, then pause, issue the T command and ‘ pause again… ‘UpdateStatus = UPDATE ("acc:acc", "ATD,T,, 122"', comm3, 4) ‘ Assuming PE has already opened the port and ‘ established a connection ‘UpdateStatus = UPDATE ("acc:acc",""', comm3, 4) CheckUpdate: If UpdateStatus = Success Then GoTo Endprog FailedAttempt = FailedAttempt + 1 AltUpdate: UpdateStatus = UPDATE ("acc:acc", "236", comm3, 4) ‘ Using alternate AT Command ‘ Issue the ATD command, then pause, issue the T command and ‘ pause again… ‘UpdateStatus = UPDATE ("acc:acc", "ATD,T,, 236"', comm3, 4) CheckAltUpdate: If UpdateStatus = Success Then GoTo EndProg FailedAttempt = FailedAttempt + 1 If FailedAttempt < 4 Then GoTo PushUdates EndProg: Stop

7-378

Andover Controls Corporation

UPDATE, continued

Example continued

For example, if the controller calls the workstation and the workstation is off line (busy), then the controller waits 4 minutes until the line is dropped. If the workstation comes on-line within the 4 minutes, then the UdDate will take effect.

Related Keywords

InitModem

Products Supported

Available only on CX series controllers.

Modes Available

Command lines and programs.

Plain English Language Reference

7-379

UpdateExtLog

Function

Format

UpdateExtLog (object, datetime)

Purpose

Begins updating an extended log for the point, group of points, or controller you give it. If you are not sure what an extended log is, refer to the Continuum CyberStation Configurator'sGuide for further information. Note: You must use this statement on an CyberStation. It is not available on controllers.

Remarks

Replace object with the name or full path and name of a point that is set up as an extended log, a group (where some group members are extended logs), or a controller (with some points that are extended logs). When you give a controller, you must give the full path to the controller. Can also be a local OBJECT variable. Replace datetime (optional) with the datetime point or local variable that the software automatically sets to the next time the extended log needs to be updated. This point or variable gets its information from the extended log setup information of the point, group, or controller. If you do not provide a datetime point or variable, UpdateExtLog does not return the next date and time to update the extended log. You must use the UpdateExtLog statement on a line by itself. After executing a statement formed with UpdateExtLog, the program automatically proceeds to the next labeled line. UpdateExtLog returns SUCCESS or FAILURE. When do you update the extended log? When you expect the log is full and ready to store values long-term, in the extended log. Since you do not know this information for every log you have set up, you can let the software retrieve the information from the database. As soon as the software sees the UpdateExtLog statement in a program, it understands the purpose of the datetime variable you defined and retrieves the correct value for it from the database.

7-380

Andover Controls Corporation

UpdateExtLog, continued

Remarks continued

(You can, however, set the value of the datetime variable yourself, if you prefer.) You can run UpdateExtLog on only one extended log at a time per workstation. If you attempt to update more than one extended log at a time, the software considers it an error and displays that error in the Error Log of the database. What is the maximum number of entries you can have in an extended log? It is the number of entries you would have if you logged the point value every half-hour for one year—up to 17,520 entries. This number remains the same, regardless of the interval. So, if you log the point every 15 minutes (twice as often), you can store up to 6 month’s (half as long a period) of extended log entries for that point.

Example 1

Suppose you want to update an extended log called TEMP1 on the FLOOR1 controller. You would use the UpdateExtLog statement as shown in the following program: Program File Numeric Result Datetime UpdateTimer Updating: Result = UpdateExtLog (Building3 Floor1 Temp1, UpdateTimer) Checking: If Result = Success Then Goto WaitUntilLogTime Else Print "Could not update extended log for Floor1 Temp1" Stop Endif WaitUntilLogTime: If Time > = UpdateTimer then Goto Updating Else Goto WaitUntilLogTime Endif

Plain English Language Reference

7-381

UpdateExtLog, continued

Example 1 continued

This statement tells the software to update the TEMP1. First, the statement retrieves the correct UpdateTimer value from the extended log setup information. Then, when the current time is 60 seconds greater than the UpdateTimer, the software retrieves values from the regular log and stores them in the extended log on the workstation. This way, old values are stored. The statement updates the log once, and sets the UpdateTimer local DATETIME variable to the next time the log should update. The way it is written here, the program remains on the WaitUntilLogTime until the next update time. If you would like, you could have the program stop after the ELSE in the WaitUntilLogTime line and run this program manually

Example 2

Suppose you want to update a group of extended logs that are all members of a group called TempPoints. You would use the UpdateExtLog statement as shown in the following example: Program File Datetime UpdateTimer Updating: Result = UpdateExtLog (TempPoints, UpdateTimer) Checking: If Result = Success Then Goto WaitUntilLogTime Else Print "Could not update extended logs in TempPoints group" Stop Endif WaitUntilLogTime: If Time > = UpdateTimer then Goto Updating Else Goto WaitUntilLogTime Endif This statement tells the software to update all of the extended logs in the TempPoints group. First, the statement retrieves the correct

7-382

Andover Controls Corporation

UpdateExtLog, continued

Example 2 continued

UpdateTimer value from the extended log setup information. Then, when the current time is 60 seconds greater than the UpdateTimer, the software retrieves values from the regular log and stores them in the extended log on the workstation. This way, the software stores the old log values. The statement updates each log once, and sets the UpdateTimer local DATETIME variable to the next time the group of extended logs should update. In this case, the group is under the root; however, if the group is not under the root, you must give the full path to the group

Example 3

Suppose you want to update all of the extended logs on the Floor4 controller. You would use the UpdateExtLog statement as shown in the following example: Program File Datetime UpdateTimer Updating: Result = UpdateExtLog (Building3 Floor4, UpdateTimer) Checking: If Result = Success Then Goto WaitUntilLogTime Else Print "Could not update extended logs in TempPoints group" Stop Endif WaitUntilLogTime: If Time > = UpdateTimer then Goto Updating Else Goto WaitUntilLogTime Endif This statement tells the software to update all of the extended logs in the Floor4 controller at the Building3 site. Remember that you must give the full path to the controller.

Plain English Language Reference

7-383

UpdateExtLog, continued

Example 3 continued

First, the statement retrieves the correct UpdateTimer value from the extended log setup information. Then, when the current time is 60 seconds greater than the UpdateTimer, the software retrieves values from the regular log and stores them in the extended log on the workstation. This way, the software stores the old log values. The statement updates each log once, and sets the UpdateTimer local DATETIME variable to the next time the extended logs on the controller should update.

Example 4

If you want to update a single extended log from the Command line, you can enter a simplified UpdateExtLog statement, with no datetime, as follows: Command Line UpdateExtLog (Building3 Floor4 Temp1)

Example 5

If you want to update a group of extended logs from the Command line, you can enter a simplified UpdateExtLog statement, with no datetime, as follows: Command Line UpdateExtLog (Building3 TempsGroup)

Example 6

If you want to update all the extended logs on a single controller from the Command line, you can enter a simplified UpdateExtLog statement, with no datetime, as follows: Command Line UpdateExtLog (Building3 Floor4)

Example 7

To update only the input points on a controller, you can open a list of input points using OpenList (see OpenList keyword) and then get each point in the list. By testing the ExtLogSize attribute of each point, you can determine whether or not the point is an extended log. If it is an extended log, you can then update it as you did in the earlier examples. Below is a fallthru program that opens a list of points on the Floor4 controller and updates each extended log in the list. In this case, you should not use a datetime point or variable with the UpdateExtLog statement:

7-384

Andover Controls Corporation

UpdateExtLog, continued

Example 7 continued

Program File Object AnExtLog Numeric OK, Result OpeningLogs: OK = OpenList ("Input", AnExtLog, Building3 Floor4) Testing: If OK = Success Then Goto GettingLog Else Goto ClosingLogs GettingLog: If GetObject (AnExtLog) is Not Success Then Goto ClosingLogs Else If AnExtLog ExtLogSize > 0 Then Goto Updating Else Goto GettingLog Endif Endif Updating: Result = UpdateExtLog (Building3 Floor4) Checking: If Result = Success Then goto GettingLog Else Print "Could not update extended logs" Goto ClosingLogs Endif ClosingLogs: OK = CloseList (AnExtLog) Goto Ending Ending: If Ok = Failure Then Print "Cannot Close List" Stop

Plain English Language Reference

7-385

UpdateExtLog, continued

Example 7 continued

This statement tells the software to update all of the extended logs in the Floor4 controller at the Building3 site. Remember, you must give the full path to the controller. For further information on getting point with GetObject, see the OBJECT, OpenList, GetObject, and CloseList keywords.

Related Keywords

DeleteExtLog

Products Supported

CyberStation

Modes Available

Command lines and programs.

7-386

Andover Controls Corporation

VERSION

System variable

Format

VERSION

Purpose

Gives current version of the software running on the CX series controllers or Infinet controllers.

Remarks

You cannot change the value of VERSION. The control system software updates it automatically when you update your control system software.

Example

If you contact Andover Controls Technical Support for assistance, you may be asked the version of control system software you are running. To determine the version, type the following on the command line: Command Line PR VERSION The controller responds with the following message:
Version = 1.3

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-387

WEEKDAY

System variable

Format

WEEKDAY

Purpose

Gives current day of week, from SUNDAY through SATURDAY.

Remarks

When printed, the weekday is spelled out as Sunday, Monday, Tuesday, Wednesday, and so on through Saturday. You may, however, compare the WEEKDAY to: • The numbers 1 through 7 (1 equal to Sunday). • The abbreviated three-letter names (first three letters). • The entirely spelled out weekday. All values of the weekday are as follows:
Constant
1 2 3 4 5 6 7

Short Name
SUN MON TUE WED THU FRI SAT

Long Name
SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY

Example 1

You can spell out names for printing or for comparing to an actual day: Program File IF WEEKDAY IS SATURDAY THEN PRINT WEEKDAY Output
Saturday

7-388

Andover Controls Corporation

WEEKDAY, continued

Example 2

You can use the short name or the constants 1 through 7 for comparing the weekday in an IF statement: Program File IF WEEKDAY IS > SUN OR WEEKDAY < 7 THEN…

Alias

WKD

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-389

WHILE

Statement

Format

WHILE number statement statement ... ENDWHILE

Purpose

Carries out the instructions in the statements within the loop over and over again as long as the given number is true.

Remarks

Replace statement with any complete instruction that tells the program what to do next or what action to take. Replace number with any number or expression, including a date and time or name that stand for one. If the number is TRUE (non zero) the while loop is executed. If it is FALSE (zero) , the while loop is not executed. If the number is a variable it can be changed inside the while loop to cause the loop to terminate. One event within the loop must occur to satisfy the number.

! !

CAUTION The scan action limits the number of statements that can execute on one line to 5000. Be careful of exceeding the limit when using WHILE.

Example

Program File SET COUNTER TO 0 WHILE COUNTER < 10 COUNTER = COUNTER + 1 ENDWHILE

7-390

Andover Controls Corporation

WHILE, continued

Related Keywords

IS… BREAK CONTINUE

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Programs

Plain English Language Reference

7-391

WHITE

Constant

Format

WHITE

Purpose

Sets the graphics on the DCX 250 Display Unit screen to white when you use it with SETDISPLAY.

Remarks

The graphics on the 250 screen may be blue or white.

Example

You set the color of the graphics on the DCX 250 Display Unit, as follows: Program File SET DISPLAY (WHITE)

Related Keywords

BLUE SETDISPLAY

Products Supported

DCX 250 Display Unit

Modes Available

Programs

7-392

Andover Controls Corporation

WriteFile

Function

Format

WriteFile (file_variable_name, string, number, numeric_var_or_point)

Purpose

Puts data into (writes to) a text file you opened earlier with OPENFILE.

Remarks

WRITEFILE automatically starts writing data where it last stopped unless you specify that it must start at another position, such as the beginning or end of the file. You can also specify a particular number of characters to move away from the current position, beginning, or end of the file with POSITIONFILE file_variable_name must be a control system software FILE variable name you created earlier with FILE to correspond to a text file name. Replace string with any string of characters in quotation marks or expression that gives a string that contains the text the control system software should place (write) in the file. Can also be a local string variable or a string point. Replace number with the number of characters to write into the file from the string. May be any number or expression that gives a number up to 129. Replace numeric_var_or_point with a numeric variable or numeric point to store the number of actual characters WRITEFILE has put in the file (written) once the writing is complete. This value should be the same as number above; if it is not, then an error has occurred. After you created a FILE variable name and you open a file with OPENFILE, you can then write into the text file with WRITEFILE. If WRITEFILE is successful, it returns the number of characters it has written (in the numeric variable or numeric point you designate) and it returns SUCCESS. If it is not successful, it returns FAILURE.

Example 1

Suppose you want to write a record to a text file. After you define the FILE variable name and open the file, you can write to it with WRITEFILE.

Plain English Language Reference

7-393

WriteFile, continued

Example 1 continued

In the example below, the WRITEFILE statement gives the FILE variable name, the name of the string that contains the record (RECORDLINE), and the number of characters in the string (80), and a numeric variable to receive the actual number of characters written (CHARS). If the entire process (OPENFILE, WRITEFILE, and CLOSEFILE) is successful, the program stops at the end of the CLOSING line. If any failures occur, the control system software runs the FAILING line. Once you have opened the file and taken action on it, you must close the file with CLOSEFILE using the name you created with FILE Program File FILE ZONEDATA STRING 80 RECORDLINE NUMERIC CHARS, OK LINE Opening SET OK = OpenFile ("c:\text\zone.txt", WRITEONLY, ZONEDATA) IF OK = FAILURE THEN GOTO FAILING ELSE GOTO Writing LINE Writing OK = WriteFile (ZONEDATA, RECORDLINE, 80, CHARS) GOTO Closing LINE Closing OK = CloseFile (ZONEDATA) IF OK = FAILURE THEN PRINT "A File Function Has Failed"

Example 2

To read multiple records from one text file and write them to another, you would use READFILE, then WRITEFILE. Because you have two files, you would create two FILE variable names. You call the file that the control system software should retrieve data from ZONEDATA and the one it should put data into SETPTFILE. You would then want the control system software to read records until it reaches the end of the file, so you would test for READFILE = EOF. The

7-394

Andover Controls Corporation

WriteFile, continued

Example 2 continued

control system software should read 16 characters or until a carriage return indicates the end of the record. (You could also use POSITIONFILE to set the position to begin the action⎯ first for reading, then for writing.) For each record (16 characters long), you would want WRITEFILE to put the record in the new file, called SETPTFILE, as follows: Program File WRITEFILE (SETPTFILE, RECORDLINE, 16, CHARSWRITTEN) Below is a complete program that copies the text from one file to another: Program File FILE ZONEDATA, SETPTFILE STRING 80 DATALINE, RECORDLINE, RESULT NUMERIC CHARSREAD, CHARSWRITTEN, OK LINE Opening CHARSREAD = 0 If OpenFile ("c:\text\zone.txt", READONLY, ZONEDATA) = Failure Then RESULT = "Could not open zone.txt file" GOTO FAILING Endif If OpenFile("c:\text\stpt.txt", WRITEONLY, SETPTFILE) = Failure Then RESULT = "Could not open stpt.txt file" GOTO FAILING ELSE GOTO Copying ENDIF GOTO Copying LINE Copying OK = ReadFile (ZONEDATA, DATALINE, 16, CHARSREAD, "|13") IF OK = FAILURE THEN RESULT = "Could not read file" GOTO FAILING ELSE IF OK = EOF THEN RESULT = "Could not read file" GOTO Closing ENDIF ENDIF

Plain English Language Reference

7-395

WriteFile, continued

Example 2 continued

OK = WriteFile (SETPTFILE, RECORDLINE, CHARSREAD, CHARSWRITTEN) IF OK = FAILURE THEN RESULT = "Could not write file" GOTO FAILING ENDIF LINE Failing PRINT RESULT GOTO CLOSING LINE Closing IF CloseFile (ZONEDATA) IS FAILURE THEN RESULT = "Could not close file" IF CloseFile (SETPTFILE) IS FAILURE THEN RESULT = "Could not close file" PRINT RESULT

Related Keywords

FILE CLOSEFILE OPENFILE READFILE POSITIONFILE FAILURE SUCCESS

Products Supported

CyberStation

Modes Available

Programs

7-396

Andover Controls Corporation

WriteProperty

Function

Format

WriteProperty(Object_Property, Value, Priority, Index)

Purpose

To set a property of a BACnet object. Returns SUCCESS or FAILURE

Remarks

Replace Object_property with the object name, including a full path name, followed by a property name. The object Identifier and Property Identifier are combined as one argument. Replace Value with the actual value to set the property to. This is optional. If it is not present, then the next argument, Priority, must be present to perform a Relinquish command (see Relinquish key word). Replace Priority with the priority number, ranging form 1 (highest) to 16 (lowest). This is optional. Applies only to a BACnet commandable property (refer to Chapter 14 in the Continuum CyberStation Configurator’s Guide Version 1.6, 30-3001-781). If not present, the property value that matches with priority 10, if applicable, is used for controllers. For CyberStations, the priority from the BACnet Preferences is used. Replace Index with an array index. This is optional. It only applies to an array-type property. The index is ignored whenever it is not applicable.

Example 1

Use WriteProperty to set the Value property of an object to 100. ‘Value property is assumed WriteProperty(BacnetDevices\B4\B3\BV1, 100) Or ‘Value property is explicitly mentioned. WriteProperty(BacnetDevices\B4\B3\BV1 Value, 100)

Plain English Language Reference

7-397

WriteProperty, continued

Example 2

Use WriteProperty to set the Present_Value property of an object to 100, using priority 5. WriteProperty(BacnetDevices\B4\AV1 Value, 100, 5)

Example 3

Use WriteProperty to set a point log entry to 100, using index 2. WriteProperty(NET1\CX1\AV1, 100, , 2) ‘Note that the priority ‘argument is not passed.

Example 4

Use WriteProperty to relinquish a command using priority 5. WriteProperty(BACnetDevices\B4\AV1, 100, , 5) ‘Value is not passed ‘this is equivalent to a Relinquish

Related Keywords

ReadProperty Relinquish

Products Supported

BACnet series controllers and CyberStation.

Modes Available

Command lines and programs.

7-398

Andover Controls Corporation

YEAR

System variable

Format

YEAR

Purpose

Gives the current year from 1989 through 2088.

Remarks

You cannot change the YEAR. The controller automatically updates it. When printed, the four-digit year is given.

Example

To take an action in the distant future, such as sending a reminder message to check certain pieces of equipment, you use the YEAR system variable to test the year: Program File IF YEAR IS 2000 THEN PRINT "Welcome to the Twenty First Century."

Related Keywords

DAYOFMONTH DAYOFYEAR YEAR

Alias

YR

Products Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series, LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Available

Command lines and programs.

Plain English Language Reference

7-399

7-400

Andover Controls Corporation

Appendix A
ASCII Codes

General Information

Introduction

Most keyboards have a limited set of characters. There are no characters to control such actions as feeding the paper, turning on a beep, scrolling the screen, and so on. For these actions, you use a set of codes called the American Standard Code for Information Interchange (ASCII). You use these codes in a PRINT statement to control your printer or screen.

Examples

You might use the ASCII code for a character in the STRINGFILL function. You must give STRINGFILL the code for the character you want to fill the string with. For example to create a bar in a chart, you might fill a string with asterisks using STRINGFILL and the ASCII code for asterisk, 42, as follows: STRINGFILL (KILOWATTS, 42) You could make a similar bar in a chart using pound signs: STRINGFILL (PRESSURE, 35) For example, to make a printer beep, you send the beep code to it in a PRINT statement, like this: PRINT "|7" TO PRINTER1 You can also make a terminal beep, as follows: PRINT "|7" To feed the paper forward one form feed: PRINT "|12" TO PRINTER1 To send an ESCAPE to the printer: PRINT "|27" TO PRINTER1 More printer control statements may be possible for your printer. See the manufacturer's documentation.

Plain English Language Reference

A-1

ASCII Code Table

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
The ASCII Codes are listed in the following table:
Code (in Decimal) 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Character or Action DC1 DLE SI SO Carriage Return. Form Feed. Vertical TAB. Line Feed. TAB Forward. Backspace. Beep. ACK ENQ EOT ETX STX SOH NUL

A-2

ASCII Codes

Andover Controls Corporation

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Code (in Decimal) 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 Character or Action , (comma) + * ) ( ’ (apostrophe) & % $ # " ! Space. US RS GS FS ESC SUB EM CAN ETB SYN NAK DC4 DC3 DC2

ASCII Code Table continued

ASCII Codes

Plain English Language Reference

A-3

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Code (in Decimal) 71 60 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 Character or Action G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . (period) –

A-4

ASCII Code Table continued

ASCII Codes

Andover Controls Corporation

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Code (in Decimal) 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 Character or Action b a ‘ ^ ] \ [ Z Y X W V U T S R Q P O N M L K J I H

ASCII Code Table continued

ASCII Codes

Plain English Language Reference

A-5

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Code (in Decimal) 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 Character or Action } | { z y x w v u t s r q p o n m l k j i h g f e d c

A-6

ASCII Code Table continued

ASCII Codes

Andover Controls Corporation

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Code (in Decimal) 127 126 Character or Action DEL ~

ASCII Code Table continued

ASCII Codes

Plain English Language Reference

A-7

A-8

Andover Controls Corporation

Appendix B
Reserved Words

Overview

What Are They?

Reserved words are those words used as system constants, keywords, system functions, and system variables that are reserved as part of Andover’s Plain English programming language. Being familiar with these words helps avoid naming errors.

What’s in this Appendix

This appendix lists all Andover Controls reserved words. A tabular listing of Continuum system constants begins on the next page. Following this table is a second table containing an alphabetical listing of all other reserved words including Plain English keywords, system functions, and system variables. Make sure you do not use any of these words as a line label or program variable in any of your Plain English programs. Note: Before you import older programs to your Continuum system, check to see if they contain any of these reserved words used as line labels or program variables. Remove or replace any that do with appropriate substitute words.

Plain English Language Reference

B-1

System Constants

Table of System Constants

Continuum system constants are listed in alphabetical order, as follows.
ABA1 ABA2 AC256P AC4P4 AC8P ACC_Airflow ACCBackingUp ACCBackupDisabld ACCBackupDone ACCBackupEnable ACCBackupInactve ACCBackupNeeded ACCBackupNow ACCCoolStartOnly AccessEvent AccessModeNoCommunication AccessModeNoDatabase AccessModeNormal ACCExpression ACCFlashEmpty ACCFlashFailure ACCFlashValid ACC_Keypad ACC_InputCurrent ACC_Pneumatic ACC_Pressure ACCTemp(DEGC) ACCTemp(DEGF) ACCWarmStartOnly ACCWarmToCool AC_Flag ACFloatType Ack AckAfterRTN Ack_Alarms AckAll AckAndRTN Acked AcknowledgeAlarm AcknowledgeAlarms AckOnly AckOnlyThisOne AckOrRTN Acks AckUntilTime AC_Output ACP AC4plus432 Active ActivityEvent ActUnack ACXDatabaseFault ACXDatabaseFaultCleared ADAExitRequestTrouble ADAExitRequestTroubleCleared ADAInputTrouble ADAInputTroubleCleared AddListElement Admin Administrate Alarm AlarmEnrollment AlarmEvent Allowed AllPaths Alm0 Alm1 Alm2 Alm3 Alm4 Alm5 Alm6

B-2

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

Alm7 Alm8 AlmNotification Amperes AnalogInput AnalogOutput AnalogValue Apr April Area AreaBased Armed ASCIIDump ASCIIReload AtomicReadFile AtomicWriteFile AudioDatatype AudioOnToFault AudioOnToNormal AudioOnToOffNormal Aug August Authenticate AuthenticationFailed Automatic AutomaticLifeSafety AutoSet Available A_Variable Average b3608 b3616 b3624 b3800 b3804 b3810 b3814 b3850 b3851

b3853 b3865 b3866 b3867 b3885 b3886 b3887 b3920 B4920 Bars Baud300 Baud1200 Baud2400 Baud4800 Baud9600 Baud19200 Baud19-2K BeepOnToFault BeepOnToNormal BeepOnToOffNormal Binary BinaryInput BinaryOutput BinaryValue Bit Bitstring BlinkOnAlarm Blue BondSensorTrouble BondSensorTroubleCleared BondSensorViolation BondSensorViolationCleared BooleanType Btus BtusPerHour BtusPerPoundDryAir BufferOverflow

Plain English Language Reference

B-3

System Constants, continued

Table of System Constants, continued

CabinetTamperDoorClosed CabinetTamperDoorOpen Calendar CannotDelete CannotRename CardMode CentimetersOfMercury CentimetersOfWater ChangeOfBitstring ChangeOfFailure ChangeOfState ChangeOfValue ChangeValues Char CharacterSetNotSupported CharType CK34 ClassDefault ClearDisplay Clockwise Closed Coldstart COM1 COM2 COM3 Command Commport Config ConfigurationInProgress Configure ConfirmedCOVNotification ConfirmedEventNotification ConfirmedPrivateTransfer ConfirmedTextMessage Connected Connecting Constant Container ControllerUser Copy CopyFromTemplate

Counter CounterClockwise CreateObject CriticalEquipmentControl CriticalEquipmentMessage CubicFeet CubicFeetPerMinute CubicMeters CubicMetersPerHour CubicMetersPerSecond Currency1 Currency2 Currency3 Currency4 Currency5 Currency6 Currency7 Currency8 Currency9 Currency10 Current CustomCard CustomMagStripe CustomWiegand CX9000 CyclesPerHour CyclesPerMinute

Data DatabaseSynchronization DataBits5

B-4

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

DataBits6 DataBits7 DataBits8 DateAndTimeType DateDataType DateTime Days Dec December DefaultTime DegreeDaysCelsius DegreeDaysFahrenheit DegreesAngular DegreesCelsius DegreesCelsiusPerHour DegreesCelsiusPerMinute DegreesFahrenheit DegreesFahrenheitPerHour DegreesFahrenheitPerMinute DegreesKelvin DegreesPhase Delete DeleteObject Denied Dereferenced Device DeviceAndBelow DeviceBusy DeviceCommunicationControl DeviceOnly Digital Disabled Disconnected Disconnecting DisplayAlarmView DisplayPanel DistNotUsed DistributeAddAreasToPersonnel DistributeAreaDeleteToAllACXS DistributeAreaMemberDeleteToAllACXS

DistributeAreaMembersToAllACXS DistributeAttributeSet DistributeEnableDisableAreaLink DistributeOnePersonToACX DistributeOnePersonToAllACXS DistributePersonDeleteToAllACXS DistributePersonsToACX DistributeResetPreload Done Door Door_Ajar DoorAjarCleared DoorChannelOverrideAndDoorLocked DoorChannelOverrideAndDoorUnlocked DoorChannelOverrideCleared DoorExitRequestTrouble DoorExitRequestTroubleCleared DoorLockedBySchedule DoorSwitchTrouble DoorSwitchTroubleCleared DoorUnlockedBySchedule Double DoubleType DownloadInProgress DownloadRequired DynamicArray DynamicCreationNotSupported Email EmailAck EmailOnOffNormal EmailToFault EmailToNormal Enabled EnableDisable EntryKeypadTamper EntryReaderFault EntryReaderFaultCleared Enumeration Eof Equal

Plain English Language Reference

B-5

System Constants, continued

Table of System Constants, continued

ErrorEvent Ethernet802_2 Ethernet802_3 EthernetII EthernetSNAP Even EventEnrollment EventNotification EventView EvtNotification ExitKeypadTamper ExitReaderFault ExitReaderFaultCleared ExpressionAlarm Failed Failure FallThru False Fault Feb February Feet FeetPerHour FeetPerSecond Female File FileAccessDenied FileBegin FileCurrent FileDatatype FileEnd Fill FixedArray FloatingLimit FloatType

i2608 i2616 i2624 i2800 i2804 i2810 i2814 i2850 i2851 i2853 i2865 i2866 i2867 i2885 i2886 i2887 i2920 IAm Idle IHave Image ImperialGallons ImperialGallonsPerMinute Inactive InAlarm Inches InchesOfMercury InchesOfWater IncompatibleSecurityLevels Incomplete InconsistentParameters InconsistentSelectionCriterion Infinet Infinity_37 InfinityController InfinityData

B-6

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

InfinityDateTime InfinityFunction InfinityInfinetCtlr InfinityInput InfinityNumeric InfinityOutput InfinityProgram InfinityString InfinitySystemVariable InheritFromTemplate InProgress Instantaneous Int Internal InvalidAPDUInThisState InvalidArrayIndex Invalid_Attempt InvalidAttemptAntiPassbackViolation InvalidDataType InvalidFileAccessMethod InvalidFileStartPosition InvalidOperatorName InvalidParameterDataType InvalidTag InvalidTimeStamp IOBidirectional IOInput IOOutput IOUModule Jan January Joules JoulesPerDegreeKelvin JoulesPerKilogramDegreeKelvin JoulesPerKilogramDryAir

Jul July Jun June KeyGenerationError Kilograms KilogramsPerHour KilogramsPerMinute KilogramsPerSecond Kilohertz Kilohms Kilojoules KilojoulesPerKilogram KilometersPerHour Kilopascals KilovoltAmperes KilovoltAmperesReactive Kilovolts Kilowatts KilowattHours KilowattHoursPerSquareFoot KilowattHoursPerSquareMeter LAN LastMonth Last15min Last30min LastWeek LastYear Lbus LessThan LessThanOrEqual LifeSafetyMessage Lighting List ListView

Plain English Language Reference

B-7

System Constants, continued

Table of System Constants, continued

Liters LitersPerHour LitersPerMinute LitersPerSecond Load LoadFailed Loading LocalScope Locked Log LogAverage LogInstantaneous LogMaximum LogMinimum LogView LON LongIntType Loop Looping LowAlarm LowLimit LowLimitenable Lumens Luxes Male Manual ManualAreaAssign ManualLifeSafety ManualOperator Mar March Maximum May Megahertz Megajoules

MegajoulesPerSquareFoot MegajoulesPerSquareMeter MegavoltAmperes MegavoltAmperesReactive Megavolts Megawatts Megohms Meters MetersPerSecond MilesPerHour Milliamperes Millibars Millimeters MillimetersOfMercury Millivolts Milliwatts Minimum MinimumOnOff Minutes MissingRequiredParameter Momentary_Unlock MomentaryUnlocked Mon Monday Months MonthToDate MonthToNow Move Multiple MultistateInput MultistateOutput MultistateValue NCParallel NCSeries NCSerPar

B-8

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

Liters LitersPerHour LitersPerMinute LitersPerSecond Load LoadFailed Loading LocalScope Locked Log LogAverage LogInstantaneous LogMaximum LogMinimum LogView LON LongIntType Loop Looping LowAlarm LowLimit LowLimitenable Lumens Luxes Male Manual ManualAreaAssign ManualLifeSafety ManualOperator Mar March Maximum May Megahertz Megajoules

MegajoulesPerSquareFoot MegajoulesPerSquareMeter MegavoltAmperes MegavoltAmperesReactive Megavolts Megawatts Megohms Meters MetersPerSecond MilesPerHour Milliamperes Millibars Millimeters MillimetersOfMercury Millivolts Milliwatts Minimum MinimumOnOff Minutes MissingRequiredParameter Momentary_Unlock MomentaryUnlocked Mon Monday Months MonthToDate MonthToNow Move Multiple MultistateInput MultistateOutput MultistateValue NCParallel NCSeries NCSerPar

Plain English Language Reference

B-9

System Constants, continued

Table of System Constants, continued

NetBeui NetBios NETWARE Network NETWORK_CMDLINE NetworkDialup NetworkWide New NoAccess NoComm NoDataBase NoFaultDetected Nofill NoFlowControl NonCollection None NonOperational NoObjectsOfSpecifiedType NoOutput NoPad NOParallel Normal NormalMessage NoSegmentation NoSensor NOSeries NOSerPar NoShortcuts NoSpaceForObject NoSpaceToAddListElement NoSpaceToWriteProperty NotAcked NotConfigured NotEqual NotificationClass

NotSet NoUnits Nov November NoVTSessionsAvailable Object ObjectClass ObjectDeletionNotPermitted ObjectId ObjectIdentifierAlreadyExists ObjectReference Oct October Odd Off OffLine OffNormal Ohms On -On OneMonthToDate OneMonthToNow OneWeekToDate OneWeekToNow OneYearToDate OneYearToNow OnLine Opened OpenLoop Operational OperationalProblem OperationalReadOnly Other OutOfRange Out_Of_Services

B-10

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

OverRange Overridden PageAck Paging PageToFault PageToNormal PageToOffNormal Panel PanelMeter ParameterOutOfRange PartsPerBillion PartsPerMillion Pascals PasswordFailure Pending PendingReload PendingRetry Percent PercentPerSecond PercentRelativeHumidity PerHour Permanent_Unlock Permanent_UnlockCleared PerMinute PerSecond Personnel PinChange PINMode PINOnly PlayContinuous PlayOnce Port_OutOfServices PoundsForcePerSquareInch PoundsMass PoundsMassPerHour PoundsMassPerMinute PowerFactor PreemptedByHigherPriorityTask

PrimaryEMail PrimaryForward PrimaryLog PrimaryPaging PrimaryPrint PrintAck Printer PrintReport PrintToFault PrintToNormal PrintToOffNormal Priority3 Priority4 Priority7 Priority9 Priority10 Priority11 Priority12 Priority13 Priority14 Priority15 Priority16 ProcessError Program ProgrammingLevel Prompt Property PropertyIsNotAList PsiPerDegreeFahrenheit PTP PTPConnecting PTPDisconnected Radians Raw ReadAccessDenied ReaderDoor ReadOnly ReadProperty

Plain English Language Reference

B-11

System Constants, continued

Table of System Constants, continued

ReadPropertyConditional ReadPropertyMultiple ReadWrite Ready Real RefreshDatabase ReinitializeDevice RemoteScope RemoveFromStatusWhenAcked RemoveListElement RepeatEmail RepeatLog RepeatPaging RepeatPrint RequestKey RequestToExit RequiresCommission Resources Restart ReturnToNormal Reverse RevolutionsPerMinute RTD1000TempC RTD1000TempC2W RTD1000TempF RTD1000TempF2W RTDTemp(DEGC) RTDTemp(DEGF) RTNOnly RtnUnack Run Running Sat Saturday Save

Schedule ScheduleDownload ScheduleMode Seconds Security SecurityLevel SecurityNotSupported SegmentationNotSupported SegmentedBoth SegmentedReceive SegmentedTransmit Sep September ServiceRequestDenied Services ShortcutCreate ShortcutsAsShortcuts ShortedLoop ShortIntType ShowDisplayValue ShowMessage ShowSpaceTempt ShowTimeValue Singular SiteConfiguration SiteMode Smallint SoftAck SpecifiedByRules SpecifiedByUser SpecifiedElapsedTime SpecifiedTime SQLDateTime StopBit1 StopBit1.5

B-12

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

StopBit2 String StringDataType Structure SubscribeCOV Success Sun Sunday Supervised SvFloat SX8000 Table TankProbe TankNet TCPIP TCP_IP Temperature TemplateCreate TemplateRefresh TermoCoupBTempC Text TextType ThermoCoupBTempF ThermoCoupETempC ThermoCoupETempF ThermoCoupJTempC ThermoCoupJTempF ThermoCoupKTempC ThermoCoupKTempF ThermoCoupRTempC ThermoCoupRTempF ThermoCoupSTempC ThermoCoupSTempF ThermoCoupTTempC ThermoCoupTTempF

Therms Thu Thursday TimeDataType Timeout TimeStampType TimeSynchronization Tinyint Today ToFault TonHours ToNormal Tons TonsRefrigeration ToOffNormal TooManyArguments TriState Trouble True Tue Tuesday UnArmed UnauthorizedOpenDoor UnauthorizedOpenDoorCleared Unavailable Unassigned UnconfirmedCOVNotification UncomfirmedEventNotification UncomfirmedPrivateTransfer UncomfirmedTextMessage UndefinedEnumeration UnderRange Union Unknown UnknownDevice

Plain English Language Reference

B-13

System Constants, continued

Table of System Constants, continued

UnknownObject UnknownProperty UnknownVTClass UnknownVTSession Unload Unloaded Unlocked UnrecognizedService UnreliableOther UnsignedCharType UnsignedLongType UnsignedShortType UnsupportedObjectType Urgent UrgentMessage UsGallons UsGallonsPerMinute Valid_Access ValidAccessAntiPassbackViolation ValidAccessDuress ValidAccessNoEntry ValidAccessTimedAntiPassbackViolation ValueOutOfRange ValueRepeat Varbinary Varchar Vertical VideoDatatype View ViewOnly Voltage Voltamperes VoltAmperesReactive Volts VT100

VT220 VtClose VtData VtOpen VTSessionAlreadyClosed VTSessionTerminationFailure V_Variable Waiting Warmstart WattHours Watts WattsPerSquareFoot WattsPerSquareMeter WattsPerSquareMeterDegreeKelvin Wed Wednesday Weekly Weeks WeekToDate WeekToNow Wiegand26 WhenFinished White WhoHas WhoIs Window WithinController WriteAccessDenied WriteOnly WriteProperty WritePropertyMultiple Wyse Xdriver XdrvInstalled XdrvNotInstalled

B-14

Andover Controls Corporation

System Constants, continued

Table of System Constants, continued

XdrvRemove XdrvRemoved XdrvRun XdrvRunning XdrvStop XdrvStopped XdrvTransition XonXoff XonXoffCtsRts X_Variable Yearly Years YearToDate YearToNow Yesterday ZoneNumberBased

Plain English Language Reference

B-15

Additional Reserved Words

Table of Additional Reserved Words

The following table lists additional Plain English reserved words consisting of system variables, system functions and keywords listed in alphabetical order. Note: As a programmer, you may not use any of these words as a line label or program variable.
Above Abs AckAlarm Acos Adjust Advise Alarms All Am And Append Arcsine Arctangent Arctangent2 Arg Asc Asin Ask Atan Atan2 Average Avg Basedon Beep BeginPolyLine Below Between Bitand Bitnot Bitor Bitxor Break Breakpoint By Case Cd Ceiling Change Chr ClearScreen Close CloseFile CloseList CloseWindow Cls Connect Continue Control Cos Cosine CurUser Curvefit CurWorkstation Date DateTime DayOfMonth DayOfYear Dde Del Delete DeleteExtLog Dial DiffTime Dis Disable Disconnect Div Divided Does Dom Doy DrawEllipse DrawLine DrawRectangle Dt Dump E Either Else En Enable Encrypt Encrypted End EndIf EndPolyLine EndSelect EndWhen EndWhile EnergyNet Equal Equals Erase Errors Execute Exists Exp Exponential Fact Factorial First Floor For Freemem From GetExtLog GetName GetObject Go Goto Greater HangUp Hod Hour HourOfDay Hr If ImportFile In Include Initiate InitModem Input Inputs Is Kill Last Left Len Length Less Let Like Line LinePoint Ln Load Locate Log Logoff Logout Lookup Max Maximum Maxitem MessageWindow Mid Min Minimum Minitem Minus Minute Mod Modify Modulate Month Move Mth Mult Multiplied

B-16

Andover Controls Corporation

Additional Reserved Words, continued

Table of Additional Reserved Words, continued

Neither Next Not Number Numeric NumToStr Object Open OpenFile OpenList Or Output Outputs P Param Passed Pid PlayAudio Plus Pm Poke PollACValue PopAlarm PositionFile Pr PreParse Print Prompt Random Read ReadFile ReceiveFile Reload Report Request Return Right Rnd Rot

Rotate Round Run Save Sc Scan Sd Search Sec Second Select SendCommand SendFile Set SetACValue SetDisplay Shell Show ShowReport Shut Sin Sine Site Sqrt StandardDeviation Start StatusLine Step Stop String Stringfill StrToDate StrToNum StrToTime Sum Tab Tan Tangent Terminate

Than The Then Through Thru Time TimeOfDay Timepiece Times To Tod Trace Trunc Truncate Turn Unadvise Until Update UpdateAlarms UpdateEvents UpdateExtLog Val Version Weekday Where While With Wkd Write WriteFile Year Yr

Plain English Language Reference

B-17

B-18

Andover Controls Corporation

Appendix C
Objects and Attributes*
General Information
Introduction The table below lists all of the objects available in the Plain English language for the controllers and CyberStation workstations. Starting on the next page, the attributes for each of these class objects are listed in tabular form. * BACnet controller properties vs. Plain English names are covered in Appendix E

Continuum Objects for the Plain English Language

The following table shows you a listing of the objects in Plain English.
• • • • • • • • • • • • • • • • • • • • • • AccessEvent ActivityEvent ACXList AlarmEnrollment AlarmEvent AlarmInfo AnalogInput AnalogOutput Area AreaLink BinaryValue ClassName CommPort ControllerUser DateTime Device BinaryInput BinaryOutput DistributionBatch DistributionObject Door DoorList • • • • • • • • • • • • • • • • • • • • • • ElevatorInfo ErrorEvent EventEnrollment EventLogControl EventNotification EventView Filter Folder Function Graphics Group GroupMember ImExportRef InfinityController InfinityDateTime InfinityFunction InfinityInfinetCtlr InfinityInput InfinityNumeric InfinityOutput InfinityProgram InfinityString • • • • • • • • • • • • • • • • • • • • InfinitySystemVariable IOUModule ListView MultistateInput MultistateOutput MultistateValue Network NetworkDialup Numeric ParamInfo Personnel Program RootClass Schedule SecurityLevel SecurityLink ShortCut String TemplateInfo User

Plain English Language Reference

C-1

AccessEvent Attributes

AccessEvent Attributes Table

The following list provides you with the attributes and meanings for an AccessEvent object.
Attribute AreaID CardNumber CardType Description DeviceID DoorID EventMessage EventType ID LoggingWorkstaID NonABACardNumber PersonID SiteCode TimeOfLog TimeStamp ZoneCode Description Area involved in access event Card Number Card Type Description of Object Net Controller reporting the event Door reporting the event Either the mode of operation for valid access or the reason for invalid access Type of event - valid access, etc. SQL Object ID - Not meaningful to the user Workstation that received the event Non ABA Card number Person involved in the event Site code of the card in the event Time that workstation logged event to database Time that event took place Zone code of the card involved in the event

C-2

Andover Controls Corporation

ActivityEvent Attributes

ActivityEvent Attributes Table

The following list provides you with the attributes and meanings for an ActivityEvent object.
Attribute ActionCode Caller Code Description EventObjectID EventObjectName ID NodeName Operator Text OTUser TimeStamp UserID UserName Description System used number to refer to activity type Not meaningful to the user Description of Object The object asscociated with the activity The object asscociated with the activity SQL Object ID - Not meaningful to the user The name of the device from which the activity took place The text entered by the person signing off on the activity The user name of the person signing off on the activity The time the activity took place The full path to the user The name of the user

Plain English Language Reference

C-3

ACXList Attributes

ACXList Attributes Table

The following list provides you with the attributes and meanings for an ACXList object.
Attribute AreaID AreaUsage DeviceID NetworkID Description Not meaningful to the user Not meaningful to the user Not meaningful to the user Not meaningful to the user

C-4

Andover Controls Corporation

AlarmEnrollment Attributes

ALarmEnrollment Attributes Table

The following list provides you with the attributes and meanings for an AlarmEnrollment object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 Alarmenable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmType Alias AudioFileFault AudioFileNormal AudioFileOffNormal BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock EventNotificationID EventType FollowUpRule Graphics Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Not meaningful to the user Alias of the Object Path and name of wav file to play on fault Path and name of wav file to play on RTN Path and name of wav file to play on Alarm Meaningless to the user Name of user who created object Time of object creation Description of object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Lists Event Notification associated with Basic Alarms (WS points only) Type of alarm - out of range, high limit, expression, etc. Not meaningful to the user Not meaningful to the user

Plain English Language Reference

C-5

AlarmEnrollment Attributes, continued

ALarmEnrollment Attributes Table, continued

Attribute IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation MsgTextFault MsgTextNormal MsgTextOffNormal Name NetworkNumber NotifyType Owner Properties ReferenceCount ReferencePoint1… ReferencePoint4 RefObjectType RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Virtual Flag

Description Not meaningful to the user SQL Object ID - Not Meaningful to the User Not meaningful to the user Name of the user making the last change Not Currently Implemented Not Currently Implemented Message delivered on fault Message delivered on RTN Message delivered on Alarm Name of the object Not meaningful to the user Type of notification to be used Owner of object Not meaningful to the user Not meaningful to the user Alarm Referenece Point Not meaningful to user Name and path of template from which object was created Not meaningful to the user Not viewable by user Name and path of any security level attached to the object True if object is a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to the user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Not meaningful to the user

C-6

Andover Controls Corporation

AlarmEvent Attributes

ALarmEvent Attributes Table

The following list provides you with the attributes and meanings for an AlarmEvent object.
Attribute AckbyUser AckbyWorkstation Active EventNotificationID EventObjectID EventObjectValue EventType FromState ID InitDeviceID LoggingWkstaID MasterAlmID MessageText OperatorActions OPeratorText SilencedbyUser SilencedbyWorkstation Silenced Time TimeofAck TimeofLog TimeStamp ToState Description User who acknowledges the alarm Workstation from which alarm was acknowledged Set to true if the alarm has not satisfied all of its return criteria Lists Event Notification associated with Basic Alarms (WS points only) Object that went into alarm Value of object Alarm Type The previous state of the alarm event (Alarm, Return To Normal) SQL Object ID - Not meaningful to the Uuer Name of the device owning the object The name of the workstation that logs the alarm to the database Name of the alarm enrollment Text message for alarm Actions typed in manually by the operator Text that is typed in by the person acknowledging the alarm, if that option is in place Use who silenced the alarm Workstation from which the alarm was silenced Time at which the alarm was silenced Time at which the alarm was acknowledged Time at which the alarm was logged to the database Time at which the alarm took place Current state of the alarm event

Plain English Language Reference

C-7

AlarmInfo Attributes

AlarmInfo Attributes Table

The following list provides you with the attributes and meanings for an AlarmInfo object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo AlarmLink1…AlarmLink8 ParentObject ReferencePoint1… ReferencePoint4 ReportID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Not meaningful to user The full path to the object Alarm Referenece Point Not meaningful to the user

C-8

Andover Controls Corporation

AnalogInput Attributes

AnalogInput Attributes Table

The following list provides you with the attributes and meanings for an AnalogInput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink Channel ClassSortID Conversion CreatedBy CreateTime DeadBand Description DeviceID DeviceModel DeviceType DigitalFilter DistPending EditLock ElecScaleBot Description Not meaningful to the user - currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not meaningful to the user Terminal number into which this object is wired Not meaningful to the user Equation with which the elec. value should be converted into engineering units Name of user who created object Time of object creation Amount that the value must differ from low or hi limit in Basic Alarm (WS points only) Description of Object Name of the device owning the object Not Currently Implemented Not meaningful to the user Allows for digital filtering to be applied automatically to the input Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits The bottom electrical value that corresponds to the bottom value in Engineering Units

Plain English Language Reference

C-9

AnalogInput Attributes, continued

AnalogInput Attributes Table, continued

Attribute ElecScaleTop ElecType ElecValue EngScaleBot EngScaleTop EventEnable EventNotificationID EventState FollowUpRule Format Graphics HighLimit IconID ID IncludeObject IOU IsShortcut LastChangeBy LCDSettable LimitEnable LockedBy LockingWorkstation LogIntervalSecs LogType LowLimit Name NetworkNumber NotifyType OutOfService Owner Properties

Description The top electrical value that corresponds to the top value in Engineering Units Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value The bottom value in Engineering Units that corresponds to the bottom electrical value The top value in Engineering Units that corresponds to the top electrical value Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not meaningful to the user Format to be used in displaying object value Not meaningful to the user High Limit to be used in Basic Alarm (WS points only) Not meaningful to user SQL Object ID - Not meaningful to the user Not meaningful to the user IOU number of object Not meaningful to the user Name of the user making the last change Capable of being set from the LCD Not meaningful to the user Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Low limit to be used in Basic Alarms (WS points only) Name of the object Not meaningful to the user Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of object Not meaningful to the user

C-10

Andover Controls Corporation

AnalogInput Attributes, continued

AnalogInput Attributes Table, continued

Attribute ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID Resolution ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName Threshold TimeDelay TimeLocked TriggerThreshold Type Units UpdateInterval Value

Description Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not meaningful to the user Not meaningful to the user Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not meaningful to the user When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to the user Name that will be used when creating objects from this template object - meaningful only for templates The amount, in engineering units, that the value must change before it will update The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened The amount, in engineering units, that the value must change before it will update The type of the object The engineering units to be used for this object The update interval to be used for this object (WS points only) The value of this object after any conversions that may be required

Plain English Language Reference

C-11

AnalogOutput Attributes

AnalogOutput Attributes Table

The following list provides you with the attributes and meanings for an AnalogOutput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink Channel Conversion CreatedBy CreateTime DeadBand Description DeviceID DeviceModel DeviceType DigitalFilter DistPending DistPending EditLock Description Not meaningful to the user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not Currently Implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Terminal number into which this object is wired Equation with which the elec. value should be converted into engineering units Name of user who created object Time of object creation Amount that the value must differ from low or hi limit in Basic Alarm (WS points only) Description of Object Name of the device owning the object Not Currently Implemented Not meaningful to the user Allows for digital filtering to be applied automatically to the output Indicates that distribution is pending for this object Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits

C-12

Andover Controls Corporation

AnalogOutput Attributes, continued

AnalogOutput Attributes Table, continued

Attribute ElecScaleBot ElecScaleTop ElecType ElecValue EngScaleBot EngScaleTop EventEnable EventNotificationID EventState FollowUpRule Format Graphics HighLimit IconID ID IncludeObject IOU LastChangeBy LCDSettable LimitEnable LockedBy LockingWorkstation LogIntervalSecs LogType LowLimit Name NetworkNumber NotifyType OutOfService OverrideValue Owner Properties

Description The bottom electrical value that corresponds to the bottom value in Engineering Units The top electrical value that corresponds to the top value in Engineering Units Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value The bottom value in Engineering Units that corresponds to the bottom electrical value The top value in Engineering Units that corresponds to the top electrical value Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not meaningful to the user Format to be used in displaying object value Not meaningful to the user High Limit to be used in Basic Alarm (WS points only) Not meaningful to the user SQL Object ID - Not meaningful to the user Not meaningful to the user IOU number of object Name of the user making the last change Capable of being set from the LCD Not meaningful to the user Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Low limit to be used in Basic Alarms (WS points only) Name of the object Not meaningful to the user Type of notification to be used Service state of an object (similar to enable/disable - WS points only) The actual valus of the output that is overridden Owner of object Not meaningful to the user

Plain English Language Reference

C-13

AnalogOutput Attributes, continued

AnalogOutput Attributes Table, continued

Attribute ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID Resolution ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName Threshold TimeDelay TimeLocked Type Units UpdateInterval Value

Description Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not meaningful to the user Not Currently Implemented Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not meaningful to the user When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The amount, in engineering units, that the value must change before it will update The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened The type of the object The engineering units to be used for this object The update interval to be used for this object (WS points only) The value of this object after any conversions that may be required

C-14

Andover Controls Corporation

Area Attributes

Area Attributes Table

The following list provides you with the attributes and meanings for an Area object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime DeletePending Description DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics IconID ID IncludeObject KnownOccupCount LastChangeBy LockedBy Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not meaningful to the user Name of user who created object Time of object creation Indicates if there is a delete action pending for this area Description of Object Name of the device owning the object Not Currently Implemented Not meaningful to the user Indicates if object has been locked to additional Edits Not meaningful to the user Not meaningful to the user Not Meaningful to the User SQL Object ID - Not meaningful to the user Not meaningful to the user Number of occupants currently in an area - not currently implemented Name of the user making the last change Not Currently Implemented

Plain English Language Reference

C-15

Area Attributes, continued

Area Attributes Table, continued

Attribute LockingWorkstation Name NetworkNumber Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel State Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Currently Implemented Name of the object Not meaningful to the user Owner of object Not meaningful to the user Alarm Referenece Point Name and path of template from which object was created Not meaningful to the user Not viewable by user Name and path of any security level attached to the object Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

C-16

Andover Controls Corporation

AreaLink Attributes

AreaLink Attributes Table

The following list provides you with the attributes and meanings for an AreaLink object.
Attribute AreaID DeletePending DistPending DistTime ID PersonID PreLoad SchedID State TimeEntered Description Name and path of the area Indicates if there is a delete action pending for this link Indicates there is a distribution pending for this object Time of last successful distribution Not meaningful to the user Name of the person involved in this link Determines if link is to be loaded to the controller or if validation is to take place at the server level Name of schedule associated with this link Indicates if an object has been enabled or disabled Time of last entry into the area

Plain English Language Reference

C-17

BinaryValue Attributes

BinaryValue Attributes Table

The following list provides you with the attributes and meanings for a BinaryValue object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActiveText Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ChangeofStateCount ChangeofStateTime CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock ElapsedActiveTime EventEnable EventNotificationID EventState Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Text to be displayed when object is in active state. Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Number of times discrete object has changed state. Time of last change of state. Name of user who created object Time of object creation Description of Object Name of the device owning the object Not meaningful to user Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Amount of time point has been in the active state Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only)

C-18

Andover Controls Corporation

BinaryValue Attributes, continued

BinaryValue Attributes Table, continued

Attribute FollowUpRule Graphics IconID ID InactiveText IncludeObject LastChangeBy LockedBy LockingWorkstation LogIntervalSecs LogType MinimumOffTime MinimumOnTime Name NetworkNumber NotifyType OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName

Description Not meaningful to the user Not meaningful to the user Not meaningful to the user SQL Object ID - Not Meaningful to the User Text to be displayed when object is in inactive state. Not meaningful to the user Name of the user making the last change Not currently implemented Not currently implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Point will be latched at inactive value for this time Point will be latched at active value for this time Name of the object Not meaningful to the user Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of object Not meaningful to the user Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not meaningful to the user Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates

Plain English Language Reference

C-19

BinaryValue Attributes, continued

BinaryValue Attributes Table, continued

Attribute TimeDelay TimeLocked TimeofActiveTimeReset TimeofStateCountReset Type Value

Description The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened Time stamp of most recent time that the active state was reset Time stamp of most recent time that the state counter was reset The type of the object The value of this object after any conversions that may be required

C-20

Andover Controls Corporation

ClassName Attributes

ClassName Attributes Table

The following list provides you with the attributes and meanings for a ClassName object.
Attribute ObjectTypeID ObjectTypeName Description Not meaningful to the user Not meaningful to the user

Plain English Language Reference

C-21

CommPort Attributes

CommPort Attributes Table

The following list provides you with the attributes and meanings for a CommPort object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo CommStatus CreatedBy CreateTime CTS CurrCommDir CurrentUser CXD DataLength DefaultBaud DefaultMode Description DeviceID DeviceModel DialPrefix DialSuffix DirectConnect DistPending Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Not Meaningful to the user for this object - always reads online Name of user who created object Time of object creation Clear To Send Not Meaningful to the User When configured as a user port, indictates the current user of that port Carrier Detect Length in bits that data will be sent and received Default baud rate The mode that the port will revert to when closed. Description of Object Name of the device owning the object Not Currently Implemented String to be sent to the built - in Continuum modem before dialing the number on a dial command String to be sent to the built - in Continuum modem after dialing the number on a dial command Indicates that the port will be hard wired to a terminal device Indicates that distribution is pending for this object

C-22

Andover Controls Corporation

CommPort Attributes, continued

CommPort Attributes Table, continued

Attribute DSR DTR EditLock FlowControl FollowUpRule Graphics HangUpCmd IconID ID IncludeObject LastChangeBy Learn LockedBy LockingWorkstation MaxPrintCols MaxPrintRows MenuBar Messages Mode ModemInit Name NetworkNumber NotChangeable Owner ParamLabels Parity PortNum PrintDone ProgramAttached Properties Reconfigs ReferencePoint1… ReferencePoint4

Description Data Send Ready Data Terminal Ready Indicates if object has been locked to additional Edits Type of flow control that will be used by the port Not Meaningful to the User Not Meaningful to the User String to be sent to the built-in Continuum modem when a hangup command is issued Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Set to true when the user attempts to gather information on all Infinet devices attached to a port configured as Infinet Not Currently Implemented Not Currently Implemented

Indicates if there are currently messages in the message window corresponding to the comm port Current operating mode of the comm port String to be sent to built-in Continuum modem on power-up. Name of the object Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User XDriver configuration value Parity setting of the port SVC number corresponding to the port Indicates that the previous print instruction to the port is complete Not Meaningful to the User Not Meaningful to the User Indicates the number of bus reconfigurations that have occurred - Meaningful only for Infinet ports Alarm Referenece Point

Plain English Language Reference

C-23

CommPort Attributes, continued

CommPort Attributes Table, continued

Attribute RefTemplate ReportID RequestedMode Resume RI RTS ScheduleEvents SecurityLevel StartCharacter State StatusBar StopBits Template TemplateAlias TemplateCreateRule TemplateName TerminalType TimedOut TimeLocked TimeOutValue TrackCXD TransmitCount Type Windows XDriverErrCount XdriverError XdriverErrTime XdriverFile XdriverStatus

Description Name and path of template from which object was created Not Meaningful to the USer Not Meaningful to the User Not Meaningful to the User Ring Indicator Ready to Send Not viewable by user Name and path of any security level attached to the object Character that will cause a window response when port is set to autoset Indicates if an object has been enabled or disabled The bar at the bottom of the screen when the port is configured as autoset Number of stop bit for port When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The type of terminal emulation to be used when port is set to autoset Indicates that the port has timed out of its previous instruction The time the object was last opened Value to be assumed after the time out Disconnect port and revert to default mode upon loss of carrier Number of transmissions The type of the object Number of errors encountered in communication via an Xdriver to a third party device Type of error encountered in communication via an Xdriver to a third party device Time of error encountered in communication via an Xdriver to a third party device File to be used when reloading to install Xdriver Status of Xdriver communication

C-24

Andover Controls Corporation

ControllerUser Attributes

ControllerUser Attributes Table

The following list provides you with the attributes and meanings for a ControllerUser object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ClassSortID CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock FullName Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not meaningful to user Not meaningful to user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Full Name of User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not currently implemented

Plain English Language Reference

C-25

ControllerUser Attributes, continued

ControllerUser Attributes Table, continued

Attribute LoginProgram LogOutProgram Name NetworkNumber Owner Preemption Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents State Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type VirtualFlag

Description InfinityProgram to be run at controller when user logs in InfinityProgram to be run at controller when user logs out Name of the object Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Not Meaningful to the User

C-26

Andover Controls Corporation

DateTime Attributes

DateTime Attributes Table

The following list provides you with the attributes and meanings for a DateTime object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime DateValue Description DeviceID DeviceModel DistPending EditLock EventEnable EventNotificationID EventState FollowUpRule Graphics HighLimit Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Date portion of the date time object Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User High Limit to be used in Basic Alarm (WS points only)

Plain English Language Reference

C-27

DateTime Attributes, continued

DateTime Attributes Table, continued

Attribute IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation LogIntervalSecs LogValue LowLimit Name NetworkNumber NotifyType OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeLocked TimeValue Type Value

Description Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Not Currently Implemented Not Currently Implemented Low limit to be used in Basic Alarms (WS points only) Name of the object Not Meaningful to the User Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of object Not meaningful to user Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened Time portion of the date time object The type of the object The value of this object after any conversions that may be required

C-28

Andover Controls Corporation

Device Attributes

Device Attributes Table

The following list provides you with the attributes and meanings for a Device object.
Attribute AccessEventViewer MaxEntries AcknowledgeEmail FormatFile AcknowledgePager FormatFile AcknowledgePrinter FormatFile AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmCount AlarmEmailFormat File AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmPagerFormat File AlarmPrinterFormat File AlarmPrinterPath AlarmViewerMax Entries Alias APDUSegTimeout Description Maximum number of entries allowed in the access viewer for this workstation Default location of this type of format file Default location of this type of format file Default location of this type of format file Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Number of alarms currently in alarm viewer Default location of this type of format file Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Default location of this type of format file Default location of this type of format file Full path to the printer for alarm printing Maximum number of entries allowed in the alarm viewer for this workstation Alias of the object Time in milliseconds between retransmission of an APDU (Application Protocol Data Unit) segment

Plain English Language Reference

C-29

Device Attributes, continued

Device Attributes Table, continued

Attribute APDUTimeout ApplSoftwareVer BasdgeFormatFile Location BaseLink CommandlinePrompt CommStatus CreatedBy CreateTime DaylightSavings Status DefaultBadgeFormat DefaultFolder DefaultImageCropping DefaultReportViewer DefaultRouter Description DeviceID DeviceModel DistPending EditLock FirmwareRev FolderType FollowUpRule Graphics IAMBroadcastIntvl IAMBroadcastScope IAMRemoteNetwork IconID ID IncludeObject IncrementReportFile IPAddress LastChangeBy

Description Time in milliseconds between retransmission of an APDU segment that requires ack but that has not been received. Application software version Default location of this type of format file Meaningless to the user Prompt to be used on the command line Communication status of device Name of user who created object Time of object creation States if device is currently under DST Format file to be used when printing badges Folder into which all new objects will be placed when created. True/False as to the use of the default image cropping Program to use for the viewing of report files IP address of the default router Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not meaningful to user Not Meaningful to the User. Not Meaningful to the User Not Meaningful to the User Not Currently Implemented Not Currently Implemented Not Currently Implemented Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User If true subsequent reports by the same name will be appended to existing report file IP address of the device Name of the user making the last change

C-30

Andover Controls Corporation

Device Attributes, continued

Device Attributes Table, continued

Attribute LocalDate LocalTime Location LockedBy LockingWorkstation MainMenuFile MaxAPDUAccepted MaxResponseTime ModelName Name NetworkFlag NetworkNumber NumberAPDURetries OperatorTextAlarmAck Owner PrimaryAccessServer ProbeTime Properties ProtocolConfClass ProtocolObjectTypes Support ProtocolServicesSupport ProtocolVersion ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleADL ScheduleEvents SecondaryAccessServer SecurityLevel

Description Date at the device Time at the device A string that can be used to specify the physical location of the device Not Currently Implemented Not Currently Implemented Name and path to the file that is displayed upon startup Number of octets that may be contained in a single APDU Amount of time the controller will wait for a response to a request before timing out. Not PE settable. Continuum CyberStation Name of the object Not Meaningful to the User Not Meaningful to the User Maximum number of tries for an APDU to be retransmitted Indicates if the operator is required to enter text on alarm acknowledgement (requires CFR setting) Owner of this device Indicates if the device should carry on the functions of primary access server Frequency in seconds that the device will confirm the communication status of other devices Not Meaningful to the User A number that indicates which specific set of standardized protocol services and object classes are supported Object classes that are supported Services that are supported Version of BACNet protocol supported - Not implemented at this time Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Indicates if device is set to autodownload schedules Not viewable by user Indicates if it device will satisfy requirements of the secondary access server Name and path of any security level attached to the object

Plain English Language Reference

C-31

Device Attributes, continued

Device Attributes Table, continued

Attribute SegmentationSupport StatusFlags SubnetMask SystemStatus Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Units UTCOffset VendorIdentifier VendorName

Description Indicates if this device supports segmentation of messages and, if so, if it supports transmission, reception or both. Not Meaningful to the User Subnet mask of device Indicates ONLINE, OFFLINE and OUT OF SERVICE When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The engineering units to be used for this object Universal Time Coordinate offset in minutes Number that corresponds to the BACNet vendor of this device Name of the BACNet vendor of this device

C-32

Andover Controls Corporation

BinaryInput Attributes

BinaryInput Attributes Table

The following list provides you with the attributes and meanings for a BinaryInput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActiveText Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ChangeofStateCount ChangeOfStateTime CreatedBy CreateTime Description DeviceID DeviceModel DeviceType DistPending EditLock ElapsedActiveTime ElecValue EventEnable EventNotificationID Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Text to be displayed when object is in active state. Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Number of times discrete object has changed state. Time of last change of state. Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Not Meaningful to the User Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Amount of time discrete point has been in active state Object's actual electrical value Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only)

Plain English Language Reference

C-33

BinaryInput Attributes, continued

BinaryInput Attributes Table, continued

Attribute EventState FollowUpRule Graphics IconID ID InactiveText IncludeObject IOU LastChangeBy LCDSettable LockedBy LockingWorkstation LogIntervalSecs LowLimit Name NetworkNumber NotifyType OutOfService Owner Polarity Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule

Description Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Text to be displayed when object is in inactive state. Not Meaningful to the User IOU number of object Name of the user making the last change Capable of being set from the LCD Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Low limit to be used in Basic Alarms (WS points only) Name of the object Not Meaningful to the User Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of object Polarity (NO vs NC) Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user

C-34

Andover Controls Corporation

BinaryInput Attributes, continued

BinaryInput Attributes Table, continued

Attribute TemplateName TimeDelay TimeLocked TimeofActiveTime Reset TimeofStateCount Reset Type Value

Description Name that will be used when creating objects from this template object - meaningful only for templates The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened Time stamp of most recent time that the active state was reset Time stamp of most recent time that the state counter was reset The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-35

BinaryOutput Attributes

BinaryOutput Attributes Table

The following list provides you with the attributes and meanings for a BinaryOutput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActiveText Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ChangeofStateCount ChangeOfStateTime ChangeofStateCount ChangeOfStateTime CreatedBy CreateTime Description DeviceID DeviceModel DeviceType DistPending EditLock ElapsedActiveTime ElecValue Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Text to be displayed when object is in active state. Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Number of times discrete object has changed state. Time of last change of state. Number of times discrete object has changed state. Time of last change of state. Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Not Meaningful to the User Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Amount of time descrete poin t has been in the active state Object's actual electrical value

C-36

Andover Controls Corporation

BinaryOutput Attributes, continued

BinaryOutput Attributes Table, continued

Attribute EventEnable EventNotificationID EventState FollowUpRule Graphics IconID ID InactiveText IncludeObject IOU LastChangeBy LCDSettable LockedBy LockingWorkstation LogIntervalSecs LowLimit MinimumOffTime MinimumOnTime Name NetworkNumber NotifyType OutOfService OverrideValue Owner Polarity Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability RelinquishDefault ReportID

Description Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Text to be displayed when object is in inactive state. Not Meaningful to the User IOU number of object Name of the user making the last change Capable of being set from the LCD Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Low limit to be used in Basic Alarms (WS points only) Point will be latched at inactive value for this time Point will be latched at active value for this time Name of the object Not Meaningful to the User Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Actual value of output as set by person overriding it Owner of the object Polarity (NO vs NC) Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented The priority value the BinaryOuput is set to when all command priorities have been relinquished. Not Meaningful to the USer

Plain English Language Reference

C-37

BinaryOutput Attributes, continued

BinaryOutput Attributes Table, continued

Attribute ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeDelay TimeLocked TimeofActiveTimeR eset TimeofStateCountRe set Type Value

Description Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened Time stamp of most recent time that the active state was reset Time stamp of most recent time that the state counter was reset The type of the object The value of this object after any conversions that may be required

C-38

Andover Controls Corporation

DistributionBatch Attributes

DistributionBatch Attributes Table

The following list provides you with the attributes and meanings for a DistributionBatch object.
Attribute DelayOffset DelayTime DelayType ID ReferenceCount StartTime UserID WrkStatID Description Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User

Plain English Language Reference

C-39

DistributionObject Attributes

DistributionObject Attributes Table

The following list provides you with the attributes and meanings for a DistributionObject object.
Attribute BatchID ClassFilter CreateTime DistOpts DistTime EditTime EditUser ExtraData1 ExtraData2 ExtraID1 ExtraID2 ID NotifyOpts Operation OperationOpts SourceID Status StringParam TargetID UserID WrkStatID Description Not Meaningful to the User Not Meaningful to the User Time that the distribution activity was created Distribution Options Time for next scheduled distribution of this object Time of last editing of distribution "job" The user who invoked the distribution Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Byte Code - Not Meaningful to the User Type of distribution (schedule download, etc.) Not Meaningful to the User Object requiring distribution Status of the distribution (pending, failed, etc.) XDriver configuration value Not Meaningful to the User User intitiating distribution Workstation accomplishing distribution

C-40

Andover Controls Corporation

Door Object Attributes

Door Object Attributes Table

The following list provides you with the attributes and meanings for a Door object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm ADAChannel ADADoorAjarTime ADAOutputTime Alarm1…Alarm8 AlarmChannel AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias ArmCode ArmMode BaseLink BondChannel BondFailure BondSensor BondType CardFormats CreatedBy CreateTime Description DeviceID DeviceModel DistPending Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Terminal number into which this object is wired Time required for door to be considered ajar Time duration of relay activation on door open command Equals "on" if alarm attached in this position is in alarm else equals "off" Terminal number into which this object is wired Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not Implemented at this time Not Implemented at this time Meaningless to the user Terminal number into which this object is wired true/false depending on status of bond sensor supervised input Value of bond sensor input Wiring type - NOSeries, etc. Format of the access cards to be used Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object

Plain English Language Reference

C-41

Door Attributes, continued

Door Attributes Table, continued

Attribute DoorAjar DoorAjarTime DoorChannel DoorFault DoorSchedule DoorStrikeTime DoorSwitch DoorSwitchChan DoorSwitchType Duress EditLock EntEgrViol EntryNormMode EntryNotReentry EntryPinDuress EntryRvrsCrdDur EntrySchedule EntryZone ExitAntiPassTime ExitArea ExitChannel ExitCount ExitEntEgr ExitEntrAntiPass ExitEntrEntEgr ExitEntrRvrsCrd ExitIOU ExitKyPdChan ExitLastCard ExitLastSite ExitMode ExitNoCommMode ExitNoDataMode ExitNoRentry

Description Indicates that the door has been left open too long Time required for door to be considered ajar Terminal number into which this object is wired True/false depending on status of supervised input Name of the schedule attached to this door Time duration of relay activation on door open command Indicates if a door switch input is used Terminal number into which this object is wired Wiring type - NOSeries, etc. Indicates if duress notification is to be used Indicates if object has been locked to additional Edits Indicates if there is an entry/egress violation Indicates if entry took place in normal mode Indicates if entry took place with no reentry permitted Indicates if entry via pin was duress Indicates if entry via reverse card was duress Schedule attached to the entry reader Zone entered through entry reader Time required for passback through this door to be permitted Area entered from exit reader Terminal number into which this object is wired Number of people who have exited

Allow entry through exit door on reverse card IOU number of object Terminal number into which this object is wired Last card number have valid access through exit reader Site code of last card number have valid access through exit reader Mode of Exit reader Exit reader in nocomm mode Exit reader in no data mode - no communication with access server Indicates if exit took place with no reentry

C-42

Andover Controls Corporation

Door Attributes, continued

Door Attributes Table, continued

Attribute ExitNormMode ExitPinDuress ExitRequest ExitRequestChan ExitRequestType ExitRvrsCrdDur ExitSchedule ExitZone Export FollowUpRule ForcedEntry GeneralCode Graphics IconID ID ExitEntrRvrsCrd IncludeObject InvalidAttempt InvalidEntryTime InvalidExitTime Invert LastChangeBy LastDepEtrdPnt LastDepExitdPnt LastInvalidEntry LastInvalidExit LastPersonEntrd LastPersonEntrdDep LastPersonExitd LastPersonExitdDep LCDSettable LockedBy

Description Indicates exit in normal mode Indicates exit with pin duress Indicates the presence of PIR or some form exit request sensor Terminal number into which this object is wired Wiring type - NOSeries, etc. Indicates exit via a reverse card duress signal Schedule attached to the exit reader Zone entered when going through the exit reader Indicates that the object value has been tagged for export. Not Meaningful to the User Indicates that the door has been forced open Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Allow entry through exit door on reverse card Not Meaningful to the User Indicates an invalid card was used Indicates an attempt to enter before proper antipassback time has elapsed Indicates an attempt to exit before proper antipassback time has elapsed Revers Polarity Name of the user making the last change

Last invalid card swiped at entry reader Last invalid card swiped at exit reader Last cardholder entering door Department number of last person entered Last person with valid swipe at the exit reader Department number of the last person with valid swipe at the exit reader Capable of being set from the LCD Not Currently Implemented

Plain English Language Reference

C-43

Door Attributes, continued

Door Attributes Table, continued

Attribute LockingWorkstation Name NetworkNumber OpenOnExitRequest OperatingMode Override OverrideValue Owner Param1…Param6 Port Properties RecordDrAjarHist RecordExitRqHist RecordForcedHist RecordInvalHist ReferencePoint1… ReferencePoint4 Refresh RefTemplate RelockOnClose ReportID ScheduleEvents SecurityLevel Site1…Site4 State Template TemplateAlias TemplateCreateRule TemplateName TimeEntered TimeExited TimeLocked

Description Not Currently Implemented Name of the object Not Meaningful to the User Indicates that door to be opened upon sensing exit request on exit request input Current operating mode of the door Indicates if the door has been overridden in the field Indicates the true value of the door when it has been overridden in the field Object that owns this door object XDriver configuration value Comm port associated with Xdriver Not Meaningful to the User Keep access event history for door ajar Keep access event history for exit requests Keep access event history for forced entries Keep access event history for invalid attempts Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Relock as soon as sensor indicates closed, do not wait for strike time to elapse Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Site code that can be used by readers Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Last time a swip occurred on exit reader Last time a swip occurred on entry reader The time the object was last opened

C-44

Andover Controls Corporation

Door Attributes, continued

Door Attributes Table, continued

Attribute Type UnlockSchedule ValidAccess Value

Description The type of the object Schedule attached to unlock door Indicates a valid access through door The value of this object after any conversions that may be required

Plain English Language Reference

C-45

DoorList Attributes

DoorList Attributes Table

The following list provides you with the attributes and meanings for a DoorList object.
Attribute AreaID DeviceID DoorID ID NetworkID Description Name and path of area name and path of controller Name and path of door SQL Object ID - Not Meaningful to the User Name of Network

C-46

Andover Controls Corporation

ElevatorInfo Attributes

ElevatorInfo Attributes Table

The following list provides you with the attributes and meanings for a ElevatorInfo object.
Attribute AreaID DoorID ID InputChannel InputIOU OutputChannel OutputIOU State Description Not Implemented at this time Not Implemented at this time Not Implemented at this time Not Implemented at this time Not Implemented at this time Not Implemented at this time Not Implemented at this time Not Implemented at this time

Plain English Language Reference

C-47

ErrorEvent Attributes

ErrorEvent Attributes Table

The following list provides you with the attributes and meanings for a ErrorEvent object.
Attribute Description ErrorCode EventObjectID ID TimeStamp UserID WrkStatID Description Description of Object Code to correspond to error - Not meaningful to User Name of object involved in error condition SQL Object ID - Not Meaningful to the User Time of error User initiating error Workstation from which error condition occurred.

C-48

Andover Controls Corporation

EventEnrollment Attributes

EventEnrollment Attributes Table

The following list provides you with the attributes and meanings for a EventEnrollment object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmReference AlarmType Alias BaseLink CreatedBy DeviceModel DistPending EditLock EventEnable EventNotificationID EventState FollowUpRule Graphics IconID ID IncludeObject Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alarm name Type of alarm Alias of the object Meaningless to the user Name of user who created object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User

Plain English Language Reference

C-49

EventEnrollment Attributes, continued

EventEnrollment Attributes Table, continued

Attribute IssueConfirmedNotif ication LastChangeBy LockedBy LockingWorkstation Name NetworkNumber NotifyType OldRefBitString OldRefValue Owner Priority ProcessIdentifier Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Currently Implemented Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Type of notification to be used Not Meaningful to the User Not Meaningful to the User Owner of object Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

C-50

Andover Controls Corporation

EventLogControl Attributes

EventLogControl Attributes Table

The following list provides you with the attributes and meanings for a EventLogControl object.
Attribute ArchiveFrequency ArchiveName ArchivePath ArchiveStartTime ArchiveStatus ID LastArchived LogClassID MaxAge MaxRecords PrimaryArchiver SecondaryArchiver TruncateOnly Description Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User

Plain English Language Reference

C-51

EventNotification Attributes

EventNotification Attributes Table

The following list provides you with the attributes and meanings for a EventNotification object.
Attribute AcknowledgementRu les AckRequired AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmFont Alarmgraphicpage AlarmInfo AlarmOptions Alias AudioFileFault AudioFileNormal AudioFileOffNormal BackGroundCOlor BaseLink CreatedBy CreateTime DeactivateCriteria Description DeviceID DeviceModel DistPending Description Determines if acknowledgement is for all instances or only selected Not currently implemented Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Font to be used when displaying alarm message Not currently implemented Indicates if alarms (advanced only on ws) are attached Various items that are to be done when alarm occurs Alias of the object Path and name of wav file to play on fault Path and name of wav file to play on RTN Path and name of wav file to play on Alarm Background color to be used when displaying the alarm message Meaningless to the user Name of user who created object Time of object creation Determination of what makes the alarm removed from the alarm viewer Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object

C-52

Andover Controls Corporation

EventNotification Attributes, continued

EventNotification Attributes Table, continued

Attribute EditLock EventNotificationID FollowUpRule Graphics IconID ID IncludeObject InPlaceAlarm LastChangeBy LockedBy LockingWorkstation NetworkNumber Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel SendToAll Template TemplateAlias TemplateCreateRule TemplateName TextColor TimeLocked ToFaultBGColor ToFaultFGColor ToFaultFont ToRTNBGColor ToRTNFGColor ToRTNFont Type

Description Indicates if object has been locked to additional Edits SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not currently implemented Name of the user making the last change Not Currently Implemented Not Currently Implemented Not Meaningful to the User Owner of object Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the User Not viewable by user Name and path of any security level attached to the object Not currently implemented When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Color to be used on displaying the text of the alarm message The time the object was last opened Background color to use when transitioning to a condition of fault Foreground color to use when transitioning to a condition of fault Font to use when transitioning to a condition of fault Background color to use when transitioning to a return Foreground color to use when transitioning to a return Fontr to use when transitioning to a return The type of the object

Plain English Language Reference

C-53

EventView Attributes

EventView Attributes Table

The following list provides you with the attributes and meanings for a EventView object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock EventMaximum FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Name Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Maximum number of events permitted in view Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object

C-54

Andover Controls Corporation

EventView Attributes, continued

EventView Attributes Table, continued

Attribute NetworkNumber Owner PrimarySortDirection PrimarySortKey Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID Reserved1… Reserved4 ScheduleEvents SecondarySortDirecti on SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TernarySortDirection TernarySortKey TimeLocked Type

Description Not Meaningful to the User Owner of object Sort order - ascending or descending Item on which to sort Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not Currently Implemented Not viewable by user Sort order - ascending or descending Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Sort order - ascending or descending Item on which to sort The time the object was last opened The type of the object

Plain English Language Reference

C-55

Filter Attributes

Filter Attributes Table

The following list provides you with the attributes and meanings for a Filter object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending Duration EditLock EndDateTime EndTime FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LockedBy Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Meaningless to the user Indicates if object has been locked to additional Edits Meaningless to the user Meaningless to the user Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented

C-56

Andover Controls Corporation

Filter Attributes, continued

FilterAttributes Table, continued

Attribute LockingWorkstation Name NetworkNumber Owner PreCreatedFlags Properties ReferencePoint1… ReferencePoint4 RefTemplate Relative Time ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type WeekdaysArray

Description Not Currently Implemented Name of the object Not Meaningful to the User Owner of the object Indicates that the filter is a system created filter Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not Meaningful to the USer Not viewable by user Name of any security level attached to object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Not Meaningful to the User

Plain English Language Reference

C-57

Folder Attributes

Folder Attributes Table

The following list provides you with the attributes and meanings for a Folder object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ContainerCreateRule CreatedBy CreateTime DefaultDevice Description DeviceID DeviceModel DistPending EditLock FolderType FollowUpRule Graphics IconID ID IncludeObject LastChangeBy Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Not currently implemented Name of user who created object Time of object creation Default device on which to create any object that is created in this folder Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change

C-58

Andover Controls Corporation

Folder Attributes, continued

Folder Attributes Table, continued

Attribute LockedBy LockingWorkstation Name NetworkNumber Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of object Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-59

Function Attributes

Function Attributes Table

The following list provides you with the attributes and meanings for a Function object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias ArgumentList BaseLink ByteCode CommandLine CreatedBy CreateTime CurrentObject DbgStatus Description DescriptionOfHalt DeviceID DeviceModel DistPending EditLock ErrorCode FileAccess FileSize FileSize Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not viewable by user Not Meaningful to the User Not readable by user Indicates if function can be called from the command line Name of user who created object Time of object creation Not viewable by user Not Meaningful to the User Description of Object Not Meaningful to the User Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Type of error that occurred Not Meaningful to the User Number of bytes in function Number of bytes in function

C-60

Andover Controls Corporation

Function Attributes, continued

Function Attributes Table, continued

Attribute FollowUpRule Graphics IconID ID IncludeObject InstanceOf LastChangeBy LocalVarData LocalVarList LockedBy LockingWorkstation Name NetworkNumber OutOfService Owner ProgEntry ProgInfo ProgOffset Properties ReasonForHalt ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Meaningful to the User Not Meaningful to the User Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Service state of a object (similar to enable/disable-WS points only) Owner of the object Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Information on runtime errors Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-61

Graphics Attributes

Graphics Attributes Table

The following list provides you with the attributes and meanings for a Graphics object.
Attribute Not Meaningful to the User AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics GraphicsFileName HighLimit IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Name of graphic (PIN) file High Limit to be used in Basic Alarm (WS points only) Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented

C-62

Andover Controls Corporation

Graphics Attributes, continued

Graphics Attributes Table, continued

Attribute Name NetworkNumber ObjectList Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents ScreenHeight ScreenWidth SecurityLevel Template TemplateAlias TemplateCreateRule TimeLocked Type WindowHeight WindowState WindowWidth WindowXPos WindowXScrollPos WindowYPos WindowYScrollPos

Description Name of the object Not Meaningful to the User List of objects that are animated on the graphic Owner of object Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not currently implemented Height of the graphic screen to be displayed Width of the graphic screem to be displayed Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user The time the object was last opened The type of the object Not meaningful to user Not meaningful to user Not meaningful to user Not meaningful to user Not meaningful to user Not meaningful to user Not meaningful to user

Plain English Language Reference

C-63

Group Attributes

Group Attributes Table

The following list provides you with the attributes and meanings for an Group object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime DefaultView Description DeviceID DeviceModel DistPending EditLock FollowUpRule Format Graphics GroupFlags HistoryInterval HistoryPage IconID ID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation View to be presented when group firs opened - member list, history or graph Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Format to be used in displaying object value Not Meaningful to the User Not Meaningful to the User Time between rows in history view Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User

C-64

Andover Controls Corporation

Group Attributes, continued

Group Attributes Table continued

Attribute IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Owner PadType Properties ReferencePoint1… ReferencePoint4 RefreshRate RefTemplate ReportID ScaleStep ScaleType ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked TimeView Type Units

Description Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of object Method used to interpolate values between actual data Not Meaningful to the User Alarm Referenece Point Time period after which to get live data on the objects in the member list Name and path of template from which object was created Not Meaningful to the USer Steps between ticks in graphical view - Not yet implemented Type of scaling to be used - Not yet implemented Not viewable by user Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object – meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened Default time range for graph view The type of the object The engineering units to be used for this object

Plain English Language Reference

C-65

GroupMember Attributes

GroupMember Attributes Table

The following list provides you with the attributes and meanings for an GroupMember object.
Attribute ClassID GroupMemberBos GroupMemberColor GroupMemberController GroupMemberFlag GroupMemberOwned GroupMemberOwner GroupMemberSite GroupMemberTos HistoryInterval ID PadType ScalesStep ClassID Description Not Meaningful to the User Bottom Scale for the member Color of Pen for the member Not Meaningful to the User Not Meaningful to the User Name and path of the member Name and path of the owning group Not Meaningful to the User Top of Scale for the member Time interval between entries in history view SQL Object ID - Not Meaningful to the User Type of interpolation to be used Number of steps in scale Not Meaningful to the User

C-66

Andover Controls Corporation

ImExportRef Attributes

ImExportRef Attributes Table

The following list provides you with the attributes and meanings for an ImExportRef object.
Attribute AlarmFlag ExportMast1… ExportMast8 Handle ID ImportFlag InfExportMast NetAddress Site Description Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User

Plain English Language Reference

C-67

InfinityController Attributes

InfinityController Attributes Table

The following list provides you with the attributes and meanings for an InfinityController object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CommStatus CommStatus ControllerOptions CreatedBy CreateTime DefaultFolder DefaultRouter Description DeviceID DeviceModel DistPending EditLock EthernetID FolderType FollowUpRule Graphics IconID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Communication status of controller Communication status of controller Read only listing of options available in controller Name of user who created object Time of object creation Folder into which all new objects will be placed when created. IP address of default router Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits MAC address of controller Not Meaningful to the User. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User

C-68

Andover Controls Corporation

InfinityController Attributes, continued

InfinityController Attributes Table continued

Attribute ID IncludeObject IOU1Model… IOU8Model IPAddress LastChangeBy Location LockedBy LockingWorkstation MaxResponseTime Model Name NetworkID NetworkNumber Owner PPPIPAddress PPPSubnetMask ProbeTime Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel SerialNum SubnetMask Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type VersionNum

Description SQL Object ID - Not Meaningful to the User Not Meaningful to the User IOU model that is installed - meaningful only forAEclipse controllers (CX9400) IP address of controller Name of the user making the last change String that can be entered to indicate physical location Not Currently Implemented Not Currently Implemented Maximum time that can pass before a response is tobe received and after which a retransmission will occur Model of controller Name of the object BACNet network number - Not currently implemented Not Meaningful to the User Owner of the object PPP IP address PPP Subnet setting Frequency in seconds for requesting communication status of other devices on the controller's network Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by the user Name and path of any security level attached to the object Serial number of the controller Subnet mask setting When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Software version number

Plain English Language Reference

C-69

InfinityDateTime Attributes

InfinityDateTime Attributes Table

The following list provides you with the attributes and meanings for an InfinityDateTime object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink Channel CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock Export ExtLogInterval ExtLogSize FollowUpRule Graphics IconID ID IncludeObject IODirection Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Terminal number into which this object is wired Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Indicates that the object value has been tagged for export. Log Interval to be used with extended logs. Number of elements to be stored in the extended log for this object. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Directional configuration for specific IO module points.

C-70

Andover Controls Corporation

InfinityDateTime Attributes, continued

InfinityDateTime Attributes Table continued

Attribute IOU LastChangeBy LastExtLogTime LastLogTime LCDState LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber Owner Param1… Param6 Port Properties ReferencePoint1… ReferencePoint4 Refresh RefTemplate ReportID ScheduleEvents SecurityLevel Setpoint Size State StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Value

Description IOU number of object Name of the user making the last change Time stamp of the most recent entry in an object's extended log Time stamp of an object's last entry in the local automatic array. Where applicable, indicates whether or not a point can be displayed on the local display. Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Owner of the Object. XDriver configuration value Xdriver comm port Not Meaningful to the User Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload. Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-71

InfinityFunction Attributes

InfinityFunction Attributes Table

The following list provides you with the attributes and meanings for an InfinityFunction object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ByteCode CommandLine CreatedBy CreateTime DbgStatus Description DeviceID DeviceModel DistPending EditLock FileSize FollowUpRule Graphics IconID ID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Byte code of function - Not viewable by user Indicates if function can be called from command line Name of user who created object Time of object creation Not Meaningful to the User Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Bytes in file Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User

C-72

Andover Controls Corporation

InfinityFunction Attributes, continued

InfinityFunction Attributes Table continued

Attribute IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel State StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Indicates if an object has been enabled or disabled Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-73

InfinityInfinetCtrl Attributes

InfinityInfinetCtrl Attributes Table

The following list provides you with the attributes and meanings for an InfinityInfinetCtrl object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CommStatus CreatedBy CreateTime DefaultFolder Description DeviceID DeviceModel DistPending EditLock FolderType FollowUpRule Graphics Handle IconID ID IncludeObject InfinetError Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Communication status of controller Name of user who created object Time of object creation Folder into which all new objects will be placed when created. Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User. Not Meaningful to the User Not Meaningful to the User Numerical identifier Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Type of error occuring on Infinet device

C-74

Andover Controls Corporation

InfinityInfinetCtrl Attributes, continued

InfinityInfinetCtrl Attributes Table continued

Attribute InfinetErrorCount InfinetErrTime InfinetID LastChangeBy Location LockedBy LockingWorkstation Model Name NetworkID NetworkNumber Owner Port PortNum Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel SerialNum Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type VersionNum

Description Number of errors since the last clearing Time of the last error ID number of Infinet device Name of the user making the last change String that can be entered to show the physical location of the device Not Currently Implemented Not Currently Implemented Model number of the controller Name of the object The ACCNetID of the parent CX controller Not Meaningful to the User Owner of the Object. Comm port that "owns" this infinet controller The numerical svc corresponding to the Comm port that "owns" this infinet controller Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the User Not viewable by user Name and path of any security level attached to the object Serial number of the infinet controller When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Software version

Plain English Language Reference

C-75

InfinityInput Attribute

InfinityInput Attributes Table

The following list provides you with the attributes and meanings for an InfinityInnput object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmVlaue Alias BaseLink Button1…Button6 Channel Conversion CreatedBy CreateTime Description DeviceID DeviceModel DigitalFilter DisplayMsg DisplaySelect DisplayValue DistPending EditLock Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Binary bitmap that corresponds to the alarms that may be active on this point Alias of the object Meaningless to the user References the buttons on a smart sensor - Attribute is only meaningful for smart sensor inputs Terminal number into which this object is wired Equation with which the elec. value should be converted into engineering units Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates if automatic digital filtering will be implemented Used in the programming of the smart sensor input Used in the programming of the smart sensor input Used in the programming of the smart sensor input Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits

C-76

Andover Controls Corporation

InfinityInput Attribute, continued

InfinityInput Attributes Table continued

Attribute ElecScaleBot ElecScaleTop ElecType ElecValue EngScaleBot EngScaleTop ExtLogInterval ExtLogSize FollowUpRule Format Graphics IconID ID IncludeObject Invert IOU LastChangeBy LastExtLogTime LastLogTime LCDState LockedBy LockingWorkstation LogIntervalSecs LogType LowerFluidLevel Name NetworkNumber Owner Param1…Param6 Port Properties

Description The bottom electrical value that corresponds to the bottom value in Engineering Units The top electrical value that corresponds to the top value in Engineering Units Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value The bottom value in Engineering Units that corresponds to the bottom electrical value The top value in Engineering Units that corresponds to the top electrical value Log Interval to be used with extended logs. Number of elements to be stored in the extended log for this object. Not Meaningful to the User Format to be used in displaying object value Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Revers polarity (NO vs NC) IOU number of object Name of the user making the last change Time stamp of the most recent entry in an object's extended log Time stamp of an object's last entry in the local automatic array. Where applicable, indicates whether or not a point can be displayed on the local display. Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Float reading when input is configured as tank monitoring probe Name of the object Not Meaningful to the User Owner of the Object. XDriver configuration value Comm port used for Xdriver Not Meaningful to the User

Plain English Language Reference

C-77

InfinityInput Attribute, continued

InfinityInput Attributes Table continued

Attribute ReferencePoint1… ReferencePoint4 Refresh RefTemplate ReportID ResistorType RTD1…RTD6 ScheduleEvents SecurityLevel Size State Template TemplateAlias TemplateCreateRule TemplateName Threshold TimeLocked Type Units Value

Description Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Not Meaningful to the USer Wiring type when input is configured as supervised RTD reading when input is configured as tank monitoring probe Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The amount, in engineering units, that the value must change before it will update The time the object was last opened The type of the object The engineering units to be used for this object The value of this object after any conversions that may be required

C-78

Andover Controls Corporation

InfinityNumeric Attribute

InfinityNumeric Attributes Table

The following list provides you with the attributes and meanings for an InfinityNumeric object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmVlaue Alias BaseLink Channel CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock Export ExtLogInterval ExtLogSize FollowUpRule Format Graphics IconID ID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Binary bitmap that corresponds to the alarms that may be active on this point Alias of the object Meaningless to the user Terminal number into which this object is wired Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Indicates that the object value has been tagged for export. Log Interval to be used with extended logs. Number of elements to be stored in the extended log for this object. Not Meaningful to the User Format to be used in displaying object value Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User

Plain English Language Reference

C-79

InfinityNumeric Attribute, continued
InfinityNumeric Attributes Table continued

Attribute IncludeObject IODirection IOU LastChangeBy LastExtLogTime LastLogTime LCDState LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber Owner Param1…Param6 Port Properties ReferencePoint1… ReferencePoint4 Refresh RefTemplate ReportID ScheduleEvents SecurityLevel Setpoint Size State Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Units Value

Description Not Meaningful to the User Directional configuration for specific IO module points. IOU number of object Name of the user making the last change Time stamp of the most recent entry in an object's extended log Time stamp of an object's last entry in the local automatic array. Where applicable, indicates whether or not a point can be displayed on the local display. Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Owner of the Object. XDriver configuration value Comm port used by Xdriver Not Meaningful to the User Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload. Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The engineering units to be used for this object The value of this object after any conversions that may be required

C-80

Andover Controls Corporation

InfinityOutput Attribute

InfinityOutput Attributes Table

The following list provides you with the attributes and meanings for an InfinityOutput object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmVlaue Alias BaseLink Channel Conversion CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock ElecScaleBot ElecScaleTop ElecType ElecValue Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Binary bitmap that corresponds to the alarms that may be active on this point Alias of the object Meaningless to the user Terminal number into which this object is wired Equation with which the elec. value should be converted into engineering units Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits The bottom electrical value that corresponds to the bottom value in Engineering Units The top electrical value that corresponds to the top value in Engineering Units Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value

Plain English Language Reference

C-81

InfinityOutput Attribute, continued

InfinityOutput Attributes Table continued

Attribute EngScaleBot EngScaleTop Export ExtLogInterval ExtLogSize FollowUpRule Format Graphics IconID ID IncludeObject Invert IOU LastChangeBy LastExtLogTime LastLogTime LCDState LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber Override OverrideValue Owner Param1…Param6 Port Properties ReferencePoint1… ReferencePoint4 Refresh RefTemplate

Description The bottom value in Engineering Units that corresponds to the bottom electrical value The top value in Engineering Units that corresponds to the top electrical value Indicates that the object value has been tagged for export. Log Interval to be used with extended logs. Number of elements to be stored in the extended log for this object. Not Meaningful to the User Format to be used in displaying object value Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Reverse Polarity (NO vs NC) IOU number of object Name of the user making the last change Time stamp of the most recent entry in an object's extended log Time stamp of an object's last entry in the local automatic array. Where applicable, indicates whether or not a point can be displayed on the local display. Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Indicates if the output has placed in manual control in the field Actual state of the output when it has been placed on manual control in the field Owner of the Object. XDriver configuration value Comm port used by the Xdriver Not Meaningful to the User Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created

C-82

Andover Controls Corporation

InfinityOutput Attribute, continued

InfinityOutput Attributes Table continued

Attribute ReportID ScheduleEvents SecurityLevel Size State Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Units Value

Description Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The engineering units to be used for this object The value of this object after any conversions that may be required

Plain English Language Reference

C-83

InfinityProgram Attribute

InfinityProgram Attributes Table

The following list provides you with the attributes and meanings for an InfinityProgram object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias AutoStart BaseLink CommandLine CreatedBy CreateTime CurrentLine DefaultPort Description DeviceID DeviceModel DistPending EditLock ErrorCode ExecTimeOut FileAccess FileSize Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Indicates that the program will start immediately upon compiling to the controller Meaningless to the user Indicates that the program can be started directly from the command line Name of user who created object Time of object creation Holds the name of the line that is currently being processed The port to which any communication or print instructions will be issued unless a different port is explicitly declared Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Numerical representation of a runtime error Not Meaningful to the User Not Meaningful to the User Size of the file in bytes

C-84

Andover Controls Corporation

InfinityProgram Attribute, continued

InfinityProgram Attributes Table continued

Attribute FlowType FollowUpRule Graphics CurrentLine IconID ID IncludeObject LastChangeBy LineStartTime LockedBy LockingWorkstation Name NetworkNumber Owner ProgPending Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel State TD Template TemplateAlias TemplateCreateRule TemplateName TH TimeLocked TM TS Type

Description Specify program flow to be either looping of fall through Not Meaningful to the User Not Meaningful to the User Holds the name of the line that is currently being processed Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Initial time of processing of current line Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object. Not Meaningful to the User Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Indicates if an object has been enabled or disabled Amount of time that program has been processing the currentline in days When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Amount of time that program has been processing the currentline in hours The time the object was last opened Amount of time that program has been processing the currentline in minutes Amount of time that program has been processing the currentline in seconds The type of the object

Plain English Language Reference

C-85

InfinityString Attribute

InfinityString Attributes Table

The following list provides you with the attributes and meanings for an InfinityString object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink Channel CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock Export FollowUpRule Graphics IconID ID IncludeObject IODirection IOU LastChangeBy Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Terminal number into which this object is wired Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Indicates that the object value has been tagged for export. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Directional configuration for specific IO module points. IOU number of object Name of the user making the last change

C-86

Andover Controls Corporation

InfinityString Attribute, continued

InfinityString Attributes Table continued

Attribute LastLogTime LockedBy LogIntervalSecs LogType Name NetworkNumber Owner Param1…Param6 Port Properties ReferencePoint1… ReferencePoint4 Refresh RefTemplate ReportID ScheduleEvents SecurityLevel Setpoint Size State StringSize Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Value

Description Time stamp of an object's last entry in the local automatic array. Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Owner of the Object. XDriver configuration value Comm port used by Xdriver Not Meaningful to the User Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Not Meaningful to the User Not viewable by user Name and path of any security level attached to the object Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload. Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled Number of characters in string When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-87

InfinitySystemVariable Attribute

InfinitySystem Variable Attributes Table

The following list provides you with the attributes and meanings for an InfinitySystemVariable object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock Export ExtLogInterval ExtLogSize FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LastExtLogTime Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Indicates that the object value has been tagged for export. Log Interval to be used with extended logs. Number of elements to be stored in the extended log for this object. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Time stamp of the most recent entry in an object's extended log

C-88

Andover Controls Corporation

InfinitySystemVariable Attribute, continued

InfinitySystem Variable Attributes Table continued

Attribute LastLogTime LCDState LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber Owner Properties ReferencePoint1… ReferencePoint4 Refresh RefTemplate ReportID ScheduleEvents SecurityLevel Size State SVType Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Value

Description Time stamp of an object's last entry in the local automatic array. Where applicable, indicates whether or not a point can be displayed on the local display. Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Owner of the Object. Not Meaningful to the User Alarm Referenece Point Rebroadcasts current value of point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Indicates if an object has been enabled or disabled Data type - Not meaningful to user When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-89

IOUModule Attribute

IOUModule Attributes Table

The following list provides you with the attributes and meanings for an IOUModule object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CommStatus CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics IconID ID IncludeObject IOU LastChangeBy Learn LockedBy Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Communication status of module Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User IOU number of object Name of the user making the last change This is a command that invokes a learn. No data is stored. NOT PE settable Not Currently Implemented

C-90

Andover Controls Corporation

IOUModule Attribute, continued

IOUModule Attributes Table continued

Attribute LockingWorkstation ModelName ModuleID Name NetworkNumber Owner ProgramID Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type Wink

Description Not Currently Implemented Module type Module identiying number Name of the object Not Meaningful to the User Owner of the Object. Version of IO firmware Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name of any security level attached to object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Test communication status , causes LED to flash on module

Plain English Language Reference

C-91

ListView Attribute

ListView Attributes Table

The following list provides you with the attributes and meanings for an ListView object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink CreatedBy CreateTime DBQualifier Description DeviceID DeviceModel DistPending EditLock Filter FollowUpRule Graphics HighlightBKColor HighlightFGColor HighlightQualifier IconID ID IncludeObject Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Database qualifying condition to limit entries in view Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Time range by which to filter view Not Meaningful to the User Not Meaningful to the User Background color of highlighted rows Foreground color of highlighted rows Reason to highlight row Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User

C-92

Andover Controls Corporation

ListView Attribute, continued

ListView Attributes Table continued

Attribute LastChangeBy ListClass ListTemplate LiveDataonDemand LiveDataRefreshRate LiveQualifier LockedBy LockingWorkstation Name NetworkNumber Owner PathType PromptFlag Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ReportTemplate ScheduleEvents SecurityLevel Shortcuts ShowGridLines Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Name of the user making the last change Class from which to select list Template of a list Force list to go out to the field to gather live data when the list is first viewed Frequency with which to updat the live values in the list Live condition criteria by which to restrict the list Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object. Path designation upon which list is to be run Not Meaningful to the User Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the User Template within which report should be built when list is printed Not viewable by user Name and path of any security level attached to the object Not Meaningful to the User Determines if lines should be drawn around list fields when list is printed When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-93

MultiStateInput Attribute

MultiStateInput Attributes Table

The following list provides you with the attributes and meanings for an MultiStateInput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink Channel CreatedBy CreateTime Description DeviceID DeviceModel DeviceType DigitalFilter DistPending EditLock ElecType ElecValue EventEnable EventNotificationID Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Terminal number into which this object is wired Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Not Meaningful to the User Indicate if digital filtering is to be used. Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only)

C-94

Andover Controls Corporation

MultiStateInput Attribute, continued

MultiStateInput Attributes Table continued

Attribute EventState FollowUpRule Graphics IconID ID IncludeObject IOU LastChangeBy LCDSettable LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber NotifyType NumberofStates OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule

Description Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User IOU number of object Name of the user making the last change Capable of being set from the LCD Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Type of notification to be used Determines how many different states a multistate IO point can have Service state of an object (similar to enable/disable - WS points only) Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user

Plain English Language Reference

C-95

MultiStateInput Attribute, continued

MultiStateInput Attributes Table continued

Attribute TemplateName TimeDelay TimeLocked TriggerThreshold Type Value

Description Name that will be used when creating objects from this template object - meaningful only for templates The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened The amount, in engineering units, that the value must change before it will update The type of the object The value of this object after any conversions that may be required

C-96

Andover Controls Corporation

MultiStateOutput Attribute

MultiStateOutput Attributes Table

The following list provides you with the attributes and meanings for an MultiStateOutput object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink Channel CreatedBy CreateTime Description DeviceID DeviceModel DeviceType DigitalFilter DistPending EditLock ElecType ElecValue EventEnable EventNotificationID Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Terminal number into which this object is wired Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Not Meaningful to the User Indicate if digital filtering is to be used. Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Object's electrical type (voltage, current, digital, etc.) Object's actual electrical value Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only)

Plain English Language Reference

C-97

MultiStateOutput Attribute, continued

MultiStateOutput Attributes Table continued

Attribute EventState FollowUpRule Graphics IconID ID IncludeObject IOU LastChangeBy LCDSettable LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber NotifyType NumberofStates OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability RelinquishDefault ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias

Description Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User IOU number of object Name of the user making the last change Capable of being set from the LCD Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Type of notification to be used Determines how many different states a multistate IO point can have Service state of an object (similar to enable/disable - WS points only) Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates

C-98

Andover Controls Corporation

MultiStateOutput Attribute, continued

MultiStateOutput Attributes Table continued

Attribute TemplateCreateRule TemplateName TimeDelay TimeLocked TriggerThreshold Type Value

Description Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened The amount, in engineering units, that the value must change before it will update The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-99

MultiStateValue Attribute

MultiStateValue Attributes Table

The following list provides you with the attributes and meanings for an MultiStateValue object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock EventEnable EventNotificationID EventState FollowUpRule Graphics IconID ID Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User

C-100 Andover Controls Corporation

MultiStateValue Attribute, continued

MultiStateValue Attributes Table continued

Attribute IncludeObject LastChangeBy LCDSettable LockedBy LockingWorkstation LogIntervalSecs LogType Name NetworkNumber NotifyType OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName TimeDelay TimeLocked TriggerThreshold Type Value

Description Not Meaningful to the User Name of the user making the last change Capable of being set from the LCD Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Name of the object Not Meaningful to the User Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time delay used in evaluating Basic Alarms (WS points only) The time the object was last opened The amount, in engineering units, that the value must change before it will update The type of the object The value of this object after any conversions that may be required

Plain English Language Reference

C-101

Network Attribute

Network Attributes Table

The following list provides you with the attributes and meanings for an Network object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo AlarmReferencePointf orUpdates AlarmUpdateIntvl Alias BaseLink CarrierWait CommID ConnectScript ConnectWaitTime CreatedBy CreateTime DefaultFolder Description DeviceID DeviceModel DialWait DisableUpdate Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached If remote site, this point will be examined for change (when connected) and alarm updates occur when point changes Set period of time after which a remote site will have its alarms updated Alias of the object Meaningless to the user Number of seconds to wait for a carrier indication Not meaningful to user Script to be processed when connection is required Amount of time to wait, in seconds, before connection is established Name of user who created object Time of object creation Folder into which all new objects will be placed when created. Description of Object Name of the device owning the object Not Currently Implemented Number of seconds to wait before a dial instruction is to be processed Indicates if automatic updating has been halted by the user

C-102 Andover Controls Corporation

Network Attribute, continued

Network Attributes Table continued

Attribute DisconnectScript DisconnectWaitTime DistPending EditLock EventRefPoint EventUpdatInterval FolderType FollowUpRule GraceInterval Graphics IconID ID IncludeObject LastALarmUpdate LastChangeBy LastEventUpdate LockedBy LockingWorkstation MaxResponseTime Name NetworkNumber NetworkProtocol NetworkType NetworkUTCOffset Owner PhoneNumber PortNum Properties ReferencePoint1… ReferencePoint4 RefTemplate RemovePersonSynch ReportID

Description Script to be processed when a disconnect is requested Amount of time to wait before a disconnect is to be complete Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits If remote site, this point will be examined for change (when connected) and event updates occur when point changes Set period of time after which a remote site will have its events updated Not Meaningful to the User. Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Time of last alarm update Name of the user making the last change Time of last event update Not Currently Implemented Not Currently Implemented Maximum time that can pass before a response is tobe received and after which a retransmission will occur Name of the object Not Meaningful to the User Protocol used by Network Not meaningful to user Universal Time Constant offset to be used by entire network Owner of the Object. Phone number to be dialed for connection to remote network Not meaningful to user Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Distribute to all networks on person deletion Not Meaningful to the USer

Plain English Language Reference

C-103

Network Attribute, continued

Network Attributes Table continued

Attribute SafetyInterval ScheduleEvents SecurityLevel SendtoACX SendtoCX SynchDB Template TemplateAlias TemplateCreateRule TemplateName TimeDifference TimeLocked Type UniquePins

Description Amount of time after which no activity will result in a disconnect Not viewable by user Name and path of any security level attached to the object Not viewable by user Not viewable by user Turns on database synchronizatio When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user The time the object was last opened The type of the object Not currently implemented

C-104 Andover Controls Corporation

NetworkDialUp Attribute

NetworkDialUp Attributes Table

The following list provides you with the attributes and meanings for an NetworkDialUp object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActiveAlarmSync ActiveEventSync Alarmgraphicpage AlarmPollInterval Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreateTime Description DeviceID DeviceModel DisconnectIdleTime DistPending EditLock EventPollInterval FollowUpRule Graphics IconID ID Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Indicates if all alarm infromation will be extracted on dial up Indicates if all event infromation will be extracted on dial up Not currently implemented Amount of time in minutes that will pass between dial ups to poll for alarms Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Time of object creation Description of Object Name of the device owning the object Not Currently Implemented The amount of time with no activity that will result in a disconnect Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Amount of time in minutes that will pass between dial ups to poll for events Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User

Plain English Language Reference

C-105

NetworkDialUp Attribute, continued

NetworkDialUp Attributes Table continued

Attribute IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Owner PhoneBookEntry PhoneFile Properties ReferencePoint1… ReferencePoint4 RefTemplate RemoteNetwork ReportID RouterCX ScheduleEvents Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object. Individual telphone number used to dial network Text file that is used to store the telephone numbers Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Indicates if network requires dial out Not Meaningful to the USer Name of the CX that is to serve as a router for all communication to the remote site Not viewable by user When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

C-106 Andover Controls Corporation

Numeric Attribute

Numeric Attributes Table

The following list provides you with the attributes and meanings for an Numeric object.
Attribute AckedTransitions AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreatedBy CreateTime DeadBand DeviceID DeviceModel DistPending EditLock EventEnable EventNotificationID EventState FollowUpRule Format Graphics Description Not meaningful to user - Currently not supported Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Amount that the value must differ from low or hi limit in Basic Alarm (WS points only) Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only) Lists Event Notification associated with Basic Alarms (WS points only) Lists current basic alarm State - Alarm, RTN, Fault (WS points only) Not Meaningful to the User Format to be used in displaying object value Not Meaningful to the User

Plain English Language Reference

C-107

Numeric Attribute, continued

Numeric Attributes Table continued

Attribute HighLimit IconID ID IncludeObject LastChangeBy LimitEnable LockedBy LockingWorkstation LogIntervalSecs LogType LowLimit Name NetworkNumber NotifyType OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate Reliability RelinquishDefault ReportID ScheduleEvents SecurityLevel Size StatusFlags Template TemplateAlias TemplateCreateRule TemplateName Threshold TimeDelay

Description High Limit to be used in Basic Alarm (WS points only) Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Meaningful to the User Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc. Low limit to be used in Basic Alarms (WS points only) Name of the object Not Meaningful to the User Type of notification to be used Service state of an object (similar to enable/disable - WS points only) Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Not Meaningful to the User When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The amount, in engineering units, that the value must change before it will update The time delay used in evaluating Basic Alarms (WS points only)

C-108 Andover Controls Corporation

Numeric Attribute, continued

Numeric Attributes Table continued

Attribute TimeLocked Type Units Value

Description The time the object was last opened The type of the object The engineering units to be used for this object The value of this object after any conversions that may be required

Plain English Language Reference

C-109

ParamInfo Attribute

ParamInfo Attributes Table

The following list provides you with the attributes and meanings for an ParamInfo object.
Attribute ID Param1…Param6 Port ID Description SQL Object ID - Not Meaningful to the User XDriver configuration value Identifies the comport number that the Xdriver is on. NOT PE settable. SQL Object ID - Not Meaningful to the User

C-110 Andover Controls Corporation

Personnel Attribute

Personnel Attributes Table

The following list provides you with the attributes and meanings for an Personnel object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActivationDate ADA Address Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias AllowEntEntRgr BaseLink Blood CardNumber CardType City Country CreatedBy CreateTime CustomControl1 CustomControl2 CustomControl3 DateOfBirth DeletPending Department Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Date that person's access card is to become active Using ADA configuration Address Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of object Allows entry in spite of passback restrictions Meaningless to the user Field to be used for storage of this or any other individual feature. Card number of access card Type of card format (Weigand, Infinity37, etc.) Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Name of user who created object Time of object creation Custom attribute Custom attribute Custom attribute Field to be used for storage of this or any other individual feature. Indicates that delete action is pending for this object Field to be used for storage of this or any other individual feature.

Plain English Language Reference

C-111

Personnel Attribute, continued

Personnel Attributes Table continued

Attribute DepartmentCode DeviceID DeviceModel DistFailed DistPending Duress EditLock EmergencyCOntact EmergencyPhone EmpNumber EntryEgress ExpirationDate EyeColor FirstName FollowUpRule FullName Graphics HairColor Height HomePhone IconID ID InactiveDisableDays IncludeObject Info1…Info6 JobTitle LastChangeBy LastDoorEntered LastEvent LastEventTime LastName LastZone LicenseNumber LockedBy LockingWorkstation

Description Field to be used for storage of this or any other individual feature. Name of the device owning the object Not Currently Implemented Most recent distribution of this person failed Indicates that distribution is pending for this object Last swipe indicated a duress condition Indicates if object has been locked to additional Edits Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Date after which person's card will become invalid Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Not Meaningful to the User Full Name as built by combining last,first middle Not Meaningful to the User Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Not Meaningful to the User SQL Object ID - Not Meaningful to the User Number of days that are card can be made to be active before automatically becoming disabled Not Meaningful to the User String field that can be used for free form entry Field to be used for storage of this or any other individual feature. Name of the user making the last change Last door at which this person had a valid access event Last event associated with this person Time of last event associated with this person Last Name Last Zone entered by this person Field to be used for storage of this or any other individual feature. Not Currently Implemented Not Currently Implemented

C-112 Andover Controls Corporation

Personnel Attribute, continued

Personnel Attributes Table continued

Attribute LostCard MiddleName Name NetworkNumber NonABACardNumber OfficeLocation Owner ParkingSticker PhotoFile PIN Properties ReferencePoint1 ReferencePoint4 RefTemplate ReportID SavedActivationDate SavedCardNumber SavedCardType SavedExpirationDate SavedPIN SAvedSiteCode SavedState ScheduleEvents SecurityLevel Sex Signature SiteCode SocSecNo StartDate State StatOfResidence Supervisor Template TemplateAlias TemplateCreateRule

Description Indicates if the person's regular card has been tagged as lost Middle name Name of the object Not Meaningful to the User Access card number for cards that are not ABA Field to be used for storage of this or any other individual feature. Owner of the Object. Field to be used for storage of this or any other individual feature. File that contains the person's image Personal Identification Number Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Previously recorded activation date Previously recorded card number Previously recorded card type Previously recorded card expiration date Previously recorded PIN Previously recorded card site code Previously recorded card state Not viewable by user Name and path of any security level attached to the object Field to be used for storage of this or any other individual feature. File that contains an image of the person's signature Site code associated with this person's card Field to be used for storage of this or any other individual feature. Date after which person's card will become valid Indicates if an object has been enabled or disabled Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user

Plain English Language Reference

C-113

Personnel Attribute, continued

Personnel Attributes Table continued

Attribute TemplateName TimeEntered TimeLocked Type Value VehicleInfo Visitor Weight

Description Name that will be used when creating objects from this template object - meaningful only for templates Time of last valid access The time the object was last opened The type of the object The value of this object after any conversions that may be required Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature. Field to be used for storage of this or any other individual feature.

C-114 Andover Controls Corporation

Program Attribute

Program Attributes Table

The following list provides you with the attributes and meanings for an Program object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias BaseLink ByteCode CommandLine CreatedBy CreateTime CurrentLine CurrentObject DbgStatus Description DescriptionOfHalt DeviceID DeviceModel DistPending EditLock ErrorCode FileAccess FileSize FlowType FollowUpRule Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Not viewable by user Indicates that program can be run from the command line Name of user who created object Time of object creation Line that is currently being processed Not Meaningful to the User Not Meaningful to the User Description of Object Not Meaningful to the User Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Type of error that occurred Not Meaningful to the User Number of bytes in function Not Meaningful to the User Not Meaningful to the User

Plain English Language Reference

C-115

Program Attribute, continued

Program Attributes Table continued

Attribute Graphics IconID ID IncludeObject InstanceOf LabelList LastChangeBy LineStartTime LocalVarList LockedBy LockingWorkstation Name NetworkNumber NextFiringOrder OutputType Owner PrevFiringOrder PreviousLine PrintDestination PrintOutputFileName ProgError ProgInfo ProgOffset ProgStartTime Properties ReasonForHalt ReferencePoint1… ReferencePoint4 RefTemplate Reliability ReportID ScheduleEvents SecurityLevel ShareFlag State

Description Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Not viewable by user Name of the user making the last change Time when current line began processing Not viewable by user Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Owner of the Object. Not Meaningful to the User Line that was processed inmmediately before the currentline Target device for any print instructions File name to be used when printing to file Run time error Not Meaningful to the User Not Meaningful to the User Time when program was last started Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User Name and path of template from which object was created Statement of the reliability of the obect's value - not currently implemented Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Not Meaningful to the User Indicates if an object has been enabled or disabled

C-116 Andover Controls Corporation

Program Attribute, continued

Program Attributes Table continued

Attribute Status StatusChange StatusFlags TD Template TemplateAlias TemplateCreateRule TemplateName TH TimeLocked TM TS Type WinFileHandle

Description Indicates if a program is currently active Not Meaningful to the User Not Meaningful to the User Amount of time that program has been processing the currentline in days When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates Amount of time that program has been processing the currentline in hours The time the object was last opened Amount of time that program has been processing the currentline in minutes Amount of time that program has been processing the currentline in seconds The type of the object Not Meaningful to the User

Plain English Language Reference

C-117

RootClass Attribute

RootClass Attributes Table

The following list provides you with the attributes and meanings for an RootClass object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreatedBy CreateTime DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Owner Properties Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object. Not Meaningful to the User

C-118 Andover Controls Corporation

RootClass Attribute, continued

RootClass Attributes Table continued

Attribute ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name of any security level attached to object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-119

Schedule Attribute

Schedule Attributes Table

The following list provides you with the attributes and meanings for an Schedule object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm ActiveText ActiveValue Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage AlarmInfo Alias AutoSendFlag AutoSendTime BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending Download EditLock FollowUpRule Graphics IconID ID InactiveText Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Text to be displayed when object is in active state. String used to indicate when schedule is active. Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of object Inidcates that schedule is to be downloaded automatically Time at which schedule is to be downloaded Not Meaningful to the User Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates that schedule should be sent to the controller Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Text to be displayed when object is in inactive state.

C-120 Andover Controls Corporation

Schedule Attribute, continued

Schedule Attributes Table continued

Attribute InactiveValue IncludeObject LastChangeBy LastDownloadTime LockedBy LockingWorkstation Name NetworkNumber Note OccTimePoint OccupancyFlag OccupancyTime Owner Priority Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel State Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type UnOccTimePoint UnoccupancyTime Value

Description String used to indicate when schedule is inactive Not Meaningful to the User Name of the user making the last change Time that the schedule was last downloaded to the controller Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User An area that allows a user to type in notes that are associated with schedule events. Not viewable from a list Datetime point to be used to store next occupied time Numeric to be turned on/off by schedule Time of occupancy Owner of the Object. Not Meaningful to the User Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object Datetime point to be used to store next unoccupied time Time occupancy ends The value of this object after any conversions that may be required

Plain English Language Reference

C-121

SecurityLevel Attribute

SecurityLevel Attributes Table

The following list provides you with the attributes and meanings for an SecurityLevel object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User

C-122 Andover Controls Corporation

SecurityLevel Attribute, continued

SecurityLevel Attributes Table continued

Attribute Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

Plain English Language Reference

C-123

SecurityLink Attribute

SecurityLink Attributes Table

The following list provides you with the attributes and meanings for an SecurityLink object.
Attribute Action ID Locks1…Locks4 SecLevelObject SecurityLinkClass Description Related to maintenance of security bitmap - Not meaningful to the User Related to maintenance of security bitmap - Not meaningful to the User Related to maintenance of security bitmap - Not meaningful to the User Related to maintenance of security bitmap - Not meaningful to the User Related to maintenance of security bitmap - Not meaningful to the User

C-124 Andover Controls Corporation

ShortCut Attribute

ShortCut Attributes Table

The following list provides you with the attributes and meanings for an ShortCut object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock FollowUpRule Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation Name NetworkNumber Owner Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Not meaningful to user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Name of the object Not Meaningful to the User Owner of the Object.

Plain English Language Reference

C-125

ShortCut Attribute, continued

ShortCut Attributes Table continued

Attribute Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Template TemplateAlias TemplateCreateRule TemplateName TimeLocked Type

Description Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name of any security level attached to object When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The time the object was last opened The type of the object

C-126 Andover Controls Corporation

String Attribute

String Attributes Table

The following list provides you with the attributes and meanings for an String object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarmgraphicpage Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags AlarmInfo Alias BaseLink BaseLink CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock Graphics IconID ID IncludeObject LastChangeBy LockedBy LockingWorkstation LogIntervalSecs LogType Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Not currently implemented Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Indicates if alarms (advanced only on ws) are attached Alias of the object Meaningless to the user Meaningless to the user Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Not Meaningful to the User Not Meaningful to the User SQL Object ID - Not Meaningful to the User Not Meaningful to the User Name of the user making the last change Not Currently Implemented Not Currently Implemented Number of seconds between entries in an automatic log Type of automatic log - instantaneous, average, etc.

Plain English Language Reference

C-127

String Attribute, continued

String Attributes Table continued

Attribute Name NetworkNumber OutOfService Owner Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID ScheduleEvents SecurityLevel Size StringSize Template TemplateAlias TemplateCreateRule TemplateName Type Value

Description Name of the object Not Meaningful to the User Service state of an object (similar to enable/disable - WS points only) Owner of the Object. Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the USer Not viewable by user Name and path of any security level attached to the object Number of elements in an object's manual array or automatic log Number of characters permitted in the string When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates The type of the object The value of this object after any conversions that may be required

C-128 Andover Controls Corporation

TemplateInfo Attribute

TemplateInfo Attributes Table

The following list provides you with the attributes and meanings for an TemplateInfo object.
Attribute TemplateAlias TemplateName TemplateObj Description Alias that will be used when creating objects from this template object - meaningful only for templates Name that will be used when creating objects from this template object - meaningful only for templates Name of the template

Plain English Language Reference

C-129

User Attribute

User Attributes Table

The following list provides you with the attributes and meanings for an User object.
Attribute AckTranstoFault AckTranstoNorm AckTranstoOffNorm Alarm1…Alarm8 AlarmEnable AlarmFaults AlarmFlags Alarmgraphicpage Alias BaseLink CardNumber CommandPriority CreatedBy CreateTime Description DeviceID DeviceModel DistPending EditLock EmpNumber ExpirationDate FollowUpRule FullName Graphics HomePhone IconID ID InactivityTimer Description Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault Binary bitmap that corresponds to the alarm number that has made a transition back to Normal Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm Equals "on" if alarm attached in this position is in alarm else equals "off" Binary bitmap that corresponds to which of the eight alarm positions are enabled Reflect fault status of any alarm link attached - not currently implemented Bitmap of which alarms are active (as with alarmvalue) - not currently implemented Not currently implemented Alias of the object Not meaningful to user Not currently implemented Not currently implemented Name of user who created object Time of object creation Description of Object Name of the device owning the object Not Currently Implemented Indicates that distribution is pending for this object Indicates if object has been locked to additional Edits Field to be used as storage for this or other information Not currently implemented Not Meaningful to the User Field to be used as storage for this or other information Not Meaningful to the User Field to be used as storage for this or other information Not Meaningful to the User SQL Object ID - Not Meaningful to the User Number of minutes of inactivity after which this user will be logged off

C-130 Andover Controls Corporation

User Attribute, continued

User Attributes Table continued

Attribute IncludeObject LastChangeBy LastChangePassword Date LastLoggedOnDate LockedBy LockingWorkstation LoginProgram LogOutProgram Name NetworkNumber OperatorTextLogEnab le Owner PasswordChangeNext Login PersonnelRecord Preemption Properties ReferencePoint1… ReferencePoint4 RefTemplate ReportID RequireAlarmAckOpe ratorText ScheduleEvents SecurityKey SecurityLevel SSN StartDate StartUpFile State Template TemplateAlias TemplateCreateRule TemplateName

Description Not Meaningful to the User Name of the user making the last change Time of last password change Time of last logon Not Currently Implemented Not currently implemented Program to be run upon user log in Program to be run upon user log off Name of the object Not Meaningful to the User Forces operator to get sign off on all sytem changes - requires CFR setting Owner of the Object. Indicates if the user is required to change password at their next log in Not currently implemented Not Meaningful to the USer Not Meaningful to the User Alarm Referenece Point Name and path of template from which object was created Not Meaningful to the User Forces operator to get sign off on all alarm acknowledgements requires CFR setting Not viewable by user Not Meaningful to the USer Name and path of any security level attached to the object Field to be used as storage for this or other information Not currently implemented Not currently implemented Indicates if an object has been enabled or disabled When true, indicates that object was made from a template Alias that will be used when creating objects from this template object - meaningful only for templates Not meaningful to user Name that will be used when creating objects from this template object - meaningful only for templates

Plain English Language Reference

C-131

User Attribute, continued

User Attributes Table continued

Attribute TimeLocked Title Type UserLevel UserReport WorkPhone

Description The time the object was last opened Field to be used as storage for this or other information The type of the object Not currently implemented Not currently implemented Field to be used as storage for this or other information

C-132 Andover Controls Corporation

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
57 49 41 33 25 17 9 1 26 18 10 58 50 42 34 2 59 51 43 35 27 19 11 3 12 60 52 44 36 28 20 4 13 61 53 45 37 29 21 5 14 62 54 46 38 30 22 6 15 63 55 47 39 31 23 7 16 64 56 48 40 32 24 8

250 Display Unit Description

About The DCX 250 Display Unit

Programming the DCX 250 Display Unit

200

Text and graphics are positioned on the 250-display screen with line points (dots). There are 320 line points horizontally across the screen (left-to-right) and 200 vertically (bottom-to-top).

The DCX 250-Display Unit has a touch-sensitive, 4.9 x 4.2-inch liquid crystal display (LCD) screen. The screen is divided into 64 numbered squares, beginning in the upper left-hand corner and ending in the lower right-hand corner (see below).

1

1

Touch Cell Grid and Line Points on the 250 Display Unit

Plain English Language Reference

Appendix D

320

D-1

000000000000 00000000000 0000000000000000000000000000 0000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000 000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000 00000000000000000000000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000 00 00000000 0000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000 00000000000000000000000000000 0 00 00000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000 0000000000000 0000000000000000000 0000000000000000000000000000000000 0000 000000000 00000000 0000000000000000000000000000000000000000000000000000
7 Title
12 Title
10 Title ####.##

Predrawn Control Graphics

Understanding Pre-designed Graphic Controls

There are 13 pre-designed graphic controls that you can select with the CONTROL keyword.

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000 00000000000000000000 000000000000000000000000000000000000 000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

00000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 0000000000000000000000000000000000000000000000000 0000 00 00000000000000000000000000000000000000000000000000000
6 Title
Title

00000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000 0000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000 00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
4 Title
Title

D-2

Andover Controls Corporation
1

You can program the 250-display unit to display predrawn graphic controls (see below) that respond to an operator touching the screen. The control graphic represents a single point or point attribute.

Pre-designed Controls for the 250 Display Unit
5 Title

8 Title

###.##

2

###•##•#### ##:##:##

11 Title

13 Title
3

####.## 9 Title

000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000 000000 000000000000000000 000000 0000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000 000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000
2 Title

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1 Title

Predrawn Control Graphics continued

Understanding Pre-designed Graphic Controls, Continued

Each control can have a frame around it that you choose by selecting one of the four frame styles available.

If you do not resize the control, it takes up most of the screen. You can, however, resize most controls so that you can have multiple controls display at one time.

Some include a title. Where you see the word Title, the title that you designate appears in the control.

Each of the controls is identified by a unique style number, which appears to the left or above each control.

Frame styles for the predrawn controls.

Plain English Language Reference
3
Title

4

D-3

Placing a Pre-designed Graphic Control on the 250 Screen

Preliminary Steps

Before you place the control, always be sure to carry out these steps: • Connect to the 250 through the Connect menu. • Open a file and set its FlowType attribute to FallThru. • Begin the program by using the CLEARSCREEN keyword to erase any graphic or text already on the screen. • Turn on the background light with the BackLight keyword. If you do not turn on the background light, the control never appears. Once you display any graphic control, graphic, or text, it remains on the screen until you erase it from a program. If you display a second control without erasing the first, both appear.

Basic Considerations

Prior to placing a control graphic on the 250 screen you will need to know the following information about the control: • Style Number • Location • Whether or not the operator should be able to change the point value using the control. • Name and path to the point or attribute

Additional Considerations

In addition to the above required features of the control, the following optional considerations may apply: • A title • Frame style • Direction (sliders only) • Top and bottom of scale • Tick marks (knobs and gauges) • Number of settings the control can be set to (called steps) • Format (for the numbers on the tick marks)

The CONTROL Keyword

You use the CONTROL keyword to place a predrawn graphic control on the 250 display unit screen. It is a function keyword and its arguments provide all the details covered in the above two paragraphs to develop and activate any one of the 13 styles of controls.

D-4

Andover Controls Corporation

Placing a Pre-designed Graphic Control on the 250 Screen, Continued

The CONTROL Keyword continued

The CONTROL keyword format is as follows: CONTROL (style, left, bottom, right, top, user_change, point_or_attribute_path, title, frame, direction, bot_scale, top_scale, tickmarks, steps, format) The items shown in bold italics are required arguments and those shown in italics are optional arguments.

The Arguments

The arguments applicable to the CONTROL function are listed below.
Argument style left Replace With Integer that indicates which of the 13 control styles to display. Number of line points (dots) across the screen (from left to right) that locates the horizontal position of the lower left-hand corner of the control. Can be an integer from 1 to 320, or a name or expression that gives one. Number of dots up from the bottom of the screen that locates the vertical position of the lower left-hand corner of the control. Can be an integer from 1 to 200, or a name or expression that gives one. Number of dots across the screen (from the to right) that locates the horizontal position of the upper right-hand corner of the control. Can be an integer from 1 to 320, or a name or expression that gives one. Should be greater than the integer you give for left. Number of dots up from the bottom of the screen that locates the vertical position of the upper right-hand corner of the control. Can be an integer from 1 to 200, or a name or expression that gives one. Should be greater than the integer you give for bottom. TRUE or FALSE. TRUE if you want operators to be able to change the setting of the control, FALSE if not. Full path to the point or point attribute the control represents. Optional. Title, in quotation marks, you want to appear in the title bar of the control. An empty string ("") indicates no title. Optional. Frame style (1 to 4) to surround the control. Zero (0) for no frame. If you do not give a frame number, the control system software automatically sets it to 0 and no frame appears, except for Control Styles 1 and 2 (buttons) which automatically include their own frames.

bottom

right

top

user_change point_or_attribute_path title

frame

Plain English Language Reference

D-5

Placing a Pre-designed Graphic Control on the 250 Screen, Continued

The Arguments continued
Argument direction Replace With Optional. Horizontal or Vertical. Applies to rectangular slider controls (Control Styles 11 & 12) only. Circular controls (Control Style 6, 7, 8) always turn clockwise, so you do not need to indicate a direction for circular controls. Bottom of scale for control (usually same as for point). Required for all controls except digital controls, where the bottom of scale is automatically equal to OFF. Top of scale for control (usually same as for point). Required for all controls except digital controls, where the top of scale is automatically equal to ON. Optional. Number of tick marks to display on the control's scale. Does not apply to knobs or switches. Automatically set to 2 tick marks if you do not give a number. Those two tick marks appear at top and bottom of scale. Optional. Not applicable to buttons and switches. Zero (0) means the control is analog. If you do not give a number, automatically sets to 1 step for Control Styles 9 and 10. The one step is the step from the initial setting (bottom of scale) to the alternative position (top of scale). The Control Styles 6, 7, and 8 are circular and semicircular controls. Unless you give a number of steps, they automatically set to one step for each degree in the arc of the circle⎯for example, 180 degrees in the semicircular controls, or 180 steps. The maximum number of degrees is 240, not a full circle, but two-thirds of one. The control system software automatically places the 240 steps around the knob control if you do not give another number of steps. Control Styles 11 and 12 both include a linear scale. If you do not give a number of steps, they automatically set to one step for each screen dot along the length of the scale. For instance, if you place a scale horizontally at 10, 50, 60, 80, it has from the 10th dot across to the 60th dot across, or 50 dots; so it has 50 steps along that scale. Optional. Format (as described under the PRINT keyword) for the numbers to be displayed in the control's scale. If you do not give a format, no numbers appear, but the control system software leaves enough space for four digits ("###") and when you size the control, the space for the numbers is included in the area you designate.

bot_scale

top_scale

tickmarks

steps

format

D-6

Andover Controls Corporation

00 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000 0000 0000000000000000000000000 00 0000000000000000000000000 00 00 00 0000 000000000000000000000000 0000000000000 00 000000000000000000000000000000000 00 00 00 00000000 0000000000000000000 0000 00000000000000000000000 00 00 00 000000 0000 0000000000000 0000 000000000000000000000000000000000000000000 00 00 00 00 00000000000000000000000 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250 50 AirFlow 200 100 150

Setting Up the Software

CONTROL Keyword Example

Placing a Pre-designed Graphic Control on the 250 Screen, Continued

Display of Rotational Needle Gauge (Control Style 7)

CLEARSCREEN TURN ON BACKLIGHT CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"

To display a vertically positioned rotational needle gauge (Control Style 7) on the screen, you would enter the following:

As an example, we will use a vertically positioned rotational needle gauge (Control Style 7) to illustrate how to place a graphic control on the 250 screen. That style of control was chosen because it uses most of the optional arguments for its design.

Plain English Language Reference

D-7

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Format

D-8

Argument Descriptions

Placing a Pre-designed Graphic Control on the 250 Screen, Continued

Andover Controls Corporation

The 50 is the bottom of the scale and the 250 is the top. The extra comma after the 4 indicates you are leaving out an argument—the direction that does not apply to gauges. The gauge always turns clockwise. The 4 is the frame style. "AirFlow" is the title of the control. ROOM6 AirFlow is the path to the point. TRUE allows the operator to set the value of the control. The left, bottom, right, and top values position the frame so its lower left corner is at 50, 50 and its upper right at 280, 180. The control appears sized and centered within the frame (Frame Style 4). The format of the CONTROL function keyword statement showing its arguments is illustrated below.
CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"

Control Style

Location on Screen

Rotational Needle Gauge Control Program Statement
Building1 Floor1 Display1 AirFlowGauge

When TRUE, Operator Can Change Setting

Controller and Point Name

Frame Style

Comma Means Skipping Argument Top and Bottom of Scale

Tick Marks

Steps

Format

Placing a Pre-designed Graphic Control on the 250 Screen, Continued

Argument Descriptions continued

If you did not specify a bottom and top of scale, the control would automatically be a digital gauge. The bottom of scale would become Off and the top of scale On. "###" defines the numbers format and indicates that up to three digits can appear in the numbers around the gauge scale.

Steps and Tick Marks

If you did not specify a number of steps, you would never see the gauge setting change, because it would automatically have 180 settings (one for each degree around the portion of the circle the gauge is composed of). To specify a particular number of steps, set 5 as the number of tick marks and 8 as the number of steps. Normally the control would have 4 steps with 5 tick marks. Because the control has 8 steps, it has an extra step between each pair of tick marks. The unnumbered steps (settings) would be 75, 125, 175, and 225. You can set the needle to one of those values.

Positioning the Control

Notice that the gauge control has two arrows. You press these arrows to raise or lower the setting of the point or attribute. The arrows must be the size of at least two cells (see Figure D-1), rather than one. You should position this control so that the two arrows are each on top of separate cells. This rule applies as long as you want the operator to have the option of setting the control. If you set the user_point argument to False, the arrows do not appear.

Plain English Language Reference

D-9

Setting the Control Size

Switches and Knobs Cannot be Resized

When you specify the left, bottom, right, and top, the software automatically sizes the control to fit into the area you designate unless it is Control Style 3, 4, or 5 (switches), or Control Style 6 (knob). You cannot resize Control Styles 3, 4, 5, or 6. However, when you give the location for any of the switches (Control Styles 3, 4, and 5), the center of the control must be at least 21 line points from any edge of the screen. The center of a knob (Control Style 6) must be at least 30 line points from any edge of the screen.

Gauge Controls Retain Their Shape

While rectangular shaped controls (such as Control Styles 1 and 2) stretch to fit tall/wide areas and shrink to fit short/narrow areas, gauge controls such as Control Styles 7 and 8 retain their shape. If you designate a tall narrow area for a gauge control, its width fits the area and its height becomes proportional to the width. As shown below, the gauge control is then vertically centered within the space you have defined (crosshatches (+) show the locations of the leftbottom and right-top).

Gauge Control (Control Style 7) Centered on Screen

D-10

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 0000 00 00 0000000000000 0000 00 00000 00 0000000000000000000000000000000000 0000 00000000000000000000000000000000 00 0000 000000 00 0000 00000000000000000000000000000000000000000 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+ +

Setting the Control Size, Continued

Gauge Controls Retain Their Shape continued

On the other hand, if you designate a short wide area for a circular control, its height fits the area and its width becomes proportional to the height. The control is then horizontally centered within the space you have defined. In either case, the gauge retains its semicircular shape.

Minimum Control Size

Any control style that you can resize never displays unless it is at least the size of one cell on the 250 screen—approximately 0.5 inch square. What are cells? The 250 screen has an underlying grid of 64 squares (see Figure D-1), approximately 0.6 x 0.5-inch. The blocks are called “cells” or “touch cells.” The software can sense when you have touched one of these cells. You must position the control so that it can use these cells. If a control is a button or switch, it can be as small as one cell; approximately 40 line points wide and 25 line points high. Any other control style must be at least two cells wide, 80 line points wide if horizontally positioned or 50 line points high if vertically positioned. (To be sure about the minimum size for any particular control, refer to "Graphic Control Style Specifications" beginning on the next page).

If the Control doesn't Appear

If the control cannot display in the space you give, the software disables the file; you can then find the error message in the File Configuration window. Any time the control does not appear, check the size of the area you designated

Plain English Language Reference

D-11

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 00 0 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 0 00 00000000000 0000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0000 00 00 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Type

D-12

Details

Graphic Control Style 1 Specifications

Andover Controls Corporation

• • • • • • • •

Raised Button

format—Not applicable. steps—Not applicable. top_scale—Optional. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable. bot_scale—Optional. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. direction—Not applicable. Resizing—You may resize. Fits any size area, as long as all coordinates are on the screen. The minimum size in line points is 40 wide by 25 high. frame—Do not specify. Automatically placed around control.
Title

Graphic Control Style 2 Specifications

Details

• • • • • • • •

Resizing—You may resize. Fits any size area, as long as all coordinates are on the screen. The minimum size in line points is 40 wide by 25 high. frame—Do not specify. Automatically placed around control. direction—Not applicable. bot_scale—Optional. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Optional. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable. steps—Not applicable. format—Not applicable.

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 00 00 00 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Type

Flat Button

Plain English Language Reference

D-13

Type

Graphic Control Style 3 Specifications

Light Switch

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0000 00 0000000000000000000000 0000 000000000000000000 0000 00 00 00 0000000000000000000000 000000000000000000000000000000000000000000000 0 00 0000 00 0000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000 000000 0000 00 0000000000000000000000 0000000000000000000000000000000000000000 0 00 0000 00 0000000000000000000000 000000000000000000 00 0000 0000 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

D-14

Details

Andover Controls Corporation

• • • • • • • •

format—Not applicable. tickmarks—Not applicable. steps—Not applicable. top_scale—Optional. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. bot_scale—Optional. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. frame—If you do not specify a frame, the switch appears without the frame around it. direction—Not applicable. Resizing—Cannot resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Be careful—if the coordinates you give force the control off the screen, it does not appear. The center of the control must be at least 21 line points from any edge of the screen.

Graphic Control Style 4 Specifications

Type

Toggle Switch

Details

Resizing—Cannot resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Be careful—if the coordinates you give force the control off the screen, it does not appear. The center of the control must be at least 21 line points from any edge of the screen. frame—If you do not specify a frame, the toggle switch appears without the frame around it. direction—Not applicable. bot_scale—Optional. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Optional. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable. steps—Not applicable. format—Not applicable.

• • • • • • •

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000 00 0000 00 0000 00 0000000000000000000000000000000000000000000 0000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 0000 00 00 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Plain English Language Reference

D-15

Graphic Control Style 5 Specifications

Details

Resizing—Cannot resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Be careful—if the coordinates you give force the control off the screen, it does not appear. The center of the control must be at least 21 line points from any edge of the screen. frame—If you do not specify a frame, the sliding switch appears without the frame around it. direction—Not applicable. bot_scale—Optional. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Optional. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable. steps—Not applicable. format—Not applicable.

• • • • • • •

D-16

Andover Controls Corporation

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 00 00 00 000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Type

Sliding Switch

Graphic Control Style 6 Specifications

Type

Knob

Title

Details

Resizing—Cannot resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Be careful—if the coordinates you give force the control off the screen, it does not appear. The center of the control must be at least 30 line points from any edge of the screen. user_change—If you do not allow the user to change the setting of the knob (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Not applicable. Values always increase in clockwise direction. bot_scale—Required if it is not a digital knob. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE.

• • • •

Plain English Language Reference

D-17

Graphic Control Style 6 Specifications, Continued

Details continued

top_scale—Required if it is not a digital knob. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Optional. You do not have to display tick marks, but you may. steps—Automatically sets to the number of degrees in the arc of the circle from the first tick mark shown to the last (approximately 2/3 of a circle), for a total of 240 degrees—240 steps you can set the knob to. You may set the number of steps to a smaller number. If you set it to 0, the knob becomes analog. format—Optional. If you do not specify a format for the numbers that label the positions on the knob, the software does not display the number but leaves adequate space to display four digits—####.

• •

D-18

Andover Controls Corporation

Graphic Control Style 7 Specifications

Details

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Retains its basic shape even if you put it in a tall narrow area or a short wide area. Fits to the smaller of the two dimensions and the other dimension becomes proportional. Size also automatically allows for a four-digit number to appear to the right of each tick mark, even if you do not specify a format. The numbers take up space within the area you specify. The minimum size in line points is 80 wide if arrows are horizontal and 50 wide if vertical. user_change—If you do not allow the user to change the setting of the gauge (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Not applicable. Values always increase in clockwise direction.

• • •

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 00 00 0000000000000000 00 00 0000000000 00 0000000000000000000000000000000000000000 00 00 0000000000 0000000000000000000000000000000000000000000000 00 00 0000000 0000 0000000000000000000000000000000000000000000000000 00 00 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Type

Rotational Needle Gauge, Vertical Position

Plain English Language Reference

D-19

Graphic Control Style 7 Specifications, Continued

Details continued

bot_scale—Required if it is not a digital gauge. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Required if it is not a digital gauge. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Optional. You do not have to display tick marks, but you may. steps—Automatically sets to the number of degrees in the arc of the circle from the first tick mark shown to the last (1/2 of a circle), for a total of 180 degrees—180 steps you can set the gauge to. You may set the number of steps to a smaller number. If you set it to 0, the gauge becomes analog. format—Optional. If you do not specify a format for the numbers that label the positions on the gauge, the software does not display the number but leaves adequate space to display four digits—####.

• • •

D-20

Andover Controls Corporation

Graphic Control Style 8 Specifications

Type

Rotational Needle Gauge, Horizontal Position

Details

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Retains its basic shape even if you put it in a tall narrow area or a short wide area. Fits to the smaller of the two dimensions and the other dimension becomes proportional. Size also automatically allows for a four-digit number to appear to the right of each tick mark, even if you do not specify a format. The numbers take up space within the area you specify. The minimum size in line points is 80 wide if arrows are horizontal and 50 wide if vertical. user_change—If you do not allow the user to change the setting of the gauge (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Not applicable. Values always increase in clockwise direction.

• • •

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 00 0000 00 0000 000000 0000000000000000000000000 000000 00 0000 00000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00 0000 00 00000000 0 00 0000000000000 00000 00000 0000 000000000 000000 00 0000 0 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title
###.##

Plain English Language Reference

D-21

Graphic Control Style 8 Specifications, Continued

Details continued

bot_scale—Required if it is not a digital gauge. Automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Required if it is not a digital gauge. Automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Optional. You do not have to display tick marks, but you may. steps—Automatically sets to the number of degrees in the arc of the circle from the first tick mark shown to the last (1/2 of a circle), for a total of 180 degrees—180 steps you can set the gauge to. You may set the number of steps to a smaller number. If you set it to 0, the gauge becomes analog. format—Optional. If you do not specify a format for the numbers that label the positions on the gauge, the software does not display the number but leaves adequate space to display four digits—####.

• • •

D-22

Andover Controls Corporation

Type

Graphic Control Style 9 Specifications

Value Bar with Arrow Buttons

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
####.##
Title

Details

• •

bot_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE.

frame—Optional. direction—Not applicable.

user_change—If you do not allow the user to change the setting of the value (i.e., using the FALSE argument), the arrows do not appear, so you see only the value in a box.

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen and those coordinates position the arrow buttons each on separate cells. Shapes to a tall narrow area or a short wide area. Must be at least 80 line points wide and 50 line points high.

Plain English Language Reference

D-23

Graphic Control Style 9 Specifications, Continued

Details continued

• • • • •

top_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable. steps—Required. If you do not give a number of steps, the number defaults to 1, the correct number for a digital point or attribute. format—Not applicable. The value that appears in the box automatically appears in the format for the point that the control represents.

D-24

Andover Controls Corporation

Graphic Control Style 10 Specifications

Type

Value Bar

Details

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Shapes to a tall narrow area or a short wide area. Must be at least 80 line points wide and 50 line points high. user_change—If you do not allow the user to change the setting (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Not applicable. bot_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Not applicable.

• • • • • •

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 00 00 00 00 00 00 00 000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

####.##

Plain English Language Reference

D-25

Graphic Control Style 10 Specifications, Continued

Details continued

steps—Required. If you do not give a number of steps, the number defaults to 1, the correct number for a digital point or attribute.

• format—Not applicable. The value that appears in the box automatically appears in the format for the point that the control represents.

D-26

Andover Controls Corporation

Graphic Control Style 11 Specifications

Details

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Shapes to a tall narrow area or a short wide area. Must be at least 80 line points wide and 50 line points high. user_change—If you do not allow the user to change the setting (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Required. Set to horizontal or vertical to determine the direction the bar moves to show a change in value. If you do not set, it is automatically horizontal. bot_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE. top_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE.

• • •

• •

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 00 0000 00 0000 00 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000 00 00 000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000 000000 00 00 0000 00 0000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Type

Level Fill with Scale

Plain English Language Reference

D-27

Graphic Control Style 11 Specifications Continued

Details continued

• • •

tickmarks—Optional. You do not have to display tick marks, but you may. steps—Required. If you do not give a number of steps, the number defaults to the number of dots on the screen along the length of the scale. format—Optional. If you do not specify a format for the numbers that label the positions on the knob, the software does not display the number but leaves adequate space to display four digits—####.

D-28

Andover Controls Corporation

Type

Graphic Control Style 12 Specifications

Slider Pointer and Scale

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000 00 0000000000000000000000000000000000000000000000000000000000000000000000000 0000 00 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000 00 0000 000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000 00 0000 0000 00 0000 00 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Details

bot_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to OFF or one of the two values of a digital attribute, such as DISABLED for STATE.

direction—Required. Set to horizontal or vertical to determine the direction the pointer moves to show a change in value. If you do not set, it is automatically horizontal.

frame—Optional.

user_change—If you do not allow the user to change the setting (i.e., using the FALSE argument), the arrows do not appear.

Resizing—You may resize. Positions itself in the center of the coordinates you give, as long as all coordinates are on the screen. Shape to a tall narrow area or a short wide area. Must be at least 80 line points wide and 50 line points high.

Plain English Language Reference

D-29

Graphic Control Style 12 Specifications, Continued

Details continued

top_scale—Required if it is not a digital control. If it is for a digital point or attribute, automatically set to ON or one of the two values of a digital attribute, such as ENABLED for STATE. tickmarks—Optional. You do not have to display tick marks, but you may. steps—Required. If you do not give a number of steps, the number defaults to the number of dots on the screen along the length of the scale. format—Optional. If you do not specify a format for the numbers that label the positions on the knob, the software does not display the number but leaves adequate space to display four digits—####.

• •

D-30

Andover Controls Corporation

Graphic Control Style 13 Specifications

Details

Resizing—You may not resize. Positions itself in the center of the coordinates you give, as long as the center of the control is at least 95 line points from any screen edge. The control automatically positions itself in the single row of cells nearest the coordinates you give. Must be at least 80 line points wide and 50 line points high. user_change—If you do not allow the user to change the setting (i.e., using the FALSE argument), the arrows do not appear. frame—Optional. direction—Not applicable. bot_scale—Not applicable. top_scale—Not applicable. tickmarks—Not applicable. steps—Not applicable. format—Not applicable. You must specify a datetime point or the control does not appear.

• • • • • • • • •

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0000 00 0000 00 0000 00 0000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 0000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000 00 0000 00 0000 00 0000 00 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Title

Type

Date Time Display Bar

###•##•#### ##:##:##

Plain English Language Reference

D-31

D-32

Andover Controls Corporation

Appendix E
BACnet Properties and Plain English

When you create an Infinity object in a BACnet controller it automatically becomes a certain type of BACnet object. The first table below lists the Infinity object class and indicates its BACnet object equivalent. Following that are multiple tables that are arranged by BACnet Object Type. The tables map each BACnet object’s properties to the equivalent Plain English name. You would use the Plain English name in a Plain English program. Any properties not listed in the following tables are properties that are not supported on the BACnet side. The “READ/WRITE” column indicates whether these properties can be changed (W) or just read (R) by third party devices. The Restrictions column indicates any Andover Controls specific restriction on the property. Our restrictions do not necessarily coincide with those of a third party device.

Plain English Language Reference

E-1

ACC BACnet PICS: As the Andover Controls BACnet product line expands, some of the information contained in the tables that follow may change. For up-to-date information on properties supported and any restrictions placed on their use, refer to the Andover Controls Product Implementation Conformance Statement (PICS) for the particular controller you are using. These may be obtained through your dealer or directly from Andover Controls Marketing.

INFINITY CLASS
Input (ElecType: ACCTemp(DegC)) Input (ElecType: ACCTemp(DegF)) Input (ElecType: InputCurrent) Input (ElecType: Voltage) Input (ElecType: Counter) Input (ElecType: Digital) Input (ElecType: Supervised) Output (ElecType: Current) Output (ElecType: Voltage) Output (ElecType: Digital) Output (ElecType: Tristate) Numeric Numeric Numeric Program Schedule Device EventEnrollment EventNotification

BACnet OBJECT TYPE
Analog Input Analog Input Analog Input Analog Input Analog Input Binary Input Multi-State Input Analog Output Analog Output Binary Output Multi-State Output Binary Value Analog Value Multi-State Value Program Schedule Device EventEnrollment Notification Class

E-2

Andover Controls Corporation

ANALOG INPUT
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Units Description EventState Name Type OutOfService Value Units Plain English Name READ/WRITE R/W R W R R R W W W Limited to 32 characters Always Normal Limited to 16 characters Constant based upon the class Cannot be set false if channel not configured Restrictions

BINARY INPUT
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Polarity Present_Value Plain English READ/WRITE Name R/W Description EventState Name Type OutOfService Polarity Value W R R R W W W Cannot be set false if channel not configured Restrictions

Limited to 32 characters Always Normal Limited to 16 characters

MULTISTATE INPUT
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Plain English Name Description EventState NumberOfStates Name Type State Value READ/WRITE R/W W R R R R W W Cannot be set false if channel not configured Restrictions

Limited to 32 characters Always Normal 3 Limited to 16 characters

Plain English Language Reference

E-3

ANALOG OUTPUT
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Units Description EventState Name Type OutOfService Value RelinquishDefault Units W R R R W W W W Cannot be set false if channel not configured Limited to 32 characters Always Normal Limited to 16 characters Plain English Name READ/WRITE R/W Restrictions

BINARY OUTPUT
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Polarity Present_Value Relinquish_Default Plain English Name Description EventState Name Type OutOfService Polarity Value RelinquishDefault READ/WRITE R/W W R R R W W W W Cannot be set false if channel not configured Restrictions

Limited to 32 characters Always Normal Limited to 16 characters

MULTISTATE OUTPUT
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Plain English Name Description EventState NumberOfStates Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R R R R W W W 1..3 Cannot be set false if channel not configured Restrictions

Limited to 32 characters Always Normal 3 Limited to 16 characters

E-4

Andover Controls Corporation

The following tables are for objects that do not have an ElecType. When you create the Infinity Numeric object indicated on the left of the table, you must select a BACnet Object Type from a drop down list within the editor. See note regarding numerics on the following page. ANALOG VALUE
BACnet Property COV Increment Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Units Description EventState Name Type OutOfService Value RelinquishDefault Units W R R R W W W W Limited to 32 characters Always Normal Limited to 16 characters Plain English Name READ/WRITE R/W Restrictions

BINARY VALUE
BACnet Property Description Event_State Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Plain English Name Description EventState Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R R R W W W Restrictions

Limited to 32 characters Always Normal Limited to 16 characters

MULTISTATE VALUE
BACnet Property Description Event_State Number_Of_States Object_Name Object_Type Out_Of_Service Present_Value Relinquish_Default Continuum Attribute Description EventState NumberOfStates Name Type OutOfService Value RelinquishDefault READ/WRITE R/W W R R R R W W W 0..255 Restrictions

Limited to 32 characters Always Normal 255* Limited to 16 characters

* 255 or a variable based on standard Continuum enumerations. Plain English Language Reference E-5

Note regarding BACnet Numerics
Due to the internal workings of the BACnet controllers, if you create a Numeric (binaryvalue) in a b3 or b4 BACnet controller and you import that value into another controller for use controlling an output, the output will pulse once on change of state and then shut off (equivalent to output=1). Example: The program below in the importing controller is a one-line looping program as follows: output1= B4/B3/BinaryValue A possible use for this would be a global occupancy point being used to turn the lights on.

E-6

Andover Controls Corporation

PROGRAM
BACnet Property Description Object_Name Object_Type Out_Of_Service Program_Change Program_State Continuum Attribute Description Name Type OutOfService StatusChange Status READ/WRITE R/W W R R W W R Inactive = Idle Active & Disabled = Halted Active & Enabled = Running Restrictions

Limited to 32 characters Limited to 16 characters

SCHEDULE
BACnet Property Description Object_Name Object_Type Present_Value Priority_For_Writing Continuum Attribute Description Name Type Value Priority READ/WRITE R/W W R R R W 10 Restrictions

Limited to 32 characters Limited to 16 characters

Plain English Language Reference

E-7

DEVICE
BACnet Property APDU_Segment_Timeout ADPU_Timeout Application_Software_version Daylight_Savings_Status Firmware_Revision Local_Date Local_Time Max_ADPU_Length_Accepted Model_Name Number_Of_ADPU_Retries Object_Name Object_Type Protocol_Conformance_Class Protocol_Version Segmentation_Supported System_Status UTC_Offset Vendor_Identifier Vendor_Name Continuum Attribute APDUSegTimeout ADPUTimeout ApplSoftwareVersion DaylightSavingsStatus FirmwareRevision LocalDate LocalTime MaxAPDUAccepted ModelName NumberAPDURetries Name Type ProtocolConfClass ProtocolVersion SegmentationSupport System_Status UTCOffset VendorIdentifier VendorName READ/WRITE R/W W W R W R W W R R W W R R R R R W R R 0-255 Restrictions

EVENT ENROLLMENT
BACnet Property Description Event_State Event_Type Notify_Type Object_Name Object_Type Continuum Attribute Description EventState EventType NotifyType Name Type READ/WRITE R/W W R W W W R Limited to 16 characters * see below Restrictions

Limited to 32 characters

* Limited to Change_Of_State, Change_Of_Value, Floating_Limit, Out_Of_Range

NOTIFICATION CLASS
BACnet Property Continuum Attribute Description Name Type READ/WRITE R/W W W R Restrictions

Description Object_Name Object_Type

Limited to 32 characters Limited to 16 characters

E-8

Andover Controls Corporation

Continuum Plain English Reference

30-3001-872

Continuum Plain English Reference