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
b4920 ACC I/O Bus
PC Windows Workstation running CyberStation with Database
IOU Modules
BACnet MS/TP RS-485
b3xxx
Local field wiring
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
b4920 BACnet Router
NetController LBUS
IOU Modules
IOU Modules b3xxx
Local field wiring Local field wiring
BACnet MS/TP RS-485
Infinet
BACnet Controllers
Infinet Local field wiring
Local field wiring Local field wiring
b3xxx
Third Party BACnet Device
Infinet Controller
Infinet Controllers Local field wiring
Example of a Multi-Workstation Continuum/BACnet Network
Network Controllers
1-4
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.
Andover Controls Corporation
Local field wiring
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
Accessibility
Description
Description
A description of the object
Value
Describes the value of the object. Examples include: On or Off, True or False, Success or Failure, Set or NotSet.
Units
Units of measurement, such as Degrees Fahrenheit or Centigrade can be assigned to temperature measurements.
State
The state of an object that can exist in either an Enabled or Disabled state.
Alarms
Indicates the alarms that are active for an object.
Exported
Indicates if the point is referenced by another controller. This attribute is read-only and is set by the Continuum System.
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
0-9 _ . / −
Description Alphabetic characters. Upper- and lowercase are interchangeable. Numeric characters. Underscore character. Period character Slash character Dash character Space character
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
2-2
Andover Controls Corporation
hot spot to start the Plain English IDE.
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
2-4
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.
Andover Controls Corporation
Plain English IDE Features
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.
IDE Tools Overview
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.
Title Bar Menu Bar
Main Toolbar
Class of Objects Displayed In IDE Explorer
Command Line Find
Check Toolbar
Toolbar
Editor IDE Explorer
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:
Rearranging IDE Toolbars and Windows
Many features within the IDE can be rearranged to suit your personal preference:
• 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.
• • •
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
2-6
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.
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.
Option Undo Redo Cut
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.
Edit Menu
Copy Paste Select All Find Find Next Find Previous Replace Goto
Plain English Language Reference
2-7
The Menu Bar, continued
View Menu Option
Description
Toolbars →
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
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.
Option Wizard Calculator Options
Description Opens the Plain English Wizard. Displays the calculator. Displays the Options dialog.
Check All
Tools Menu
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
2-8
Andover Controls Corporation
Description Displays Plain English online help topics. Displays the copyright and version number for the PE editor.
The Main and Find Toolbars
1
The Main Toolbar
2
3
4
5
6
7
8
9
10
11
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
The Find Toolbar
Click Icon Reference 1 2 3 4 5 6 7 8 9 10 11
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,
3
click on To search from the cursor position to the beginning of the program, click on
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
2-10
Response Line Text Field
IDE Command Line Components
Andover Controls Corporation
The IDE Explorer
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.
Features
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
Current Device
Copy Objects Button
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
2-12
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.
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: • • • • • • •
Displaying Multiple Programs
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.
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
Features
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
Selecting and Placing Objects
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.
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:
• • •
Using the Docking and Floating 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.
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
2-16
Hide
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.
Float in Main Window
Puts the tool window in the Main Window and can be moved within it.
Andover Controls Corporation
Disabled Displays the window’s title bar, indicating that the window is a floating object that can be dragged anywhere on the screen.
Make windows visible from the View menu. Window can be dragged out of the Main Window.
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
7
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.
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
2-18
Andover Controls Corporation
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.
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
CTRL F CTRL H CTRL Insert Delete
Enter Insert
Shift Delete Shift Insert
The Editor Shortcut Menu
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.
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
2-20
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.
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
Exporting Programs
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.
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: • • •
Monitoring the Program File Status
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.)
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
Program Status Current Line
Error TD: TH: TM: TS:
Stopping the Program
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.
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
How to Access It
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.
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
String 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 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.
Keyword Type Statement (an action word) Function Operator
Local Variable
System Variable System Constant
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.
Chapter 7 lists all the keywords available in the PE and explains the correct format to use for each keyword.
Other Words
Command Lines
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).
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
Other Actions
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.
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:
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.
How the Controller Interprets Numbers
The controller accepts all numbers, but the controller interprets:
• • • •
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.
• • •
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.
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
4-10
Available on
Description
AccessLog
CX series controllers
The number of personal records stored on the access server.
AccessSsrver
ACX & CX series controllers
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.
Alarms
All controllers & CyberStation
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.
AudioBell
DCX250 controller
A programmable system variable that sets the number of seconds that the DCX250 display will beep for.
AvailRecords
ACX & CX series controllers
Expresses a close approximation of the remaining slots left to store personnel records in a controller’s memory.
BackLight
DCX250 controller
A programmable system variable that sets the number of seconds to turn on the background light on the DCX250 display.
CabinetTamper
ACX controller
Indicates whether or not the controller has been tampered with (True or False).
CPUPower
CX series controllers
A programmable system variable that is used to turn off the battery power to the controller’s CPU.
DatabaseStatus
CyberStation
Shows the current state of the database as Online or Offline.
Date
*All controllers & CyberStation
Retrieves current system date and time so that you can then store it in a variable.
DayofMonth
*All controllers & CyberStation
Gives the current day of the month from 1 to 31.
DayofYear
*All controllers & CyberStation
Gives the current day of the year between 1 and 366.
Andover Controls Corporation
System Variables
System Variable Listing continued Workstation & CX System Variables continued Available on
Description
DCXPower
Name
DCX250 controller
A programmable system variable that controls power to the controller when its PowerFail system variable is ON.
Errors
*All controllers & CyberStation
Indicates the number of errors existing on the system.
EventLogSize
CX series controllers
A programmable system variable that indicates the number of access control events the controller can store in its event log.
FreeMem
*All controllers
Indicates the number of bytes of free memory available on a controller. Does not indicate available memory on a CyberStation.
Hour
*All controllers & CyberStation
Indicates the current hour, from0 to 23.
HourofDay
*All controllers & CyberStation
Indicates the time in decimal form from 0 to 23.99.
HundredthofSecond
CyberStation
Indicates hundredths of a second as a number between 0 and 99.
Infinet1Count
CX series controllers and CMX 9924 controller
Gives the number of Infinet controllers communicating with the CX or CMX 9924 using Commport 1.
Infinet2Count
CX series controllers and CMX 9924 controller
Gives the number of Infinet controllers communicating with the CX or CMX 9924 using Commport 2.
IOUCommFlt1 to IOUCommFlt16
*All controllers
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.
IOUPower
CX series controllers
A programmable system variable that controls power to the IOU modules when the associated controller’s PowerFail system variable is ON.
MessageWindow
CyberStation
A separate window that shows all of the system text messages since the last time the message window was emptied.
Plain English Language Reference
4-11
System Variables
System Variable Listing continued Workstation & CX System Variables continued Name
4-12
Available on
Description
MicroPower
CX series controllers and ACX781Infinet controllers
A programmable system variable that controls power to the ACX781 Infinet controller when the associated controller’s PowerFail system variable is ON.
Minute
*All controllers & CyberStation
Gives the exact minute of the current hour, from 0 to 59.
ModemPower
CX series and CMX series controllers
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.
Month
*All controllers & CyberStation
Gives the current month of the year, from January to December.
NewAlarmCount
CX and CMX series controllers
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.
PowerFail
*All controllers & CyberStation
Indicates whether or not the AC power to the controller has failed. See full description on page 4-14.
PowerUpTime
*All controllers & CyberStation
Gives the date and time of the last AC power application to the controller.
ReaderPower
ACX series controllers
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.
Scan
*All controllers & CyberStation
Indicates the controller’s last scan time in seconds.
Second
*All controllers & CyberStation
Gives the exact number of seconds of the current minute, from 0 to 59.
Status1 to Status8
CX 9201 controller
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.
SystemStatus
ACX and CX series controllers
Indicates whether communications is occurring between the access server and the controller.
Andover Controls Corporation
System Variables
System Variable Listing continued Workstation & CX System Variables continued Name
Available on
Description
TimeofDay
*All controllers & CyberStation
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.
TouchedCell
DCX250 controller
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.
UniquePin
ACX, CMX and CX (except 9500) series controllers
Indicates whether or not each person who has access must have a unique personal identification number (PIN).
Version
*All controllers & CyberStation
Gives the current version number of the software running on the controller.
Weekday
*All controllers & CyberStation
Gives the current day of the week, from SUNDAY through SATURDAY.
Year
*All controllers & CyberStation
Gives the current year from 1989 through 2088.
*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.
For CX9900 and ACX781 controllers: •
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.
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
4-14
CPUPower
Controls the power for the controller itself.
DCXPower
Controls the power for the DCX controller.
ModemPower
Controls the power for the modem.
IOUPower
Controls the power for the IOU modules.
ReaderPower
Controls the power for the ACX700 series controllers.
MicroPower
Controls the power for the ACX781 controllers.
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
5-4
number ^ number Finds the result of the first number raised to the second number power. Alias: EXP
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: • • •
5-6
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.
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
Result TRUE FALSE FALSE
BITOR BITOR BITOR
TRUE TRUE FALSE
TRUE FALSE FALSE
TRUE TRUE FALSE
BITXOR BITXOR BITXOR
TRUE TRUE FALSE
TRUE FALSE 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.
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.
OR
The Alias: OR.
String Joining
5-10
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.
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.
Calling a Function with Arguments
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.
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
th
8 most recent value recorded
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 ( )
7-4
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).
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.
Group Access Control
Alarm Counting
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
Function Function Function Statement Statement
Control of Inputs and Outputs
IOUCOMMFLT# STATUS#
Control Over Communications
INITMODEM DIAL CLOSE HANGUP OPEN READ
Creating/Manipulating Files
CLOSEFILE FILE OPENFILE POSITIONFILE READFILE WRITEFILE EOF
System variable System variable (programmable) Function Function Function Function Function Function (comm port) Function Statement Function Function Function Function Constant
BACnet
Building Control
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
Statement Statement Statement Statement
Display
ASK CLOSEWINDOW PRINT MESSAGEWINDOW SHOW SHOWREPORT STATUSLINE BASEDON..GOTO BREAK CONTINUE FOR..NEXT GOTO IF..THEN..ELSE LINE
Function Function Statement System variable Statement Statement System variable Statement Statement Statement Statement Statement Statement Statement
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
Mathematical
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
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
Group Administration
250 Display Unit Keywords
Table 7-2. Restricted Keywords Keyword CURUSER CURWORKSTATION DELETEEXTLOG ERRORS FREEMEM LOAD SAVE SCAN VERSION
Type Function Function Function Function System variable System variable Statement Statement System variable
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:
Example 1
•
Valid Access
•
Invalid Attempt
•
Door Fault
•
Door Violation
• •
Door Ajar Cabinet Tamper
• •
Request to Exit Door Channel Override
•
Refresh Database
•
Access Mode
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
Format
Operator
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
question
answer_var_or_point
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.
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
Format
Function
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
integer BITOR 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 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.
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 BITOR as follows: Program File SET RESULT = TOTAL1 BITOR TOTAL2 The comparison would give 0000000000001111. RESULT would be set to 15. Related Keywords
BITAND BITXOR BITNOT
Products Supported
BACnet series, CMX series, CX series controllers and CyberStation.
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
System variable
Format
CabinetTamper
Purpose
Indicates whether or not the ACX controller has been tampered with. A binary value controller System Variable linked to a controller's cabinet door.
Remarks
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.
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
ACX controller.
Modes Available
Command lines and programs.
7-48
Andover Controls Corporation
CD
Format
Statement
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.)
00 00 0 0 0 0 0 0 0 00 000000000 0 0 00000000000 0 0 0 0 0 000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0000
Position of –2.7
-4
-3
CEILING of –2.7 is nearest higher integer
-2
-1
0
1
2
Figure 7-4. Number line-showing CEILING (-2.7)
Example 2
Program File RNDVAL = CEILING (4.3) This statement returns a 5.
Related Keywords
FLOOR TRUNCATE ROUND
7-52
Andover Controls Corporation
3
4
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
CLOSE (comm_port)
Purpose
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
Products Supported
CMX series, CX series controllers and CyberStation.
Modes Available
Programs
7-58
OPENFILE READFILE CLOSEFILE
Andover Controls Corporation
WRITEFILE
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 1: CLOSELIST (object_var)
Format
Format 2: CLOSELIST (member_object_var)
Format 1: Closes the list of objects that the local OBJECT variable stands for.
Purpose
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
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.
Remarks
Returns SUCCESS or FAILURE.
!!
Example 1
CAUTION Be sure you close every list you open with OPENLIST.
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
7-64
Programs
Andover Controls Corporation
CloseWindow
Format
Function
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
CONTINUE
Purpose
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.
Remarks
Each time the loop repeats the action is an iteration of that loop.
Example
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).
Related Keywords
BREAK
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-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
CONTROL, continued
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Example continued
Fan 2
Figure 7-5. Display of a Control Style 1 (control button) on the 250 screen
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.
Products Supported
DCX-250 Display Unit.
Modes Available
Programs
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,
Example 3
2003
18:25:06
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
7-80
MONTH YEAR DAYOFYEAR
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
UpdateExtLog
Products Supported
CyberStation
Modes Available
Command lines and programs.
Plain English Language Reference
7-85
Dial
Function
Format 1: Dial (phone_number, commport)
Format
Format 2: Dial (phone_number) Format 3: Dial (phone_number, commport)
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
DialNotCarrier
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
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
DialBusyTone DialNotDialTone
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.
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.
!!
7-88
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.
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
Format
Function
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 1: DISABLE program_name
Format
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
DRAWELLIPSE, continued
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00
Example 2 continued
250 SCREEN
Figure 7-7. Circle drawn with DRAWELLIPSE
When you draw an ellipse, you can have DRAWELLIPSE tell whether it was successful or not, as follows: IF DrawEllipse (10, 10, 100,100) = Failure THEN Print "DCX Could Not Draw Ellipse" To Floor1 Comm3 Endif If DRAWELLIPSE is successful, the controller draws the circle, otherwise, the message prints.
Related Keywords
DRAWLINE DRAWRECTANGLE
Products Supported
DCX 250 Display Unit
Modes Available
Programs
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
DRAWLINE, continued
Example
Program File 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.
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 0 0 0 000000000000000000000000000000000000000000000000000000000 Begin_Left = 10 •
Begin_ Bottom = 100
End_Left = 200
•
End_Bottom = 50
Figure 7-8. Line drawn with DRAWLINE showing begin and end line locations.
SETDISPLAY first sets the color to white, so the line appears on the 250 screen in white.
Related Keywords
DRAWELLIPSE DRAWRECTANGLE
Products Supported
DCX 250 Display Unit
Modes Available
Programs
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.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 00 0 00 0 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 0 0 0 000000000000000000000000000000000000000000000000000000000 Right = 250
Left = 10
Bottom = 20
Top = 100
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.
Plain English Language Reference
7-105
DRAWRECTANGLE, continued
Example 2
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: Program File
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000000000000000000 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000000000000000000 0 00000000000000000000000000000000000000000000000000000
DRAWRECTANGLE 10, 10, 100, 100 250 Screen
Figure 7-10. Square drawn with DRAWRECTANGLE
Related Keywords
DRAWELLIPSE DRAWLINE SETDISPLAY
Products Supported
DCX 250 Display Unit
Modes Available
Programs
7-106
Andover Controls Corporation
ENABLE
Format
Statement
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.
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000000000000000000000000 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0000000000000000 00 00 00000000000000000000000000000000000000000000000000000 250 Screen
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
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
Remarks
Operator
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).
Example
•
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.
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
7-122
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.
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
Control System File Variable
\text\zone1.txt \text\zone2.txt \text\zone3.txt
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
Products Supported
CyberStation
Modes Available
Programs
OPENFILE WRITEFILE
POSITIONFILE
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.
00 00 00 00 0 0 0 0 0 0 0 00000 0 0 0 0 0 0 00000 0 0 0 0 0000000 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 000 Position of FLOOR (–1.1)
-4
-3
-2
Position of –1.1 on the number line
-1
0
1
2
3
4
Figure 7-12. Number line showing FLOOR (-1.1)
Related Keywords
CEILING TRUNCATE ROUND
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
Format
Statement
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
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.
Remarks continued
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.
!!
7-128
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.
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
Format
Function
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 2: GOTO LINE linename
Format 3: GO 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
Example 5
Line Heating Turn On Heater1 GO TO Beginning Line Cooling Turn On Cool1 GO TO Beginning
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
Format
Function
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: •
7-148
Does not respond to characters from the port with READ or characters sent to the port with PRINT.
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
7-150
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.
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
Format
Statement
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.
Carries out a given statement or series of statements if the expression is true.
Purpose
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
Format
Function
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
InitModem automatically sets the following attributes of the port:
Remarks continued
Attribute
Setting
TrackCXD Baud Parity StopBits DataLength FlowControl DTR
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
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.
Remarks continued
!!
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
Resulting Action
AT&F ATE ATV AT&C1 AT&D3
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.
AT&S1 ATS0=1 AT\N3 AT\A3 AT%E1 AT%C1 ATX3 AT&W
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
7-166
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.
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…
Format
Operator
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
Format
Statement
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
LINEPOINT, continued
Example 1 continued
Second, you must have a BEGINPOLYLINE statement. Third, you enter one LINEPOINT statement for each line point. Finally, you enter the ENDPOLYLINE statement. The program looks like this: Program File SETDISPLAY (NOFILL) BEGINPOLYLINE LINEPOINT 20, 30 LINEPOINT 60, 80 LINEPOINT 90, 50 LINEPOINT 150, 90 ENDPOLYLINE
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 00 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 250 SCREEN
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
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 250 SCREEN
Figure 7-14. Polygon drawn with LINEPOINT.
7-184
Andover Controls Corporation
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
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 250 SCREEN
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
LINEPOINT, continued
Example 3 continued
You can also label the graph and add scales as described under the LOCATE keyword.
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 000000000000000000000000000000000000000000000000000000000000 250 SCREEN
Figure 7-16. Expanded vertically centered graph drawn with LINEPOINT using and array of values.
Related Keywords
BEGINPOLYLINE ENDPOLYLINE LOCATE
Products Supported
DCX 250 Display Unit
Modes Available
Programs
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
Format
Statement on controller
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
Format
Statement on workstation
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.
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 00 00 00 00 0 0 0 0 0 0 0 0 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000 0000 00 00 0 0 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 000000000000000000000000000000000000000000000000000000000000 250 SCREEN
OPEN VALVE
Lower left corner at 125, 105
CLOSE VALVE
Lower left corner at 125, 85
Figure 7-17. Using the LOCATE function to label buttons.
Example 2
7-198
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
Andover Controls Corporation
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"
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 00 0 0 0 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 00 00 00 00 00 00 00 0 0 0 0 0 0 00 0000000 00 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0
The title appears where you position the text as shown in Figure 7-18. 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.
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.
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 1: MAXIMUM (numeric_list)
Format
Format 2: MAXIMUM (numeric_log) Format 3: MAXIMUM (numeric_array)
Format 1: Finds the maximum number in a list of numeric values.
Purpose
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 1: MAXITEM (numeric_list)
Format
Format 2: MAXITEM (numeric_log) Format 3: MAXITEM (numeric_array)
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.
Purpose
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 1: MINIMUM (numeric_list)
Format
Format 2: MINIMUM (numeric_log) Format 3: MINIMUM (numeric_array)
Format 1: Finds the minimum number in a list of numeric values.
Purpose
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 1: MINITEM (numeric_list)
Format
Format 1: MINITEM (numeric_log) Format 1: MINITEM (numeric_array)
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.
Purpose
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
Example 1
Short Name
Long Name
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
January February March April May June July August September October November December
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 1: MOVE output_point_list TO number
Format
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
Products Supported
CyberStation.
Modes Available
Programs
7-240
Andover Controls Corporation
FILE FAILURE
POSITIONFILE SUCCESS
READFILE
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
DigitalInput
Group
MultistateOutput
ActivityEvent ACXList
DigitalOutput DistributionBatch
GroupMember ImExportRef
MultistateValue Network
AlarmEnrollment AlarmEvent
DistributionObject Door
InfinityController InfinityDateTime
NetworkDialup Numeric
AlarmInfo
DoorList
InfinityFunction
ParamInfo
AnalogInput AnalogOutput
ElevatorInfo ErrorEvent
InfinityInfinetCtlr InfinityInput
Personnel Program
Area AreaLink
EventEnrollment EventLogControl
InfinityNumeric InfinityOutput
RootClass Schedule
BinaryValue ClassName
EventNotification EventView
InfinityProgram InfinityString
SecurityLevel SecurityLink
CommPort
Filter
InfinitySystemVariable
ShortCut
ControllerUser DateTime
Folder Function
IOUModule ListView
String TemplateInfo
Device
Graphics
MultistateInput
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
Format
Operator
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
Format
Statement
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
Format
Statement
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.
Program File
Output
/Explanation
1
PRINT "WARNING-Trouble on the 4th Floor!"
WARNING-Trouble on the 4th Floor! /The string of characters prints; the quotation marks do not.
2
PRINT TEMP1, TEMP2, TEMP3, TEMP4
67 72 77 75 / The value of each variable in the list prints, with a space after it.
3
PRINT "The temperature is ⏐###.# at ⏐##:##:##", Temp4, Hour, Minute, Second
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.
4
PRINT "⏐#######", Total_Watts
1340 / Leaves 3 leading spaces before the value of TOTAL_WATTS. The value prints on the terminal called TERMINAL.
5
PRINT WEEKDAY; PRINT " "; PRINT MONTH; PRINT " "; PRINT DAYOFMONTH
Tuesday January 2 / Prints all text and spaces on the same line because each PRINT statement ends with a semicolon (;).
6
PRINT "HEAT.SETPT" TO POINTNAME
/ Prints the value into the string and changes its setting. You can set a string point or variable this way.
Plain English Language Reference
7- 271
PRINT, continued
Examples 1-21 continued
7- 272
No.
Program File
Output /Explanation
7
PRINT "⏐##,###.##", TOTAL_WATTS
1,340.00 / Leaves one leading space. Adds the comma after the 1 and has two zeros after the decimal.
8
PRINT "⏐#,###.##}", TOTAL_WATTS
1,340 / Drops extra decimal places (trailing zeros).
9
PRINT "The Fan Status is ⏐$###," FANSTATUS
The Fan Status is ON / Prints ON, -ON, or OFF for a digital or tristate point, leftjustifying On in the format.
10
PRINT "The Damper Setting is ⏐##.##", DAMPER
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.
11
PRINT "⏐*", Murphy FULLNAME
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.
12
PRINT "⏐@@@@@@@@@@@@@@", STRMSG TO BUILDING1 CONSOLE
Heater Failed! / The message inside STRMSG prints left justified in the 14 characters allowed by the @ signs.
13
PRINT "⏐>#######.##}", 21.70
21.7 / Right justifies and drops the trailing 0.
14
PRINT "⏐-##.##", 88.8
+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.
Andover Controls Corporation
PRINT, continued
Examples 1-21 continued
No.
Output /Explanation
Program File
15
PRINT "⏐##.##-", -88.80
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.
16
PRINT "⏐###^## is the ⏐"TOTAL.⏐"", 897000
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.
17
PRINT "⏐###^##"", .8970
8,97e-01 / Prints in scientific notation with negative exponent.
18
PRINT "⏐-##.##^##"", 1340000
+1.340e+06 / Prints in scientific notation with a leading plus sign for a positive number.
19
PRINT "The blower's current state is ⏐@@@@@@@@.", BLOWER STATE
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.
20
PRINT "The value is set to ⏐%### open.", WATER_VALVE
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%.
Plain English Language Reference
7- 273
PRINT, continued
Examples 1- 21 continued
No. 21
Example 22
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).
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
Cost
4567
548.04
8724
1134.12
3862
463.44
4532
543.84
3217
386.04
9421
1224.73
567
56.70
856
94.16
3763
451.56
589
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
7- 276
Command lines and programs.
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
Purpose
Carries out the statements in the loop until the 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. The statements within the loop always execute at least once before the expression is evaluated.
!! 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
Break Continue
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-292 Andover Controls Corporation
RETURN
Format
Statement
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:
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:
Program File SHUTDOWN( )
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
Format
Statement
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.
00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 000000 000000 0 0 0 000 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00000 0 0 0 0 0 0 000 00 0 0000 0 0 0 0 00 0 Position of ROUND(–1.7)
-4
-3
-2
Position of –1.7 on the number line
-1
0
1
2
3
Figure 8-20. Number line showing ROUND (-1.7)
The following table illustrates how the four functions differ: Functions
4.2
4.5
-3.1
-3.7
ROUND CEILING FLOOR TRUNCATE
4 5 4 4
5 5 4 4
-3 -3 -4 -3
-4 -3 -4 -3
7-298 Andover Controls Corporation
4
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
Purpose
Execution of one or more statements, depending on the value of Test_Expression
Remarks
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
Plain English Language Reference
7-319
SELECT (CASE), continued
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
Statement
SELECT (CASE), continued
Statement
Related Keywords
IF..THEN..ELSE, BREAK, CONTINUE
Products Supported
CyberStation
Modes Available
Programs
Plain English Language Reference
7-321
SET
Format
Statement
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
Format
Function
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
Format
Statement
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
Format
Statement
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
Format
Function
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 1: STOP program_list
Format
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
7-344
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.
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 1: SUM (numeric_list)
Format
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
TOUCHEDCELL
System variable
Format
TOUCHEDCELL
Purpose
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.
Remarks
The cells on the 250 screen are as shown on Figure 8-22.
00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00000000000000000000000000000000000000000000000000000000000 0 00 00 00 0 0 00 00 0 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0000 0 0 0 0 0 0000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00000000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0 0 0 0 000000000000000000000000000000000000000000000000000000000000 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Figure 8-22. The DCX 250 Display Unit screen touch cells
The operator must press the cell for at least 100 ms. If the operator presses the cell continuously, the TOUCHEDCELL value updates every second. You can reset TOUCHEDCELL to zero with CLEARSCREEN.
Plain English Language Reference
7-367
TOUCHEDCELL, continued
Example 1
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. 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.
00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 00 00 00 00 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 00 00 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0000 0 0 0 0 0 00000000000000000000 0 0 0 0 0 0000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0000 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ROOM FAN STATUSES
Room1 Fan Status
Room2 Fan Status
Room3 Fan Status
Figure 8-23. Touch Cell grid behind buttons
You write the program as follows: Program File IF TOUCHEDCELL = 19 THEN GOTO ROOM1FAN.DCX IF TOUCHEDCELL = 35 THEN GOTO ROOM2FAN.DCX IF TOUCHEDCELL = 51 THEN GOTO ROOM3FAN.DCX When you draw buttons, be sure each overlays a particular cell.
7-368
Andover Controls Corporation
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 1: TURN ON point_list TURN OFF point_list
Format
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.
Remarks
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”.
!!
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
When
Success Failure
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.
DialNoCarrier
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.
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
7-384
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:
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:
Example 1
Constant
Short Name
1
SUN
SUNDAY
Long Name
2
MON
MONDAY
3
TUE
TUESDAY
4
WED
WEDNESDAY
5
THU
THURSDAY
6
FRI
FRIDAY
7
SAT
SATURDAY
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.
!!
Example
7-390
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.
Program File SET COUNTER TO 0 WHILE COUNTER < 10 COUNTER = COUNTER + 1 ENDWHILE
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 Codes
ASCII Code Table
A-2
The ASCII Codes are listed in the following table:
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 Code (in Decimal)
Character or Action
0
NUL
1
SOH
2
STX
3
ETX
4
EOT
5
ENQ
6
ACK
7
Beep.
8
Backspace.
9
TAB Forward.
10
Line Feed.
11
Vertical TAB.
12
Form Feed.
13
Carriage Return.
14
SO
15
SI
16
DLE
17
DC1
Andover Controls Corporation
ASCII Codes ASCII Code Table continued
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Code (in Decimal)
Character or Action
18
DC2
19
DC3
20
DC4
21
NAK
22
SYN
23
ETB
24
CAN
25
EM
26
SUB
27
ESC
28
FS
29
GS
30
RS
31
US
32
Space.
33
!
34
"
35
#
36
$
37
%
38
&
39
’ (apostrophe)
40
(
41
)
42
*
43
+
44
, (comma)
Plain English Language Reference
A-3
ASCII Codes ASCII Code Table continued
A-4
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Code (in Decimal)
Character or Action
45
–
46
. (period)
47
/
48
0
49
1
50
2
51
3
52
4
53
5
54
6
55
7
56
8
57
9
58
:
59
;
60
<
61
=
62
>
63
?
64
@
65
A
66
B
67
C
68
D
69
E
60
F
71
G
Andover Controls Corporation
ASCII Codes ASCII Code Table continued
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Code (in Decimal)
Character or Action
72
H
73
I
74
J
75
K
76
L
77
M
78
N
79
O
80
P
81
Q
82
R
83
S
84
T
85
U
86
V
87
W
88
X
89
Y
90
Z
91
[
92
\
93
]
94
^
95
-
96
‘
97
a
98
b
Plain English Language Reference
A-5
ASCII Codes ASCII Code Table continued
A-6
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 0000000000000000000000000000000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Code (in Decimal)
Character or Action
99
c
100
d
101
e
102
f
103
g
104
h
105
i
106
j
107
k
108
l
109
m
110
n
111
o
112
p
113
q
114
r
115
s
116
t
117
u
118
v
119
w
120
x
121
y
122
z
123
{
124
|
125
}
Andover Controls Corporation
ASCII Codes ASCII Code Table continued
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000000000000000000000000000000000000000000000000000000000000000000 Code (in Decimal)
Character or Action
126
~
127
DEL
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
B-2
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
Andover Controls Corporation
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
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
B-4
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
Andover Controls Corporation
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
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
B-6
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
Andover Controls Corporation
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
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
B-8
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
Andover Controls Corporation
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
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
B-10
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
Andover Controls Corporation
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
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
B-12
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
Andover Controls Corporation
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
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
B-14
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
Andover Controls Corporation
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
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
B-16
Andover Controls Corporation
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
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
•
ElevatorInfo
•
InfinitySystemVariable
•
ActivityEvent
•
ErrorEvent
•
IOUModule
•
ACXList
•
EventEnrollment
•
ListView
•
AlarmEnrollment
•
EventLogControl
•
MultistateInput
•
AlarmEvent
•
EventNotification
•
MultistateOutput
•
AlarmInfo
•
EventView
•
MultistateValue
•
AnalogInput
•
Filter
•
Network
•
AnalogOutput
•
Folder
•
NetworkDialup
•
Area
•
Function
•
Numeric
•
AreaLink
•
Graphics
•
ParamInfo
•
BinaryValue
•
Group
•
Personnel
•
ClassName
•
GroupMember
•
Program
•
CommPort
•
ImExportRef
•
RootClass
•
ControllerUser
•
InfinityController
•
Schedule
•
DateTime
•
InfinityDateTime
•
SecurityLevel
•
Device
•
InfinityFunction
•
SecurityLink
•
BinaryInput
•
InfinityInfinetCtlr
•
ShortCut
•
BinaryOutput
•
InfinityInput
•
String
•
DistributionBatch
•
InfinityNumeric
•
TemplateInfo
•
DistributionObject
•
InfinityOutput
•
User
•
Door
•
InfinityProgram
•
DoorList
•
InfinityString
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
C-2
Description
AreaID
Area involved in access event
CardNumber
Card Number
CardType
Card Type
Description
Description of Object
DeviceID
Net Controller reporting the event
DoorID
Door reporting the event
EventMessage
Either the mode of operation for valid access or the reason for invalid access
EventType
Type of event - valid access, etc.
ID
SQL Object ID - Not meaningful to the user
LoggingWorkstaID
Workstation that received the event
NonABACardNumber
Non ABA Card number
PersonID
Person involved in the event
SiteCode
Site code of the card in the event
TimeOfLog
Time that workstation logged event to database
TimeStamp
Time that event took place
ZoneCode
Zone code of the card involved in the event
Andover Controls Corporation
ActivityEvent Attributes
ActivityEvent Attributes Table
The following list provides you with the attributes and meanings for an ActivityEvent object. Attribute
Description
ActionCode
System used number to refer to activity type
Caller Code
Not meaningful to the user
Description
Description of Object
EventObjectID
The object asscociated with the activity
EventObjectName
The object asscociated with the activity
ID
SQL Object ID - Not meaningful to the user
NodeName
The name of the device from which the activity took place
Operator Text
The text entered by the person signing off on the activity
OTUser
The user name of the person signing off on the activity
TimeStamp
The time the activity took place
UserID
The full path to the user
UserName
The name of the user
Plain English Language Reference
C-3
ACXList Attributes
ACXList Attributes Table
C-4
The following list provides you with the attributes and meanings for an ACXList object. Attribute
Description
AreaID
Not meaningful to the user
AreaUsage
Not meaningful to the user
DeviceID
Not meaningful to the user
NetworkID
Not meaningful to the user
Andover Controls Corporation
AlarmEnrollment Attributes
ALarmEnrollment Attributes Table
The following list provides you with the attributes and meanings for an AlarmEnrollment object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
Alarmenable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmType
Not meaningful to the user
Alias
Alias of the Object
AudioFileFault
Path and name of wav file to play on fault
AudioFileNormal
Path and name of wav file to play on RTN
AudioFileOffNormal
Path and name of wav file to play on Alarm
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventType
Type of alarm - out of range, high limit, expression, etc.
FollowUpRule
Not meaningful to the user
Graphics
Not meaningful to the user
Plain English Language Reference
C-5
AlarmEnrollment Attributes, continued
ALarmEnrollment Attributes Table, continued
C-6
Attribute
Description
IconID
Not meaningful to the user
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not meaningful to the user
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
MsgTextFault
Message delivered on fault
MsgTextNormal
Message delivered on RTN
MsgTextOffNormal
Message delivered on Alarm
Name
Name of the object
NetworkNumber
Not meaningful to the user
NotifyType
Type of notification to be used
Owner
Owner of object
Properties
Not meaningful to the user
ReferenceCount
Not meaningful to the user
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefObjectType
Not meaningful to user
RefTemplate
Name and path of template from which object was created
ReportID
Not meaningful to the user
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
True if object is a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to the user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Virtual Flag
Not meaningful to the user
Andover Controls Corporation
AlarmEvent Attributes
ALarmEvent Attributes Table
The following list provides you with the attributes and meanings for an AlarmEvent object. Attribute
Description
AckbyUser
User who acknowledges the alarm
AckbyWorkstation
Workstation from which alarm was acknowledged
Active
Set to true if the alarm has not satisfied all of its return criteria
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventObjectID
Object that went into alarm
EventObjectValue
Value of object
EventType
Alarm Type
FromState
The previous state of the alarm event (Alarm, Return To Normal)
ID
SQL Object ID - Not meaningful to the Uuer
InitDeviceID
Name of the device owning the object
LoggingWkstaID
The name of the workstation that logs the alarm to the database
MasterAlmID
Name of the alarm enrollment
MessageText
Text message for alarm
OperatorActions
Actions typed in manually by the operator
OPeratorText
Text that is typed in by the person acknowledging the alarm, if that option is in place
SilencedbyUser
Use who silenced the alarm
SilencedbyWorkstation
Workstation from which the alarm was silenced
Silenced Time
Time at which the alarm was silenced
TimeofAck
Time at which the alarm was acknowledged
TimeofLog
Time at which the alarm was logged to the database
TimeStamp
Time at which the alarm took place
ToState
Current state of the alarm event
Plain English Language Reference
C-7
AlarmInfo Attributes
AlarmInfo Attributes Table
C-8
The following list provides you with the attributes and meanings for an AlarmInfo object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmLink1…AlarmLink8
Not meaningful to user
ParentObject
The full path to the object
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
ReportID
Not meaningful to the user
Andover Controls Corporation
AnalogInput Attributes
AnalogInput Attributes Table
The following list provides you with the attributes and meanings for an AnalogInput object. Attribute
Description
AckedTransitions
Not meaningful to the user - currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Not meaningful to the user
Channel
Terminal number into which this object is wired
ClassSortID
Not meaningful to the user
Conversion
Equation with which the elec. value should be converted into engineering units
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeadBand
Amount that the value must differ from low or hi limit in Basic Alarm (WS points only)
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not meaningful to the user
DigitalFilter
Allows for digital filtering to be applied automatically to the input
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElecScaleBot
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
C-10
Attribute
Description
ElecScaleTop
The top electrical value that corresponds to the top value in Engineering Units
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
EngScaleBot
The bottom value in Engineering Units that corresponds to the bottom electrical value
EngScaleTop
The top value in Engineering Units that corresponds to the top electrical value
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not meaningful to the user
Format
Format to be used in displaying object value
Graphics
Not meaningful to the user
HighLimit
High Limit to be used in Basic Alarm (WS points only)
IconID
Not meaningful to user
ID
SQL Object ID - Not meaningful to the user
IncludeObject
Not meaningful to the user
IOU
IOU number of object
IsShortcut
Not meaningful to the user
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LimitEnable
Not meaningful to the user
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
LowLimit
Low limit to be used in Basic Alarms (WS points only)
Name
Name of the object
NetworkNumber
Not meaningful to the user
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of object
Properties
Not meaningful to the user
Andover Controls Corporation
AnalogInput Attributes, continued
AnalogInput Attributes Table, continued
Attribute
Description
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not meaningful to the user
Resolution
Not meaningful to the user
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not meaningful to the user
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to the user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
Threshold
The amount, in engineering units, that the value must change before it will update
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TriggerThreshold
The amount, in engineering units, that the value must change before it will update
Type
The type of the object
Units
The engineering units to be used for this object
UpdateInterval
The update interval to be used for this object (WS points only)
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-11
AnalogOutput Attributes
AnalogOutput Attributes Table
C-12
The following list provides you with the attributes and meanings for an AnalogOutput object. Attribute
Description
AckedTransitions
Not meaningful to the user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not Currently Implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
Conversion
Equation with which the elec. value should be converted into engineering units
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeadBand
Amount that the value must differ from low or hi limit in Basic Alarm (WS points only)
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not meaningful to the user
DigitalFilter
Allows for digital filtering to be applied automatically to the output
DistPending
Indicates that distribution is pending for this object
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Andover Controls Corporation
AnalogOutput Attributes, continued
AnalogOutput Attributes Table, continued
Attribute
Description
ElecScaleBot
The bottom electrical value that corresponds to the bottom value in Engineering Units
ElecScaleTop
The top electrical value that corresponds to the top value in Engineering Units
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
EngScaleBot
The bottom value in Engineering Units that corresponds to the bottom electrical value
EngScaleTop
The top value in Engineering Units that corresponds to the top electrical value
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not meaningful to the user
Format
Format to be used in displaying object value
Graphics
Not meaningful to the user
HighLimit
High Limit to be used in Basic Alarm (WS points only)
IconID
Not meaningful to the user
ID
SQL Object ID - Not meaningful to the user
IncludeObject
Not meaningful to the user
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LimitEnable
Not meaningful to the user
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
LowLimit
Low limit to be used in Basic Alarms (WS points only)
Name
Name of the object
NetworkNumber
Not meaningful to the user
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
OverrideValue
The actual valus of the output that is overridden
Owner
Owner of object
Properties
Not meaningful to the user
Plain English Language Reference
C-13
AnalogOutput Attributes, continued
AnalogOutput Attributes Table, continued
C-14
Attribute
Description
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not meaningful to the user
Resolution
Not Currently Implemented
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not meaningful to the user
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
Threshold
The amount, in engineering units, that the value must change before it will update
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
UpdateInterval
The update interval to be used for this object (WS points only)
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
Area Attributes
Area Attributes Table
The following list provides you with the attributes and meanings for an Area object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Not meaningful to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeletePending
Indicates if there is a delete action pending for this area
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Not meaningful to the user
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not meaningful to the user
Graphics
Not meaningful to the user
IconID
Not Meaningful to the User
ID
SQL Object ID - Not meaningful to the user
IncludeObject
Not meaningful to the user
KnownOccupCount
Number of occupants currently in an area - not currently implemented
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
Plain English Language Reference
C-15
Area Attributes, continued
Area Attributes Table, continued
C-16
Attribute
Description
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not meaningful to the user
Owner
Owner of object
Properties
Not meaningful to the user
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not meaningful to the user
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Andover Controls Corporation
AreaLink Attributes
AreaLink Attributes Table
The following list provides you with the attributes and meanings for an AreaLink object. Attribute
Description
AreaID
Name and path of the area
DeletePending
Indicates if there is a delete action pending for this link
DistPending
Indicates there is a distribution pending for this object
DistTime
Time of last successful distribution
ID
Not meaningful to the user
PersonID
Name of the person involved in this link
PreLoad
Determines if link is to be loaded to the controller or if validation is to take place at the server level
SchedID
Name of schedule associated with this link
State
Indicates if an object has been enabled or disabled
TimeEntered
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
C-18
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActiveText
Text to be displayed when object is in active state.
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ChangeofStateCount
Number of times discrete object has changed state.
ChangeofStateTime
Time of last change of state.
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not meaningful to user
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElapsedActiveTime
Amount of time point has been in the active state
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
Andover Controls Corporation
BinaryValue Attributes, continued
BinaryValue Attributes Table, continued
Attribute
Description
FollowUpRule
Not meaningful to the user
Graphics
Not meaningful to the user
IconID
Not meaningful to the user
ID
SQL Object ID - Not Meaningful to the User
InactiveText
Text to be displayed when object is in inactive state.
IncludeObject
Not meaningful to the user
LastChangeBy
Name of the user making the last change
LockedBy
Not currently implemented
LockingWorkstation
Not currently implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
MinimumOffTime
Point will be latched at inactive value for this time
MinimumOnTime
Point will be latched at active value for this time
Name
Name of the object
NetworkNumber
Not meaningful to the user
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of object
Properties
Not meaningful to the user
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not meaningful to the user
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
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
C-20
Attribute
Description
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TimeofActiveTimeReset
Time stamp of most recent time that the active state was reset
TimeofStateCountReset
Time stamp of most recent time that the state counter was reset
Type
The type of the object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
ClassName Attributes
ClassName Attributes Table
The following list provides you with the attributes and meanings for a ClassName object. Attribute
Description
ObjectTypeID
Not meaningful to the user
ObjectTypeName
Not meaningful to the user
Plain English Language Reference
C-21
CommPort Attributes
CommPort Attributes Table
C-22
The following list provides you with the attributes and meanings for a CommPort object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
CommStatus
Not Meaningful to the user for this object - always reads online
CreatedBy
Name of user who created object
CreateTime
Time of object creation
CTS
Clear To Send
CurrCommDir
Not Meaningful to the User
CurrentUser
When configured as a user port, indictates the current user of that port
CXD
Carrier Detect
DataLength
Length in bits that data will be sent and received
DefaultBaud
Default baud rate
DefaultMode
The mode that the port will revert to when closed.
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DialPrefix
String to be sent to the built - in Continuum modem before dialing the number on a dial command
DialSuffix
String to be sent to the built - in Continuum modem after dialing the number on a dial command
DirectConnect
Indicates that the port will be hard wired to a terminal device
DistPending
Indicates that distribution is pending for this object
Andover Controls Corporation
CommPort Attributes, continued
CommPort Attributes Table, continued
Attribute
Description
DSR
Data Send Ready
DTR
Data Terminal Ready
EditLock
Indicates if object has been locked to additional Edits
FlowControl
Type of flow control that will be used by the port
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
HangUpCmd
String to be sent to the built-in Continuum modem when a hangup command is issued
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
Learn
Set to true when the user attempts to gather information on all Infinet devices attached to a port configured as Infinet
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
MaxPrintCols MaxPrintRows MenuBar Messages
Indicates if there are currently messages in the message window corresponding to the comm port
Mode
Current operating mode of the comm port
ModemInit
String to be sent to built-in Continuum modem on power-up.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotChangeable
Not Meaningful to the User
Owner
Not Meaningful to the User
ParamLabels
XDriver configuration value
Parity
Parity setting of the port
PortNum
SVC number corresponding to the port
PrintDone
Indicates that the previous print instruction to the port is complete
ProgramAttached
Not Meaningful to the User
Properties
Not Meaningful to the User
Reconfigs
Indicates the number of bus reconfigurations that have occurred - Meaningful only for Infinet ports
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Plain English Language Reference
C-23
CommPort Attributes, continued
CommPort Attributes Table, continued
Attribute
Description
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
RequestedMode
Not Meaningful to the User
Resume
Not Meaningful to the User
RI
Ring Indicator
RTS
Ready to Send
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
StartCharacter
Character that will cause a window response when port is set to autoset
State
Indicates if an object has been enabled or disabled
StatusBar
The bar at the bottom of the screen when the port is configured as autoset
StopBits
Number of stop bit for port
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TerminalType
The type of terminal emulation to be used when port is set to autoset
TimedOut
Indicates that the port has timed out of its previous instruction
TimeLocked
The time the object was last opened
TimeOutValue
Value to be assumed after the time out
TrackCXD
Disconnect port and revert to default mode upon loss of carrier
TransmitCount
Number of transmissions
Type
The type of the object
Windows
C-24
XDriverErrCount
Number of errors encountered in communication via an Xdriver to a third party device
XdriverError
Type of error encountered in communication via an Xdriver to a third party device
XdriverErrTime
Time of error encountered in communication via an Xdriver to a third party device
XdriverFile
File to be used when reloading to install Xdriver
XdriverStatus
Status of Xdriver communication
Andover Controls Corporation
ControllerUser Attributes
ControllerUser Attributes Table
The following list provides you with the attributes and meanings for a ControllerUser object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Not meaningful to user
ClassSortID
Not meaningful to user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FullName
Full Name of User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not currently implemented
Plain English Language Reference
C-25
ControllerUser Attributes, continued
ControllerUser Attributes Table, continued
C-26
Attribute
Description
LoginProgram
InfinityProgram to be run at controller when user logs in
LogOutProgram
InfinityProgram to be run at controller when user logs out
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Not Meaningful to the User
Preemption
Not Meaningful to the User
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
VirtualFlag
Not Meaningful to the User
Andover Controls Corporation
DateTime Attributes
DateTime Attributes Table
The following list provides you with the attributes and meanings for a DateTime object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DateValue
Date portion of the date time object
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
HighLimit
High Limit to be used in Basic Alarm (WS points only)
Plain English Language Reference
C-27
DateTime Attributes, continued
DateTime Attributes Table, continued
C-28
Attribute
Description
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Not Currently Implemented
LogValue
Not Currently Implemented
LowLimit
Low limit to be used in Basic Alarms (WS points only)
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of object
Properties
Not meaningful to user
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
TimeValue
Time portion of the date time object
Type
The type of the object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
Device Attributes
Device Attributes Table
The following list provides you with the attributes and meanings for a Device object. Attribute
Description
AccessEventViewer MaxEntries
Maximum number of entries allowed in the access viewer for this workstation
AcknowledgeEmail FormatFile
Default location of this type of format file
AcknowledgePager FormatFile
Default location of this type of format file
AcknowledgePrinter FormatFile
Default location of this type of format file
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmCount
Number of alarms currently in alarm viewer
AlarmEmailFormat File
Default location of this type of format file
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmPagerFormat File
Default location of this type of format file
AlarmPrinterFormat File
Default location of this type of format file
AlarmPrinterPath
Full path to the printer for alarm printing
AlarmViewerMax Entries
Maximum number of entries allowed in the alarm viewer for this workstation
Alias
Alias of the object
APDUSegTimeout
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
C-30
Attribute
Description
APDUTimeout
Time in milliseconds between retransmission of an APDU segment that requires ack but that has not been received.
ApplSoftwareVer
Application software version
BasdgeFormatFile Location
Default location of this type of format file
BaseLink
Meaningless to the user
CommandlinePrompt
Prompt to be used on the command line
CommStatus
Communication status of device
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DaylightSavings Status
States if device is currently under DST
DefaultBadgeFormat
Format file to be used when printing badges
DefaultFolder
Folder into which all new objects will be placed when created.
DefaultImageCropping
True/False as to the use of the default image cropping
DefaultReportViewer
Program to use for the viewing of report files
DefaultRouter
IP address of the default router
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FirmwareRev
Not meaningful to user
FolderType
Not Meaningful to the User.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IAMBroadcastIntvl
Not Currently Implemented
IAMBroadcastScope
Not Currently Implemented
IAMRemoteNetwork
Not Currently Implemented
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IncrementReportFile
If true subsequent reports by the same name will be appended to existing report file
IPAddress
IP address of the device
LastChangeBy
Name of the user making the last change
Andover Controls Corporation
Device Attributes, continued
Device Attributes Table, continued
Attribute
Description
LocalDate
Date at the device
LocalTime
Time at the device
Location
A string that can be used to specify the physical location of the device
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
MainMenuFile
Name and path to the file that is displayed upon startup
MaxAPDUAccepted
Number of octets that may be contained in a single APDU
MaxResponseTime
Amount of time the controller will wait for a response to a request before timing out. Not PE settable.
ModelName
Continuum CyberStation
Name
Name of the object
NetworkFlag
Not Meaningful to the User
NetworkNumber
Not Meaningful to the User
NumberAPDURetries
Maximum number of tries for an APDU to be retransmitted
OperatorTextAlarmAck
Indicates if the operator is required to enter text on alarm acknowledgement (requires CFR setting)
Owner
Owner of this device
PrimaryAccessServer
Indicates if the device should carry on the functions of primary access server
ProbeTime
Frequency in seconds that the device will confirm the communication status of other devices
Properties
Not Meaningful to the User
ProtocolConfClass
A number that indicates which specific set of standardized protocol services and object classes are supported
ProtocolObjectTypes Support
Object classes that are supported
ProtocolServicesSupport
Services that are supported
ProtocolVersion
Version of BACNet protocol supported - Not implemented at this time
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleADL
Indicates if device is set to autodownload schedules
ScheduleEvents
Not viewable by user
SecondaryAccessServer
Indicates if it device will satisfy requirements of the secondary access server
SecurityLevel
Name and path of any security level attached to the object
Plain English Language Reference
C-31
Device Attributes, continued
Device Attributes Table, continued
C-32
Attribute
Description
SegmentationSupport
Indicates if this device supports segmentation of messages and, if so, if it supports transmission, reception or both.
StatusFlags
Not Meaningful to the User
SubnetMask
Subnet mask of device
SystemStatus
Indicates ONLINE, OFFLINE and OUT OF SERVICE
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
UTCOffset
Universal Time Coordinate offset in minutes
VendorIdentifier
Number that corresponds to the BACNet vendor of this device
VendorName
Name of the BACNet vendor of this device
Andover Controls Corporation
BinaryInput Attributes
BinaryInput Attributes Table
The following list provides you with the attributes and meanings for a BinaryInput object. Attribute
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActiveText
Text to be displayed when object is in active state.
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ChangeofStateCount
Number of times discrete object has changed state.
ChangeOfStateTime
Time of last change of state.
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not Meaningful to the User
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElapsedActiveTime
Amount of time discrete point has been in active state
ElecValue
Object's actual electrical value
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
Plain English Language Reference
C-33
BinaryInput Attributes, continued
BinaryInput Attributes Table, continued
C-34
Attribute
Description
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
InactiveText
Text to be displayed when object is in inactive state.
IncludeObject
Not Meaningful to the User
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LowLimit
Low limit to be used in Basic Alarms (WS points only)
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of object
Polarity
Polarity (NO vs NC)
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
Andover Controls Corporation
BinaryInput Attributes, continued
BinaryInput Attributes Table, continued
Attribute
Description
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TimeofActiveTime Reset
Time stamp of most recent time that the active state was reset
TimeofStateCount Reset
Time stamp of most recent time that the state counter was reset
Type
The type of the object
Value
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
C-36
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActiveText
Text to be displayed when object is in active state.
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ChangeofStateCount
Number of times discrete object has changed state.
ChangeOfStateTime
Time of last change of state.
ChangeofStateCount
Number of times discrete object has changed state.
ChangeOfStateTime
Time of last change of state.
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not Meaningful to the User
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElapsedActiveTime
Amount of time descrete poin t has been in the active state
ElecValue
Object's actual electrical value
Andover Controls Corporation
BinaryOutput Attributes, continued
BinaryOutput Attributes Table, continued
Attribute
Description
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
InactiveText
Text to be displayed when object is in inactive state.
IncludeObject
Not Meaningful to the User
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LowLimit
Low limit to be used in Basic Alarms (WS points only)
MinimumOffTime
Point will be latched at inactive value for this time
MinimumOnTime
Point will be latched at active value for this time
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
OverrideValue
Actual value of output as set by person overriding it
Owner
Owner of the object
Polarity
Polarity (NO vs NC)
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
RelinquishDefault
The priority value the BinaryOuput is set to when all command priorities have been relinquished.
ReportID
Not Meaningful to the USer
Plain English Language Reference
C-37
BinaryOutput Attributes, continued
BinaryOutput Attributes Table, continued
C-38
Attribute
Description
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TimeofActiveTimeR eset
Time stamp of most recent time that the active state was reset
TimeofStateCountRe set
Time stamp of most recent time that the state counter was reset
Type
The type of the object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
DistributionBatch Attributes
DistributionBatch Attributes Table
The following list provides you with the attributes and meanings for a DistributionBatch object. Attribute
Description
DelayOffset
Not Meaningful to the User
DelayTime
Not Meaningful to the User
DelayType
Not Meaningful to the User
ID
Not Meaningful to the User
ReferenceCount
Not Meaningful to the User
StartTime
Not Meaningful to the User
UserID
Not Meaningful to the User
WrkStatID
Not Meaningful to the User
Plain English Language Reference
C-39
DistributionObject Attributes
DistributionObject Attributes Table
C-40
The following list provides you with the attributes and meanings for a DistributionObject object. Attribute
Description
BatchID
Not Meaningful to the User
ClassFilter
Not Meaningful to the User
CreateTime
Time that the distribution activity was created
DistOpts
Distribution Options
DistTime
Time for next scheduled distribution of this object
EditTime
Time of last editing of distribution "job"
EditUser
The user who invoked the distribution
ExtraData1
Not Meaningful to the User
ExtraData2
Not Meaningful to the User
ExtraID1
Not Meaningful to the User
ExtraID2
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
NotifyOpts
Byte Code - Not Meaningful to the User
Operation
Type of distribution (schedule download, etc.)
OperationOpts
Not Meaningful to the User
SourceID
Object requiring distribution
Status
Status of the distribution (pending, failed, etc.)
StringParam
XDriver configuration value
TargetID
Not Meaningful to the User
UserID
User intitiating distribution
WrkStatID
Workstation accomplishing distribution
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ADAChannel
Terminal number into which this object is wired
ADADoorAjarTime
Time required for door to be considered ajar
ADAOutputTime
Time duration of relay activation on door open command
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmChannel
Terminal number into which this object is wired
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
ArmCode
Not Implemented at this time
ArmMode
Not Implemented at this time
BaseLink
Meaningless to the user
BondChannel
Terminal number into which this object is wired
BondFailure
true/false depending on status of bond sensor supervised input
BondSensor
Value of bond sensor input
BondType
Wiring type - NOSeries, etc.
CardFormats
Format of the access cards to be used
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
Plain English Language Reference
C-41
Door Attributes, continued
Door Attributes Table, continued
Attribute
Description
DoorAjar
Indicates that the door has been left open too long
DoorAjarTime
Time required for door to be considered ajar
DoorChannel
Terminal number into which this object is wired
DoorFault
True/false depending on status of supervised input
DoorSchedule
Name of the schedule attached to this door
DoorStrikeTime
Time duration of relay activation on door open command
DoorSwitch
Indicates if a door switch input is used
DoorSwitchChan
Terminal number into which this object is wired
DoorSwitchType
Wiring type - NOSeries, etc.
Duress
Indicates if duress notification is to be used
EditLock
Indicates if object has been locked to additional Edits
EntEgrViol
Indicates if there is an entry/egress violation
EntryNormMode
Indicates if entry took place in normal mode
EntryNotReentry
Indicates if entry took place with no reentry permitted
EntryPinDuress
Indicates if entry via pin was duress
EntryRvrsCrdDur
Indicates if entry via reverse card was duress
EntrySchedule
Schedule attached to the entry reader
EntryZone
Zone entered through entry reader
ExitAntiPassTime
Time required for passback through this door to be permitted
ExitArea
Area entered from exit reader
ExitChannel
Terminal number into which this object is wired
ExitCount
Number of people who have exited
ExitEntEgr ExitEntrAntiPass ExitEntrEntEgr ExitEntrRvrsCrd
C-42
Allow entry through exit door on reverse card
ExitIOU
IOU number of object
ExitKyPdChan
Terminal number into which this object is wired
ExitLastCard
Last card number have valid access through exit reader
ExitLastSite
Site code of last card number have valid access through exit reader
ExitMode
Mode of Exit reader
ExitNoCommMode
Exit reader in nocomm mode
ExitNoDataMode
Exit reader in no data mode - no communication with access server
ExitNoRentry
Indicates if exit took place with no reentry
Andover Controls Corporation
Door Attributes, continued
Door Attributes Table, continued
Attribute
Description
ExitNormMode
Indicates exit in normal mode
ExitPinDuress
Indicates exit with pin duress
ExitRequest
Indicates the presence of PIR or some form exit request sensor
ExitRequestChan
Terminal number into which this object is wired
ExitRequestType
Wiring type - NOSeries, etc.
ExitRvrsCrdDur
Indicates exit via a reverse card duress signal
ExitSchedule
Schedule attached to the exit reader
ExitZone
Zone entered when going through the exit reader
Export
Indicates that the object value has been tagged for export.
FollowUpRule
Not Meaningful to the User
ForcedEntry
Indicates that the door has been forced open
GeneralCode Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
ExitEntrRvrsCrd
Allow entry through exit door on reverse card
IncludeObject
Not Meaningful to the User
InvalidAttempt
Indicates an invalid card was used
InvalidEntryTime
Indicates an attempt to enter before proper antipassback time has elapsed
InvalidExitTime
Indicates an attempt to exit before proper antipassback time has elapsed
Invert
Revers Polarity
LastChangeBy
Name of the user making the last change
LastDepEtrdPnt LastDepExitdPnt LastInvalidEntry
Last invalid card swiped at entry reader
LastInvalidExit
Last invalid card swiped at exit reader
LastPersonEntrd
Last cardholder entering door
LastPersonEntrdDep
Department number of last person entered
LastPersonExitd
Last person with valid swipe at the exit reader
LastPersonExitdDep
Department number of the last person with valid swipe at the exit reader
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
Plain English Language Reference
C-43
Door Attributes, continued
Door Attributes Table, continued
C-44
Attribute
Description
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
OpenOnExitRequest
Indicates that door to be opened upon sensing exit request on exit request input
OperatingMode
Current operating mode of the door
Override
Indicates if the door has been overridden in the field
OverrideValue
Indicates the true value of the door when it has been overridden in the field
Owner
Object that owns this door object
Param1…Param6
XDriver configuration value
Port
Comm port associated with Xdriver
Properties
Not Meaningful to the User
RecordDrAjarHist
Keep access event history for door ajar
RecordExitRqHist
Keep access event history for exit requests
RecordForcedHist
Keep access event history for forced entries
RecordInvalHist
Keep access event history for invalid attempts
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
RelockOnClose
Relock as soon as sensor indicates closed, do not wait for strike time to elapse
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Site1…Site4
Site code that can be used by readers
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeEntered
Last time a swip occurred on exit reader
TimeExited
Last time a swip occurred on entry reader
TimeLocked
The time the object was last opened
Andover Controls Corporation
Door Attributes, continued
Door Attributes Table, continued
Attribute
Description
Type
The type of the object
UnlockSchedule
Schedule attached to unlock door
ValidAccess
Indicates a valid access through door
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-45
DoorList Attributes
DoorList Attributes Table
C-46
The following list provides you with the attributes and meanings for a DoorList object. Attribute
Description
AreaID
Name and path of area
DeviceID
name and path of controller
DoorID
Name and path of door
ID
SQL Object ID - Not Meaningful to the User
NetworkID
Name of Network
Andover Controls Corporation
ElevatorInfo Attributes
ElevatorInfo Attributes Table
The following list provides you with the attributes and meanings for a ElevatorInfo object. Attribute
Description
AreaID
Not Implemented at this time
DoorID
Not Implemented at this time
ID
Not Implemented at this time
InputChannel
Not Implemented at this time
InputIOU
Not Implemented at this time
OutputChannel
Not Implemented at this time
OutputIOU
Not Implemented at this time
State
Not Implemented at this time
Plain English Language Reference
C-47
ErrorEvent Attributes
ErrorEvent Attributes Table
C-48
The following list provides you with the attributes and meanings for a ErrorEvent object. Attribute
Description
Description
Description of Object
ErrorCode
Code to correspond to error - Not meaningful to User
EventObjectID
Name of object involved in error condition
ID
SQL Object ID - Not Meaningful to the User
TimeStamp
Time of error
UserID
User initiating error
WrkStatID
Workstation from which error condition occurred.
Andover Controls Corporation
EventEnrollment Attributes
EventEnrollment Attributes Table
The following list provides you with the attributes and meanings for a EventEnrollment object. Attribute
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmReference
Alarm name
AlarmType
Type of alarm
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
Plain English Language Reference
C-49
EventEnrollment Attributes, continued
EventEnrollment Attributes Table, continued
C-50
Attribute
Description
IssueConfirmedNotif ication
Not Currently Implemented
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OldRefBitString
Not Meaningful to the User
OldRefValue
Not Meaningful to the User
Owner
Owner of object
Priority
Not Meaningful to the User
ProcessIdentifier
Not Meaningful to the User
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Andover Controls Corporation
EventLogControl Attributes
EventLogControl Attributes Table
The following list provides you with the attributes and meanings for a EventLogControl object. Attribute
Description
ArchiveFrequency
Not Meaningful to the User
ArchiveName
Not Meaningful to the User
ArchivePath
Not Meaningful to the User
ArchiveStartTime
Not Meaningful to the User
ArchiveStatus
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
LastArchived
Not Meaningful to the User
LogClassID
Not Meaningful to the User
MaxAge
Not Meaningful to the User
MaxRecords
Not Meaningful to the User
PrimaryArchiver
Not Meaningful to the User
SecondaryArchiver
Not Meaningful to the User
TruncateOnly
Not Meaningful to the User
Plain English Language Reference
C-51
EventNotification Attributes
EventNotification Attributes Table
C-52
The following list provides you with the attributes and meanings for a EventNotification object. Attribute
Description
AcknowledgementRu les
Determines if acknowledgement is for all instances or only selected
AckRequired
Not currently implemented
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmFont
Font to be used when displaying alarm message
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmOptions
Various items that are to be done when alarm occurs
Alias
Alias of the object
AudioFileFault
Path and name of wav file to play on fault
AudioFileNormal
Path and name of wav file to play on RTN
AudioFileOffNormal
Path and name of wav file to play on Alarm
BackGroundCOlor
Background color to be used when displaying the alarm message
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeactivateCriteria
Determination of what makes the alarm removed from the alarm viewer
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
Andover Controls Corporation
EventNotification Attributes, continued
EventNotification Attributes Table, continued
Attribute
Description
EditLock
Indicates if object has been locked to additional Edits
EventNotificationID
SQL Object ID - Not Meaningful to the User
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
InPlaceAlarm
Not currently implemented
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
NetworkNumber
Not Meaningful to the User
Owner
Owner of object
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the User
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
SendToAll
Not currently implemented
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TextColor
Color to be used on displaying the text of the alarm message
TimeLocked
The time the object was last opened
ToFaultBGColor
Background color to use when transitioning to a condition of fault
ToFaultFGColor
Foreground color to use when transitioning to a condition of fault
ToFaultFont
Font to use when transitioning to a condition of fault
ToRTNBGColor
Background color to use when transitioning to a return
ToRTNFGColor
Foreground color to use when transitioning to a return
ToRTNFont
Fontr to use when transitioning to a return
Type
The type of the object
Plain English Language Reference
C-53
EventView Attributes
EventView Attributes Table
C-54
The following list provides you with the attributes and meanings for a EventView object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventMaximum
Maximum number of events permitted in view
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
Andover Controls Corporation
EventView Attributes, continued
EventView Attributes Table, continued
Attribute
Description
NetworkNumber
Not Meaningful to the User
Owner
Owner of object
PrimarySortDirection
Sort order - ascending or descending
PrimarySortKey
Item on which to sort
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
Reserved1… Reserved4
Not Currently Implemented
ScheduleEvents
Not viewable by user
SecondarySortDirecti on
Sort order - ascending or descending
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TernarySortDirection
Sort order - ascending or descending
TernarySortKey
Item on which to sort
TimeLocked
The time the object was last opened
Type
The type of the object
Plain English Language Reference
C-55
Filter Attributes
Filter Attributes Table
C-56
The following list provides you with the attributes and meanings for a Filter object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
Duration
Meaningless to the user
EditLock
Indicates if object has been locked to additional Edits
EndDateTime
Meaningless to the user
EndTime
Meaningless to the user
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
Andover Controls Corporation
Filter Attributes, continued
FilterAttributes Table, continued
Attribute
Description
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the object
PreCreatedFlags
Indicates that the filter is a system created filter
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Relative Time
Not Meaningful to the USer
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name of any security level attached to object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
WeekdaysArray
Not Meaningful to the User
Plain English Language Reference
C-57
Folder Attributes
Folder Attributes Table
C-58
The following list provides you with the attributes and meanings for a Folder object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ContainerCreateRule
Not currently implemented
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DefaultDevice
Default device on which to create any object that is created in this folder
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FolderType
Not Meaningful to the User.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
Andover Controls Corporation
Folder Attributes, continued
Folder Attributes Table, continued
Attribute
Description
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of object
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Plain English Language Reference
C-59
Function Attributes
Function Attributes Table
C-60
The following list provides you with the attributes and meanings for a Function object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
ArgumentList
Not viewable by user
BaseLink
Not Meaningful to the User
ByteCode
Not readable by user
CommandLine
Indicates if function can be called from the command line
CreatedBy
Name of user who created object
CreateTime
Time of object creation
CurrentObject
Not viewable by user
DbgStatus
Not Meaningful to the User
Description
Description of Object
DescriptionOfHalt
Not Meaningful to the User
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ErrorCode
Type of error that occurred
FileAccess
Not Meaningful to the User
FileSize
Number of bytes in function
FileSize
Number of bytes in function
Andover Controls Corporation
Function Attributes, continued
Function Attributes Table, continued
Attribute
Description
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
InstanceOf
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LocalVarData
Not Meaningful to the User
LocalVarList
Not Meaningful to the User
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
OutOfService
Service state of a object (similar to enable/disable-WS points only)
Owner
Owner of the object
ProgEntry
Not Meaningful to the User
ProgInfo
Not Meaningful to the User
ProgOffset
Not Meaningful to the User
Properties
Not Meaningful to the User
ReasonForHalt
Information on runtime errors
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Plain English Language Reference
C-61
Graphics Attributes
Graphics Attributes Table
C-62
The following list provides you with the attributes and meanings for a Graphics object. Attribute
Description
Not Meaningful to the User
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
GraphicsFileName
Name of graphic (PIN) file
HighLimit
High Limit to be used in Basic Alarm (WS points only)
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Andover Controls Corporation
Graphics Attributes, continued
Graphics Attributes Table, continued
Attribute
Description
Name
Name of the object
NetworkNumber
Not Meaningful to the User
ObjectList
List of objects that are animated on the graphic
Owner
Owner of object
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not currently implemented
ScreenHeight
Height of the graphic screen to be displayed
ScreenWidth
Width of the graphic screem to be displayed
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TimeLocked
The time the object was last opened
Type
The type of the object
WindowHeight
Not meaningful to user
WindowState
Not meaningful to user
WindowWidth
Not meaningful to user
WindowXPos
Not meaningful to user
WindowXScrollPos
Not meaningful to user
WindowYPos
Not meaningful to user
WindowYScrollPos
Not meaningful to user
Plain English Language Reference
C-63
Group Attributes
Group Attributes Table
C-64
The following list provides you with the attributes and meanings for an Group object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DefaultView
View to be presented when group firs opened - member list, history or graph
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Format
Format to be used in displaying object value
Graphics
Not Meaningful to the User
GroupFlags
Not Meaningful to the User
HistoryInterval
Time between rows in history view
HistoryPage
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
Andover Controls Corporation
Group Attributes, continued
Group Attributes Table continued
Attribute
Description
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of object
PadType
Method used to interpolate values between actual data
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefreshRate
Time period after which to get live data on the objects in the member list
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScaleStep
Steps between ticks in graphical view - Not yet implemented
ScaleType
Type of scaling to be used - Not yet implemented
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object – meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
TimeView
Default time range for graph view
Type
The type of the object
Units
The engineering units to be used for this object
Plain English Language Reference
C-65
GroupMember Attributes
GroupMember Attributes Table
C-66
The following list provides you with the attributes and meanings for an GroupMember object. Attribute
Description
ClassID
Not Meaningful to the User
GroupMemberBos
Bottom Scale for the member
GroupMemberColor
Color of Pen for the member
GroupMemberController
Not Meaningful to the User
GroupMemberFlag
Not Meaningful to the User
GroupMemberOwned
Name and path of the member
GroupMemberOwner
Name and path of the owning group
GroupMemberSite
Not Meaningful to the User
GroupMemberTos
Top of Scale for the member
HistoryInterval
Time interval between entries in history view
ID
SQL Object ID - Not Meaningful to the User
PadType
Type of interpolation to be used
ScalesStep
Number of steps in scale
ClassID
Not Meaningful to the User
Andover Controls Corporation
ImExportRef Attributes
ImExportRef Attributes Table
The following list provides you with the attributes and meanings for an ImExportRef object. Attribute
Description
AlarmFlag
Not Meaningful to the User
ExportMast1… ExportMast8
Not Meaningful to the User
Handle
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
ImportFlag
Not Meaningful to the User
InfExportMast
Not Meaningful to the User
NetAddress
Not Meaningful to the User
Site
Not Meaningful to the User
Plain English Language Reference
C-67
InfinityController Attributes
InfinityController Attributes Table
C-68
The following list provides you with the attributes and meanings for an InfinityController object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CommStatus
Communication status of controller
CommStatus
Communication status of controller
ControllerOptions
Read only listing of options available in controller
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DefaultFolder
Folder into which all new objects will be placed when created.
DefaultRouter
IP address of default router
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EthernetID
MAC address of controller
FolderType
Not Meaningful to the User.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
Andover Controls Corporation
InfinityController Attributes, continued
InfinityController Attributes Table continued
Attribute
Description
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IOU1Model… IOU8Model
IOU model that is installed - meaningful only forAEclipse controllers (CX9400)
IPAddress
IP address of controller
LastChangeBy
Name of the user making the last change
Location
String that can be entered to indicate physical location
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
MaxResponseTime
Maximum time that can pass before a response is tobe received and after which a retransmission will occur
Model
Model of controller
Name
Name of the object
NetworkID
BACNet network number - Not currently implemented
NetworkNumber
Not Meaningful to the User
Owner
Owner of the object
PPPIPAddress
PPP IP address
PPPSubnetMask
PPP Subnet setting
ProbeTime
Frequency in seconds for requesting communication status of other devices on the controller's network
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by the user
SecurityLevel
Name and path of any security level attached to the object
SerialNum
Serial number of the controller
SubnetMask
Subnet mask setting
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
VersionNum
Software version number
Plain English Language Reference
C-69
InfinityDateTime Attributes
InfinityDateTime Attributes Table
C-70
The following list provides you with the attributes and meanings for an InfinityDateTime object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Export
Indicates that the object value has been tagged for export.
ExtLogInterval
Log Interval to be used with extended logs.
ExtLogSize
Number of elements to be stored in the extended log for this object.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IODirection
Directional configuration for specific IO module points.
Andover Controls Corporation
InfinityDateTime Attributes, continued
InfinityDateTime Attributes Table continued
Attribute
Description
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LastExtLogTime
Time stamp of the most recent entry in an object's extended log
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LCDState
Where applicable, indicates whether or not a point can be displayed on the local display.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Param1… Param6
XDriver configuration value
Port
Xdriver comm port
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Setpoint
Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload.
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-71
InfinityFunction Attributes
InfinityFunction Attributes Table
C-72
The following list provides you with the attributes and meanings for an InfinityFunction object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ByteCode
Byte code of function - Not viewable by user
CommandLine
Indicates if function can be called from command line
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DbgStatus
Not Meaningful to the User
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FileSize
Bytes in file
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
Andover Controls Corporation
InfinityFunction Attributes, continued
InfinityFunction Attributes Table continued
Attribute
Description
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
State
Indicates if an object has been enabled or disabled
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Plain English Language Reference
C-73
InfinityInfinetCtrl Attributes
InfinityInfinetCtrl Attributes Table
C-74
The following list provides you with the attributes and meanings for an InfinityInfinetCtrl object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CommStatus
Communication status of controller
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DefaultFolder
Folder into which all new objects will be placed when created.
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FolderType
Not Meaningful to the User.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
Handle
Numerical identifier
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
InfinetError
Type of error occuring on Infinet device
Andover Controls Corporation
InfinityInfinetCtrl Attributes, continued
InfinityInfinetCtrl Attributes Table continued
Attribute
Description
InfinetErrorCount
Number of errors since the last clearing
InfinetErrTime
Time of the last error
InfinetID
ID number of Infinet device
LastChangeBy
Name of the user making the last change
Location
String that can be entered to show the physical location of the device
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Model
Model number of the controller
Name
Name of the object
NetworkID
The ACCNetID of the parent CX controller
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Port
Comm port that "owns" this infinet controller
PortNum
The numerical svc corresponding to the Comm port that "owns" this infinet controller
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the User
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
SerialNum
Serial number of the infinet controller
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
VersionNum
Software version
Plain English Language Reference
C-75
InfinityInput Attribute
InfinityInput Attributes Table
C-76
The following list provides you with the attributes and meanings for an InfinityInnput object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmVlaue
Binary bitmap that corresponds to the alarms that may be active on this point
Alias
Alias of the object
BaseLink
Meaningless to the user
Button1…Button6
References the buttons on a smart sensor - Attribute is only meaningful for smart sensor inputs
Channel
Terminal number into which this object is wired
Conversion
Equation with which the elec. value should be converted into engineering units
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DigitalFilter
Indicates if automatic digital filtering will be implemented
DisplayMsg
Used in the programming of the smart sensor input
DisplaySelect
Used in the programming of the smart sensor input
DisplayValue
Used in the programming of the smart sensor input
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Andover Controls Corporation
InfinityInput Attribute, continued
InfinityInput Attributes Table continued
Attribute
Description
ElecScaleBot
The bottom electrical value that corresponds to the bottom value in Engineering Units
ElecScaleTop
The top electrical value that corresponds to the top value in Engineering Units
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
EngScaleBot
The bottom value in Engineering Units that corresponds to the bottom electrical value
EngScaleTop
The top value in Engineering Units that corresponds to the top electrical value
ExtLogInterval
Log Interval to be used with extended logs.
ExtLogSize
Number of elements to be stored in the extended log for this object.
FollowUpRule
Not Meaningful to the User
Format
Format to be used in displaying object value
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
Invert
Revers polarity (NO vs NC)
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LastExtLogTime
Time stamp of the most recent entry in an object's extended log
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LCDState
Where applicable, indicates whether or not a point can be displayed on the local display.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
LowerFluidLevel
Float reading when input is configured as tank monitoring probe
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Param1…Param6
XDriver configuration value
Port
Comm port used for Xdriver
Properties
Not Meaningful to the User
Plain English Language Reference
C-77
InfinityInput Attribute, continued
InfinityInput Attributes Table continued
C-78
Attribute
Description
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ResistorType
Wiring type when input is configured as supervised
RTD1…RTD6
RTD reading when input is configured as tank monitoring probe
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
Threshold
The amount, in engineering units, that the value must change before it will update
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
InfinityNumeric Attribute
InfinityNumeric Attributes Table
The following list provides you with the attributes and meanings for an InfinityNumeric object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmVlaue
Binary bitmap that corresponds to the alarms that may be active on this point
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Export
Indicates that the object value has been tagged for export.
ExtLogInterval
Log Interval to be used with extended logs.
ExtLogSize
Number of elements to be stored in the extended log for this object.
FollowUpRule
Not Meaningful to the User
Format
Format to be used in displaying object value
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
Plain English Language Reference
C-79
InfinityNumeric Attribute, continued InfinityNumeric Attributes Table continued
C-80
Attribute
Description
IncludeObject
Not Meaningful to the User
IODirection
Directional configuration for specific IO module points.
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LastExtLogTime
Time stamp of the most recent entry in an object's extended log
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LCDState
Where applicable, indicates whether or not a point can be displayed on the local display.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Param1…Param6
XDriver configuration value
Port
Comm port used by Xdriver
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Setpoint
Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload.
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
InfinityOutput Attribute
InfinityOutput Attributes Table
The following list provides you with the attributes and meanings for an InfinityOutput object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmVlaue
Binary bitmap that corresponds to the alarms that may be active on this point
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
Conversion
Equation with which the elec. value should be converted into engineering units
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElecScaleBot
The bottom electrical value that corresponds to the bottom value in Engineering Units
ElecScaleTop
The top electrical value that corresponds to the top value in Engineering Units
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
Plain English Language Reference
C-81
InfinityOutput Attribute, continued
InfinityOutput Attributes Table continued
C-82
Attribute
Description
EngScaleBot
The bottom value in Engineering Units that corresponds to the bottom electrical value
EngScaleTop
The top value in Engineering Units that corresponds to the top electrical value
Export
Indicates that the object value has been tagged for export.
ExtLogInterval
Log Interval to be used with extended logs.
ExtLogSize
Number of elements to be stored in the extended log for this object.
FollowUpRule
Not Meaningful to the User
Format
Format to be used in displaying object value
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
Invert
Reverse Polarity (NO vs NC)
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LastExtLogTime
Time stamp of the most recent entry in an object's extended log
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LCDState
Where applicable, indicates whether or not a point can be displayed on the local display.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Override
Indicates if the output has placed in manual control in the field
OverrideValue
Actual state of the output when it has been placed on manual control in the field
Owner
Owner of the Object.
Param1…Param6
XDriver configuration value
Port
Comm port used by the Xdriver
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
Andover Controls Corporation
InfinityOutput Attribute, continued
InfinityOutput Attributes Table continued
Attribute
Description
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-83
InfinityProgram Attribute
InfinityProgram Attributes Table
C-84
The following list provides you with the attributes and meanings for an InfinityProgram object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
AutoStart
Indicates that the program will start immediately upon compiling to the controller
BaseLink
Meaningless to the user
CommandLine
Indicates that the program can be started directly from the command line
CreatedBy
Name of user who created object
CreateTime
Time of object creation
CurrentLine
Holds the name of the line that is currently being processed
DefaultPort
The port to which any communication or print instructions will be issued unless a different port is explicitly declared
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ErrorCode
Numerical representation of a runtime error
ExecTimeOut
Not Meaningful to the User
FileAccess
Not Meaningful to the User
FileSize
Size of the file in bytes
Andover Controls Corporation
InfinityProgram Attribute, continued
InfinityProgram Attributes Table continued
Attribute
Description
FlowType
Specify program flow to be either looping of fall through
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
CurrentLine
Holds the name of the line that is currently being processed
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LineStartTime
Initial time of processing of current line
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
ProgPending
Not Meaningful to the User
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
State
Indicates if an object has been enabled or disabled
TD
Amount of time that program has been processing the currentline in days
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TH
Amount of time that program has been processing the currentline in hours
TimeLocked
The time the object was last opened
TM
Amount of time that program has been processing the currentline in minutes
TS
Amount of time that program has been processing the currentline in seconds
Type
The type of the object
Plain English Language Reference
C-85
InfinityString Attribute
InfinityString Attributes Table
C-86
The following list provides you with the attributes and meanings for an InfinityString object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Export
Indicates that the object value has been tagged for export.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IODirection
Directional configuration for specific IO module points.
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
Andover Controls Corporation
InfinityString Attribute, continued
InfinityString Attributes Table continued
Attribute
Description
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LockedBy
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Param1…Param6
XDriver configuration value
Port
Comm port used by Xdriver
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the User
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Setpoint
Indicates if point is to be used as a setpoint. Allows its value and manual array to be restored at reload.
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
StringSize
Number of characters in string
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-87
InfinitySystemVariable Attribute
InfinitySystem Variable Attributes Table
C-88
The following list provides you with the attributes and meanings for an InfinitySystemVariable object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Export
Indicates that the object value has been tagged for export.
ExtLogInterval
Log Interval to be used with extended logs.
ExtLogSize
Number of elements to be stored in the extended log for this object.
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LastExtLogTime
Time stamp of the most recent entry in an object's extended log
Andover Controls Corporation
InfinitySystemVariable Attribute, continued
InfinitySystem Variable Attributes Table continued
Attribute
Description
LastLogTime
Time stamp of an object's last entry in the local automatic array.
LCDState
Where applicable, indicates whether or not a point can be displayed on the local display.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
Refresh
Rebroadcasts current value of point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
State
Indicates if an object has been enabled or disabled
SVType
Data type - Not meaningful to user
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Value
The value of this object after any conversions that may be required
Plain English Language Reference
C-89
IOUModule Attribute
IOUModule Attributes Table
C-90
The following list provides you with the attributes and meanings for an IOUModule object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CommStatus
Communication status of module
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IOU
IOU number of object
LastChangeBy Learn
Name of the user making the last change This is a command that invokes a learn. No data is stored. NOT PE settable
LockedBy
Not Currently Implemented
Andover Controls Corporation
IOUModule Attribute, continued
IOUModule Attributes Table continued
Attribute
Description
LockingWorkstation
Not Currently Implemented
ModelName
Module type
ModuleID
Module identiying number
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
ProgramID
Version of IO firmware
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name of any security level attached to object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Wink
Test communication status , causes LED to flash on module
Plain English Language Reference
C-91
ListView Attribute
ListView Attributes Table
C-92
The following list provides you with the attributes and meanings for an ListView object. Attribute
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DBQualifier
Database qualifying condition to limit entries in view
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Filter
Time range by which to filter view
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
HighlightBKColor
Background color of highlighted rows
HighlightFGColor
Foreground color of highlighted rows
HighlightQualifier
Reason to highlight row
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
Andover Controls Corporation
ListView Attribute, continued
ListView Attributes Table continued
Attribute
Description
LastChangeBy
Name of the user making the last change
ListClass
Class from which to select list
ListTemplate
Template of a list
LiveDataonDemand
Force list to go out to the field to gather live data when the list is first viewed
LiveDataRefreshRate
Frequency with which to updat the live values in the list
LiveQualifier
Live condition criteria by which to restrict the list
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
PathType
Path designation upon which list is to be run
PromptFlag
Not Meaningful to the User
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the User
ReportTemplate
Template within which report should be built when list is printed
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Shortcuts
Not Meaningful to the User
ShowGridLines
Determines if lines should be drawn around list fields when list is printed
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
Plain English Language Reference
C-93
MultiStateInput Attribute
MultiStateInput Attributes Table
C-94
The following list provides you with the attributes and meanings for an MultiStateInput object. Attribute
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not Meaningful to the User
DigitalFilter
Indicate if digital filtering is to be used.
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
Andover Controls Corporation
MultiStateInput Attribute, continued
MultiStateInput Attributes Table continued
Attribute
Description
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
NumberofStates
Determines how many different states a multistate IO point can have
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
Plain English Language Reference
C-95
MultiStateInput Attribute, continued
MultiStateInput Attributes Table continued
C-96
Attribute
Description
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TriggerThreshold
The amount, in engineering units, that the value must change before it will update
Type
The type of the object
Value
The value of this object after any conversions that may be required
Andover Controls Corporation
MultiStateOutput Attribute
MultiStateOutput Attributes Table
The following list provides you with the attributes and meanings for an MultiStateOutput object. Attribute
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
Channel
Terminal number into which this object is wired
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DeviceType
Not Meaningful to the User
DigitalFilter
Indicate if digital filtering is to be used.
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ElecType
Object's electrical type (voltage, current, digital, etc.)
ElecValue
Object's actual electrical value
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
Plain English Language Reference
C-97
MultiStateOutput Attribute, continued
MultiStateOutput Attributes Table continued
Attribute
Description
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
IOU
IOU number of object
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
NumberofStates
Determines how many different states a multistate IO point can have
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
RelinquishDefault ReportID
C-98
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
Andover Controls Corporation
MultiStateOutput Attribute, continued
MultiStateOutput Attributes Table continued
Attribute
Description
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TriggerThreshold
The amount, in engineering units, that the value must change before it will update
Type
The type of the object
Value
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
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
C-100 Andover Controls Corporation
MultiStateValue Attribute, continued
MultiStateValue Attributes Table continued
Attribute
Description
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LCDSettable
Capable of being set from the LCD
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked
The time the object was last opened
TriggerThreshold
The amount, in engineering units, that the value must change before it will update
Type
The type of the object
Value
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
AlarmReferencePointf orUpdates
If remote site, this point will be examined for change (when connected) and alarm updates occur when point changes
AlarmUpdateIntvl
Set period of time after which a remote site will have its alarms updated
Alias
Alias of the object
BaseLink
Meaningless to the user
CarrierWait
Number of seconds to wait for a carrier indication
CommID
Not meaningful to user
ConnectScript
Script to be processed when connection is required
ConnectWaitTime
Amount of time to wait, in seconds, before connection is established
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DefaultFolder
Folder into which all new objects will be placed when created.
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DialWait
Number of seconds to wait before a dial instruction is to be processed
DisableUpdate
Indicates if automatic updating has been halted by the user
C-102 Andover Controls Corporation
Network Attribute, continued
Network Attributes Table continued
Attribute
Description
DisconnectScript
Script to be processed when a disconnect is requested
DisconnectWaitTime
Amount of time to wait before a disconnect is to be complete
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventRefPoint
If remote site, this point will be examined for change (when connected) and event updates occur when point changes
EventUpdatInterval
Set period of time after which a remote site will have its events updated
FolderType
Not Meaningful to the User.
FollowUpRule
Not Meaningful to the User
GraceInterval
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastALarmUpdate
Time of last alarm update
LastChangeBy
Name of the user making the last change
LastEventUpdate
Time of last event update
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
MaxResponseTime
Maximum time that can pass before a response is tobe received and after which a retransmission will occur
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NetworkProtocol
Protocol used by Network
NetworkType
Not meaningful to user
NetworkUTCOffset
Universal Time Constant offset to be used by entire network
Owner
Owner of the Object.
PhoneNumber
Phone number to be dialed for connection to remote network
PortNum
Not meaningful to user
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
RemovePersonSynch
Distribute to all networks on person deletion
ReportID
Not Meaningful to the USer
Plain English Language Reference
C-103
Network Attribute, continued
Network Attributes Table continued
Attribute
Description
SafetyInterval
Amount of time after which no activity will result in a disconnect
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
SendtoACX
Not viewable by user
SendtoCX
Not viewable by user
SynchDB
Turns on database synchronizatio
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeDifference
Not meaningful to user
TimeLocked
The time the object was last opened
Type
The type of the object
UniquePins
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActiveAlarmSync
Indicates if all alarm infromation will be extracted on dial up
ActiveEventSync
Indicates if all event infromation will be extracted on dial up
Alarmgraphicpage
Not currently implemented
AlarmPollInterval
Amount of time in minutes that will pass between dial ups to poll for alarms
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DisconnectIdleTime
The amount of time with no activity that will result in a disconnect
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventPollInterval
Amount of time in minutes that will pass between dial ups to poll for events
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
Plain English Language Reference
C-105
NetworkDialUp Attribute, continued
NetworkDialUp Attributes Table continued
Attribute
Description
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
PhoneBookEntry
Individual telphone number used to dial network
PhoneFile
Text file that is used to store the telephone numbers
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
RemoteNetwork
Indicates if network requires dial out
ReportID
Not Meaningful to the USer
RouterCX
Name of the CX that is to serve as a router for all communication to the remote site
ScheduleEvents
Not viewable by user
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
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
Description
AckedTransitions
Not meaningful to user - Currently not supported
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeadBand
Amount that the value must differ from low or hi limit in Basic Alarm (WS points only)
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EventEnable
Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault (WS points only)
EventNotificationID
Lists Event Notification associated with Basic Alarms (WS points only)
EventState
Lists current basic alarm State - Alarm, RTN, Fault (WS points only)
FollowUpRule
Not Meaningful to the User
Format
Format to be used in displaying object value
Graphics
Not Meaningful to the User
Plain English Language Reference
C-107
Numeric Attribute, continued
Numeric Attributes Table continued
Attribute
Description
HighLimit
High Limit to be used in Basic Alarm (WS points only)
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LimitEnable
Not Meaningful to the User
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
LowLimit
Low limit to be used in Basic Alarms (WS points only)
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NotifyType
Type of notification to be used
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
RelinquishDefault ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StatusFlags
Not Meaningful to the User
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
Threshold
The amount, in engineering units, that the value must change before it will update
TimeDelay
The time delay used in evaluating Basic Alarms (WS points only)
C-108 Andover Controls Corporation
Numeric Attribute, continued
Numeric Attributes Table continued
Attribute
Description
TimeLocked
The time the object was last opened
Type
The type of the object
Units
The engineering units to be used for this object
Value
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
Description
ID
SQL Object ID - Not Meaningful to the User
Param1…Param6
XDriver configuration value
Port
Identifies the comport number that the Xdriver is on. NOT PE settable.
ID
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActivationDate
Date that person's access card is to become active
ADA
Using ADA configuration
Address
Address
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of object
AllowEntEntRgr
Allows entry in spite of passback restrictions
BaseLink
Meaningless to the user
Blood
Field to be used for storage of this or any other individual feature.
CardNumber
Card number of access card
CardType
Type of card format (Weigand, Infinity37, etc.)
City
Field to be used for storage of this or any other individual feature.
Country
Field to be used for storage of this or any other individual feature.
CreatedBy
Name of user who created object
CreateTime
Time of object creation
CustomControl1
Custom attribute
CustomControl2
Custom attribute
CustomControl3
Custom attribute
DateOfBirth
Field to be used for storage of this or any other individual feature.
DeletPending
Indicates that delete action is pending for this object
Department
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
Description
DepartmentCode
Field to be used for storage of this or any other individual feature.
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistFailed
Most recent distribution of this person failed
DistPending
Indicates that distribution is pending for this object
Duress
Last swipe indicated a duress condition
EditLock
Indicates if object has been locked to additional Edits
EmergencyCOntact
Field to be used for storage of this or any other individual feature.
EmergencyPhone
Field to be used for storage of this or any other individual feature.
EmpNumber
Field to be used for storage of this or any other individual feature.
EntryEgress ExpirationDate
Date after which person's card will become invalid
EyeColor
Field to be used for storage of this or any other individual feature.
FirstName
Field to be used for storage of this or any other individual feature.
FollowUpRule
Not Meaningful to the User
FullName
Full Name as built by combining last,first middle
Graphics
Not Meaningful to the User
HairColor
Field to be used for storage of this or any other individual feature.
Height
Field to be used for storage of this or any other individual feature.
HomePhone
Field to be used for storage of this or any other individual feature.
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
InactiveDisableDays
Number of days that are card can be made to be active before automatically becoming disabled
IncludeObject
Not Meaningful to the User
Info1…Info6
String field that can be used for free form entry
JobTitle
Field to be used for storage of this or any other individual feature.
LastChangeBy
Name of the user making the last change
LastDoorEntered
Last door at which this person had a valid access event
LastEvent
Last event associated with this person
LastEventTime
Time of last event associated with this person
LastName
Last Name
LastZone
Last Zone entered by this person
LicenseNumber
Field to be used for storage of this or any other individual feature.
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
C-112 Andover Controls Corporation
Personnel Attribute, continued
Personnel Attributes Table continued
Attribute
Description
LostCard
Indicates if the person's regular card has been tagged as lost
MiddleName
Middle name
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NonABACardNumber
Access card number for cards that are not ABA
OfficeLocation
Field to be used for storage of this or any other individual feature.
Owner
Owner of the Object.
ParkingSticker
Field to be used for storage of this or any other individual feature.
PhotoFile
File that contains the person's image
PIN
Personal Identification Number
Properties
Not Meaningful to the User
ReferencePoint1 ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
SavedActivationDate
Previously recorded activation date
SavedCardNumber
Previously recorded card number
SavedCardType
Previously recorded card type
SavedExpirationDate
Previously recorded card expiration date
SavedPIN
Previously recorded PIN
SAvedSiteCode
Previously recorded card site code
SavedState
Previously recorded card state
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Sex
Field to be used for storage of this or any other individual feature.
Signature
File that contains an image of the person's signature
SiteCode
Site code associated with this person's card
SocSecNo
Field to be used for storage of this or any other individual feature.
StartDate
Date after which person's card will become valid
State
Indicates if an object has been enabled or disabled
StatOfResidence
Field to be used for storage of this or any other individual feature.
Supervisor
Field to be used for storage of this or any other individual feature.
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
Plain English Language Reference
C-113
Personnel Attribute, continued
Personnel Attributes Table continued
Attribute
Description
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeEntered
Time of last valid access
TimeLocked
The time the object was last opened
Type
The type of the object
Value
The value of this object after any conversions that may be required
VehicleInfo
Field to be used for storage of this or any other individual feature.
Visitor
Field to be used for storage of this or any other individual feature.
Weight
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
ByteCode
Not viewable by user
CommandLine
Indicates that program can be run from the command line
CreatedBy
Name of user who created object
CreateTime
Time of object creation
CurrentLine
Line that is currently being processed
CurrentObject
Not Meaningful to the User
DbgStatus
Not Meaningful to the User
Description
Description of Object
DescriptionOfHalt
Not Meaningful to the User
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
ErrorCode
Type of error that occurred
FileAccess
Not Meaningful to the User
FileSize
Number of bytes in function
FlowType
Not Meaningful to the User
FollowUpRule
Not Meaningful to the User
Plain English Language Reference
C-115
Program Attribute, continued
Program Attributes Table continued
Attribute
Description
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
InstanceOf
Not Meaningful to the User
LabelList
Not viewable by user
LastChangeBy
Name of the user making the last change
LineStartTime
Time when current line began processing
LocalVarList
Not viewable by user
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
NextFiringOrder
Not Meaningful to the User
OutputType
Not Meaningful to the User
Owner
Owner of the Object.
PrevFiringOrder
Not Meaningful to the User
PreviousLine
Line that was processed inmmediately before the currentline
PrintDestination
Target device for any print instructions
PrintOutputFileName
File name to be used when printing to file
ProgError
Run time error
ProgInfo
Not Meaningful to the User
ProgOffset
Not Meaningful to the User
ProgStartTime
Time when program was last started
Properties
Not Meaningful to the User
ReasonForHalt
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Not Meaningful to the User
RefTemplate
Name and path of template from which object was created
Reliability
Statement of the reliability of the obect's value - not currently implemented
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
ShareFlag
Not Meaningful to the User
State
Indicates if an object has been enabled or disabled
C-116 Andover Controls Corporation
Program Attribute, continued
Program Attributes Table continued
Attribute
Description
Status
Indicates if a program is currently active
StatusChange
Not Meaningful to the User
StatusFlags
Not Meaningful to the User
TD
Amount of time that program has been processing the currentline in days
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TH
Amount of time that program has been processing the currentline in hours
TimeLocked
The time the object was last opened
TM
Amount of time that program has been processing the currentline in minutes
TS
Amount of time that program has been processing the currentline in seconds
Type
The type of the object
WinFileHandle
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Properties
Not Meaningful to the User
C-118 Andover Controls Corporation
RootClass Attribute, continued
RootClass Attributes Table continued
Attribute
Description
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name of any security level attached to object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
ActiveText
Text to be displayed when object is in active state.
ActiveValue
String used to indicate when schedule is active.
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of object
AutoSendFlag
Inidcates that schedule is to be downloaded automatically
AutoSendTime
Time at which schedule is to be downloaded
BaseLink
Not Meaningful to the User
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
Download
Indicates that schedule should be sent to the controller
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
InactiveText
Text to be displayed when object is in inactive state.
C-120 Andover Controls Corporation
Schedule Attribute, continued
Schedule Attributes Table continued
Attribute
Description
InactiveValue
String used to indicate when schedule is inactive
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LastDownloadTime
Time that the schedule was last downloaded to the controller
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Note
An area that allows a user to type in notes that are associated with schedule events. Not viewable from a list
OccTimePoint
Datetime point to be used to store next occupied time
OccupancyFlag
Numeric to be turned on/off by schedule
OccupancyTime
Time of occupancy
Owner
Owner of the Object.
Priority
Not Meaningful to the User
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
The type of the object
UnOccTimePoint
Datetime point to be used to store next unoccupied time
UnoccupancyTime
Time occupancy ends
Value
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
C-122 Andover Controls Corporation
SecurityLevel Attribute, continued
SecurityLevel Attributes Table continued
Attribute
Description
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
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
Description
Action
Related to maintenance of security bitmap - Not meaningful to the User
ID
Related to maintenance of security bitmap - Not meaningful to the User
Locks1…Locks4
Related to maintenance of security bitmap - Not meaningful to the User
SecLevelObject
Related to maintenance of security bitmap - Not meaningful to the User
SecurityLinkClass
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Not meaningful to user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
FollowUpRule
Not Meaningful to the User
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
Name
Name of the object
NetworkNumber
Not Meaningful to the User
Owner
Owner of the Object.
Plain English Language Reference
C-125
ShortCut Attribute, continued
ShortCut Attributes Table continued
Attribute
Description
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name of any security level attached to object
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TimeLocked
The time the object was last opened
Type
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarmgraphicpage
Not currently implemented
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
AlarmInfo
Indicates if alarms (advanced only on ws) are attached
Alias
Alias of the object
BaseLink
Meaningless to the user
BaseLink
Meaningless to the user
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
Graphics
Not Meaningful to the User
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LockedBy
Not Currently Implemented
LockingWorkstation
Not Currently Implemented
LogIntervalSecs
Number of seconds between entries in an automatic log
LogType
Type of automatic log - instantaneous, average, etc.
Plain English Language Reference
C-127
String Attribute, continued
String Attributes Table continued
Attribute
Description
Name
Name of the object
NetworkNumber
Not Meaningful to the User
OutOfService
Service state of an object (similar to enable/disable - WS points only)
Owner
Owner of the Object.
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the USer
ScheduleEvents
Not viewable by user
SecurityLevel
Name and path of any security level attached to the object
Size
Number of elements in an object's manual array or automatic log
StringSize
Number of characters permitted in the string
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
Type
The type of the object
Value
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
Description
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateName
Name that will be used when creating objects from this template object - meaningful only for templates
TemplateObj
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
Description
AckTranstoFault
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Fault
AckTranstoNorm
Binary bitmap that corresponds to the alarm number that has made a transition back to Normal
AckTranstoOffNorm
Binary bitmap that corresponds to the alarm number that has made a transition from normal to Alarm
Alarm1…Alarm8
Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable
Binary bitmap that corresponds to which of the eight alarm positions are enabled
AlarmFaults
Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags
Bitmap of which alarms are active (as with alarmvalue) - not currently implemented
Alarmgraphicpage
Not currently implemented
Alias
Alias of the object
BaseLink
Not meaningful to user
CardNumber
Not currently implemented
CommandPriority
Not currently implemented
CreatedBy
Name of user who created object
CreateTime
Time of object creation
Description
Description of Object
DeviceID
Name of the device owning the object
DeviceModel
Not Currently Implemented
DistPending
Indicates that distribution is pending for this object
EditLock
Indicates if object has been locked to additional Edits
EmpNumber
Field to be used as storage for this or other information
ExpirationDate
Not currently implemented
FollowUpRule
Not Meaningful to the User
FullName
Field to be used as storage for this or other information
Graphics
Not Meaningful to the User
HomePhone
Field to be used as storage for this or other information
IconID
Not Meaningful to the User
ID
SQL Object ID - Not Meaningful to the User
InactivityTimer
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
Description
IncludeObject
Not Meaningful to the User
LastChangeBy
Name of the user making the last change
LastChangePassword Date
Time of last password change
LastLoggedOnDate
Time of last logon
LockedBy
Not Currently Implemented
LockingWorkstation
Not currently implemented
LoginProgram
Program to be run upon user log in
LogOutProgram
Program to be run upon user log off
Name
Name of the object
NetworkNumber
Not Meaningful to the User
OperatorTextLogEnab le
Forces operator to get sign off on all sytem changes - requires CFR setting
Owner
Owner of the Object.
PasswordChangeNext Login
Indicates if the user is required to change password at their next log in
PersonnelRecord
Not currently implemented
Preemption
Not Meaningful to the USer
Properties
Not Meaningful to the User
ReferencePoint1… ReferencePoint4
Alarm Referenece Point
RefTemplate
Name and path of template from which object was created
ReportID
Not Meaningful to the User
RequireAlarmAckOpe ratorText
Forces operator to get sign off on all alarm acknowledgements requires CFR setting
ScheduleEvents
Not viewable by user
SecurityKey
Not Meaningful to the USer
SecurityLevel
Name and path of any security level attached to the object
SSN
Field to be used as storage for this or other information
StartDate
Not currently implemented
StartUpFile
Not currently implemented
State
Indicates if an object has been enabled or disabled
Template
When true, indicates that object was made from a template
TemplateAlias
Alias that will be used when creating objects from this template object - meaningful only for templates
TemplateCreateRule
Not meaningful to user
TemplateName
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
Description
TimeLocked
The time the object was last opened
Title
Field to be used as storage for this or other information
Type
The type of the object
UserLevel
Not currently implemented
UserReport
Not currently implemented
WorkPhone
Field to be used as storage for this or other information
C-132 Andover Controls Corporation
Appendix D Programming the DCX 250 Display Unit
About The DCX 250 Display Unit
250 Display Unit Description
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). 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). 200
1
00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 000 0 0 0 0 0 000 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
1
320 Touch Cell Grid and Line Points on the 250 Display Unit
Plain English Language Reference
D-1
Understanding Pre-designed Graphic Controls
Predrawn Control Graphics
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. There are 13 pre-designed graphic controls that you can select with the CONTROL keyword.
1
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000000000000000000000000 00 0 0 0 0 00 0 0 00 00 00 00 00 0 00 000 000 000 000 00
2
Title
4 Title
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 00 00 000000000000000000000000 6 0 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0000000000000000000000000 0 0 00 00 00 00 00 00 00 00 00 Title
Title
3
Title
5 Title
00 00 0 0 0 0 0000 00 0 0 0 0 0000 00 00 0000 00 00 00 00 00 00 00000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0 00 00 0 0 00 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 00 00 00 0 0 00 0 0 0 0000 00 00 00 00 00 00000000000000000000000000000000000000000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 00 00 00 0 0 0 00 0 0 000 0 0 0 000 000 0 000 000 000 0 000 000 0 0 0 0 00000000000 000 0 00 00 00 000000000 000 00000 000 000 0 0 0 0 000000 7 Title
8 Title
9 Title
####.##
###.##
10 Title
11 Title
####.##
00 00 00 00 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0000 12 Title
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 00 00 0 0 0 0 0 000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 000000000 0 0 000 000 13 Title
###•##•#### ##:##:##
Pre-designed Controls for the 250 Display Unit
D-2
Andover Controls Corporation
Understanding Pre-designed Graphic Controls, Continued
Predrawn Control Graphics continued
Each of the controls is identified by a unique style number, which appears to the left or above each control. Some include a title. Where you see the word Title, the title that you designate appears in the control. 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. Each control can have a frame around it that you choose by selecting one of the four frame styles available.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1 Title
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0000000000000000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2 Title
00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0000000000000000000000000000000000000000000000000 00 Title
3
Title
4
Frame styles for the predrawn controls.
Plain English Language Reference
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
bottom
right
top
user_change point_or_attribute_path title
frame
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.
Plain English Language Reference
D-5
Placing a Pre-designed Graphic Control on the 250 Screen, Continued
The Arguments continued Argument direction
bot_scale
top_scale
tickmarks
steps
format
D-6
Andover Controls Corporation
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.
Placing a Pre-designed Graphic Control on the 250 Screen, Continued
CONTROL Keyword Example
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.
Setting Up the Software
To display a vertically positioned rotational needle gauge (Control Style 7) on the screen, you would enter the following: CLEARSCREEN TURN ON BACKLIGHT CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"
00 0 0 0 0 0 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0 00 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 00 0 00 00 00 0 00 00 0 00 0 0 00 0 00 00 00 00 00 00 0 00000000000 00 00 0 00 00 00 0 0 00 0 0 0 0 0 0 0 0 0 0 0 00000 0 00 0 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000 000 000000000000000000000000000000000000000000000000000000000000 0 0 AirFlow
50
100
150
200
250
Display of Rotational Needle Gauge (Control Style 7)
Plain English Language Reference
D-7
Placing a Pre-designed Graphic Control on the 250 Screen, Continued
Format
The format of the CONTROL function keyword statement showing its arguments is illustrated below.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000000000000000000000000000000000000000000000000000000000000000000000000000000000 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Building1 Floor1 Display1 AirFlowGauge
Control Style
When TRUE, Operator Can Change Setting
Top and Bottom of Scale
Format
CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"
Location on Screen
Controller and Point Name
Frame Style
Tick Marks
Steps
Comma Means Skipping Argument
Rotational Needle Gauge Control Program Statement
Argument Descriptions
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). TRUE allows the operator to set the value of the control. ROOM6 AirFlow is the path to the point. "AirFlow" is the title of the control. The 4 is the frame style. 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 50 is the bottom of the scale and the 250 is the top.
D-8
Andover Controls Corporation
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).
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 0 0 0 0 0 + 00 00 0 00 00 00 0 0 0 0 0 0 0000 0 0 0 00 00 00 00 00 00 00 0 0 00 00 00 00 + 00 000000000000000000000000000000000000000000000000000
Gauge Control (Control Style 7) Centered on Screen
D-10
Andover Controls Corporation
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
Graphic Control Style 1 Specifications
Raised Button
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 0 00 00 00 0 00 00 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 00 00 0 0 0 0 000000000000000000000000000000000000000000000000000000000000 Title
Details
D-12
• •
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.
Andover Controls Corporation
Graphic Control Style 2 Specifications
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 0000000000000000000000000000000000000 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Flat Button
Title
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.
Plain English Language Reference
D-13
Graphic Control Style 3 Specifications
Light Switch
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 00 0 00 000 00 00 0 0 0 0 0 00 00 00 00 0 000000000000 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00 0 00 0 00 00 00 00 00 00 0 0 0 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 21 line points from any edge of the screen.
•
frame—If you do not specify a frame, the switch appears without the frame around it. direction—Not applicable.
•
D-14
•
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.
Andover Controls Corporation
Graphic Control Style 4 Specifications
Type
Toggle Switch
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 0 00 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000 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 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.
Plain English Language Reference
D-15
Graphic Control Style 5 Specifications
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 0 0 0 0 00 00 00 0 0 0 0 00 00 00 00 00 00 00 00 000000 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Sliding Switch
Type
Title
Details
D-16
•
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.
Andover Controls Corporation
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
D-18
•
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—####.
Andover Controls Corporation
Graphic Control Style 7 Specifications
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 0 00 00 00 0 00 0 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 00 00 00 00 00 00 00 0 0 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Rotational Needle Gauge, Vertical Position
Title
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.
Plain English Language Reference
D-19
Graphic Control Style 7 Specifications, Continued
Details continued
D-20
•
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—####.
Andover Controls Corporation
Graphic Control Style 8 Specifications
Type
Rotational Needle Gauge, Horizontal Position
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 00 00 0 00 00 00 0 00 00 00 00 00 00 00 0 00 00 0 0 00 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 0 0 00 00 00 00 00 00 00 00 00 00 00 0 0 00 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000 Title
###.##
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.
Plain English Language Reference
D-21
Graphic Control Style 8 Specifications, Continued
Details continued
D-22
•
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—####.
Andover Controls Corporation
Graphic Control Style 9 Specifications
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 0 0 00000000000000000 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000000000000000 00000000000000000 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Value Bar with Arrow Buttons
Title
####.##
Details
•
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.
•
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.
• •
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.
Plain English Language Reference
D-23
Graphic Control Style 9 Specifications, Continued
Details continued
D-24
•
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.
Andover Controls Corporation
Graphic Control Style 10 Specifications
Type
Value Bar
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 0 00 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000 Title
####.##
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.
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
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 0000000000000000000000000 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Level Fill with Scale
Title
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.
Plain English Language Reference
D-27
Graphic Control Style 11 Specifications Continued
Details continued
D-28
•
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—####.
Andover Controls Corporation
Graphic Control Style 12 Specifications
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 0 0 0 0 0 00 00 00 0 0 0 0 0 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Slider Pointer and Scale
Title
Details
•
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.
•
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 pointer 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.
Plain English Language Reference
D-29
Graphic Control Style 12 Specifications, Continued
Details continued
D-30
•
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—####.
Andover Controls Corporation
Graphic Control Style 13 Specifications
Type
00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00 0 00 ##:##:## 00 ###•##•#### 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 000000000000000000000000000000000000000000000000000000000000
Date Time Display Bar
Title
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.
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.
E-2
INFINITY CLASS
BACnet OBJECT TYPE
Input (ElecType: ACCTemp(DegC)) Input (ElecType: ACCTemp(DegF)) Input (ElecType: InputCurrent) Input (ElecType: Voltage) Input (ElecType: Counter) Input (ElecType: Digital) Input (ElecType: Supervised)
Analog Input Analog Input Analog Input Analog Input Analog Input Binary Input Multi-State Input
Output (ElecType: Current) Output (ElecType: Voltage) Output (ElecType: Digital) Output (ElecType: Tristate)
Analog Output Analog Output Binary Output Multi-State Output
Numeric Numeric Numeric
Binary Value Analog Value Multi-State Value
Program
Program
Schedule
Schedule
Device
Device
EventEnrollment
EventEnrollment
EventNotification
Notification Class
Andover Controls Corporation
ANALOG INPUT BACnet Property
Plain English Name
READ/WRITE R/W
COV Increment
Restrictions
R
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Constant based upon the class
Out_Of_Service
OutOfService
W
Cannot be set false if channel not configured
Present_Value
Value
W
Units
Units
W
BINARY INPUT BACnet Property
Plain English READ/WRITE Name R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Polarity
Polarity
W
Present_Value
Value
W
Cannot be set false if channel not configured
MULTISTATE INPUT BACnet Property
Plain English Name
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Number_Of_States
NumberOfStates
R
3
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
State
W
Present_Value
Value
W
Cannot be set false if channel not configured
Plain English Language Reference
E-3
ANALOG OUTPUT BACnet Property
Plain English Name
READ/WRITE R/W
Restrictions
COV Increment Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
Units
Units
W
Cannot be set false if channel not configured
BINARY OUTPUT BACnet Property
Plain English Name
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Polarity
Polarity
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
Cannot be set false if channel not configured
MULTISTATE OUTPUT BACnet Property
E-4
Plain English Name
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Number_Of_States
NumberOfStates
R
3
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
Andover Controls Corporation
Cannot be set false if channel not configured 1..3
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
Plain English Name
READ/WRITE R/W
Restrictions
COV Increment Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
Units
Units
W
BINARY VALUE BACnet Property
Plain English Name
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
MULTISTATE VALUE BACnet Property
Continuum Attribute
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Event_State
EventState
R
Always Normal
Number_Of_States
NumberOfStates
R
255*
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Present_Value
Value
W
Relinquish_Default
RelinquishDefault
W
0..255
* 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
Continuum Attribute
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Out_Of_Service
OutOfService
W
Program_Change
StatusChange
W
Program_State
Status
R
Inactive = Idle Active & Disabled = Halted Active & Enabled = Running
READ/WRITE R/W
Restrictions
SCHEDULE BACnet Property
Continuum Attribute
Description
Description
W
Limited to 32 characters
Object_Name
Name
R
Limited to 16 characters
Object_Type
Type
R
Present_Value
Value
R
Priority_For_Writing
Priority
W
10
Plain English Language Reference
E-7
DEVICE BACnet Property
Continuum Attribute
READ/WRITE R/W
APDU_Segment_Timeout
APDUSegTimeout
W
ADPU_Timeout
ADPUTimeout
W
Application_Software_version
ApplSoftwareVersion
R
Daylight_Savings_Status
DaylightSavingsStatus
W
Firmware_Revision
FirmwareRevision
R
Local_Date
LocalDate
W
Local_Time
LocalTime
W
Max_ADPU_Length_Accepted
MaxAPDUAccepted
R
Model_Name
ModelName
R
Number_Of_ADPU_Retries
NumberAPDURetries
W
Object_Name
Name
W
Object_Type
Type
R
Protocol_Conformance_Class
ProtocolConfClass
R
Protocol_Version
ProtocolVersion
R
Segmentation_Supported
SegmentationSupport
R
System_Status
System_Status
R
UTC_Offset
UTCOffset
W
Vendor_Identifier
VendorIdentifier
R
Vendor_Name
VendorName
R
Restrictions
0-255
EVENT ENROLLMENT BACnet Property
Continuum Attribute
READ/WRITE R/W
Description
Description
Event_State
EventState
W R
Event_Type
EventType
W
Notify_Type
NotifyType
W
Object_Name
Name
W
Object_Type
Type
R
Restrictions
Limited to 32 characters
* see below
Limited to 16 characters
* Limited to Change_Of_State, Change_Of_Value, Floating_Limit, Out_Of_Range
NOTIFICATION CLASS BACnet Property
E-8
Continuum Attribute
READ/WRITE R/W
Restrictions
Description
Description
W
Limited to 32 characters
Object_Name
Name
W
Limited to 16 characters
Object_Type
Type
R
Andover Controls Corporation
Continuum Plain English Reference
30-3001-872
Continuum Plain English Reference