Está en la página 1de 710

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 The Plain English language (PE) was developed by Andover Controls to
English provide our customers with the ability to customize their building
Language 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 The Continuum product line encompasses a wide variety of components


Products 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 In a simple single-workstation configuration (see figure below), a


Continuum Continuum site might consist of a single NetController, with some
System 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 IOU Modules
Workstation running BACnet
CyberStation with MS/TP
Database RS-485 b3xxx

Local field wiring

Example of a Continuum/BACnet Single Workstation Network

Moderate The Continuum system design is based on scalability, so expansion to a


Continuum multi-workstation, larger network configuration can be accomplished easily.
System 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 NetController
Controller IOU Modules
b4920 LBUS
BACnet
Router
IOU Modules
b3xxx Local field wiring
Local field Infinet
Infinet
wiring
BACnet BACnet Local field
MS/TP Controllers Local field
wiring
RS-485 wiring
Local field
wiring Infinet
Infinet
b3xxx Controller
Controllers

Third Party Local field Local field


BACnet wiring wiring
Device

Example of a Multi-Workstation Continuum/BACnet Network

Network There are three types of Continuum network controllers:


Controllers • Infinity CX 9000 series
• CX 99xx NetController
• b4920 BACnet Router
All are IP compatible and each contains at least one port to allow
communication with application controllers.

1-4 Andover Controls Corporation


Continuum System Architecture, continued

Infinet These controllers include combinations of inputs and outputs for the
Controllers 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 Andover Controls offers a complete line of MS/TP BACnet-compatible sub


Controllers 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 CyberStation is a Windows-based application program that runs on a PC


Software 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 hardware-
based 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 Like Continuum, all information in a BACnet system is represented in terms


Objects vs. of “objects”. Objects may represent a single physical “point” or logical
Continuum groupings of points that perform a specific function. The information
Objects 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 The attributes for any object in Continuum can be viewed by double clicking
Attributes 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 The following table provides a summary of the attributes appearing in the
Listing previous example General page.

Attribute 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.

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

Appendix C contains a complete list of attributes for each object contained in


Continuum.

Plain English Language Reference 1-9


Object Ownership

Object Object ownership is a term that describes the relationships between objects
Ownership 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 Network and Controller views that are selectable on the Continuum
View of System workstation screen represent the hierarchy of the physical components in the
Objects 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 The set of characters allowed in object names, called the "Naming Character
Convention Set”, is described below.

The Naming Character Set


Character Description
A-Z and Alphabetic characters. Upper- and lowercase are interchangeable.
a-z
0-9 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 The rules for the alias naming character set are as follows:
Convention • 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 There are three ways to open the IDE when you wish to create a new
New Program program file:
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 If you click the hot spot on the left-hand side of
Main Menu the Continuum Main Menu, the System & Status menu page appears.

System & Status menu page

Click the hot spot to start the Plain English IDE.

2-2 Andover Controls Corporation


Opening the Plain English IDE, continued

From the From any view of the Continuum Explorer, right click on the controller or
Continuum workstation where you want the program to reside. Then select New and
Explorer 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 From the Windows explorer, click Start. Select Programs – Continuum -
Menu 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 Type the program name in the Object name text box and click the Create
Program File button. Next, the Editor screen appears in the IDE main window.

2-4 Andover Controls Corporation


Plain English IDE Features

IDE Tools Continuum's Plain English Integrated Development Environment (IDE)


Overview provides a complete set of integrated tools designed to simplify the writing,
editing and debugging of Plain English language programs. The IDE consists
of a variety of color-enhanced windows, menus and toolbars.

Shown below, the Plain English IDE main screen includes standard
Windows features (title bar, menu bar, various toolbars, main window and
status bar) along with specialized editor function windows.

Command Check
Title Bar Main Line Find Toolbar
Menu Bar Toolbar Toolbar

Class of
Objects
Displayed
In IDE Explorer 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 Several special features are included:


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

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

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

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

2-6 Andover Controls Corporation


The Menu Bar

Offers Seven The menu bar provides seven


Menu dropdown menus within the IDE.
Selections

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

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

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.
Set Font Displays the Font dialog box, allowing you to change the font for
the active program file.
Refresh Checks and saves the active program file, and refreshes
the screen.
Folder View Changes the IDE Explorer to folder view. In this view, the Root and
all folders appear in the navigation pane.
Network View Changes the IDE Explorer to network view. In this view, the
network you set up appears in the navigation pane.

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

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

Window Menu
Option Description
Cascade Displays program windows overlapping diagonally.
Tile Horizontally 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 Description
Help Topics Displays Plain English online help topics.
About IDE Displays the copyright and version number for the PE editor.

2-8 Andover Controls Corporation


The Main and Find Toolbars

1 2 3 4 5 6 7 8 9 10 11
The Main
Toolbar The Main toolbar
is described below. It contains shortcuts to many of the items found in the
Edit menu.

Main Toolbar Selections


To Do This … Click Icon
Reference
Open a new program 1
Open an existing program 2
Save the currently active program 3
Save all open programs 4
Cut text 5
Copy text 6
Paste text 7
Undo the last action you performed 8
Redo the last action you performed 9
Find a particular word in the current program 10
Print the current program 11

The Find
Toolbar The Find toolbar is a
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 Action
1 Type the text that you want to find, or use the pull-down list to select
previously searched text.
2 To search from the cursor position to the end of the program,

click on
3 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 The Check toolbar is used in conjunction
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 The Command Line is where you enter and execute Plain English
Line 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 Response Line Text Field

IDE Explorer
Browse
Button IDE Command Line Components

2-10 Andover Controls Corporation


The IDE Explorer

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

Current Class Copy Objects


Button

Class Drop-
Down List Box

List of Objects
Matching
Selected Current
Class

IDE Explorer

Plain English Language Reference 2-11


The IDE Explorer, continued

Popup Shortcut In addition to the above features, the IDE Explorer provides several options
Menu by means of a popup shortcut menu, which is activated whenever, you right-
click on an object in the drop-down list box.

IDE Explorer Popup Shortcut Menu Features


Menu Item Action
Open Opens programs in the IDE. For other classes, opens the appropriate
dialog box.
Edit Starts another IDE session for the selected program. For other
classes, opens the appropriate application.
Put in Service Opens a dialog box to confirm the state of the object’s attribute is
“Enabled” [NOT SHOWN FOR INFINITYPROGRAM]
Take out of Opens a dialog box to confirm the state of the object’s attribute is
Service “Disabled” [NOT SHOWN FOR INFINITYPROGRAM]
Enable Opens a dialog box to confirm the state of the program’s attribute is
“Enabled” [ONLY SHOWN FOR INFINITYPROGRAM]
Disable Opens a dialog box to confirm the state of the program’s attribute is
“Disabled” [ONLY SHOWN FOR INFINITYPROGRAM]
Send To Offers a selection of "Controller, Database, Text File or Printer".
Delete Deletes the selected object.
Rename Opens a dialog box for renaming the object.
Page Setup Opens a dialog box to select the page setup of the object to be
printed.
Print Selected Opens a dialog box to select the printer.
Go To Offers a selection of “Owner or Device.
Properties Opens the Properties dialog box.

2-12 Andover Controls Corporation


The IDE Editor

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

Displaying The Editor's ability to display multiple programs allows you to copy code
Multiple from one program to another thus saving typing time.
Programs
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 Action
Objects Provides a temporary storage place for object names that you need in
a program
Check Displays errors that occur when a program is saved or checked.
Keywords Lists all the Plain English language keywords that are not functions.
Functions Contains all the pre-written Plain English functions
Values Provides attribute values used by the system.
Favorites Provides a storage area for commonly used items such as keywords,
statements, functions, objects and so on.

Selecting and Double clicking items displayed within these pages automatically inserts
Placing Objects 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 Depending on the selection or de-selection of the Allow Docking and Float
Floating in Main Window options:
Options • The Assistant and Watch Bars can be placed and arranged within the
Main Window.
• The Assistant and Watch Bars can be dragged and dropped outside of
the Main Window or outside of the IDE window.
• The Explorer Bar can be dragged and dropped within the IDE or outside
of the IDE window.

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

Docking and Floating Options Menu

Docking and Floating Menu Selections


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

2-16 Andover Controls Corporation


Configuring a Plain English Program File

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

Configuration Dialog Box

Configuring a New Program File


Step Action
1 Enter a brief description (optional) up to 32 characters in length.
2 Select Enabled in the State selection box.
3 Select the Autostart checkbox if you want the program to start running
the moment it is saved.
4 Select the Command Line checkbox if you want the program to be
controlled from the Command line.
5 Select either Looping or Fall Thru in the Flow Type selection box
depending on what type of program is intended.
6 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.
7 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 When the Editor window first appears, it is blank until you begin writing
Guidelines 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


Moving the Cursor
Key or Keys Action
Arrow Moves the cursor one space in the direction of the arrow
(left, right, up, or down).
CTRL right arrow Moves the cursor to the beginning of the next word.
CTRL left arrow Moves the cursor to the beginning of the previous word.
Home Moves the cursor to the beginning of the line it is on.
End Moves the cursor to the end of the line it is on.
CTRL Home Moves the cursor to the beginning of the first line in the file.
CTRL End Moves the cursor to the end of the last line in the file.
Page Up Scrolls the text up the number of lines in a window.
Page Down Scrolls the text down the number of lines in a window.
Selecting Text
Shift Arrow Selects text one character at a time in the direction of the
arrow.
Shift Home Selects text from the cursor position to the beginning of the
line.
Shift End Selects text from the cursor position to the end of the line.
Shift CTRL right arrow Selects text from the cursor position to the beginning of the
next word.

2-18 Andover Controls Corporation


Using the Editor, continued

Text Entry continued


Using the Text Editor continued
Selecting Text
Key or Keys Action
Shift CTRL left arrow Selects text from the cursor position to the beginning of the
previous word.
Shift CTRL Home Selects text from the cursor position to the beginning of the
file.
Shift CTRL End Selects text from the cursor position to the end of the file.
Changing and Moving Text
Backspace 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.
CTRL F Opens the Find window.
CTRL H Opens the Replace window.
CTRL Insert Copies selected text and store it in a temporary storage
area. You can then put it somewhere else with Shift Insert.
Delete 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.
Enter Ends a line and starts a new one.
Insert Toggles between two modes:
• Inserting text into the current text
• Typing over current text.
Shift Delete Cuts selected text and store it in a temporary storage area.
You can then paste it with Shift Insert.
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.

The Editor You can also edit text with selections from the Edit drop-down box on the
Shortcut Menu 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 Action
Find What Enter the text to search for⎯can be up to 132 characters including
spaces.
Match whole Only finds the selected word and rejects other words that would
word only contain it (if "one" is the selected word, it would reject "done", "bone",
"alone", and so on).
Match case Will match the case of the selected word( if "One" is selected it will
ignore "one")
Direction Up searches from the cursor position to the beginning of the program.
Down searches from the cursor position to the end of the program.
Find Next Finds the next instance of the word/s listed in the "Find What" column.

2-20 Andover Controls Corporation


Using the Editor, continued

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

Replace Dialog Box

Replace Dialog Box Features


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

Plain English Language Reference 2-21


Using the Editor, continued

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

Go To Dialog Box

Importing You can import an external program (located on a floppy disk or in a


Programs different directory) into an existing program in the Editor. To do this,
perform the steps below.

Importing a Program File


Step Action
1 Click at the point in the existing program where you want to insert the
external program.
2 A flashing cursor will appear at that point.
3 Open the File menu from the main menu bar.
4 Select Import from the File menu.
5 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 Action
6 Use the Look in pull down list box to locate the file to import.
7 Double click on the file name so that it appears in the File name text box.
8 Click on the Import button.
9 The entire file is inserted into the existing program at the point selected in
step 1.

Exporting You can export an existing program in the Editor to another drive or
Programs directory. To do this, perform the steps below.

Exporting a Program File


Step Action
1 Make sure the program file you wish to export is the active program in
the Editor window.
2 Open the File menu from the main menu bar.
3 Select Export from the File menu.
4 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 Action
5 Use the Look in pull down list box to locate the drive or directory to
export to.
6 Type in the name of the file in the File name text box.
7 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 Once you have finished writing your program you need to save it, but before
Program 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 When all the errors have been corrected, the Check page of the Assistant
Program File will display the message shown below.
continued

The Save File Message

Opening the To reopen the program from the IDE, open the IDE Explorer and locate the
Program 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 You can start your program by entering the Run keyword followed by the
Program from program name into the Command Line and then pressing the RETURN or
the Command Enter key (depending on the keyboard). Make sure that the directory path to
Line 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 In order for the program to run, its State attribute must already be Enabled.
Program from (See "Configuring the Program File")
the Command
Line continued The system then does the following:
• Sets the program’s Status attribute to Active.
• Sets the program’s CurrentLine attribute to its first line.
• Updates the program's LineStartTime to the time the Scan starts. (See
Chapter 3 for details on the Scanning process.)

Monitoring the You can monitor the program file status by viewing the Run Time status
Program File page.
Status
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 Description
Last Changed Shows the date and time the program was last altered.
Current Line Start Displays the date and time the current line began executing.
File Size 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.
Program Status Shows whether the program is Active or Inactive.
Current Line 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.
Error Gives the explanation of the last runtime error that occurred
when running this program.
TD: Time in days that a program has been at the specified line.
TH: Time in hours that a program has been at the specified line.
TM: Time in minutes that a program has been at the specified line.
TS: Time in seconds that a program has been at the specified line.

Stopping the You can stop the program from the Command Line by entering the “Stop”
Program keyword followed by the program name. This causes the program to stop by
setting the Status attribute to Inactive.

The program will stop itself if it contains the Stop keyword with no name
after it in any of its statements.

Plain English Language Reference 2-27


Using the Plain English Wizard

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

How to
To access the Wizard, click on the in the Check toolbar or select Wizard
Access It
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 The File Selection menu page show below offers a variety of different types
Selection Menu 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 To select a program, click on its icon and then click on the Next > button.
Configuring a This displays the File Configuration dialog box as shown on the next page.
Wizard The selections on this dialog box are the same as the standard Configuration
Program 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 Note: If you select a Function from the File Selection menu, the State,
Configuring a Flow Type and Autostart selection will not be available in the File
Wizard Configuration dialog box.
Program,
continued 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 The more complicated pre-written programs offered by the Wizard require
References references to external objects. So when you click on the Next> button on the
Screen 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 Click on the Finish button to transfer the program that you selected with the
Wizard Screen 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 A Plain English (PE) program consists of a set of instructions that tell the
and Statements 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 Throughout Plain English, there is no differentiation between words that are
Case capitalized and those that are not. For instance, the following names are
Sensitivity treated as the same:

RoomTemp1
ROOMTEMP1
RoomtemP1

3-2 Andover Controls Corporation


Lines and Line In PE, a line is a statement or series of statements that belong together under
Labels 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 Each single physical line can contain up to 132 characters (not including the
Limitations 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 Numeric expressions always result in a number. Numeric constants and


Expressions 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 String expressions always result in a string of characters enclosed in


Expressions 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 In Plain English, program statements are constructed using words that the
Types controllers recognize. These words, called “keywords” are further classified
into types. The keyword types are described below.

PE Keyword Types
Keyword Type Definition
Statement (an action Defines an action the controller can perform.
word)
Function Carries out a particular series of calculations or actions
and may return one or more specific values.
Operator A symbol or keyword that carries out a mathematical or
logical process, such as addition, subtraction, or
TRUE/FALSE.
Local Variable 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.
System Variable A variable (a value that changes) that the controller
automatically updates.
System Constant 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 Besides keywords, other types of words the controller knows are:
• Names you give to objects such as network controllers, Infinet
controllers, BACnet controllers, programs, files, and points.
• Words that Andover Controls has reserved (called “reserved words” see
Appendix B).
• Attributes and their settings (see Appendix C).

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

Plain English Language Reference 3-5


Program Flow

Types of You use Plain English to instruct a controller to do certain things, such as
Program Flow 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. In the following example, if you set the program to Looping, it scans the
FallThru 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 Plain English includes two fundamental types of instructions:


Unconditional • Conditional
Instructions • 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 A program file contains statements that instruct the controller to perform
Program File? 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 Good programming practice dictates that you have one program file control
a Single a single piece of equipment. Following this practice has the following
Program File 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 A complete list of the scan actions in the order the controller carries them out
List is as follows:
• Updates all enabled system variables.
• Updates controller-resident schedules, setting occupied and unoccupied
events.
• Updates controller input points.
• Runs program statements and Command Lines
(executes Command Lines between program lines only).
• Updates controller output points.
• Processes all alarms and if necessary, updates the Status bar.

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

Plain English Language Reference 3-11


The Scanning Process, continued

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

The Scanning Process

3-12 Andover Controls Corporation


The Scanning Process, continued

1. Updating The controller updates the values of all ENABLED system variables (DATE,
System SECOND, MINUTE, HOUR, WEEKDAY, and so on) at the start of each
Variables 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 When schedules are processed, it updates each occupied and unoccupied
Schedules point so that later, when programs run, the actions are based on the latest
schedules.

3. Updating The scan gathers electrical values (represented by the ELECVALUE


Input Points 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 During each scan, the controller executes the current line from each program
Programs and that conforms to the following:
Executing
• State is ENABLED
Commands
• 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 The scan sets output point values as instructed in programs or command
Output Points 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 You can use the fact that the output hardware is not updated until the end of
Output Points the scan to carry out certain advanced control strategies, but we do not
continued 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 Finally, the last action of the scan is evaluating alarms.


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 After the scan processes the alarms, it updates the Status bar display if its
Status Bar setting has changed or if a value it is displaying has changed.

Plain English Language Reference 3-15


Other Scanning Issues

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

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

Triggering Scan length varies depending on the amount of work done. You can reduce
Programs from scan time by assuring your programs conform to the following guidelines:
Points
• 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 Point values can be exported at any time during the scan. As an example, if
Points 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 The Firing Order can be used to determine the order in which programs run.
Conditions and This is especially useful when handling power failure conditions. In such a
the Firing Order 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 To accomplish this, write a Fall-Thru program that is triggered by the
Conditions and PowerFail system variable. This program should contain a statement that
the Firing Order starts all the other programs in the correct sequence.
continued
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 Controllers use input and output points to interact with the environment.
Points 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 Multi-State Value points are storage locations in a workstation's memory that
Value Points 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 Datetime points are storage locations in a controller or workstation's memory


Points 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. Workstations and controllers share many of the same Continuum
Workstation capabilities. For instance, you can create a program that runs only on a
Points 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 Constants are numbers, words, or dates that do not change. They remain
Types constant. There are two types of constants:
• Numeric
• String

Numeric A numeric constant is a number. The number can be an integer (with no


Constant decimal places) or a number with a decimal (floating point).

Integer Integer numbers have no decimal places. When an integer number is


Numbers required in a keyword format, you can use only a whole number, positive or
negative, including zero.

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

Examples of Examples of some acceptable numbers are:


Numeric
• 12
Constants
• 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 The controller accepts all numbers, but the controller interprets:
Controller • Numbers greater than 3.402823E+38 as infinity.
Interprets • Numbers less than -.402823E+38 as negative infinity.
Numbers • Numbers between 1.40129E-45 and -.40129E-45 as zero.

Plain English Language Reference 4-5


Constants, continued

String A string constant is a series of ASCII characters, including blanks,


Constants surrounded by quotation marks ("string").

Rules for String Even though a string may contain a number, the number cannot be used in
Constants 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 System constants are predefined in Plain English and their values do not
Constants 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 Variables are names that stand for numbers, words, or dates and times. A
Types 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 A numeric variable is a name that represents a number. Numeric variables


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 A string variable is a name that represents a series of alphanumeric


Variables 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 A datetime variable is a name that represents a date and time. Datetime
Variables 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 The Numeric keyword assigns the name that follows it as a local numeric
Keyword 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 The DateTime keyword assigns the name that follows it as a local variable
Keyword 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 Programmable system variables are names for values the controller sets
System initially, that you can change later. The term “programmable” always means
Variables 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 • DCXPower • ModemPower
• BackLight • IOUPower • Status1 to Status8
• CPUPower • MicroPower
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 The following table provides a complete list of the system variables for
Variable Listing 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 Available on Description
AccessLog CX series The number of personal records stored
controllers on the access server.
AccessSsrver ACX & CX series A programmable system variable that
controllers 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 & The number of pending alarms.
CyberStation 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 Expresses a close approximation of the
controllers 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 A programmable system variable that is
controllers 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 & Retrieves current system date and time
CyberStation so that you can then store it in a
variable.
DayofMonth *All controllers & Gives the current day of the month from
CyberStation 1 to 31.
DayofYear *All controllers & Gives the current day of the year
CyberStation between 1 and 366.

4-10 Andover Controls Corporation


System Variables

System Variable Listing continued


Workstation & CX System Variables continued
Name Available on Description
DCXPower DCX250 controller A programmable system variable that
controls power to the controller when its
PowerFail system variable is ON.
Errors *All controllers & Indicates the number of errors existing
CyberStation on the system.
EventLogSize CX series A programmable system variable that
controllers 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 & Indicates the current hour, from0 to 23.
CyberStation
HourofDay *All controllers & Indicates the time in decimal form from
CyberStation 0 to 23.99.
HundredthofSecond CyberStation Indicates hundredths of a second as a
number between 0 and 99.
Infinet1Count CX series Gives the number of Infinet controllers
controllers and communicating with the CX or CMX
CMX 9924 9924 using Commport 1.
controller
Infinet2Count CX series Gives the number of Infinet controllers
controllers and communicating with the CX or CMX
CMX 9924 9924 using Commport 2.
controller
IOUCommFlt1 to *All controllers Gives ON if there is a communication
IOUCommFlt16 fault (failure) to or from the controller’s
IOU module or OFF if there is no
communication fault.
IOUPower CX series A programmable system variable that
controllers 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 Available on Description
MicroPower CX series A programmable system variable that
controllers and controls power to the ACX781 Infinet
ACX781Infinet controller when the associated
controllers controller’s PowerFail system variable is
ON.
Minute *All controllers & Gives the exact minute of the current
CyberStation hour, from 0 to 59.
ModemPower CX series and A programmable system variable that
CMX series controls the battery power to the
controllers controller’s modem. Set to ON when AC
power is up and OFF when it is goes
down.
Month *All controllers & Gives the current month of the year,
CyberStation from January to December.
NewAlarmCount CX and CMX Indicates the number of new alarms on
series controllers the controller and all its Infinet
controllers since the last time the alarms
were sent to the workstation.
PowerFail *All controllers & Indicates whether or not the AC power
CyberStation to the controller has failed. See full
description on page 4-14.
PowerUpTime *All controllers & Gives the date and time of the last AC
CyberStation power application to the controller.
ReaderPower ACX series Indicates whether or not any access
controllers card reader on the controller has lost
power. Gives TRUE if the card reader
lost power, FALSE if not.
Scan *All controllers & Indicates the controller’s last scan time
CyberStation in seconds.
Second *All controllers & Gives the exact number of seconds of
CyberStation 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 Indicates whether communications is
controllers occurring between the access server
and the controller.

4-12 Andover Controls Corporation


System Variables

System Variable Listing continued


Workstation & CX System Variables continued
Name Available on Description
TimeofDay *All controllers & Gives the time of day with the hour and
CyberStation 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 Indicates whether or not each person
(except 9500) who has access must have a unique
series controllers personal identification number (PIN).
Version *All controllers & Gives the current version number of the
CyberStation software running on the controller.
Weekday *All controllers & Gives the current day of the week, from
CyberStation SUNDAY through SATURDAY.
Year *All controllers & Gives the current year from 1989
CyberStation 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# The STATUS# system variables exist for up to eight status lights on the
System front of the CX 9201 controller’s cabinet (STATUS1, STATUS2,
Variables 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 On all controllers that have battery backup, each time you lose AC power to
other Power the controller its PowerFail system variable is automatically set to ON and
related System the battery backup provides power. This PowerFail system variable remains
Variables 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
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.

4-14 Andover Controls Corporation


Chapter 5

Operators and Expressions

At a Glance

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

Plain English Language Reference 5-1


Order of Action

Definition of an An operator is that part of an expression that causes a mathematical


Operator 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
+ Plus Sign on Number Right to Left
- Minus Sign on Number
NOT Logical Negation
BITNOT Bitwise Negation
% Percentage
^ Exponentiation Left to Right
* Multiplication Left to Right
/ Division
MOD Modulus
+ Addition Left to Right
- Subtraction
< Less Than Left to Right
<= Less Than or Equal
> Greater Than
>= Greater Than or Equal
= Equal Left to Right
<> Not Equal
IS IN Set Inclusion
IS NOT IN Set Exclusion
IS BETWEEN Range
IS THRU Range
BITAND Bitwise Logical And Left to Right
BITOR Bitwise Logical Or
BITXOR Bitwise Logical Exclusive Or
& Logical And Left to Right
! Logical Or
; Joining Operator Left to Right

5-2 Andover Controls Corporation


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

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

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

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

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

number % Divides the number by 100 to give you the percentage.

Plain English Language Reference 5-3


Fundamental Operators

Addition number + number


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

Subtraction number − number


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

Multiplication number * number


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

Division number / number


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

Modulus number MOD number


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

Exponentiation number ^ number


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

5-4 Andover Controls Corporation


Comparative Operators

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

Less Than number < number


Compares two numbers and determines whether the value of the left number
is less than the value of the right.

Aliases: IS LESS THAN, (THAN is optional), and IS BELOW.

Less Than or number <= number


Equal 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 number >= number


Equal 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 You may also use greater than, less than, or equal to operators to compare
String Values 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 If the compared expressions are not the same type, you must convert them to
Conversion the same type using the keywords below:
• StrToNum converts a string to a number.
• NumToStr converts a number to a string.
• StrToDate converts a string with the correct information into a datetime.

5-6 Andover Controls Corporation


List and Range Operators

IS IN number IS IN list or number IS list


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

Alias: IS EITHER.

IS NOT IN number IS NOT IN list


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

Alias: IS NEITHER.

IS THRU IS number THRU number


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

IS BETWEEN IS BETWEEN number AND number


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

Plain English Language Reference 5-7


Bit Operators

BITAND integer BITAND integer


Compares the binary equivalents of the two integers, digit by digit, as if the
1s were TRUE and the 0s FALSE.

If both binary numbers contain a 1 in the same place, that is TRUE AND
TRUE, which gives TRUE. If both numbers contain a 0 in the same place,
that is FALSE AND FALSE, which is FALSE. If one number contains a 1
and the other a 0 in the same place, that is TRUE AND FALSE, which is
also FALSE.

Refer to the truth table on the next page for further explanation.

BITOR integer BITOR integer


Compares the binary equivalents of the two integers, digit by digit, as if the
1s were TRUE and the 0s FALSE.

If both binary numbers contain a 1 in the same place, that is TRUE OR


TRUE, which gives TRUE. If both numbers contain a 0 in the same place,
that is FALSE OR FALSE, which is FALSE. If one number contains a 1 and
the other a 0 in the same place, that is TRUE OR FALSE, which is TRUE.

Refer to the truth table on the next page for further explanation.

BITXOR integer BITXOR integer


Compares the binary equivalents of the two integers, digit by digit, as if the
1s were TRUE and the 0s FALSE. While BITOR finds cases where either
digit is TRUE, BITXOR finds cases where one or the other is TRUE, but not
both.

If both binary numbers contain a 1 in the same place, that is TRUE OR


TRUE, which gives FALSE because only one or the other can be TRUE, not
both. If both numbers contain a 0 in the same place, that is FALSE OR
FALSE, which is FALSE. If one number contains a 1 and the other a 0 in the
same position, that is TRUE OR FALSE, which is TRUE.

Refer to the truth table on the next page for further explanation.

5-8 Andover Controls Corporation


BIT Operators, continued

Truth Table The truth table for the bit operators is as follows:

BIT Operator Truth Table


Operator Integer1 Integer2 Result
BITAND TRUE TRUE TRUE
BITAND TRUE FALSE FALSE
BITAND FALSE FALSE FALSE
BITOR TRUE TRUE TRUE
BITOR TRUE FALSE TRUE
BITOR FALSE FALSE FALSE
BITXOR TRUE TRUE FALSE
BITXOR TRUE FALSE TRUE
BITXOR FALSE FALSE FALSE

Plain English Language Reference 5-9


AND/OR and String Joining Operators

AND number & number


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

The Alias: AND.

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

The Alias: OR.

String Joining string ; string


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

5-10 Andover Controls Corporation


Chapter 6

Functions, Arrays, and Logs

At a Glance

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

Plain English Language Reference 6-1


Functions

Definition A function is a routine designed to carry out a particular task or series of


tasks and is executed in one Plain English scan.

There are built-in and user-defined functions. An example of a built-in


function is the Plain English function SQRT that returns the square root of a
given number:

RESULT = SQRT(25)

The number the function operates on (25) is included within parentheses.


This function returns the value 5.

When a function is used to calculate or provide a value, it “returns” the value


to the program that calls the function. A program may also provide (“pass”)
the function some values (called “arguments”) to use in calculations or
actions it must take. Arguments (separated by commas if these are several)
are included in parentheses following the function name. Not all functions
require arguments, however, you should include the parenthesis even if it is
empty (e.g., function ()).

You can run a function from:

• The Command Line, if the function exists in a controller or on a


workstation.
• A Program, if the program and the function exist on the same
controller.

User-defined functions are created using standard Plain English keywords


within something called a “function file”. The name you give the file
becomes the word you use to activate the function. The small Plain English
program you write as a function becomes a subroutine that may be called
whenever that particular action needs to be done.

Functions must end with the RETURN statement. It tells the controller to
"return to the calling program, function or command line."

6-2 Andover Controls Corporation


Functions, continued

Calling a You can activate ("call") a function by using its name as a statement in a
Function 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 The function need not have arguments if it works with the same points all the
Function time. You can define one that stops all fans and call it FANSTOP.
without STOP FAN1, FAN2, FAN3 AND FAN4
Arguments 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 Functions can have not only points for arguments, but local variables from
Function with the calling program, program names, other function names; basically
Arguments 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 In addition to returning to the calling program, RETURN can also bring back
Return a Value 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 Value
1 8.000
2 8.510
3 9.000
4 9.620
5 10.000
6 10.750
7 11.000
8 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 When you define an array variable, you must specify a type (numeric, string,
Array of or datetime) and the number of elements. The following statement defines
Variables (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 Continuum updates automatic logs by inserting new values into the first log
Updates 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 Value
Most recent
1 72
value recorded
2 73
3 75
4 74
5 73
6 72 th
8 most recent
7 71
value recorded
8 73

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 When working with logs, you won’t actually see structures like the one
Log Values 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 Logs are updated at an intervals that you specify. You can specify that a log
Intervals 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 You can define two logs for any point: a short-term log, and an extended log.
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 In certain functions you can use an array or a log name to represent the entire
Logs in series of numbers. Usually the function has a special format for arrays or
Functions 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 This chapter contains the following topics.


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

Plain English Language Reference 7-1


Section 1 Format Conventions

Keyword Formatting Standard

Identical The keywords are listed in alphabetical order beginning on page 7-13. Each
Format for All keyword starts at the top of a new page and its classification by type is
Keywords 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 that are often used with the keyword being described or that are
Keywords 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 The Andover Controls products (controllers and/or CyberStation) that the
Supported keyword can be used on.

Modes Lists whether the keyword can be used in the command line mode, the
Available program file mode, or both. Programs cover InfinityPrograms,
InfinityFunctions, Functions and Programs.

Program Only run at the workstation


Function Can only be called at the workstation
InfinityProgram For Controllers
InfinityFunction For Controllers

Plain English Language Reference 7-3


Text and Symbols Used in the Format Heading

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

The details on how to interpret the Format information are presented in the
following paragraphs.

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

Bold Italics Any terms shown in bold italics stand for elements that you must replace
with a name, number, or other item. For example:
Format ACOS (number)
indicates that number must be replaced with the appropriate number to
satisfy the use of the keyword ACOS (arccosine) in the given program.

The terms that appear in bold italics and the items that replace them are
described on page 7-6.

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

7-4 Andover Controls Corporation


Text and Symbols Used in the Format Heading, continued

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

Comma (,) and When a comma or colon is shown as part of the Format, it must be typed as
Colon (:) 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 When the following terms appear in bold italics after the keyword in the
Terms 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 This section presents the Andover Controls Plain English keywords in their
Keyword associated logical groups. Details on each keyword are in the alphabetically
Groups Listing ordered keyword descriptions that follow this section.

Table 7-1. Logical Grouping of PE Keywords


Group Keyword Type
Access Control ACCESSLOG System variable
ACCESSSERVER System variable
AVAILRECORDS System variable
CABINETTAMPER System variable
EVENTLOGSIZE System variable
READERPOWER System variable
SYSTEMSTATUS System variable
UNIQUEPIN System variable
Alarm Counting ACTIVEALARMS System variable
UNACKEDALARMS System variable

BACnet READPROPERTY Function


RELINQUISH Function
WRITEPROPERTY Function
Building Control MOVE Statement
TURN Statement

Control of Inputs and Outputs IOUCOMMFLT# System variable


STATUS# System variable
(programmable)
Control Over Communications INITMODEM Function
DIAL Function
CLOSE Function
HANGUP Function
OPEN Function
READ Function (comm
port)
Creating/Manipulating Files CLOSEFILE Function
FILE Statement
OPENFILE Function
POSITIONFILE Function
READFILE Function
WRITEFILE Function
EOF Constant

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
Date and Time DATE System variable
DATETIME Statement
DAYOF MONTH System variable
DAYOFYEAR System variable
DIFFTIME Function
HOD System variable
HOUR System variable
MINUTE System variable
MONTH System variable
POWERFAIL System variable
POWERUPTIME System variable
SECOND System variable
STRTODATE Function
TIMEPIECE Function
TOD System variable
TS, TM, TH, TD Attributes
WEEKDAY System variable
YEAR System variable

Debugging DISABLE Statement


ENABLE Statement
P Statement
Print Statement
Display ASK Function
CLOSEWINDOW Function
PRINT Statement
MESSAGEWINDOW System variable
SHOW Statement
SHOWREPORT Statement
STATUSLINE System variable
Flow Control BASEDON..GOTO Statement
BREAK Statement
CONTINUE Statement
FOR..NEXT Statement
GOTO Statement
IF..THEN..ELSE Statement
LINE Statement

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
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 Statement
Logical AND Operator
BITAND Operator
BITNOT Operator
BITOR Operator
BITXOR Operator
IS Operator
IS BETWEEN Operator
IS GREATER… Operator
IS LESS… Operator
NOT Operator
OR Operator
Mathematical ABS Function
ACOS Function
ASIN Function
ATAN Function
ATAN2 Function
AVERAGE Function
CEILING Function
COS Function
DIVIDED BY Function
EXPONENTIAL Function
FACTORIAL Function
FLOOR Function
LN Function
LOG Function
MAXIMUM Function
MAXITEM Function
MINIMUM Function
MINITEM Function
MINUS Operator

Plain English Language Reference 7-9


Logical Keyword Groups, continued
Table 7-1. Logical Grouping of PE Keywords, continued
Group Keyword Type
Mathematical, continued MOD Operator
PLUS Operator
RANDOM Function
ROUND Function
SIN Function
SQRT Function
STANDARDDEVIATION Operator
SUM Function
TIMES Function
TAN Function
TRUNCATE Function
Miscellaneous ARG Statement
CD Statement
THE Article
Operating System Access SHELL Statement
Retrieving Lists of Objects CLOSELIST Function
GETEXTLOG Function
GETOBJECT Function
OBJECT Statement
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 Function
System Defined Constants FAILURE Constant
OFF Constant
ON Constant
-ON Constant
PASSED Constant
SUCCESS Constant
Using Names in Programs GETNAME Function
Value Assignment SET Statement
MOVE Statement
TURN ON Statement
TURN OFF Statement

7-10 Andover Controls Corporation


Logical Keyword Groups, continued

Restricted The use of this group of keywords is usually limited to system administrators
Keywords and other users with appropriate configuration level clearance

Table 7-2. Restricted Keywords


Group Keyword Type
Administration CURUSER Function
CURWORKSTATION Function
DELETEEXTLOG Function
ERRORS Function
FREEMEM System variable
LOAD System variable
SAVE Statement
SCAN Statement
VERSION System variable

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

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation

Modes Command lines and programs.


Available

7-12 Andover Controls Corporation


AccessLog System variable

Format AccessLog

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

Remarks This system variable and the event log it refers to exist only on the
controller. Since the event log contains all access events that have occurred
on the controller, the keyword applies only if you are using the controller for
access control.

Types of access events logged include the following:

• Valid Access • Invalid Attempt


• Door Fault • Door Violation
• Door Ajar • Request to Exit
• Cabinet Tamper • Door Channel Override
• Refresh Database • Access Mode

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

Plain English Language Reference 7-13


AccessLog, continued

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

Related EventLogSize
Keywords

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

Modes Command lines and programs.


Available

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 ACX series and CX series controllers.


Supported

Modes Command lines.


Available

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 SIN, COS, TAN, ATAN, ATAN 2, ASIN


Keywords

Alias ARCCOSINE

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

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMC series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

7-18 Andover Controls Corporation


AND Operator

Format Format 1: number AND number

Format 2: namelist AND final_name

Purpose Format 1: Provides the logical AND between two expressions.

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

Remarks The number is any number or expression.


The namelist is one or more names with commas between them.
The final_name is a single name at the end of a series of names. AND before
the last name is optional.
The controller carries out all other operations (such as adding and
subtracting) before it acts on AND or (OR).

Table 6-1 compares the order that the controller acts on all operators.
Because AND and OR are acted on last, you can form logical statements
without using too many parentheses. See Example 3 for how to use AND
and OR together.

The ampersand (&) is the alias for the logical AND only.

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

Plain English Language Reference 7-19


AND, continued

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

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

If AND occurs before OR, the controller interprets AND first:


Program File
IF TOD > 9:00am AND WKD = SAT OR WKD = SUN THEN...
is interpreted so that the items in parentheses below are calculated first:
IF (TOD > 9:00am AND WKD = SAT) OR WKD = SUN THEN...

Note to Programmer:

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

7-20 Andover Controls Corporation


AND, continued

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

Related IF..THEN..ELSE
Keywords IS...
OR

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

Modes Command lines and programs.


Available

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 PASSED
Keywords

Alias PARAM

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

Modes Programs (only in functions).


Available

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 CHR
Keywords

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

Modes Command lines and programs.


Available

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 SIN, ACOS, COS, TAN, ATAN, ATAN 2


Keywords

Alias ARCSINE

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

Modes Command lines and programs.


Available

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 Replace with


title 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.
question 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.
answer_var_or_point 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 CyberStation
Supported

Modes Program only


Available

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 ASIN, SIN, ACOS, COS, TAN, ATAN 2


Keywords

Alias ARCTANGENT

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

Modes Command lines and programs.


Available

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 ASIN, SIN, ACOS, COS, TAN, ATAN


Keywords

Alias ARCTANGENT2

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

Modes Command lines and programs.


Available

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 DCX 250 Display Unit.


Supported

Modes Command lines and programs.


Available

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 ACX series, CMX series, CX series controllers.


Supported

Modes Command lines.


Available

7-32 Andover Controls Corporation


AVERAGE Function

Format Format 1: AVERAGE (numeric_list)

Format 2: AVERAGE ( numeric_array)

Format 3: AVERAGE ( numeric_log)

Purpose Format 1: Returns the average of the listed items.

Format 2: Returns the average of the items in the array you name.

Format 3: Returns the average of the items in the log you name.

Remarks Replace numeric_ list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_array with any defined array that contains numbers.

Replace numeric_log with any defined log that contains numbers.

Items in the list must all be either numbers or variables that contains
numbers.

Element numbers are not required. Omitting element numbers averages the
entire array or log.

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

Plain English Language Reference 7-33


AVERAGE, continued

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

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

Alias AVG

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

Modes Command lines and programs.


Available

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 DCX 250 Display Unit.


Supported

Modes Command lines and programs.


Available

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 Remember that SUN is considered the first day of the week, so in the
continued 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 GOTO
Keywords LINE

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

Modes Programs
Available

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 As shown on Figure 7-2, the DCX 250-Display Unit forms a line (rather than
continued 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 The DCX 250-Display Unit forms a polygon (rather than a line) because you
continued 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 SETDISPLAY
Keywords LINEPOINT
ENDPOLYLINE

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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 BITOR
Keywords BITXOR
BITNOT

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


Supported

Modes Command lines and programs.


Available

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 BITAND
Keywords BITOR
BITXOR

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


Supported

Modes Command lines and programs.


Available

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 BITAND
Keywords BITXOR
BITNOT

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


Supported

Modes Command lines and programs.


Available

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 BITAND
Keywords BITOR
BITNOT

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


Supported

Modes Command lines and programs.


Available

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 SETDISPLAY
Keywords WHITE

Products DCX 250-display unit.


Supported

Modes Programs
Available

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 CONTINUE
Keywords

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

Modes Programs
Available

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 ACX controller.


Supported

Modes Command lines and programs.


Available

7-48 Andover Controls Corporation


CD Statement

Format Format 1: CD controller_name

Format 2: CD

Format 3: CD \ path_name

Purpose Format 1: Connects to a CX or Infinet controller on the local area network.


Does not connect to a controller at another network (see Format 3).

Format 2: Reconnects you to the CyberStation you actually logged on to.

Format 3: Connects you to another network or, if you give only the
backslash, to the root. (Applies on workstations only.) You can also connect
to a controller or Infinet controller at another network by giving the full path
with this format. Also connects you to any folder in the system.

Remarks Controller_name is the name of a CX controller or path name to an Infinet


controller. The "path" names first the CX controller, then the Infinet
controller.

path_name is the path to a site or to the root (backslash alone) on an


CyberStation workstation only. The backslash must always precede the path
to a site. Can also be a path to a controller or workstation at the same or
another site.

After you open the connection, it remains open until you use CD again to
connect to another site, or until the connection is open and inactive for
longer than the SafetyInterval attribute of the site allows (see Appendix B for
a listing of Site attributes).

Plain English Language Reference 7-49


CD, continued

Example of From a terminal on any CX controller, you can connect to the FLOOR1 CX
Format 1 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 After connecting to another controller for a while, you can connect to the one
Format 2 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 To connect to another network from the command line, you enter CD
Format 3 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 To connect to an Infinet controller at another site from the command line,
Format 3 you enter CD followed by the name of the site, controller, and Infinet
continued controller, in that order. (Remember that the backslash must always precede
the site name):
CD \Building6 Floor1 Room4

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

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

Modes Command lines


Available

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 CEILING of –2.7 is nearest higher integer

-4 -3 -2 -1 0 1 2 3 4

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

Example 2 Program File


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

Related FLOOR
Keywords TRUNCATE
ROUND

7-52 Andover Controls Corporation


Ceiling, continued

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

Modes Command lines and programs.


Available

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 PRINT
Keywords ASC

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

Modes Programs
Available

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 DCX-250 Display Unit.


Supported

Modes Programs
Available

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 Sending:
continued 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 LINE OPENFILE WRITEFILE


Keywords OPEN READFILE
READ CLOSEFILE

Products CMX series, CX series controllers and CyberStation.


Supported

Modes Programs
Available

7-58 Andover Controls Corporation


CloseFile Function

Format CloseFile (file_variable_name)

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

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

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

Plain English Language Reference 7-59


CloseFile, continued

Example 1 The control system software knows that the file in the string
continued ("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 FILE
Keywords OPENFILE
READFILE
POSITIONFILE
WRITEFILE
FAILURE
SUCCESS

Products CyberStation.
Supported

Modes Programs
Available

Plain English Language Reference 7-61


CloseList Function

Format Format 1: CLOSELIST (object_var)

Format 2: CLOSELIST (member_object_var)

Purpose Format 1: Closes the list of objects that the local OBJECT variable
stands for.

Format 2: Closes the group of objects that the local OBJECT variable (in
member_object_var) stands for.

Note: An object is any defined item on a controller or workstation

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

Returns SUCCESS or FAILURE.

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

Example 1 After you have opened any list with OPENLIST, you must close it with
CLOSELIST. The name of the list to close must be a local OBJECT variable
such as:
CLOSELIST (CurrentReport)

The following is a complete program that opens a list of programs from the
CENTRALSTATION, prints their names, and then closes the list.

7-62 Andover Controls Corporation


CloseList, continued

Example 1 Program File


continued 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 GetObject
Keywords OBJECT
OpenList

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

Format 2: CyberStation.

Modes Programs
Available

7-64 Andover Controls Corporation


CloseWindow Function

Format Format 1: CloseWindow (graphics_object_name)

Format 2: CloseWindow (graphics_object_name_list)

Purpose Format 1: Closes the window of the named Pinpoint graphic object.

Format 2: Closes the windows of one or more named Pinpoint graphic


objects in list.

Remarks Replace graphics_object _name with the name of a Pinpoint graphics object,
including a full path name.

Replace graphics_object_name_list with the name of one or more Pinpoint


graphic objects, including a full path name.

Returns SUCCESS or FAILURE as described below:


• SUCCESS- If the Pinpoint application is running, and the specified
graphics object or objects are successfully closed, or are already closed.
• FAILURE - If the Pinpoint application is not running.

A graphics object may include a button, with a Plain English script that
closes a specific graphics object, including the one the button is in.

The Pinpoint Application does not close itself, but only closes the specified
graphics object. The object may be in the front or in the background.

Example 1 To close the Panel1 graphics object on the CyberStation:

Command Line
CloseWindow (CyberStation\Panel1)

Plain English Language Reference 7-65


CloseWindow, continued Function

Example 2 Command Line


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

Products CyberStation
Supported

Modes Command lines, programs, and functions.


Available

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 BREAK
Keywords

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

Modes Programs
Available

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 Places a control graphic on the DCX-250 Display Unit's screen and activates
Supported 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

Example 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
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
Fan 2

00 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000
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 DCX-250 Display Unit.


Supported

Modes Programs
Available

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 SIN, ACOS, TAN, ATAN, ATAN 2, ASIN


Keywords

Alias COSINE

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

Modes Command lines and programs.


Available

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 PowerFail
Keywords PowerUpTime
ModemPower

Products CMX series and CX series controllers.


Supported

Modes Command lines and programs.


Available

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 CyberStation
Supported

Modes Command lines and programs.


Available

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 CyberStation
Supported

Modes Command lines and programs.


Available

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 DATETIME
Keywords DIFFTIME
STRTODATE

Plain English Language Reference 7-75


DATE, continued

Alias TIME

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

Modes Command lines and programs.


Available

7-76 Andover Controls Corporation


DATETIME Statement

Format DATETIME namelist [ array_size_number]

Purpose Creates and defines one or more names as local DATETIME variables. You
define the variables inside a program for use only in that particular program.

Each variable may be a single variable or an array. You specify an array by


including the array_size_number when you define it.

Remarks Replace namelist with the name of a datetime variable you are defining or a
series of datetime variables separated by commas.

Replace array_size_number with a number up to 32,767 that tells the


controller the number of elements in the DATETIME array.

Because the datetime is stored in seconds, you can add seconds to it to as if it


were a number.

You must define all local datetime variables at the top of your program.

You usually set the datetime variable to the time at a given moment using the
DATE system variable (see page 7-75).

You can print the datetime variable. When you do, you receive the date and
time printed in this format:
MONTH DD YYYY hh:mm:ss

The month is spelled out; the day is two digits, the year four digits. The hour,
minute, and second are in 24-hour time.

Plain English Language Reference 7-77


DATETIME, continued

Example 1 In this program, the first statement defines the TEMPTIME as a


datetime variable. The next statement sets the variable to the time at a given
moment with the DATE system variable:
Program File
DATETIME TEMPTIME
TEMPTIME = DATE

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

Example 3 You can define a series of datetime variables in a single statement.


Program File
DATETIME TEMPTIME, FIRSTTIME, LASTTIME

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

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

7-78 Andover Controls Corporation


DATETIME, continued

Related DATE
Keywords DIFFTIME
STRTODATE
NUMERIC
STRING

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

Modes Programs
Available

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 MONTH
Keywords YEAR
DAYOFYEAR

7-80 Andover Controls Corporation


DAYOFMONTH, continued

Alias DOM

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

Modes Command lines and programs.


Available

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 MONTH
Keywords YEAR
DAYOFMONTH

Alias DOY

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

Modes Command lines and programs.


Available

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 DeleteExtLog removes only old entries⎯those entries that have expired.
continued 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 UpdateExtLog
Keywords

Products CyberStation
Supported

Modes Command lines and programs.


Available

Plain English Language Reference 7-85


Dial Function

Format Format 1: Dial (phone_number, commport)

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 If the first character in the phone number is an ‘A’ or ‘a’, the DIAL keyword
continued 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 When
Success Controller has established connection with the workstation or
other device.
Failure 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.
DialNotCarrier Controller's modem does not detect a carrier on the
communications line.

Plain English Language Reference 7-87


DIAL, continued

Remarks continued

Returned When
DialNotAnswer 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.
DialBusyTone Controller detects a busy signal on the line.
DialNotDialTone 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.

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

7-88 Andover Controls Corporation


DIAL, continued
Example 1 You can use DIAL to call a workstation and send it messages. The following
looping program exists on a controller that calls a workstation:
Program File on Controller
Numeric InitResult, DialResult, HangUpResult
...
StartingDial:
DialResult = Dial ("5085551212", Comm1)

‘ Using alternate AT Command


‘ Issue the ATD command, then pause, issue the T command and
‘ pause again…
‘DialResult = Dial ("ATD,T,, 5085551212", Comm1)

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

Plain English Language Reference 7-89


DIAL, continued

Example 1 The program starts by creating a few local numeric variables for holding the
continued 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 GOTO StartingDial


continued
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 InitModem
Keywords HangUp

Products CX series controllers.


Supported

Modes Command lines and programs.


Available

7-92 Andover Controls Corporation


DIFFTIME Function

Format Format 1: DIFFTIME (SECOND, date_time1, date_time2)

Format 2: DIFFTIME (MINUTE, date_time1, date_time2)

Format 3: DIFFTIME (HOUR, date_time1, date_time2)

Format 4: DIFFTIME (WKD, date_time1, date_time2)

Purpose Format 1: Calculates the difference in whole seconds between two dates
and times, date_time1 and date_time2. (Subtracts date_time1 from
date_time2.)

Format 2: Calculates the difference in whole minutes between two dates


and times, date_time1 and date_time2. (Subtracts date_time1 from
date_time2.)

Format 3: Calculates the difference in whole hours between two dates and
times, date_time1 and date_time2. (Subtracts date_time1 from
date_time2.)

Format 4: Calculates and returns the difference in whole days between two
times and dates, date_time1 and date_time2. (Subtracts date_time1 from
date_time2.)

Remarks The date_time is any actual date and time or a datetime variable.

DIFFTIME always subtracts the first datetime from the second one.

With SECOND, any time beyond a complete second is not counted. So,
2 1/2 seconds becomes 2 seconds.

With MINUTE, any time beyond a complete minute is not counted. So,
2 minutes and 15 seconds becomes 2 minutes

With HOUR, any time beyond a complete hour is not counted. So,
2 hours and 15 minutes becomes 2 hours.

Plain English Language Reference 7-93


DIFFTIME, continued

Remarks With WKD, any time beyond a complete day is not counted. So, 2 days and
continued 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 DATE
Keywords DATETIME
STRTODATE
TIME

Alias DT

Products BACnet series, CMX series, CX series, i2 series controllers and


Supported CyberStation.

Modes Command lines and programs.


Available

Plain English Language Reference 7-95


DISABLE Statement

Format Format 1: DISABLE program_name

Format 2: DISABLE point_name

Format 3: DISABLE namelist

Purpose Format 1: Stops running the program named with program name at the
current line and does not allow you to run the program until you enable it
with ENABLE, setting its state attribute to Enabled or through the menus
and windows.

Format 2: Disables a point called "point_name".


Format 3: Stops program control of a list of programs named namelist all at
once, each at the current line.

Remarks Replace program name with any program file name.

Replace point_name with any point, piece of equipment, terminal, computer


or printer.

Replace point_name with any point.

Replace namelist with any list of programs or points as defined above and
separated by commas.

The named program, name, or each item in the namelist must have a
STATE attribute (see page 1-10). The STATE attribute allows the item to be
enabled or disabled.

All disabled items remain disabled until you enable them (see ENABLE
keyword).

7-96 Andover Controls Corporation


DISABLE, continued

Example 1 To stop a blower program named BLOWERPROG that is in the process of


executing, enter the following command:
Command Window
DISABLE THE BLOWERPROG

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

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

Related ENABLE
Keywords

Alias DIS

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

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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

Example 2 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
continued
00 250 SCREEN 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
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 DRAWLINE
Keywords DRAWRECTANGLE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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.

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
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.

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
Begin_Left
00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= 10
• 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
Begin_

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
Bottom
= 100

0 0

00
0
End_Left = 200
End_Bottom

000000000000000000000000000000000000000000000000000000000
= 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 DRAWELLIPSE
Keywords DRAWRECTANGLE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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
Right = 250

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
Left
00
= 10

0 0 0 0 0
000000000000000000000000000000000000000000000000000000000
Bottom Top = 100
= 20

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
DRAWRECTANGLE 10, 10, 100, 100

00 250 Screen 00
00 00
00 00
0 0 0 0 0 0 0 0
0 000000000000000000000 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
00 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 000000000000000000000 0 0 0 0 0 0 0 0 0 0 0
00000000000000000000000000000000000000000000000000000
Figure 7-10. Square drawn with DRAWRECTANGLE

Related DRAWELLIPSE
Keywords DRAWLINE
SETDISPLAY

Products DCX 250 Display Unit


Supported

Modes Programs
Available

7-106 Andover Controls Corporation


ENABLE Statement

Format Format 1: ENABLE program_ name

Format 2: ENABLE point_name

Format 3: ENABLE namelist

Purpose Format 1: Allows the program named by program name to be run by the
RUN or ROTATE statements.

Format 2: Places the point, named by point name in an Enabled state where
it may be used by a program.

Format 3: Allows the listed programs named by namelist to be run by RUN


or ROTATE. Places several items under program control at once, or enables
points.

Remarks Replace program name with any program file name.

Replace point name with any point.


Replace namelist with any list of programs or names, as defined above,
separated by commas.

The named program, name, or each item in the namelist must have a
STATE attribute (see page 1-12). The STATE attribute allows the item to be
enabled or disabled.

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

Plain English Language Reference 7-107


ENABLE, continued

Example 2 When you temporarily disable a point to debug a program, it remains


disabled until you enable it again. You can enter the following as a program
statement or command line:
Program File
ENABLE the Fan

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

Related DISABLE
Keywords

Alias EN

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

Modes Command lines and programs.


Available

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 Without ENDPOLYLINE, BEGINPOLYLINE does nothing.


continued
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

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
shown on Figure 7-11.

00 250 Screen
00
00 00
00 00
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0000000000000000000000000000000000000 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0000000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 00
00 00
00000000000000000000000000000000000000000000000000000
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 BEGINPOLYLINE
Keywords LINEPOINT

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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 FAILURE
Keywords SUCCESS

Products CyberStation
Supported

Modes Programs
Available

7-112 Andover Controls Corporation


EQUALS Operator

Remarks See the IS keyword.

Plain English Language Reference 7-113


ERRORS System variable

Format ERRORS

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

Remarks The controller automatically updates ERRORS. You can only reset it to zero.

The controller increments ERRORS when any of the following occurs:


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

Example Since the ERRORS variable automatically decrements after you


acknowledge an error, the value of the variable should never get very large.

In the sample program below, you set a limit to how many errors can
accumulate and generate a report on all errors if the limit is exceeded:
Program File
IF ERRORS > 10 THEN GOTO Report_Error

7-114 Andover Controls Corporation


ERRORS, continued

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

Modes Command lines and programs.


Available

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 AccessLog
Keywords

Products CMX series and CX series controllers.


Supported

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers (except i2885, i2887, b3885,
b3887), and CyberStation.

Modes Command lines and programs.


Available

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 BACnet series (except b3885, b3887), CMX series, CX series, DCX series,
Supported i2 series controllers (except i2885, i2887), and CyberStation.

Modes Command lines and programs.


Available

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 SUCCESS
Keywords

Products CX series and CyberStation.


Supported

Modes Command lines and programs.


Available

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 Replace array_size_number with a number up to 32,767 that tells the


continued controller how many positions are in the array of file names. Each position in
the array is like a separate FILE variable that corresponds to a single
Windows text file.

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

Line Opening
.
.
Line Working
.
.
Line Closing
.
.

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

7-122 Andover Controls Corporation


FILE, continued

Example 2 In this example, you open the Windows files in the left column below. Each
continued corresponds to the control system software name you created with a local
FILE variable defined in the array, shown in the right column:
Control
Windows File System
File Variable
\text\zone1.txt ZoneData[1]
\text\zone2.txt ZoneData[2]
\text\zone3.txt 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 CLOSEFILE OPENFILE POSITIONFILE


Keywords READFILE WRITEFILE

Products CyberStation
Supported

Modes Programs
Available

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 NOFILL
Keywords SETDISPLAY

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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.

Position of
00 00 00 Position of –1.1 on the number line
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
FLOOR (–1.1)

-4 -3 -2 -1 0 1 2 3 4

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

Related CEILING
Keywords TRUNCATE
ROUND

Plain English Language Reference 7-125


FLOOR, continued

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

Modes Command lines and programs.


Available

7-126 Andover Controls Corporation


FOR..NEXT Statement

Format Format 1: FOR numeric_name = begin TO end


statement
statement
...
NEXT numeric_name

Format 2: FOR numeric_name = begin TO end STEP number


statement
statement
...
NEXT numeric_name

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

Remarks Replace numeric_name with a defined local variable or point that stands for
a number.
The numeric_name after NEXT must be the same as the one after FOR.
Replace statement with any complete instruction that tells the program what
to do next or what action to take.
Replace begin with an integer expression.
Replace end with an integer expression.
number tells the amount to increase numeric_name by each time the
controller goes through the loop.

A FOR..NEXT loop looks like this:

FOR Count = 2 TO 10 STEP 2


Print Count, " ";
Print (10 + Count)
NEXT Count

Plain English Language Reference 7-127


FOR..NEXT, continued

Remarks The statement sets the value of the numeric_name to the begin value, then
continued carries out the statements after FOR until it reaches NEXT. At NEXT, the
program goes back to FOR and gets the next value of numeric_name by
adding number to begin.

Here, since begin is 2, end is 10, and number is 2, the numeric_name (often
called the “counter”) counts 2, 4, 6, 8, 10. The first time through the loop
numeric_name is 2, the second time it is 4, and so on.

As long as numeric_name is less than or equal to end, the statements inside


the loop are carried out. When numeric_name is greater than end the
program then goes to the statement after NEXT.

Here is the output printed by the loop above:

2 12
4 14
6 16
8 18
10 20

If you do not specify a STEP number, the name automatically increases by


one (increment) each time the loop executes.

The step may also be a negative step, taking the value of the name from a
begin of, for instance, 10 to an end of 1 by a number of –1.

The setting of counter numeric_name cannot be changed from within the


loop.

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

7-128 Andover Controls Corporation


FOR..NEXT, continued

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

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

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

Plain English Language Reference 7-129


FOR..NEXT, continued

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

Related BREAK, CONTINUE


Keywords

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, and TCX series controllers.

Modes Command lines and programs.


Available

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 DeleteExtLog
Keywords UpdateExtLog

Products CyberStation
Supported

Modes Programs
Available

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 Endif
continued 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 BACnet series (except b3885, b3887), CX series, CMX series, i2 series
Supported controllers (except i2885, i2887), and CyberStation.

Modes Programs
Available

7-138 Andover Controls Corporation


GetObject Function

Format Format 1: GETOBJECT ( object_var )

Format 2: GETOBJECT ( member_object_var )

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

Remarks The object_var is a local OBJECT variable you defined with the
OBJECT statement.

Returns SUCCESS or FAILURE. After it gets the last object in the list of
that object class, GETOBJECT returns FAILURE.

See the related keywords for details on how to open and close the lists.

Format 2 is available only on a workstation.

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

Plain English Language Reference 7-139


GetObject, continued

Example 1 IF VavPoint State Is Disabled THEN


continued 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 This program checks the state of each program it retrieves from a particular
continued 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 Line OpenVavPoints


continued
.
.
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 CloseList
Keywords OBJECT
OpenList

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

Modes Programs
Available

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 Line Heating


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

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

Related BASEDON..GOTO
Keywords LINE

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

Modes Programs
Available

7-146 Andover Controls Corporation


Section 5 Keywords H through N

HangUp Function

Format Format 1: HangUp (commport)

Format 2: HangUp ( )

Format 3: HangUp (commport)

Purpose Format 1: From a program, using the comm port you indicate, hangs up on
the Infinity modem connection. The Infinity modem is on the comm port.

Format 2: From a program, hangs up on the Infinity modem connection.


Determines the comm port based on the DefaultPort attribute for the
program.

Format 3: From the Command line on a terminal, hangs up on the Infinity


modem connection over the comm port you give.

Remarks HangUp applies only on a controller with an Infinity modem.


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

Plain English Language Reference 7-147


HangUp, continued

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

7-148 Andover Controls Corporation


HangUp, continued

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

CAUTION
!! If you attempt to use CLOSE instead of hanging
up while the port is connected using DIAL, CLOSE
is successful, but the phone does not disconnect.
If you do not HangUp, the line is still open and you
are still paying for the connection

Hanging Up While InitModem is in Process


If you use HangUp or CLOSE while the InitModem keyword is preparing the
modem for communication, the controller ignores these two statements.

Plain English Language Reference 7-149


HangUp, continued

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

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

7-150 Andover Controls Corporation


HangUp, continued

Example 2 Program File


continued 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 DIAL
Keywords CLOSE
OPEN
READ
InitModem
WRITE

Products Available only on CX and CMX series controllers.


Supported

Modes Command lines and programs.


Available

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 HOUR MINUTE


Keywords SECOND TOD

Alias HOUROFDAY

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

Modes Command lines and programs.


Available

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 HOD
Keywords MINUTE
SECOND
TOD

Alias HR

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

Modes Command lines and programs.


Available

7-154 Andover Controls Corporation


IF..THEN..ELSE Statement

Format Format 1: IF expression THEN statement

Format 2: IF expressionTHEN
statement
statement
statement
.
.
ENDIF

Format 3: IF number THEN statement ELSE statement

Format 4: IF expression THEN


statement
statement
statement
.
.
ELSE
statement
statement
statement
.
.
ENDIF

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

Plain English Language Reference 7-155


IF..THEN..ELSE, continued

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

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

Purpose Carries out a given statement or series of statements if the expression is true.

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

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

Actions For all formats, the following action takes place:


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

7-156 Andover Controls Corporation


IF..THEN..ELSE, continued

Example of To take a single action if the expression is true, you use Format 1, the single-
Format 1 line 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 To take several actions if the expression is true, and take no action if it is
Format 2 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 To take a single action if an expression is true and another single action if it
Format 3 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 To take several actions if the expression is true or take several others if it is
Format 4 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 IF statements may be included (nested) within other IF statements.


Nested IFs
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 Notice that each IF ends with an ENDIF. The inner (indented) ENDIF goes
Nested Ifs with the inner IF and ELSE, the outer ENDIF with the outer IF and ELSE.
continued
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 Take a look at the following statement with an IF after THEN:


IF Statement
Program File
after THEN
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 self-


contained 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 Program File


Nonzero Value IF 10 THEN Start Burner
number 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 AND
Keywords IS. . .
OR

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

Modes Command lines and programs.


Available

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 CX series controllers and CMX 9924 controller.


Supported

Related SELECT..CASE
Keywords

Modes Command lines and programs.


Available

7-162 Andover Controls Corporation


InitModem Function

Format Format 1: InitModem (commport)

Format 2: InitModem ( )

Format 3: InitModem (commport)

Purpose Format 1: From a program, initializes the Infinity modem so it can connect
from a controller (often at a remote site) to another device, usually a
workstation.

Format 2: From a program, initializes the Infinity modem so it can


connect from a controller (often on a remote network) to another device,
usually a workstation, using a default commport.

Format 3: From the Command line on a terminal, initializes the Infinity


modem so it can connect from a controller (often on a remote network) to
another device, usually a workstation.

Remarks
Before you can dial a call over a modem through a comm port, the modem
must be correctly set up. To set the modem up correctly is to initialize it. To
correctly initialize the port every time, use InitModem rather than setting the
comm port attributes for the modem.

InitModem applies only on a controller with an Infinity modem.

The controller may also connect over a modem to a third-party controller


with an ASCII interface, another Andover controller, a terminal, or a printer.

Replace commport with a Controller port that physically connects to the


modem. (Optional in a program.) The DefaultMode and Mode attributes of
the port must be set to AutoSet or Printer. If, in a program, you do not
indicate the comm port, InitModem uses the default port you set at the top of
the program or in the File Configuration window. From the command line,
you must indicate the comm port. If the port is in Printer mode when
InitModem tries to initialize it, all characters waiting to print are discarded.

Plain English Language Reference 7-163


InitModem, continued

Remarks InitModem automatically sets the following attributes of the port:


continued
Attribute Setting
TrackCXD True
Baud Equal to the DefaultBaud attribute of the port.
Parity None
StopBits StopBit1
DataLength DataBits8
FlowControl CtsRts
DTR On

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

CAUTION
!! Be careful not to use IinitModem to initialize Comm3 of
a controller if you want to keep that port set up for a
terminal since Comm3 does not automatically revert to
the terminal settings if the the controller resets.
To revert Comm3 to its original settings after initializing
it, you must manually set the FlowControl attribute of
Tffsasfff
Comm3 to NoFlowControl either before or after you
reset the controller.
If you do not change FlowControl, Comm3 remains set
at CtsRts.

When you use InitModem, it returns right away, before the initialization is
actually complete. For this reason, you should wait up to 10 seconds before
checking for the result of InitModem (or before taking the next action if you
used it from the Command line).

While initializing the port, InitModem momentarily puts the port in Raw
mode and then returns it to its DefaultPort mode. You cannot use PRINT or
READ after InitModem. Instead, you must wait until the comm port returns
to its original DefaultMode setting and then use DIAL or UpDate.

7-164 Andover Controls Corporation


InitModem, continued

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

CAUTION
!! While Raw mode is temporarily in effect, you
cannot use READ to receive data from the port or
PRINT to send data to the port. If you do use them,
READ and PRINT both return failures.

InitModem can return one of the following results:


• Success when the modem has been initialized successfully.
• Failure when one of the following situations exists:
Comport is not in the correct mode.
Default port is not defined.
Modem initialization failed.
The modem AT commands that InitModem executes for you are
listed below.
Command Resulting Action
AT&F Sets all modem setting to factory defaults.
ATE Turns off screen display of commands and responses.
ATV Enables short-form result codes.
AT&C1 Sets CXD (DCD) to ON while carrier is present; to OFF if it is not.
AT&D3 If DTR drops (becomes OFF), hang up the phone and reset the
modem.
AT&S1 Activates DSR when connection has been established.
ATS0=1 Sets the modem to answer automatically after one ring.
AT\N3 Sets autoreliable mode to ON, turning on MNP error correction
protocols.
AT\A3 Sets the maximum block size in MNP to 256.
AT%E1 Monitors line quality and automatically falls back/forward in error
correcting mode.
AT%C1 Turns on the modem's MNP5 data compression/error correction
protocol.
ATX3 Monitors busy signals. Sends only OK, Connect, Connect XXXX,
Ring, No Carrier, Error, No Dialtone, No Answer
AT&W Stores the current modem setup in memory.

Plain English Language Reference 7-165


InitModem, continued

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

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

7-166 Andover Controls Corporation


InitModem, continued

Example 2 Program File


continued 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 DIAL
Keywords HangUP

Products Available only on CX series controllers.


Supported

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

7-168 Andover Controls Corporation


IS… Operator

Format Greater-than-expression:
number > number
number IS GREATER THAN number
number IS ABOVE number

Greater-than-or-equal-to-expression:
number > = number
number IS GREATER THAN OR EQUAL TO number

Less-than-expression:
number < number
number IS LESS THAN number
number IS BELOW number

Less-than-or-equal-to-expression:
number <= number
number IS LESS THAN OR EQUAL TO number

Equal-expression:
number = number
number IS number
number IS EQUAL TO number
number EQUALS number

Not-equal-expression:
number < > number
number IS NOT number
number IS NOT EQUAL TO number
number DOES NOT EQUAL number

List-inclusion-expression:
number IS IN list
number IS range (see range-expression below)
number IS EITHER list

Plain English Language Reference 7-169


IS…, continued

Format
List-exclusion-expression:
continued
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 Program File


continued 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 AND
Keywords IF..THEN..ELSE
OR
WHILE

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

Modes Command lines and programs.


Available

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 BACnet series, SCX 900 and 920, i2 series, and LCX 810 controllers (with
Supported keypads only).

Modes N/A
Available

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 ACX series, BACnet series (except b3885, b3887), CX series, DCX 250, i2
Supported series controllers (except i2885, i2887), and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series (except b3885, b3887), CMX series, CX series,
Supported DCX 250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes Command lines and programs.


Available

7-176 Andover Controls Corporation


LINE Statement

Format Format 1: LINE linename

Format 2: linename:

Format 3: LINE integer

Format 4: integer:

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

Remarks Replace linename with any single character or word that is not a keyword,
except:
• C (reserved)
• E (used for error detection)
Note: On CX series and CMX series controllers, and CyberStation you may
label a line LINE E and the program automatically goes to that line when an
error occurs. (See Example 5.)

The line name can contain up to 16 characters, each an alphanumeric,


underscore, or period character.

You must begin the name with an alphabetic character. In the GOTO
statement, the label must be spelled exactly as it is in the LINE statement,
only you may interchange upper- and lowercase.

Replace integer with a single whole number, except zero (0). LINE 0 is
predefined for stopping the program, so you may not label a line LINE 0, but
you can use GOTO line 0 to stop a program.

Format 2 is the linename followed by a colon (:) on its own


line.

Plain English Language Reference 7-177


LINE, continued

Remarks Format 4 is the integer followed by a colon (:) on its own line. In this case,
continued 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 Line PrintMenus


continued 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 BASEDON..GOTO
Keywords GOTO (can also use LINE with GOTO)
ROTATE
RUN

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

Modes Programs
Available

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 Second, you must have a BEGINPOLYLINE statement.


continued
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
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
ENDPOLYLINE

00 250 SCREEN 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
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
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
ENDPOLYLINE

00 250 SCREEN 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
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 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
continued
0 0
00 00
250 SCREEN

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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00
0 0
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 You can also label the graph and add scales as described under the LOCATE
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
keyword.

0 0
00 250 SCREEN
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
00 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
000000000000000000000000000000000000000000000000000000000000
Figure 7-16. Expanded vertically centered graph drawn with LINEPOINT
using and array of values.

Related BEGINPOLYLINE
Keywords ENDPOLYLINE
LOCATE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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 ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series,
Supported SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

7-188 Andover Controls Corporation


LOAD Statement on controller

Format Format 1: LOAD

Format 2: LOAD -o

Format 3: LOAD -m

Format 4: LOAD -o -m

Purpose Note: You must use this statement on a computer attached to a comm port
on the CX series controller. The computer must be running a terminal
emulation program, such as HyperTerminal. For information about how to
use LOAD on a CyberStation, see the next LOAD (Statement on
workstation) keyword description on page 193.

Note: Restricted to users with administration level access.

Loads a saved file (called a “dump” file) from a disk into the controller. The
dump file is an appropriately formatted ASCII file (see Appendix A) that
you usually create using the SAVE command (see the SAVE keyword). You
can also create a dump file manually, if you want.

Format 1: Does not erase any points, files, or other items (objects) already
on the controller, but loads information alongside them.

Format 2: Updates any existing points or creates points, files, or other items
on the controller using the information from the dump file. The “o” stands
for “overwrite.” Overwriting is similar to recording over information on a
tape recorder.

Format 3: While loading, sends messages about any errors that occur to a
Messages window. The "m" stands for "message".

Format 4: While loading, erases any points, files, or other items on the
controller and replaces them with information from the dump file and also
displays messages about errors that occur. The messages appear in the
Messages window.

Plain English Language Reference 7-189


LOAD (controller), continued

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

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

7-190 Andover Controls Corporation


LOAD (controller), continued

Example 2 In the following example, you load a dump file from a disk into the
controller to replace any points, programs, or other items (objects) on the
controller with information from the dump file:
Command Line window on controller
LOAD –o

On the terminal, within 60 seconds you type a command to send the file
from the communications package on the computer. The command is
determined by the communications package used. The following is an
upload command from HyperTerminal:
Host Computer Running HyperTerminal
upload C: ctrlinfo

Example 3 In the following example, while the dump file or database reloads into the
controller, the controller sends messages to the Messages window:
Command Line window on controller
LOAD –m

On the terminal, within 60 seconds you type a command to send the file
from the communications package on the computer. The command is
determined by the communications package used. The following is an
upload command from HyperTerminal:
Host Computer Running HyperTerminal
upload C: ctrlinfo

Example 4 In the following example, the dump file replaces any points, programs, or
other items on the controller with information from the file, and the
controller sends messages to the Messages window on the terminal during
the reload.

Plain English Language Reference 7-191


LOAD (controller), continued

Example 4
Command Line window on controller
continued
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 SAVE
Keywords

Alias RELOAD

Products CX series controllers and CM X220.


Supported

Modes Command lines.


Available

7-192 Andover Controls Corporation


LOAD Statement on workstation

Format Format 1: LOAD object_list -o

Format 2: LOAD object_list -c -o

Format 3: LOAD object_list any_combination_of_options -o

Format 4: LOAD filename -u -a -o -x

Purpose Note: You must use this statement on a workstation. running CyberStation
software. The workstation must store the database or be networked to a
server that stores the database

For information about how to use LOAD on a terminal connected to a CX


series or CMX 220 controller, see the previous keyword description on
page189.

On a CyberStation, you use this command to reload a controller using


information you have saved and stored in the database on the server.

Format 1: Updates any existing points or creates points, files, or other items
on the controller using the information from the dump file. The “o” stands
for “overwrite.” Overwriting is similar to recording over information on a
tape recorder.

Format 2: Loads the information you indicate but first displays a window
where you confirm your choice of controllers to reload. The “c” stands for
“confirm.” When you use LOAD from the command line, you do not have to
use this format; LOAD automatically gives you the confirmation window. If,
however, you use LOAD in a program, to have a confirmation window
appear, you must use this format.

Format 3: Loads the information you indicate using any combination of the
“options” from the above formats: –c (confirm). The –o (overwrite) is
always required.

Plain English Language Reference 7-193


LOAD (workstation), continued

Purpose Format 4: Loads a filename with either a .CSV (Comma Separated


continued 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 SAVE
Keywords

Alias RELOAD

Products CyberStation
Supported

Modes Command lines and programs.


Available

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 Notice that you do not need the parentheses in this case, because LOCATE is
continued 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 250 SCREEN 00
00 00
00 00 0 0 0 0 0 0 0 0 00 00
00 0 0 0
0000000000 0000 0 0 0 0 0
OPEN VALVE
0 0 0 0 0 00
0 00 00 00 00 00 00 00 00 00 00 0 0 0 0 0
Lower left corner at 125, 105
0
00 00
00 0 0 0 0 0 0 0 0 0 0
CLOSE VALVE
0 0 0 0 00
Lower left corner at 125, 85

0 0
000000000000000000000000000000000000000000000000000000000000
Figure 7-17. Using the LOCATE function to label buttons.

Example 2 Suppose you want to put labels on a graph, such as the one discussed in
Example 3 of the LINEPOINT keyword. You use LOCATE to first position
the title of the graph, then locate the temperature labels, as follows:
Program File
SETDISPLAY (BLUE)
LOCATE 20, 150
PRINT "Outside Air Temp–Occupied Hours"
SETDISPLAY (NOFILL)
BEGINPOLYLINE
FOR INDEX = 1 to 5
LINEPOINT INDEX *20, OUTSIDEAIR[INDEX] * 2
NEXT INDEX

7-198 Andover Controls Corporation


LOCATE, continued

Example 2 ENDPOLYLINE
continued LOCATE 20, 130
PRINT "70"
LOCATE 20, 100
PRINT "50"
LOCATE 20, 70
PRINT "30"
LOCATE 35, 45
PRINT " 8 10 12 14 16"
DRAWLINE 30, 42,110, 42
DRAWLINE 30, 42, 30, 145

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
The title appears where you position the text as shown in Figure 7-18.

00 250 SCREEN 00
0 0 0
00 0
Outside Air Temp–Occupied Hours 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70 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
00 00 0000000 00
50

0 0 0 0 0 0 0
30
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
8 10 12 14 16

0 0
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 PRINT
Keywords

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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 ACX series, BACnet series (except b3885, b3887), CX series, DCX 250, i2
Supported series (except i2885, i2887), LCX series, SCX series, TCX series controllers,
and CyberStation.

Modes Command lines and programs.


Available

Plain English Language Reference 7-201


MAXIMUM Function

Format Format 1: MAXIMUM (numeric_list)

Format 2: MAXIMUM (numeric_log)

Format 3: MAXIMUM (numeric_array)

Purpose Format 1: Finds the maximum number in a list of numeric values.

Format 2: Finds the maximum number in a numeric log.

Format 3: Finds the maximum number in a numeric array.

Remarks Replace numeric_list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains numbers.

Items in the list must all be either numeric expressions, numbers, or variables
that contains numbers.

If any of the items in the list in Format 1 is an array or a log but does not
indicate an element number, the controller retrieves the current value of the
point and treats it like any other single item in the list.

Example 1 The MAXIMUM function finds the maximum number in a list of variables
as follows:
Program File
TOPNUMBER = MAXIMUM (ZONE1, ZONE2, ZONE4)
The TOPNUMBER variable is assigned the maximum value found.

7-202 Andover Controls Corporation


MAXIMUM, continued

Example 2 You have a log called AV.TEMP that holds the average temperature for each
of the last five days. You can use the MAXIMUM function to find the
maximum temperature:
Program File
WKLYMAX = MAXIMUM (AV.TEMP)

If AV.TEMP contains 110, 114, 112, 108, 109, MAXIMUM returns 114 and
the program statement sets WKLYMAX to 114.

Example 3 You can find the maximum number of kilowatts in the array of variables as
follows:
Program File
TOP = MAXIMUM (KW)

Example 4 You find the highest of several temperatures, including the current value of
TEMPLOG, as follows:
Program File
HOURLYAVG = MAXIMUM (TMP801, TMP802, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

Alias MAX

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

Modes Command lines and programs.


Available

Plain English Language Reference 7- 203


MAXITEM Function

Format Format 1: MAXITEM (numeric_list)

Format 2: MAXITEM (numeric_log)

Format 3: MAXITEM (numeric_array)

Purpose Format 1: Finds the position (in a list) of the largest number. For instance,
returns 1 if the largest number is the first one in the list.

Format 2: Finds the index position of the largest number in the log.

Format 3: Finds the index position of the largest number in the array.

Remarks Replace numeric_list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains numbers.

If any of the items in the list in Format 1 is an array or a log, the controller
retrieves the first item from the array or log and treats it like any other single
item in the list.

Example 1 To find the position of the largest number in a series of numbers, you enter
the series in the parentheses:
Program File
TEMP1 = 60
TEMP2 = 65
TEMP 3 = 70
TEMP 4 = 67
MAXITEM (TEMP1, TEMP2, TEMP3, TEMP4)

The MAXITEM statement returns 3, because the third item in the list
contains the largest number.

7-204 Andover Controls Corporation


MAXITEM, continued

Example 2 To find the index position of the largest number in a log, you give the log
name in parentheses:
Program File
MAXITEM (TEMP)

Example 3 To find the index position of the largest number in an array, you give the
array name in parentheses:
Program File
MAXITEM (KW)

Example 4 You find the position of the highest of several temperatures in a list,
including the current value of TEMPLOG, as follows:
Program File
HOURLYAVG = MAXITEM (TMP801, TMP802, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

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

Modes Command lines and programs.


Available

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 STATUSLINE
Keywords

Products CyberStation
Supported

Modes Command lines and programs.


Available

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 ACX 781 controller.


Supported

Modes Command lines and programs.


Available

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 BACnet series (except b3885, b3887), CX series, CMX series, DCX 250, i2
Supported series controllers (except i2885, i2887), and CyberStation.

Modes Command lines and programs.


Available

Plain English Language Reference 7- 209


MINIMUM Function

Format Format 1: MINIMUM (numeric_list)

Format 2: MINIMUM (numeric_log)

Format 3: MINIMUM (numeric_array)

Purpose Format 1: Finds the minimum number in a list of numeric values.

Format 2: Finds the minimum number in a numeric log.

Format 3: Finds the minimum number in a numeric array.

Remarks Replace numeric_list with one or more numbers or names that stand for
numbers.

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains numbers.

Items in the list must all be either numbers, numeric expressions, or variables
that contains numbers.

If any of the items in the list in Format 1 is an array or a log but does not
indicate an element number, the controller retrieves the current value of the
point and treats it like any other single item in the list.

Example 1 The MINIMUM function finds the minimum number in the following list of
variables:
Program File
BOTNUMBER = MINIMUM (ZONE1, ZONE2, ZONE3, ZONE4)
The BOTNUMBER variable is assigned the minimum value found.

7-210 Andover Controls Corporation


MINIMUM, continued

Example 2 Suppose you have a log or array called AV.TEMP that holds the average
temperature for each of the last five days. You can use the MINIMUM
function to find the minimum temperature:
Program File
WKLYMIN = MINIMUM (AV.TEMP)
If AV.TEMP contains 110, 114, 112, 108, 109, MINIMUM returns 108 and
the program statement sets WKLYMIN to 108.

Example 3 You can find the minimum number of kilowatts in the array of variables as
follows:
Program File
BOTTOM = MINIMUM (KW)

Example 4 You find the minimum of several temperatures, including the current value
of TEMPLOG, as follows:
Program File
HOURLYAVG = MINIMUM (TMP801, TMP802, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

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

Modes Command lines and programs.


Available

Plain English Language Reference 7- 211


MINITEM Function

Format Format 1: MINITEM (numeric_list)

Format 1: MINITEM (numeric_log)

Format 1: MINITEM (numeric_array)

Purpose Format 1: Finds the position (in a list) of the smallest number. For instance,
returns 1 if the smallest number is the first one in the list.

Format 2: Finds the index position of the smallest number in the log.

Format 3: Finds the index position of the smallest number in the array.

Remarks Replace numberic_list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains numbers.

If any of the items in the list in Format 1 is an array or a log, the controller
retrieves the first item from the array or log and treats it like any other single
item in the list.

Example 1 To find the position of the smallest number in a series of numbers, you enter
the series in the parentheses:
Program File
TEMP1 = 60
TEMP2 = 65
TEMP 3 = 70
TEMP 4 = 67
MINITEM (TEMP1, TEMP2, TEMP3, TEMP4)

The MINITEM statement returns 1, because the first item in the list contains
the smallest number.

7-212 Andover Controls Corporation


MINITEM, continued

Example 2 To find the index position of the smallest number in a log, you give the log
name in parentheses:
Program File
BOTNUMBER = MINITEM (TEMP)

Example 3 To find the index position of the smallest number in an array, you give the
array name in parentheses:
Program File
BOTNUMBER = MINITEM (KW)

Example 4 You find the position of the lowest of several temperatures in a list,
including the current value of TEMPLOG, as follows:
Program File
HOURLYAVG = MINITEM (TMP801, TMP802, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

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

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 The TEMP.CHECK and TEMP.REPT programs now run at 30 minutes after
continued 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 HOD
Keywords HOUR
SECOND
TOD

Alias MIN

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

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 Line TurnOffModem


continued 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 PowerFail
Keywords CPUPower
DCXPower
MicroPower

Products CX series, and CMX series controllers.


Supported

Modes Command lines and programs.


Available

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 Short Name Long Name


1 JAN January
2 FEB February
3 MAR March
4 APR April
5 MAY May
6 JUN June
7 JUL July
8 AUG August
9 SEP September
10 OCT October
11 NOV November
12 DEC December

Example 1 You can use the spelled out (long) names for printing or for comparing to an
actual month:
Program File
IF MONTH Is December THEN Print MONTH
Output
December

7-220 Andover Controls Corporation


MONTH, continued

Example 2 You can use the short names for comparing the month:
Program File
IF MONTH Is Either JUN, JUL, AUG, OR SEP THEN….

Example 3 You can use the constants 1 through 12 for comparing the month:
Program File
IF MONTH Is 2 THEN….

Alias MTH

Related DAYOFMONTH
Keywords DAYOFYEAR
YEAR

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

Modes Command lines and programs.


Available

Plain English Language Reference 7- 221


MOVE Statement

Format Format 1: MOVE output_point_list TO number

Format 2: MOVE output_point_list TO number %

Purpose Set the point or points in output_point_list to number.

Remarks Replace output_point_list with one or more output point names or variables
with commas between them. Top and bottom of scale must be set for each
point.

Replace number with any number or expression, including a date and time
or name that stand for one.

MOVE converts engineering units to electrical units to control the output


point, using the top and bottom of scale for that point.

The percent sign is optional.

Example 1 If Valve2 has engineering units of 0 to 90 degrees, and the corresponding


electrical units are 0 to 20 mA, when you move the setting of Valve2 to 45, it
sets to 10 mA. To have the engineering units automatically converted to
electrical units, you use MOVE as follows:
Program File
MOVE Valve2 To 45

Example 2 For this valve, assume engineering units of 0 to 1 where 0 is closed and 1 is
open and corresponding electrical units of 0 to 20 mA. Moving the setting
of Valve2 to 50% gives .5. At .5, the valve is set to the corresponding value
of 10 mA.
Program File
MOVE Valve2 To 50%

7-222 Andover Controls Corporation


MOVE, continued

Related SET
Keywords

Alias MODULATE

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

Modes Command lines and programs.


Available

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 CX series, CMX series controllers.


Supported

Modes Command lines and programs.


Available

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 FILL
Keywords SETDISPLAY

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 DATETIME
Keywords STRING

Alias NUMBER

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

Modes Programs
Available

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 STRTONUM
Keywords

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

Modes Command lines and programs.


Available

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 CLOSELIST
Keywords GETOBJECT
OPENLIST

Products BACnet Series, CMX series, CX series, i2 series controllers, and


Supported CyberStation.

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 In the situation shown in this example, you can check to be sure OPEN was
continued successful before performing Commport operations.

Related CLOSE
Keywords PRINT
READ

Products CX series controllers.


Supported

Modes Programs
Available

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 Print "File Open Failed"


continued 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 Program File


continued 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 CLOSEFILE FILE POSITIONFILE READFILE


Keywords WRITEFILE FAILURE SUCCESS

Products CyberStation.
Supported

Modes Programs
Available

7-240 Andover Controls Corporation


OpenList Function

Format OpenList ( class, object_var, controller_or_site )

Purpose Opens a list of all the objects in the class you give on the controller you
indicate. The list is always of the particular class of objects you give.

Remarks Replace class with the name of the class (type) of objects you want in the list
or string variable that contains the name. If you give the actual class, it must
be in quotation marks. The class name must be spelled correctly (see list
given on the next page).

Replace object_var with a local OBJECT variable you defined earlier with
the OBJECT statement. The variable cannot stand for an already opened list.

Replace controller_or_site with a name or path to a particular controller or


workstation on the EnergyNet or Infinet or a local OBJECT variable that
stands for one. If you do not give a name or path, the control system
software assumes you mean the workstation or controller you are connected
to. Or, if you give the Network, Device or Folder class and no controller, the
control system software assumes you mean the root level.

Returns SUCCESS or FAILURE.

Plain English Language Reference 7 - 241


OpenList, continued

Remarks The classes are each spelled a particualr way and are listed below.
continued
AccessEvent DigitalInput Group MultistateOutput
ActivityEvent DigitalOutput GroupMember MultistateValue
ACXList DistributionBatch ImExportRef Network
AlarmEnrollment DistributionObject InfinityController NetworkDialup
AlarmEvent Door InfinityDateTime Numeric
AlarmInfo DoorList InfinityFunction ParamInfo
AnalogInput ElevatorInfo InfinityInfinetCtlr Personnel
AnalogOutput ErrorEvent InfinityInput Program
Area EventEnrollment InfinityNumeric RootClass
AreaLink EventLogControl InfinityOutput Schedule
BinaryValue EventNotification InfinityProgram SecurityLevel
ClassName EventView InfinityString SecurityLink
CommPort Filter InfinitySystemVariable ShortCut
ControllerUser Folder IOUModule String
DateTime Function ListView 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 Program File


continued 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 IF Index <= 2 THEN GOTO OpenPoints ELSE GOTO Done


continued
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 If you wanted all controllers and workstations on all sites, you would have to open the
continued 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 CheckProg:
continued 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 If the GETOBJECT successfully retrieves the Infinet controller, the control
continued 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

Get
Close No EnergyNet
EnergyNet Controller ?

Yes

Open Infinet
List

Get
Infinet No Close Infinet
Controller ? List

Yes

Open
Program List

Get
No Another
Close
Program List 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 GetObject
Keywords Object
CloseList

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

Modes Programs
Available

7-252 Andover Controls Corporation


OR Operator

Format Format 1: number OR number

Format 2: namelist OR final_name

Purpose Format 1: Provides the logical OR between two expressions.

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

Remarks Replace number with any number, name that stands for a number, formula
or function that gives a number.

Replace namelist with one or more names with commas between them.

Replace final_name with a single name at the end of a series of names.


OR with the last name is optional.

The controller carries out all other operations (such as adding and
subtracting) before it acts on OR (or AND).

In Chapter 6 under "Order of Action" the listing compares the order the
system software acts on all operators. Because OR (and AND) are acted on
last, you can form logical statements without using too many parentheses.
See Example 4 for how to use AND and OR together.

The exclamation mark (!) is the alias for the logical OR only.

Example 1 To take an action only if one of several conditions exist, you use OR
between the numbers, so if one of them is true, the resulting action occurs:
Program File
IF the Heat is On OR the Cool is On THEN…
Notice that in the above statement, you could substitute exclamation mark (!)
for OR.

Plain English Language Reference 7 - 253


OR, continued

Example 2 To put a list in an IF statement, you may use an OR between the last two
names in the list:
Program File
IF the Zone is Warming, Occupied OR LowTemp THEN…
You may not use the exclamation mark (!) for OR in a series. You may,
however, leave out OR as follows:
IF the Zone is Warming, Occupied, LowTemp THEN...

Example 3 You can also combine the logical OR with a name list containing an OR
(with or without the comma before OR) as follows:
Program File
IF the Zone is Warm, Occupied OR Low OR Heat is Off THEN…
IF the Zone is Warm, Occupied, OR Low OR Heat is Off THEN…

The system software always interprets the first OR as the list OR and the
second as the logical OR. If you want to reverse the order of the statement,
use parentheses, as follows:
IF (Heat is Off) OR Zone is Warming, Occupied, OR LowTemp
THEN...

Example 4 If OR occurs before AND, the system software interprets OR first because it
works from left to right on AND and OR. For instance, take this statement:
Program File
IF WKD = Sat OR WKD = Sun AND TOD > 900 THEN…
The above statement is interpreted so that the items in parentheses below are
calculated first:
IF (WKD = Sat OR WKD = Sun) AND TOD > 900 THEN…
If AND occurs before OR, the controller interprets AND first:
IF TOD > 900 AND WKD = Sat OR WKD = Sun THEN…
is interpreted as:
IF (TOD > 900 AND WKD = Sat) OR WKD = Sun THEN…

7-254 Andover Controls Corporation


OR, continued

Related AND
Keywords IF..THEN..ELSE
IS…

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

Modes Command lines and programs.


Available

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 B4920, CMX series, CX series, BACnet series controllers, i2 series


Supported controllers, and CyberStation.

Modes Command lines and programs.


Available

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 ARG
Keywords

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

Modes Programs
Available

7- 258 Andover Controls Corporation


PlayAudio Statement

Format Format 1: PlayAudio file

Format 2: PlayAudio file, playback_mode

Purpose Plays a prerecorded audio sample on the CyberStation.

Format 1: Plays a prerecorded audio sample on the CyberStation one


time only.

Format 2: Plays a prerecorded audio sample on the CyberStation either once


or continuously, depending on the playback_mode you indicate.

Remarks The PlayAudio keyword is available only on the CyberStation.

Replace file with the name and path of any * .wav prerecorded audio sample.
The file name and path must be in quotation marks.

Replace playback_mode with either PlayOnce or PlayContinuous.

PlayOnce plays the prerecorded audio sample one time only. The PlayAudio
keyword defaults to this value, so the audio sample plays only once if you
omit PlaybackMode altogether.

PlayContinuous plays the prerecorded audio sample continuously until you


click on the Silence menu in the Active Alarms window.

Example 1 You may want to play a prerecorded audio sample from the command line
on the CyberStation. To play the audio sample in the buzzer.wav file one
time only, use PlayAudio as follows:
Command Line
PlayAudio "buzzer.wav"

Plain English Language Reference 7- 259


PlayAudio, continued

Products Cyberstation
Supported

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CX series, DCX 250, i2 series, LCX series,
Supported SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 Text File PositionFile sets up


continued ReadFile to begin
10:12 Building2 Room8 reading here, at
11:26 Building1 Room6 character eight.
12:35 Building2 Room3

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 GOTO Closing


continued 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 CloseFile
Keywords FILE
OpenFile
ReadFile
WriteFile
FAILURE
SUCCESS

Products CyberStation.
Supported

Modes Programs
Available

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 PowerUpTime
Keywords CPUPower
ModemPower

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

Modles Command lines and programs.


Available

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 POWERFAIL
Keywords

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

Modes Command lines and programs.


Available

Plain English Language Reference 7- 267


PRINT Statement

Format Format 1: PRINT string

Format 2: PRINT list

Format 3: PRINT string_format, list

Format 4: Any of formats 1 through 3 above TO commport

Format 5: Any of formats 1 through 3 above ; TO commport

Format 6: Any of formats 1 through 3 above TO string_point_or_variable

Format 7: Any of formats 1 through 3 above TO file_variable

Purpose Prints a series of characters (text strings, often called simply “strings”) to the
printer, string object or message window on the given communications port.

You may also “print” into a string point or local variable to fill it with a
string of text or numbers. In addition, on the CyberStation, you can print into
an ASCII file.

Format 1: Prints a string of text to the default comm port of the program or
report.

Format 2: Prints the values of one or more variables, points, constants, or


other expressions representing a value. The list can contain different types of
items.

Format 3: Prints the variables, points, or other expressions in the list in the
format you specify.

Format 4: Prints any of formats 1 through 3 above from a controller to a


command terminal or printer you specify (excluding printer queues).
Note: For a controller to print to a modem, you must first use OPEN to open
the port (see OPEN keyword).

7- 268 Andover Controls Corporation


PRINT, continued

Purpose Format 5: Prints any of formats 1 through 3 above, printing the next PRINT
continued 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 Replace string_point_or_variable with any defined string point or string


continued 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 You may choose the layout of the print line and indicate it using the
Characters following special symbols:
Symbol 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.
⏐numeric_ constant 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 WARNING-Trouble on the
Floor!" 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 The temperature is 75.0


⏐##:##:##", Temp4, Hour, Minute, Second 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; Tuesday January 2


PRINT " "; / Prints all text and spaces on the
PRINT MONTH; same line because each PRINT
PRINT " "; statement ends with a semicolon
PRINT DAYOFMONTH (;).

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 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 ⏐$###," The Fan Status is ON


FANSTATUS / Prints ON, -ON, or OFF for a
digital or tristate point, left-
justifying On in the format.

10 PRINT "The Damper Setting is ⏐##.##", The Damper Setting is


DAMPER 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 "⏐@@@@@@@@@@@@@@", Heater Failed! / The


STRMSG TO BUILDING1 CONSOLE 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.

7- 272 Andover Controls Corporation


PRINT, continued

Examples 1-21
continued No. Program File Output /Explanation
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.⏐"", 8,97e03+05 is the


897000 "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 The blower's current


⏐@@@@@@@@.", BLOWER STATE 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.", The Valve is set to 45%
WATER_VALVE 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. Program File Output /Explanation
21 PRINT "Date:", MONTH, ",DAYOFMONTH, Date: December 4, 2001
", ", YEAR
PRINT " " Test Report / Prints the
PRINT "Test Report" date. Commas must separate
each group of literal text.
Notice that the only place a
space appears is immediately
after the word Date. You must
specify the blank space in
quotation marks.
Also prints a blank line
between the date and the
report title. If you use the word
PRINT with one blank in
quotation marks after it, then
the entire line prints as a blank
line (as long as you don't put a
semicolon at the end).

Example 22 To put data in an ASCII file, you first open it with OpenFile (see the OpenFile
keyword), then "print" into the file with the PRINT keyword, as shown below:
Program File in CyberStation
Numeric Cnt, OK
File NewData
OpeningFile:
OK = OpenFile ("c:\tempdata.txt", WriteOnly, NewData)
IF OK = Failure THEN GOTO Ending
ELSE GOTO PrintToFile
PrintToFile:
Print "KWH Usage Cost" To NewData
For Cnt = 1 to 10
Print "|######> |####.##>", KWHUsage[Cnt], Cost[Cnt] To NewData
Next Cnt
GOTO ClosingFile

7- 274 Andover Controls Corporation


PRINT, continued

Example 22
ClosingFile:
continued 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 CHR
Keywords P
TAB
FILE
OpenFile

Products BACnet series* (except b3885, b3887), B4920, CMX series, CX series, i2
Supported 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 Command lines and programs.


Available

7- 276 Andover Controls Corporation


RANDOM Function

Format RANDOM (number)

Purpose Returns a random number from 0 to 32,767 using number. Used to simulate
real-life values to test programs.

Remarks The number is any number or expression.


You may omit number, but the parentheses are required, as with all
functions.
Note: You must vary the number to generate different random sequences. If
you do not vary the number, you may see a repetitious pattern of values
emerging over time.

Example To simulate fluctuations of temperature between 50 and 70 degrees, you put


any number in the number. To generate a result in the range of 20 possible
temperatures, you divide the random number you generate by 32767, which
gives you a number between 0 and 1. Then multiply the result by 20.
Program File
RANDOM (8) /32767 TIMES 20
Finally you add 50 degrees to the bottom of the range you are trying to
simulate to the random number:
TEMP = (RANDOM (8) /32767 TIMES 20) + 50

Alias RND

Products BACnet series (except b3885, b3887), CMX series, CX series, i2 series
Supported (except i2885, i2887), DCX250 controllers, and Cyberstation.

Modes Command lines and programs.


Available

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 Replace end_char (optional) with a single character that indicates the end of
continued 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 CLOSE
Keywords OPEN

Products CMX and CX series controllers.


Supported

Modes Programs
Available

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 You might, in another case, have a comma between pieces of data. You can
continued 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 LINE Reading


continued 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 The control system
software executes this
LINE Closing statement when
OK = CLOSEFILE (ZONEDATA) ReadFile returns EOF.
STOP ZONE.READING
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 Program File


continued 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 It reads until it reaches the comma (you designate the comma with quotation
continues 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 This program functions very much the way the last example did, only each
continued 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 FILE
Keywords CloseFile
OpenFile
PositionFile
WriteFile

Products CyberStation
Supported

Modes Programs
Available

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 WriteProperty, Relinquish


Keywords

Products BACnet series controllers and CyberStation.


Supported

Modes Command lines and programs.


Available

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 ACX series and CX9702 controllers.


Supported

Modes Command lines and programs.


Available

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 Multi-State Output Analog Value


Binary Output Multi-State 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 WriteProperty
Keyworks ReadProperty

Products BACnet series controllers and CyberStation


Supported

Modes Command lines and programs.


Available

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.

CAUTION
!! The scan action limits the number of statements that can execute

Example 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 Break
Keyworks Continue

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

Modes Programs
Available

7-292 Andover Controls Corporation


RETURN Statement

Format Format 1: RETURN


Format 2: RETURN number
Format 3: RETURN variable

Purpose Format 1: In a function file, returns program control to the calling program.
Format 2: In a function file, returns the number, and sends it to the calling
program.
Format 3: In a function file, returns the contents of the variable.

Remarks The optional number is any number or expression, including a date and time
or name that stands for one.
If you expect to use the results of a calculation in more than one program,
you set up a function file and put the calculation instructions in it, creating a
function. When you need the function in a program, you call the function by
using the file name as if it were any other keyword verb.
Later, the RETURN statement tells the function the value to return to the
calling program.
If you omit the number, the function returns a numeric 0.

Example 1 You use RETURN without an expression to return to the calling program
without passing parameters. You might do that with a function that contains
a series of actions to be carried out, as in the SHUTDOWN function shown
below:
Function File
TURN OFF THE HEAT
TURN OFF THE FAN
RUN PUMP, COOLING
RETURN
In this case, RETURN returns you to the program that called the
SHUTDOWN function, returning a numeric 0 because you supplied no
arguments on the RETURN statement.

Plain English Language Reference 7- 293


RETURN, continued

Example 1 The statement that calls SHUTDOWN in the calling program looks like this:
continued
Program File
SHUTDOWN( )

Example 2 To create a function called GetArea that calculates the cross-sectional area of
a circle, name the function file AREA and enter the following in the function
file:
Function File
ARG[1] RADIUS
RETURN (3.14159 * (RADIUS^2))
You pass the radius into the function file from the calling statement in the
main program. Here is a sample calling statement:
Program File
VOL = GetArea(RADIUS) * LEG
This statement calls the AREA function, giving it the radius, which it
requires to calculate the area.

Example 3 To create a function that returns the contents of the numeric variable that
calculates the circumference of a circle.
Program File
ARG[1] DIAMETER
NUMERIC CIRCUMF
CIRCUMF = 3.14159 * DIAMETER
RETURN (CIRCUMF)

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

Modes Programs
Available

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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885, i2887, i3885, i3887), and Cyberstation.

Modes Command lines and programs.


Available

Plain English Language Reference 7- 295


ROTATE Statement

Format Format 1: ROTATE linename program_list

Format 2: ROTATE program_list TO line

Purpose Executes the program or programs you specify in the program_list,


beginning at the line named by line. You may use format 1, giving the line
name first, or format 2, giving the program names first.

Remarks Replace program_list with one or more program names with commas
between them.

Replace linename with any line label created with the LINE statement. (See
the LINE keyword.) Must be in the program you name. The label must be
spelled here just as it is defined, except you may interchange upper- and
lowercase. The line label may also be an integer.

Note: You cannot rotate a program to line 0.


Line 0 is reserved to mean stop the program. LINE E is reserved for
handling errors.

A program can also rotate itself to another line. In this situation, ROTATE
becomes a synonym for GOTO. (See the GOTO keyword.)

Example 1 If you have a series of programs you want to start every Monday morning,
you could put the following into a MondayStartup program:
Program File
IF WKD = MONDAY THEN
ROTATE 1 BLOWER, PUMP, HEATING
ROTATE LIGHTS TO BEGINNING
ENDIF

7-296 Andover Controls Corporation


ROTATE, continued

Example 2 After the Heating program has been activated, it takes in the temperature and
rotates back to the beginning of the testing loop. To loop back you can
rotate the program from within itself:
Program File
ROTATE HEATING TO 1

Example 3 To rotate the Heating program to an "English-like" line label, you rotate the
program from within itself:
Program File
ROTATE HEATING TO WINTER

Related LINE
Keywords RUN
STOP

Alias ROT

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

Modes Command lines and programs.


Available

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


Position of Position of –1.7 on the number line
ROUND(–1.7)

00 0 0000 0 0 0 0 00 0
-4 -3 -2 -1 0 1 2 3 4

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 4 5 -3 -4
CEILING 5 5 -3 -3
FLOOR 4 4 -4 -4
TRUNCATE 4 4 -3 -3

7-298 Andover Controls Corporation


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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885, i2887, i3885, i3887), and Cyberstation.

Modes Command lines and programs.


Available

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 Format 8: When running a program, function, or report, prints the results of
continued 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 LINE
Keywords ROTATE
STOP

Alias START and OPEN (for Formats 1 through 4 only)

Products B4920, CMX series, CX series, I2 series controllers, and Cyberstation.


Supported

Modes Command lines and programs.


Available

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 Format 6: Saves all items from all CX controllers and Infinet controllers on
continued 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 If you are saving from a CX controller terminal, within 60 seconds you type
continued 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
ImportExport : Floor1
continued
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 LOAD
Keywords

Alias DUMP

Products B4920, CMX series, and CX series controllers.


Supported

Modes Command lines


Available

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 Replace file_string with a path to and name of the ASCII dump file to create
continued 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 LOAD
Keywords

Alias DUMP

Products CyberStation.
Supported

Modes Command lines


Available

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 The numeric variables used to calculate the average number of scans per day
continued are all set to zero at the end of each day, so that they start at zero the next
day.

Alias SC

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

Modes Command lines and programs.


Available

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 BACnet series, CMX series, CX series, i2 series controllers (except i2885,
Supported i2887, i3885, i3887), and CyberStation.

Modes Command lines and programs.


Available

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 HOD
Keywords HOUR
MINUTE
TOD

Alias SEC

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

Modes Command lines and programs.


Available

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 Statement

Example 1 Select Case Weekday


Case Monday, Tuesday
Print "Run Mon_Tue Report"
Case Wednesday thru Friday
Print "Run Wed_Thu_Fri Report"
Case Else
Print "Run Weekend Report"
EndSelect

Example 2 Numeric ReportId

Select Case ReportId


Case 1
Print "Run First Report"
Case 2, 3, 5 thru 10, 15
Print "Run Special Report"
Case 20
Print "Run Final Report"
Case Else
Print "Invalid Report Id"
EndSelect

Example 3 Select Case Numeric1 Description


Case Numeric2 Description
Print "Numeric1 and Numeric2 have the same description”
Case “West Building”
Print "Numeric1 is the West Building”
Case Else
Print "Numeric1 is not the West Building”
EndSelect

7-320 Andover Controls Corporation


SELECT (CASE), continued Statement

Related IF..THEN..ELSE, BREAK, CONTINUE


Keywords

Products CyberStation
Supported

Modes Programs
Available

Plain English Language Reference 7-321


SET Statement

Format Format 1: SET namelist TO number

Format 2: SET namelist = number

Purpose Assigns a value to a point or variable.

Remarks Replace namelist with any defined name or list of names. The name or
names can be any of these:
• Point (any type).
• Local variable, either numeric, string, or datetime.

The type of name must match the type of number.

Replace number with any number or expression, including a string or date


and time, or a name that stands for either of those.

A numeric name can accept only the results of a numeric expression. A


string name can accept only text. A datetime name can accept only a date
and time.

Example 1 At any time in a program, you may want to set the value of a variable or
array of variables. You use SET with the word TO:
Program File
SET AREA TO HEIGHT TIMES WIDTH
You can also use ADJUST, CHANGE, or MODIFY with TO. With
ADJUST and CHANGE, the TO is required:
ADJUST VALVE TO OPEN
CHANGE SPACE.SP TO 72
MODIFY SPACE.SP TO 72

You cannot use the equals sign with ADJUST or CHANGE, but you can use
it with MODIFY.

7-322 Andover Controls Corporation


SET, continued

Example 2 You can set a variable using SET and an equals sign as in the example
below:
Program File
SET KWAVG = AVERAGE (KW)
Instead of SET, you can use LET with the equals sign, as follows:
LET DWAVG = AVERAGE (KW)
You cannot use the word TO with LET.

Neither the word SET nor the word LET is required with the equals sign, so
you can set the same variable like this:
KWAVG = AVERAGE (KW)

Example 3 You can set a string variable or point to a particular value:


Program File
SET STAT.Message TO "Heat Active"

Example 4 You can set several points and variables to a particular value:
Program File
SET KWAVG, OATAVG, HWAVG, CHWAVG = 0

Example 5 You can set disabled points only from the command line. (To set disabled
points in a testing function, you must run the function from the command
line.) In the example below, you disable some input points, then set them to
test values:
Command Line
DISABLE OAT, HWT, CHWT
SET OAT = 40
SET HWT = 120
SET CHWT = 50

Plain English Language Reference 7-323


SET, continued

Related MOVE
Keywords

Alias ADJUST and CHANGE (Format 1 only)


LET (Format 2 only)
MODIFY

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

Modes Command lines and programs.


Available

7-324 Andover Controls Corporation


SETDISPLAY Function

Format Format 1: SETDISPLAY (display_constant)

Format 2: SETDISPLAY (display_constant_list)

Purpose Sets the DCX 250 Display Unit screen to a color (blue or white) or sets the
display to draw a polygon or series of lines (polylines). Returns SUCCESS
or FAILURE.

Remarks You set the display before you begin drawing. The display remains as you
set it until you set them again.

You must set the display to FILL to draw a polygon rather than drawing
lines with LINEPOINT. You must set it to NOFILL to draw lines with
LINEPOINT. (See LINEPOINT.)

The DCX 250 screen settings you can alter with SETDISPLAY are as
follows:
Colors:
• BLUE
• WHITE
Drawing:
• FILL
• NOFILL

Replace display_constant with a single constant from: BLUE, WHITE,


FILL or NOFILL.

Replace display_constant_list with a list of any of the constants (given


above) with commas between.

You do not need parentheses if SETDISPLAY is at the beginning of a


statement.

Before you begin drawing a polyline, you must set the display to NOFILL to
ensure you do not draw a polygon instead.

Plain English Language Reference 7-325


SETDISPLAY, continued

Remarks Before you begin drawing a polygon, you must set the display to FILL to
continued 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 BEGINPOLYLINE
Keywords DRAWRECTANGLE
DRAWLINE

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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 To run any Presentation Manager program followed by arguments, you can
continued 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 CyberStation
Supported

Modes Command lines and programs.


Available

Plain English Language Reference 7-329


Show Statement

Format Format 1: SHOW objectlist

Format 2: SHOW logview_list

Purpose Displays the object or objects each in a separate window on a CyberStation


screen.

Remarks Replace objectlist with any single object or a list of objects (with commas
between them) defined in the control system software. Objects include sites,
controllers, workstations, Infinet controllers, points, programs, functions,
reports, data files, panels, and so on. The objects may have been defined on
either a CX series controller or a CyberStation.

Reports and panels both open in Run mode. All files other than reports open
and display their Andover Controls Plain English statements.

Sites and controllers open to the window you defined them in. (Using
SHOW gives the same result as selecting File, then Open from the Menu
bar.)

Replace logview_list with a LogView that you have saved for the Alarm
Log, Event Log, Error Log, or Activity Log. May not be more than one
LogView for the same log.

Example 1 Command Line


Show AirHandler1
The workstation software opens the windows for the air handler.

Example 2 Command Line


Show AirHandler1, Room 1VAV, Room2 VAV
The workstation software opens the windows for the air handler (controller)
and two VAV boxes (Infinet controllers).

7-330 Andover Controls Corporation


Show, continued

Example 3 Command Line


Show DailyReport, ChillerDisplay
The DailyReport opens and displays in Run mode. The panel called
ChillerDisplay opens and displays in Run mode.

You can switch to Edit mode once each is open.

Example 4 Command Line


Show InputsOwenEdited, Bldg4PointsInAlm
This SHOW command opens the Activity Log showing the
InputsOwenEdited log view range and the Alarm Log showing the
Bldg4PointInAlm log view range.

You can open more than one LogView at a time, as long as they are not both
for the same log; for instance, you cannot open two different LogViews of
the Activity Log.

Products CyberStation.
Supported

Modes Command lines and programs.


Available

Plain English Language Reference 7-331


SHOWREPORT Statement

Format Format 1: SHOWREPORT object

Format 2: SHOWREPORT string

Purpose Displays the result of a program as a text file in Microsoft Notepad or as an


HTML file on an HTML browser.

Remarks Replace object with the name of a program or a listview. Programs must
include the file path. Listviews must contain an associated HTML template
file and an HTML browser must be installed on the CyberStation.

Replace string with a text string containing the full file path of the HTML
file. This also requires that an HTML browser be installed on the
CyberStation.

When SHOWREPORT runs an HTML report, the results are displayed in a


file that has the same name as the HTML report, but with result_number
appended to it. For example, with the first usage of
SHOWREPORT myreport.htm
The file name myreportresult_1.hmt will appear in the HTML browser. The
second time myreport.htm is used the file will change to
myreportresult_2.hmt and so on. To restart the result file numbering, move
or delete the old files from the directory that holds your HTML report.

Example 1 Command line


SHOWREPORT MyReport

This command displays the results of a program named MyReport in


Microsoft Notepad.

Example 2 Command line


SHOWREPORT “C:\Program File\Continuum\Reports\SystemChk.htm”
This command displays the specified HTML file as a web page in your
HTML browser.

7-332 Andover Controls Corporation


SHOWREPORT, continued

Example 3 Command line


SHOWREPORT Floor1\NtCtlr1\ListView1
This command displays the result of an HTML report template that has been
associated with the listview object named ListView1. The report displays as
a web page in the HTML browser on your CyberStation.
By using special HTML tags that work with Continuum, the report template
can extract attribute values from listview objects and any other Continuum
object.

Products CyberStation.
Supported

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers (except
i2885,i2887,i3885,i3887), and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

Plain English Language Reference 7-335


StandardDeviation Function

Format Format 1: StandardDeviation (numeric_list)

Format 2: StandardDeviation (numeric_array)

Format 3: StandardDeviation (numeric_log)

Purpose Finds the standard deviation of a series of numbers. The standard deviation
is the result of the following steps:
• Find the average of the list.
• Find the differences between the average and each number. If the
average is 110 and one of the numbers is 112, that difference is 2.
• Square the differences, so 2 becomes 4.
• Add up the squares and find the average of them.
• Take the square root of the average.

Format 1: Returns the standard deviation of the listed items.

Format 2: Returns the standard deviation of the items in the array.

Format 3: Returns the standard deviation of the items in the log.

Remarks Replace numeric_list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_array with any defined array that contains numbers.

Replace numeric_log with any defined log that contains numbers.

Items in the list must all be either numbers or variables that contains
numbers.

If any of the items in the list in Format 1 is an array or a log but does not
indicate an element number, the controller retrieves the current value of the
point and treats it like any other single item in the list.

7-336 Andover Controls Corporation


StandardDeviation, continued

Example 1 To find the standard deviation of several temperatures, you place them
directly in the STANDARDDEVIATION statement. You list them in
parentheses as follows:
Program File
TEMPDEV = StandardDeviation (70, 72, 74)
The standard deviation returned is 1.63299.

Example 2 Since you know a certain temperature varies, you have been storing readings
in an array called VARTMP. You then use the STANDARDDEVIATION
function on that array, as follows:
Program File
VARIATION = StandardDeviation (VARTMP)

Example 3 You have been logging temperatures in a log for several hours. You can find
the standard deviation of them as follows:
Program File
DEVIANCE = StandardDeviation (TEMPLOG)

Example 4 You can find the standard deviation of several temperatures in a list,
including the current value of TEMPLOG, as follows:
Program File
AVGDEV = StandardDeviation (TMP1, TMP2, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

Plain English Language Reference 7-337


StandardDeviation, continued

Alias SD

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

Modes Command lines and programs.


Available

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 CX 9200 series controller only.


Supported

Modes Command lines and programs.


Available

Plain English Language Reference 7-339


STOP Statement

Format Format 1: STOP program_list

Format 2: STOP point_list

Purpose Format 1: At the command line level, halts the executing program or
programs you specify at current line.

Format 2: Sets the point (or points) to bottom of the scale that has been
defined for it. It then turns the equipment off, controlling the equipment
through the point. You can use this statement in a program to turn off a
piece of equipment, or at the command line to directly turn off a piece of
equipment.

Remarks Replace program_list with any program or list of programs.

Replace point_list with any defined output point or list of points. The
statement is not designed for other types of points, but you can stop an input
or numeric point.

With an output point, actually stops the piece of equipment. With an input
point, sets the point to the bottom of the scale defined for it. With a numeric
point, sets the point to the lowest number in the controller system. You
might STOP an input after you RUN it to test it when the input is not
actually active.

Example 1 You can STOP a program from inside a program in response to a certain set
of conditions. For instance, to halt the HEAT.PROG after 8 p.m.:
Program File
IF TOD > 2000 THEN STOP THE HEAT.PROG
If you do not name a program after STOP, the controller assumes you mean
the current program.

7-340 Andover Controls Corporation


STOP, continued

Example 2 You can use STOP on the command line to stop one or more pieces of
equipment:
Command Line
STOP THE HEATER AND THE FAN

Related ROTATE
Keywords RUN

Alias CLOSE
SHUT

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

Modes Command lines and programs.


Available

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 DATETIME
Keywords NUMERIC
STRINGFILL

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

Modes Programs
Available

Plain English Language Reference 7-343


STRINGFILL Function

Format STRINGFILL(number, charactercode)

Purpose Returns a string of number length containing a particular character that you
specify with the ASCII character code named by charactercode.

Remarks Replace number with any number or expression. Gives the length of the
string.

Replace charactercode with the ASCII character code of the character you
want to fill the string. See Appendix A for a list of ASCII codes.

Example 1 Suppose you want to print a series of 60 asterisks across the top of a report.
You would use STRINGFILL to print them by giving it the number 60 for
the number of asterisks, and the number 42 which is the ASCII code for the
asterisk, as follows:
Program File
PRINT STRINGFILL (60, 42)

Example 2 You can draw dashed horizontal lines in a report using STRINGFILL by
giving it the number of spaces you want the line to print across (60) and the
ASCII code for a dash (45):
Program File
PRINT STRINGFILL (60, 45)

Example 3 Suppose you want to design a graph to show the peak kilowatt demand for
each day in the last week. You can create a bar graph by filling the
appropriate number of spaces with, for instance, asterisks. The following
program sets up such a graph.

7-344 Andover Controls Corporation


STRINGFILL, continued

Example 3 Program File


continued 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 Demand for Week
SUN + * * * * * *
MON + * * * * * * * * * *
TUE + * * * * * * * *
WED + * * * * * * * * *
THU + * * * * * * *
FRI + * * * * * * * *
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 STRING
Keywords

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

Modes Command lines and programs.


Available

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 YEAR
continued
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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Command lines and programs.


Available

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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Command lines and programs.


Available

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 FAILURE
Keywords

Products CMX series, CX series, DCX 250 controllers, and CyberStation


Supported

Modes Command lines and programs.


Available

Plain English Language Reference 7-351


SUM Function

Format Format 1: SUM (numeric_list)

Format 2: SUM (numeric_array)

Format 3: SUM (numeric_log)

Purpose Format 1: Returns the sum of the listed items.

Format 2: Returns the sum of the items in the array you name.

Format 3: Returns the sum of the items in the log you name.

Remarks Replace numeric_list with one or more numbers or names that stand for
numbers, separated by commas.

Replace numeric_array with any defined array that contains numbers.

Replace numeric_log with any defined log that contains numbers.

Replace number with any number or expression.

Items in the list must all be either numbers or variables that contains
numbers.

If any of the items in the list in Format 1 is an array or a log, the controller
retrieves the first item from the array or log and treats it like any other single
item in the list.

Example 1 To sum several timers, you place them directly in the SUM function
statement. You list them in parentheses after SUM, as follows:
Program File
TOTAL.TIMERS = SUM (TIMER1, TIMER2, TIMER3, TIMER4)

7-352 Andover Controls Corporation


SUM, continued

Example 2 You have been storing calculated values in an array called PARTTME. You
then use the sum on that array, as follows:
Program File
TOTAL TIME = SUM (PARTTIME)

Example 3 You have been logging temperatures in a log for several hours. To find the
sum of them, you find the sum of that log, as follows:
Program File
HOURLYTOT = SUM (TEMPLOG)

Example 4 You find the sum of several temperatures in a list, including the current
value of TEMPLOG, as follows:
Program File
HOURLYAVG = SUM (TMP801, TMP802, TEMPLOG)
In this instance, TEMPLOG is interpreted as the current value of
TEMPLOG.

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

Modes Command lines and programs.


Available

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 ACX and CX series controllers.


Supported

Modes Command lines and programs.


Available

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 PRINT
Keywords

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

Modes Programs
Available

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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885, i2887, i3885, i3887), and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 DATE
Keywords DATETIME
HOUR
MINUTE
SECOND
HOD
TOD
MONTH
YEAR
DAYOFMONTH
DAYOFYEAR

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

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Programs
Available

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 HOD
Keywords HOUR
MINUTE

Plain English Language Reference 7-365


TOD, continued

Alias TIMEOFDAY

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

Modes Command lines and programs.


Available

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
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
The cells on the 250 screen are as shown on Figure 8-22.

00000000000000000000000000000000000000000000000000000000000 0
1 2 3 4 5 6 7 8
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
9 10 11 12 13 14 15 16

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


17 18 19 20 21 22 23 24

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


25 26 27 28 29 30 31 32

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


33 34 35 36 37 38 39 40

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


41 42 43 44 45 46 47 48

00000000000000000000000000000000000000000000000000000000000 0
49 50 51 52 53 54 55 56

0 0 0 0 0 0 0 0 0
000000000000000000000000000000000000000000000000000000000000
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

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


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


ROOM FAN STATUSES

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
Room1 Fan
Status

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
Room2 Fan
Status

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
Room3 Fan
Status
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
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 DCX 250 Display Unit.


Supported

Modes Programs
Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Programs
Available

Plain English Language Reference 7-371


TURN Statement

Format Format 1: TURN ON point_list


TURN OFF point_list

Format 2: TURN point_list ON


TURN point_list OFF

Purpose Sets the name or names to the top of the defined range for the point if ON
and to bottom of the range if OFF.

Remarks The point_list is one or more defined output or numeric points; the statement
is not designed for other types of points. All output points used with TURN
must have a range with its top and bottom defined.

Example 1 Suppose you want to turn on the fan and the pump. You can turn both on in
one program statement:
Program File
TURN ON THE FAN AND THE PUMP

Example 2 You can place the word ON or OFF after the name of the point:
Program File
TURN THE PUMP OFF

Example 3 You can also place ON or OFF before the name of the point:
Program File
TURN OFF THE PUMP

7-372 Andover Controls Corporation


TURN, continued

Related SET
Keywords

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

Modes Command lines and programs.


Available

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 ACX series controllers, CX series controllers (except 9500), and CMX series
Supported controllers.

Modes Command lines and programs.


Available

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 If the first character in the phone number string is not an ‘A’ or ‘a’ then the
continued 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 Controller has established connection with the workstation
Failure 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.
DialNoAnswer 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.
DialBusyTone Controller detects a busy signal on the line.
DialNotDialTone Modem is waiting for a dial tone before dialing and has not
received one.

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 For example, if the controller calls the workstation and the workstation is off
continued 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 InitModem
Keywords

Products Available only on CX series controllers.


Supported

Modes Command lines and programs.


Available

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 (You can, however, set the value of the datetime variable yourself, if you
continued 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 This statement tells the software to update the TEMP1. First, the statement
continued 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 UpdateTimer value from the extended log setup information. Then, when the
continued 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 First, the statement retrieves the correct UpdateTimer value from the
continued extended log setup information. Then, when the current time is 60 seconds
greater than the UpdateTimer, the software retrieves values from the regular
log and stores them in the extended log on the workstation. This way, the
software stores the old log values. The statement updates each log once, and
sets the UpdateTimer local DATETIME variable to the next time the
extended logs on the controller should update.

Example 4 If you want to update a single extended log from the Command line, you can
enter a simplified UpdateExtLog statement, with no datetime, as follows:
Command Line
UpdateExtLog (Building3 Floor4 Temp1)

Example 5 If you want to update a group of extended logs from the Command line, you
can enter a simplified UpdateExtLog statement, with no datetime, as follows:
Command Line
UpdateExtLog (Building3 TempsGroup)

Example 6 If you want to update all the extended logs on a single controller from the
Command line, you can enter a simplified UpdateExtLog statement, with no
datetime, as follows:
Command Line
UpdateExtLog (Building3 Floor4)

Example 7 To update only the input points on a controller, you can open a list of input
points using OpenList (see OpenList keyword) and then get each point in the
list. By testing the ExtLogSize attribute of each point, you can determine
whether or not the point is an extended log. If it is an extended log, you can
then update it as you did in the earlier examples. Below is a fallthru program
that opens a list of points on the Floor4 controller and updates each extended
log in the list. In this case, you should not use a datetime point or variable
with the UpdateExtLog statement:

7-384 Andover Controls Corporation


UpdateExtLog, continued

Example 7 Program File


continued 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 This statement tells the software to update all of the extended logs
continued 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 DeleteExtLog
Keywords

Products CyberStation
Supported

Modes Command lines and programs.


Available

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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2 series,
Supported LCX series, SCX series, TCX series controllers, and CyberStation.

Modes Command lines and programs.


Available

Plain English Language Reference 7-387


WEEKDAY System variable

Format WEEKDAY

Purpose Gives current day of week, from SUNDAY through SATURDAY.

Remarks When printed, the weekday is spelled out as Sunday, Monday, Tuesday,
Wednesday, and so on through Saturday. You may, however, compare the
WEEKDAY to:
• The numbers 1 through 7 (1 equal to Sunday).
• The abbreviated three-letter names (first three letters).
• The entirely spelled out weekday.
All values of the weekday are as follows:

Constant Short Name Long Name


1 SUN SUNDAY
2 MON MONDAY
3 TUE TUESDAY
4 WED WEDNESDAY
5 THU THURSDAY
6 FRI FRIDAY
7 SAT SATURDAY

Example 1 You can spell out names for printing or for comparing to an actual day:
Program File
IF WEEKDAY IS SATURDAY THEN PRINT WEEKDAY
Output
Saturday

7-388 Andover Controls Corporation


WEEKDAY, continued

Example 2 You can use the short name or the constants 1 through 7 for comparing the
weekday in an IF statement:
Program File
IF WEEKDAY IS > SUN OR WEEKDAY < 7 THEN…

Alias WKD

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

Modes Command lines and programs.


Available

Plain English Language Reference 7-389


WHILE Statement

Format WHILE number


statement
statement
...
ENDWHILE

Purpose Carries out the instructions in the statements within the loop over and over
again as long as the given number is true.

Remarks Replace statement with any complete instruction that tells the program what
to do next or what action to take.

Replace number with any number or expression, including a date and time
or name that stand for one. If the number is TRUE (non zero) the while loop
is executed. If it is FALSE (zero) , the while loop is not executed. If the
number is a variable it can be changed inside the while loop to cause the
loop to terminate.

One event within the loop must occur to satisfy the number.

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

Example Program File


SET COUNTER TO 0
WHILE COUNTER < 10
COUNTER = COUNTER + 1
ENDWHILE

7-390 Andover Controls Corporation


WHILE, continued

Related IS…
Keywords BREAK
CONTINUE

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

Modes Programs
Available

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 BLUE
Keywords SETDISPLAY

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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 In the example below, the WRITEFILE statement gives the FILE variable
continued 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 control system software should read 16 characters or until a carriage return
continued 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 OK = WriteFile (SETPTFILE, RECORDLINE, CHARSREAD,


continued 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 FILE
Keywords CLOSEFILE
OPENFILE
READFILE
POSITIONFILE
FAILURE
SUCCESS

Products CyberStation
Supported

Modes Programs
Available

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 ReadProperty
Keywords Relinquish

Products BACnet series controllers and CyberStation.


Supported

Modes Command lines and programs.


Available

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 DAYOFMONTH
Keywords DAYOFYEAR
YEAR

Alias YR

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

Modes Command lines and programs.


Available

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 The ASCII Codes are listed in the following table:
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
Code (in Decimal) Character or Action

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
1
NUL
SOH
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
2 STX
3 ETX

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4 EOT

0000000000000000000000000000000000000000000000000000000000000000000
5 ENQ

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6 ACK

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
7 Beep.

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
8 Backspace.
9 TAB Forward.

0000000000000000000000000000000000000000000000000000000000000000000
10 Line Feed.

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
11
12
Vertical TAB.
Form Feed.

000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
13 Carriage Return.
14 SO

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
15 SI

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
16 DLE
17 DC1

A-2 Andover Controls Corporation


ASCII Codes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII Code
Table
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
continued 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
DC2

000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
19 DC3
20 DC4

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
21 NAK

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
22 SYN
23 ETB

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
24 CAN
25 EM

0000000000000000000000000000000000000000000000000000000000000000000
26 SUB
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
27 ESC
28 FS

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
29 GS
30 RS

0000000000000000000000000000000000000000000000000000000000000000000
31 US

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
32 Space.

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
33 !

0000000000000000000000000000000000000000000000000000000000000000000
34 "

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
35 #

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
36 $
37 %

0000000000000000000000000000000000000000000000000000000000000000000
38 &

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 ’ (apostrophe)

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40 (
41 )

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
42 *

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
43 +
44 , (comma)

Plain English Language Reference A-3


ASCII Codes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII Code
Table
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
continued 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
46 . (period)
47 /

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
48 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
49 1
50 2

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
51 3
52 4

0000000000000000000000000000000000000000000000000000000000000000000
53 5
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
54 6
55 7

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
56 8
57 9

0000000000000000000000000000000000000000000000000000000000000000000
58 :

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
59 ;

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60
61
<
=
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
62 >

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
63 ?
64 @

0000000000000000000000000000000000000000000000000000000000000000000
65 A

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
66 B

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
67 C
68 D

0000000000000000000000000000000000000000000000000000000000000000000
69 E
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
60 F
71 G

A-4 Andover Controls Corporation


ASCII Codes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII Code
Table
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
continued 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
H

000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
73 I
74 J

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
75 K

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
76 L
77 M

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
78 N
79 O

0000000000000000000000000000000000000000000000000000000000000000000
80 P

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
81 Q
82 R

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
83 S
84 T

0000000000000000000000000000000000000000000000000000000000000000000
85 U

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
86 V

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
87
88
W
X
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
89 Y

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
90 Z
91 [

0000000000000000000000000000000000000000000000000000000000000000000
92 \

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
93 ]

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
94 ^
95 -

0000000000000000000000000000000000000000000000000000000000000000000
96 ‘
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
97 a
98 b

Plain English Language Reference A-5


ASCII Codes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII Code
Table
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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

continued 99 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c

000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
100 d
101 e

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
102 f

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
103 g
104 h

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
105 i
106 j

0000000000000000000000000000000000000000000000000000000000000000000
107 k

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
108 l
109 m

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
110 n
111 o

0000000000000000000000000000000000000000000000000000000000000000000
112 p

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
113 q

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
114
115
r
s
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
116 t

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
117 u
118 v

0000000000000000000000000000000000000000000000000000000000000000000
119 w

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120 x

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
121 y
122 z

0000000000000000000000000000000000000000000000000000000000000000000
123 {
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
124 |
125 }

A-6 Andover Controls Corporation


ASCII Codes
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ASCII Code
Table
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
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
126 ~

0000000000000000000000000000000000000000000000000000000000000000000
127 DEL

Plain English Language Reference A-7


A-8 Andover Controls Corporation
Appendix B

Reserved Words

Overview

What Are Reserved words are those words used as system constants, keywords, system
They? 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 This appendix lists all Andover Controls reserved words. A tabular listing of
Appendix 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 Continuum system constants are listed in alphabetical order, as follows.


System ABA1 AckAndRTN
Constants ABA2 Acked
AC256P AcknowledgeAlarm
AC4P4 AcknowledgeAlarms
AC8P AckOnly
ACC_Airflow AckOnlyThisOne
ACCBackingUp AckOrRTN
ACCBackupDisabld Acks
ACCBackupDone AckUntilTime
ACCBackupEnable AC_Output
ACCBackupInactve ACP
ACCBackupNeeded AC4plus432
ACCBackupNow Active
ACCCoolStartOnly ActivityEvent
AccessEvent ActUnack
AccessModeNoCommunication ACXDatabaseFault
AccessModeNoDatabase ACXDatabaseFaultCleared
AccessModeNormal ADAExitRequestTrouble
ACCExpression ADAExitRequestTroubleCleared
ACCFlashEmpty ADAInputTrouble
ACCFlashFailure ADAInputTroubleCleared
ACCFlashValid AddListElement
ACC_Keypad Admin
ACC_InputCurrent Administrate
ACC_Pneumatic Alarm
ACC_Pressure AlarmEnrollment
ACCTemp(DEGC) AlarmEvent
ACCTemp(DEGF) Allowed
ACCWarmStartOnly AllPaths
ACCWarmToCool Alm0
AC_Flag Alm1
ACFloatType Alm2
Ack Alm3
AckAfterRTN Alm4
Ack_Alarms Alm5
AckAll Alm6

B-2 Andover Controls Corporation


System Constants, continued

Table of Alm7 b3853


System Alm8 b3865
Constants, AlmNotification b3866
continued Amperes b3867
AnalogInput b3885
AnalogOutput b3886
AnalogValue b3887
Apr b3920
April B4920
Area Bars
AreaBased Baud300
Armed Baud1200
ASCIIDump Baud2400
ASCIIReload Baud4800
AtomicReadFile Baud9600
AtomicWriteFile Baud19200
AudioDatatype Baud19-2K
AudioOnToFault BeepOnToFault
AudioOnToNormal BeepOnToNormal
AudioOnToOffNormal BeepOnToOffNormal
Aug Binary
August BinaryInput
Authenticate BinaryOutput
AuthenticationFailed BinaryValue
Automatic Bit
AutomaticLifeSafety Bitstring
AutoSet BlinkOnAlarm
Available Blue
A_Variable BondSensorTrouble
Average BondSensorTroubleCleared
b3608 BondSensorViolation
b3616 BondSensorViolationCleared
b3624 BooleanType
b3800 Btus
b3804 BtusPerHour
b3810 BtusPerPoundDryAir
b3814 BufferOverflow
b3850
b3851

Plain English Language Reference B-3


System Constants, continued

Table of CabinetTamperDoorClosed Counter


System CabinetTamperDoorOpen CounterClockwise
Constants, Calendar CreateObject
continued CannotDelete CriticalEquipmentControl
CannotRename CriticalEquipmentMessage
CardMode CubicFeet
CentimetersOfMercury CubicFeetPerMinute
CentimetersOfWater CubicMeters
ChangeOfBitstring CubicMetersPerHour
ChangeOfFailure CubicMetersPerSecond
ChangeOfState Currency1
ChangeOfValue Currency2
ChangeValues Currency3
Char Currency4
CharacterSetNotSupported Currency5
CharType Currency6
CK34 Currency7
ClassDefault Currency8
ClearDisplay Currency9
Clockwise Currency10
Closed Current
Coldstart CustomCard
COM1 CustomMagStripe
COM2 CustomWiegand
COM3 CX9000
Command CyclesPerHour
Commport CyclesPerMinute
Config
ConfigurationInProgress
Configure
ConfirmedCOVNotification
ConfirmedEventNotification
ConfirmedPrivateTransfer
ConfirmedTextMessage
Connected
Connecting
Constant
Container
ControllerUser Data
Copy DatabaseSynchronization
CopyFromTemplate DataBits5

B-4 Andover Controls Corporation


System Constants, continued

Table of DataBits6 DistributeAreaMembersToAllACXS


System DataBits7 DistributeAttributeSet
Constants, DataBits8 DistributeEnableDisableAreaLink
continued DateAndTimeType DistributeOnePersonToACX
DateDataType DistributeOnePersonToAllACXS
DateTime DistributePersonDeleteToAllACXS
Days DistributePersonsToACX
Dec DistributeResetPreload
December Done
DefaultTime Door
DegreeDaysCelsius Door_Ajar
DegreeDaysFahrenheit DoorAjarCleared
DegreesAngular DoorChannelOverrideAndDoorLocked
DegreesCelsius DoorChannelOverrideAndDoorUnlocked
DegreesCelsiusPerHour DoorChannelOverrideCleared
DegreesCelsiusPerMinute DoorExitRequestTrouble
DegreesFahrenheit DoorExitRequestTroubleCleared
DegreesFahrenheitPerHour DoorLockedBySchedule
DegreesFahrenheitPerMinute DoorSwitchTrouble
DegreesKelvin DoorSwitchTroubleCleared
DegreesPhase DoorUnlockedBySchedule
Delete Double
DeleteObject DoubleType
Denied DownloadInProgress
Dereferenced DownloadRequired
Device DynamicArray
DeviceAndBelow DynamicCreationNotSupported
DeviceBusy Email
DeviceCommunicationControl EmailAck
DeviceOnly EmailOnOffNormal
Digital EmailToFault
Disabled EmailToNormal
Disconnected Enabled
Disconnecting EnableDisable
DisplayAlarmView EntryKeypadTamper
DisplayPanel EntryReaderFault
DistNotUsed EntryReaderFaultCleared
DistributeAddAreasToPersonnel Enumeration
DistributeAreaDeleteToAllACXS Eof
DistributeAreaMemberDeleteToAllACXS Equal

Plain English Language Reference B-5


System Constants, continued

Table of ErrorEvent i2608


System Ethernet802_2 i2616
Constants, Ethernet802_3 i2624
continued EthernetII i2800
EthernetSNAP i2804
Even i2810
EventEnrollment i2814
EventNotification i2850
EventView i2851
EvtNotification i2853
ExitKeypadTamper i2865
ExitReaderFault i2866
ExitReaderFaultCleared i2867
ExpressionAlarm i2885
Failed i2886
Failure i2887
FallThru i2920
False IAm
Fault Idle
Feb IHave
February Image
Feet ImperialGallons
FeetPerHour ImperialGallonsPerMinute
FeetPerSecond Inactive
Female InAlarm
File Inches
FileAccessDenied InchesOfMercury
FileBegin InchesOfWater
FileCurrent IncompatibleSecurityLevels
FileDatatype Incomplete
FileEnd InconsistentParameters
Fill InconsistentSelectionCriterion
FixedArray Infinet
FloatingLimit Infinity_37
FloatType InfinityController
InfinityData

B-6 Andover Controls Corporation


System Constants, continued

Table of InfinityDateTime Jul


System InfinityFunction July
Constants, InfinityInfinetCtlr Jun
continued InfinityInput June
InfinityNumeric KeyGenerationError
InfinityOutput Kilograms
InfinityProgram KilogramsPerHour
InfinityString KilogramsPerMinute
InfinitySystemVariable KilogramsPerSecond
InheritFromTemplate Kilohertz
InProgress Kilohms
Instantaneous Kilojoules
Int KilojoulesPerKilogram
Internal KilometersPerHour
InvalidAPDUInThisState Kilopascals
InvalidArrayIndex KilovoltAmperes
Invalid_Attempt KilovoltAmperesReactive
InvalidAttemptAntiPassbackViolation Kilovolts
InvalidDataType Kilowatts
InvalidFileAccessMethod KilowattHours
InvalidFileStartPosition KilowattHoursPerSquareFoot
InvalidOperatorName KilowattHoursPerSquareMeter
InvalidParameterDataType LAN
InvalidTag LastMonth
InvalidTimeStamp Last15min
IOBidirectional Last30min
IOInput LastWeek
IOOutput LastYear
IOUModule Lbus
Jan LessThan
January LessThanOrEqual
Joules LifeSafetyMessage
JoulesPerDegreeKelvin Lighting
JoulesPerKilogramDegreeKelvin List
JoulesPerKilogramDryAir ListView

Plain English Language Reference B-7


System Constants, continued

Table of Liters MegajoulesPerSquareFoot


System LitersPerHour MegajoulesPerSquareMeter
Constants, LitersPerMinute MegavoltAmperes
continued LitersPerSecond MegavoltAmperesReactive
Load Megavolts
LoadFailed Megawatts
Loading Megohms
LocalScope Meters
Locked MetersPerSecond
Log MilesPerHour
LogAverage Milliamperes
LogInstantaneous Millibars
LogMaximum Millimeters
LogMinimum MillimetersOfMercury
LogView Millivolts
LON Milliwatts
LongIntType Minimum
Loop MinimumOnOff
Looping Minutes
LowAlarm MissingRequiredParameter
LowLimit Momentary_Unlock
LowLimitenable MomentaryUnlocked
Lumens Mon
Luxes Monday
Male Months
Manual MonthToDate
ManualAreaAssign MonthToNow
ManualLifeSafety Move
ManualOperator Multiple
Mar MultistateInput
March MultistateOutput
Maximum MultistateValue
May NCParallel
Megahertz NCSeries
Megajoules NCSerPar

B-8 Andover Controls Corporation


System Constants, continued

Table of Liters MegajoulesPerSquareFoot


System LitersPerHour MegajoulesPerSquareMeter
Constants, LitersPerMinute MegavoltAmperes
continued LitersPerSecond MegavoltAmperesReactive
Load Megavolts
LoadFailed Megawatts
Loading Megohms
LocalScope Meters
Locked MetersPerSecond
Log MilesPerHour
LogAverage Milliamperes
LogInstantaneous Millibars
LogMaximum Millimeters
LogMinimum MillimetersOfMercury
LogView Millivolts
LON Milliwatts
LongIntType Minimum
Loop MinimumOnOff
Looping Minutes
LowAlarm MissingRequiredParameter
LowLimit Momentary_Unlock
LowLimitenable MomentaryUnlocked
Lumens Mon
Luxes Monday
Male Months
Manual MonthToDate
ManualAreaAssign MonthToNow
ManualLifeSafety Move
ManualOperator Multiple
Mar MultistateInput
March MultistateOutput
Maximum MultistateValue
May NCParallel
Megahertz NCSeries
Megajoules NCSerPar

Plain English Language Reference B-9


System Constants, continued

Table of NetBeui NotSet


System NetBios NoUnits
Constants, NETWARE Nov
continued Network November
NETWORK_CMDLINE NoVTSessionsAvailable
NetworkDialup Object
NetworkWide ObjectClass
New ObjectDeletionNotPermitted
NoAccess ObjectId
NoComm ObjectIdentifierAlreadyExists
NoDataBase ObjectReference
NoFaultDetected Oct
Nofill October
NoFlowControl Odd
NonCollection Off
None OffLine
NonOperational OffNormal
NoObjectsOfSpecifiedType Ohms
NoOutput On
NoPad -On
NOParallel OneMonthToDate
Normal OneMonthToNow
NormalMessage OneWeekToDate
NoSegmentation OneWeekToNow
NoSensor OneYearToDate
NOSeries OneYearToNow
NOSerPar OnLine
NoShortcuts Opened
NoSpaceForObject OpenLoop
NoSpaceToAddListElement Operational
NoSpaceToWriteProperty OperationalProblem
NotAcked OperationalReadOnly
NotConfigured Other
NotEqual OutOfRange
NotificationClass Out_Of_Services

B-10 Andover Controls Corporation


System Constants, continued

Table of OverRange PrimaryEMail


System Overridden PrimaryForward
Constants, PageAck PrimaryLog
continued Paging PrimaryPaging
PageToFault PrimaryPrint
PageToNormal PrintAck
PageToOffNormal Printer
Panel PrintReport
PanelMeter PrintToFault
ParameterOutOfRange PrintToNormal
PartsPerBillion PrintToOffNormal
PartsPerMillion Priority3
Pascals Priority4
PasswordFailure Priority7
Pending Priority9
PendingReload Priority10
PendingRetry Priority11
Percent Priority12
PercentPerSecond Priority13
PercentRelativeHumidity Priority14
PerHour Priority15
Permanent_Unlock Priority16
Permanent_UnlockCleared ProcessError
PerMinute Program
PerSecond ProgrammingLevel
Personnel Prompt
PinChange Property
PINMode PropertyIsNotAList
PINOnly PsiPerDegreeFahrenheit
PlayContinuous PTP
PlayOnce PTPConnecting
Port_OutOfServices PTPDisconnected
PoundsForcePerSquareInch Radians
PoundsMass Raw
PoundsMassPerHour ReadAccessDenied
PoundsMassPerMinute ReaderDoor
PowerFactor ReadOnly
PreemptedByHigherPriorityTask ReadProperty

Plain English Language Reference B-11


System Constants, continued

Table of ReadPropertyConditional Schedule


System ReadPropertyMultiple ScheduleDownload
Constants, ReadWrite ScheduleMode
continued Ready Seconds
Real Security
RefreshDatabase SecurityLevel
ReinitializeDevice SecurityNotSupported
RemoteScope SegmentationNotSupported
RemoveFromStatusWhenAcked SegmentedBoth
RemoveListElement SegmentedReceive
RepeatEmail SegmentedTransmit
RepeatLog Sep
RepeatPaging September
RepeatPrint ServiceRequestDenied
RequestKey Services
RequestToExit ShortcutCreate
RequiresCommission ShortcutsAsShortcuts
Resources ShortedLoop
Restart ShortIntType
ReturnToNormal ShowDisplayValue
Reverse ShowMessage
RevolutionsPerMinute ShowSpaceTempt
RTD1000TempC ShowTimeValue
RTD1000TempC2W Singular
RTD1000TempF SiteConfiguration
RTD1000TempF2W SiteMode
RTDTemp(DEGC) Smallint
RTDTemp(DEGF) SoftAck
RTNOnly SpecifiedByRules
RtnUnack SpecifiedByUser
Run SpecifiedElapsedTime
Running SpecifiedTime
Sat SQLDateTime
Saturday StopBit1
Save StopBit1.5

B-12 Andover Controls Corporation


System Constants, continued

Table of StopBit2 Therms


System String Thu
Constants, StringDataType Thursday
continued Structure TimeDataType
SubscribeCOV Timeout
Success TimeStampType
Sun TimeSynchronization
Sunday Tinyint
Supervised Today
SvFloat ToFault
SX8000 TonHours
Table ToNormal
TankProbe Tons
TankNet TonsRefrigeration
TCPIP ToOffNormal
TCP_IP TooManyArguments
Temperature TriState
TemplateCreate Trouble
TemplateRefresh True
TermoCoupBTempC Tue
Text Tuesday
TextType UnArmed
ThermoCoupBTempF UnauthorizedOpenDoor
ThermoCoupETempC UnauthorizedOpenDoorCleared
ThermoCoupETempF Unavailable
ThermoCoupJTempC Unassigned
ThermoCoupJTempF UnconfirmedCOVNotification
ThermoCoupKTempC UncomfirmedEventNotification
ThermoCoupKTempF UncomfirmedPrivateTransfer
ThermoCoupRTempC UncomfirmedTextMessage
ThermoCoupRTempF UndefinedEnumeration
ThermoCoupSTempC UnderRange
ThermoCoupSTempF Union
ThermoCoupTTempC Unknown
ThermoCoupTTempF UnknownDevice

Plain English Language Reference B-13


System Constants, continued

Table of UnknownObject VT220


System UnknownProperty VtClose
Constants, UnknownVTClass VtData
continued UnknownVTSession VtOpen
Unload VTSessionAlreadyClosed
Unloaded VTSessionTerminationFailure
Unlocked V_Variable
UnrecognizedService Waiting
UnreliableOther Warmstart
UnsignedCharType WattHours
UnsignedLongType Watts
UnsignedShortType WattsPerSquareFoot
UnsupportedObjectType WattsPerSquareMeter
Urgent WattsPerSquareMeterDegreeKelvin
UrgentMessage Wed
UsGallons Wednesday
UsGallonsPerMinute Weekly
Valid_Access Weeks
ValidAccessAntiPassbackViolation WeekToDate
ValidAccessDuress WeekToNow
ValidAccessNoEntry Wiegand26
ValidAccessTimedAntiPassbackViolation WhenFinished
ValueOutOfRange White
ValueRepeat WhoHas
Varbinary WhoIs
Varchar Window
Vertical WithinController
VideoDatatype WriteAccessDenied
View WriteOnly
ViewOnly WriteProperty
Voltage WritePropertyMultiple
Voltamperes Wyse
VoltAmperesReactive Xdriver
Volts XdrvInstalled
VT100 XdrvNotInstalled

B-14 Andover Controls Corporation


System Constants, continued

Table of XdrvRemove
System XdrvRemoved
Constants, XdrvRun
continued 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 The following table lists additional Plain English reserved words consisting
Additional of system variables, system functions and keywords listed in alphabetical
Reserved order.
Words Note: As a programmer, you may not use any of these words as a line label
or program variable.
Above Breakpoint Disable Exp Len
Abs By Disconnect Exponential Length
AckAlarm Case Div Fact Less
Acos Cd Divided Factorial Let
Adjust Ceiling Does First Like
Advise Change Dom Floor Line
Alarms Chr Doy For LinePoint
All ClearScreen DrawEllipse Freemem Ln
Am Close DrawLine From Load
And CloseFile DrawRectangle GetExtLog Locate
Append CloseList Dt GetName Log
Arcsine CloseWindow Dump GetObject Logoff
Arctangent Cls E Go Logout
Arctangent2 Connect Either Goto Lookup
Arg Continue Else Greater Max
Asc Control En HangUp Maximum
Asin Cos Enable Hod Maxitem
Ask Cosine Encrypt Hour MessageWindow
Atan CurUser Encrypted HourOfDay Mid
Atan2 Curvefit End Hr Min
Average CurWorkstation EndIf If Minimum
Avg Date EndPolyLine ImportFile Minitem
Basedon DateTime EndSelect In Minus
Beep DayOfMonth EndWhen Include Minute
BeginPolyLine DayOfYear EndWhile Initiate Mod
Below Dde EnergyNet InitModem Modify
Between Del Equal Input Modulate
Bitand Delete Equals Inputs Month
Bitnot DeleteExtLog Erase Is Move
Bitor Dial Errors Kill Mth
Bitxor DiffTime Execute Last Mult
Break Dis Exists Left Multiplied

B-16 Andover Controls Corporation


Additional Reserved Words, continued

Table of Neither Rotate Than


Additional Next Round The
Reserved Not Run Then
Words, Number Save Through
continued Numeric Sc Thru
NumToStr Scan Time
Object Sd TimeOfDay
Open Search Timepiece
OpenFile Sec Times
OpenList Second To
Or Select Tod
Output SendCommand Trace
Outputs SendFile Trunc
P Set Truncate
Param SetACValue Turn
Passed SetDisplay Unadvise
Pid Shell Until
PlayAudio Show Update
Plus ShowReport UpdateAlarms
Pm Shut UpdateEvents
Poke Sin UpdateExtLog
PollACValue Sine Val
PopAlarm Site Version
PositionFile Sqrt Weekday
Pr StandardDeviation Where
PreParse Start While
Print StatusLine With
Prompt Step Wkd
Random Stop Write
Read String WriteFile
ReadFile Stringfill Year
ReceiveFile StrToDate Yr
Reload StrToNum
Report StrToTime
Request Sum
Return Tab
Right Tan
Rnd Tangent
Rot Terminate

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 The following table shows you a listing of the objects in Plain English.
Objects for the
Plain English • AccessEvent • ElevatorInfo • InfinitySystemVariable
Language • 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 The following list provides you with the attributes and meanings for an
Attributes AccessEvent object.
Table
Attribute 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

C-2 Andover Controls Corporation


ActivityEvent Attributes

ActivityEvent The following list provides you with the attributes and meanings for an
Attributes ActivityEvent object.
Table
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 The following list provides you with the attributes and meanings for an
Attributes ACXList object.
Table
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

C-4 Andover Controls Corporation


AlarmEnrollment Attributes

ALarmEnrollment The following list provides you with the attributes and meanings for an
Attributes Table 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 Attribute Description


Attributes Table, IconID Not meaningful to the user
continued
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… Alarm Referenece Point
ReferencePoint4
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

C-6 Andover Controls Corporation


AlarmEvent Attributes

ALarmEvent The following list provides you with the attributes and meanings for an
Attributes AlarmEvent object.
Table
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 The following list provides you with the attributes and meanings for an
Attributes AlarmInfo object.
Table
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… Alarm Referenece Point
ReferencePoint4
ReportID Not meaningful to the user

C-8 Andover Controls Corporation


AnalogInput Attributes

AnalogInput The following list provides you with the attributes and meanings for an
Attributes AnalogInput object.
Table
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 Attribute Description


Attributes ElecScaleTop The top electrical value that corresponds to the top value in
Table, Engineering Units
continued 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

C-10 Andover Controls Corporation


AnalogInput Attributes, continued

AnalogInput Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table, ReferencePoint4
continued 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 The following list provides you with the attributes and meanings for an
Attributes AnalogOutput object.
Table
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

C-12 Andover Controls Corporation


AnalogOutput Attributes, continued

AnalogOutput Attribute Description


Attributes ElecScaleBot The bottom electrical value that corresponds to the bottom value in
Table, continued 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 Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table, continued ReferencePoint4
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

C-14 Andover Controls Corporation


Area Attributes

Area Attributes The following list provides you with the attributes and meanings for an
Table 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 Attribute Description


Table, continued 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… Alarm Referenece Point
ReferencePoint4
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

C-16 Andover Controls Corporation


AreaLink Attributes

AreaLink The following list provides you with the attributes and meanings for an
Attributes AreaLink object.
Table
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 The following list provides you with the attributes and meanings for a
Attributes Table BinaryValue 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 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)

C-18 Andover Controls Corporation


BinaryValue Attributes, continued

BinaryValue Attribute Description


Attributes FollowUpRule Not meaningful to the user
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes TimeDelay The time delay used in evaluating Basic Alarms (WS points
Table, continued 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

C-20 Andover Controls Corporation


ClassName Attributes

ClassName The following list provides you with the attributes and meanings for a
Attributes ClassName object.
Table
Attribute Description
ObjectTypeID Not meaningful to the user
ObjectTypeName Not meaningful to the user

Plain English Language Reference C-21


CommPort Attributes

CommPort The following list provides you with the attributes and meanings for a
Attributes Table 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

C-22 Andover Controls Corporation


CommPort Attributes, continued

CommPort Attribute Description


Attributes DSR Data Send Ready
Table, continued 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… Alarm Referenece Point
ReferencePoint4

Plain English Language Reference C-23


CommPort Attributes, continued

CommPort Attribute Description


Attributes RefTemplate Name and path of template from which object was created
Table, continued 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
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

C-24 Andover Controls Corporation


ControllerUser Attributes

ControllerUser The following list provides you with the attributes and meanings for a
Attributes Table 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 Attribute Description


Attributes Table, LoginProgram InfinityProgram to be run at controller when user logs in
continued 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… Alarm Referenece Point
ReferencePoint4
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

C-26 Andover Controls Corporation


DateTime Attributes

DateTime The following list provides you with the attributes and meanings for a
Attributes Table 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 Attribute Description


Attributes Table, IconID Not Meaningful to the User
continued 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… Alarm Referenece Point
ReferencePoint4
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

C-28 Andover Controls Corporation


Device Attributes

Device The following list provides you with the attributes and meanings for a
Attributes Table Device object.

Attribute Description
AccessEventViewer Maximum number of entries allowed in the access viewer for
MaxEntries this workstation
AcknowledgeEmail Default location of this type of format file
FormatFile
AcknowledgePager Default location of this type of format file
FormatFile
AcknowledgePrinter Default location of this type of format file
FormatFile
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 Default location of this type of format file
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 Default location of this type of format file
File
AlarmPrinterFormat Default location of this type of format file
File
AlarmPrinterPath Full path to the printer for alarm printing
AlarmViewerMax Maximum number of entries allowed in the alarm viewer for
Entries 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 Attribute Description


Attributes APDUTimeout Time in milliseconds between retransmission of an APDU
Table, continued segment that requires ack but that has not been received.
ApplSoftwareVer Application software version
BasdgeFormatFile Default location of this type of format file
Location
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 States if device is currently under DST
Status
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

C-30 Andover Controls Corporation


Device Attributes, continued

Device Attribute Description


Attributes LocalDate Date at the device
Table, continued 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 Object classes that are supported
Support
ProtocolServicesSupport Services that are supported
ProtocolVersion Version of BACNet protocol supported - Not implemented
at this time
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes SegmentationSupport Indicates if this device supports segmentation of messages
Table, continued 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

C-32 Andover Controls Corporation


BinaryInput Attributes

BinaryInput The following list provides you with the attributes and meanings for a
Attributes Table 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 Attribute Description


Attributes EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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

C-34 Andover Controls Corporation


BinaryInput Attributes, continued

BinaryInput Attribute Description


Attributes TemplateName Name that will be used when creating objects from this
Table, template object - meaningful only for templates
continued TimeDelay The time delay used in evaluating Basic Alarms (WS points
only)
TimeLocked The time the object was last opened
TimeofActiveTime Time stamp of most recent time that the active state was reset
Reset
TimeofStateCount Time stamp of most recent time that the state counter was reset
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 The following list provides you with the attributes and meanings for a
Attributes Table BinaryOutput 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.
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

C-36 Andover Controls Corporation


BinaryOutput Attributes, continued

BinaryOutput Attribute Description


Attributes EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes ScheduleEvents Not viewable by user
Table, continued 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

C-38 Andover Controls Corporation


DistributionBatch Attributes

DistributionBatch The following list provides you with the attributes and meanings for a
Attributes Table 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 The following list provides you with the attributes and meanings for a
Attributes Table 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

C-40 Andover Controls Corporation


Door Object Attributes

Door Object The following list provides you with the attributes and meanings for a Door
Attributes Table 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 Attribute Description


Table, continued 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 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

C-42 Andover Controls Corporation


Door Attributes, continued

Door Attributes Attribute Description


Table, continued 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 Attribute Description


Table, continued 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… Alarm Referenece Point
ReferencePoint4
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

C-44 Andover Controls Corporation


Door Attributes, continued

Door Attributes Attribute Description


Table, continued 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 The following list provides you with the attributes and meanings for a
Attributes Table 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

C-46 Andover Controls Corporation


ElevatorInfo Attributes

ElevatorInfo The following list provides you with the attributes and meanings for a
Attributes Table 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 The following list provides you with the attributes and meanings for a
Attributes Table 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.

C-48 Andover Controls Corporation


EventEnrollment Attributes

EventEnrollment The following list provides you with the attributes and meanings for a
Attributes Table 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 Attribute Description


Attributes Table, IssueConfirmedNotif
continued 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… Alarm Referenece Point
ReferencePoint4
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

C-50 Andover Controls Corporation


EventLogControl Attributes

EventLogControl The following list provides you with the attributes and meanings for a
Attributes Table 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 The following list provides you with the attributes and meanings for a
Attributes Table EventNotification object.

Attribute Description
AcknowledgementRu Determines if acknowledgement is for all instances or only
les 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

C-52 Andover Controls Corporation


EventNotification Attributes, continued

EventNotification Attribute Description


Attributes Table, EditLock Indicates if object has been locked to additional Edits
continued
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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for a
Attributes Table 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

C-54 Andover Controls Corporation


EventView Attributes, continued

EventView Attribute Description


Attributes NetworkNumber Not Meaningful to the User
Table, continued Owner Owner of object
PrimarySortDirection Sort order - ascending or descending
PrimarySortKey Item on which to sort
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for a Filter
Table 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

C-56 Andover Controls Corporation


Filter Attributes, continued

FilterAttributes Attribute Description


Table, continued 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… Alarm Referenece Point
ReferencePoint4
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
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this
TemplateName 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 The following list provides you with the attributes and meanings for a
Attributes Table 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

C-58 Andover Controls Corporation


Folder Attributes, continued

Folder Attribute Description


Attributes LockedBy Not Currently Implemented
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this
TemplateName 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 The following list provides you with the attributes and meanings for a
Attributes Table Function object.

Attribute Description
Binary bitmap that corresponds to the alarm number that has
AckTranstoFault made a transition from normal to Fault
Binary bitmap that corresponds to the alarm number that has
AckTranstoNorm made a transition back to Normal
Binary bitmap that corresponds to the alarm number that has
AckTranstoOffNorm made a transition from normal to Alarm
Equals "on" if alarm attached in this position is in alarm else
Alarm1…Alarm8 equals "off"
Binary bitmap that corresponds to which of the eight alarm
AlarmEnable positions are enabled
Reflect fault status of any alarm link attached - not currently
AlarmFaults implemented
Bitmap of which alarms are active (as with alarmvalue) - not
AlarmFlags 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

C-60 Andover Controls Corporation


Function Attributes, continued

Function Attribute Description


Attributes FollowUpRule Not Meaningful to the User
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for a
Attributes Table Graphics object.

Attribute Description
Not Meaningful to Binary bitmap that corresponds to the alarm number that has
the User made a transition from normal to Fault
Binary bitmap that corresponds to the alarm number that has
AckTranstoNorm made a transition back to Normal
Binary bitmap that corresponds to the alarm number that has
AckTranstoOffNorm made a transition from normal to Alarm
Equals "on" if alarm attached in this position is in alarm else
Alarm1…Alarm8 equals "off"
Binary bitmap that corresponds to which of the eight alarm
AlarmEnable positions are enabled
Reflect fault status of any alarm link attached - not currently
AlarmFaults implemented
Bitmap of which alarms are active (as with alarmvalue) - not
AlarmFlags 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

C-62 Andover Controls Corporation


Graphics Attributes, continued

Graphics Attribute Description


Attributes Name Name of the object
Table, continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes Group object.
Table
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

C-64 Andover Controls Corporation


Group Attributes, continued

Group Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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… Alarm Referenece Point
ReferencePoint4
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
Alias that will be used when creating objects from this template
TemplateAlias 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 The following list provides you with the attributes and meanings for an
Attributes GroupMember object.
Table
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

C-66 Andover Controls Corporation


ImExportRef Attributes

ImExportRef The following list provides you with the attributes and meanings for an
Attributes ImExportRef object.
Table
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 The following list provides you with the attributes and meanings for an
Attributes Table 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

C-68 Andover Controls Corporation


InfinityController Attributes, continued

InfinityController Attribute Description


Attributes Table ID SQL Object ID - Not Meaningful to the User
continued
IncludeObject Not Meaningful to the User
IOU1Model… IOU model that is installed - meaningful only forAEclipse
IOU8Model 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
Maximum time that can pass before a response is tobe received
MaxResponseTime 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes Table 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.

C-70 Andover Controls Corporation


InfinityDateTime Attributes, continued

InfinityDateTime Attribute Description


Attributes Table IOU IOU number of object
continued
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… XDriver configuration value
Param6
Port Xdriver comm port
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes InfinityFunction object.
Table
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

C-72 Andover Controls Corporation


InfinityFunction Attributes, continued

InfinityFunction Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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… Alarm Referenece Point
ReferencePoint4
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
Name that will be used when creating objects from this template
TemplateName 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 The following list provides you with the attributes and meanings for an
Attributes Table 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

C-74 Andover Controls Corporation


InfinityInfinetCtrl Attributes, continued

InfinityInfinetCtrl Attribute Description


Attributes Table InfinetErrorCount Number of errors since the last clearing
continued
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… Alarm Referenece Point
ReferencePoint4
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
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this template
TemplateName 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 The following list provides you with the attributes and meanings for an
Attributes InfinityInnput object.
Table
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

C-76 Andover Controls Corporation


InfinityInput Attribute, continued

InfinityInput Attribute Description


Attributes ElecScaleBot The bottom electrical value that corresponds to the bottom value
Table continued 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.
Where applicable, indicates whether or not a point can be
LCDState 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 Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table continued ReferencePoint4
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

C-78 Andover Controls Corporation


InfinityNumeric Attribute

InfinityNumeric The following list provides you with the attributes and meanings for an
Attributes InfinityNumeric object.
Table
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.
Number of elements to be stored in the extended log for this
ExtLogSize 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 Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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… Alarm Referenece Point
ReferencePoint4
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

C-80 Andover Controls Corporation


InfinityOutput Attribute

InfinityOutput The following list provides you with the attributes and meanings for an
Attributes InfinityOutput object.
Table
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 Attribute Description


Attributes EngScaleBot The bottom value in Engineering Units that corresponds to the
Table continued 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… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created

C-82 Andover Controls Corporation


InfinityOutput Attribute, continued

InfinityOutput Attribute Description


Attributes ReportID Not Meaningful to the USer
Table continued 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 The following list provides you with the attributes and meanings for an
Attributes InfinityProgram object.
Table
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

C-84 Andover Controls Corporation


InfinityProgram Attribute, continued

InfinityProgram Attribute Description


Attributes FlowType Specify program flow to be either looping of fall through
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes InfinityString object.
Table
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

C-86 Andover Controls Corporation


InfinityString Attribute, continued

InfinityString Attribute Description


Attributes LastLogTime Time stamp of an object's last entry in the local automatic array.
Table continued 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… Alarm Referenece Point
ReferencePoint4
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
The value of this object after any conversions that may be
Value required

Plain English Language Reference C-87


InfinitySystemVariable Attribute

InfinitySystem The following list provides you with the attributes and meanings for an
Variable InfinitySystemVariable object.
Attributes
Table 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

C-88 Andover Controls Corporation


InfinitySystemVariable Attribute, continued

InfinitySystem Attribute Description


Variable LastLogTime Time stamp of an object's last entry in the local automatic array.
Attributes LCDState Where applicable, indicates whether or not a point can be
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes IOUModule object.
Table
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 Name of the user making the last change
This is a command that invokes a learn. No data is stored.
Learn NOT PE settable
LockedBy Not Currently Implemented

C-90 Andover Controls Corporation


IOUModule Attribute, continued

IOUModule Attribute Description


Attributes LockingWorkstation Not Currently Implemented
Table continued 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… Alarm Referenece Point
ReferencePoint4
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
Name that will be used when creating objects from this template
TemplateName 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 The following list provides you with the attributes and meanings for an
Attributes ListView object.
Table
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

C-92 Andover Controls Corporation


ListView Attribute, continued

ListView Attribute Description


Attributes LastChangeBy Name of the user making the last change
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes MultiStateInput object.
Table
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)

C-94 Andover Controls Corporation


MultiStateInput Attribute, continued

MultiStateInput Attribute Description


Attributes EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes TemplateName Name that will be used when creating objects from this template
Table continued 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

C-96 Andover Controls Corporation


MultiStateOutput Attribute

MultiStateOutput The following list provides you with the attributes and meanings for an
Attributes Table 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 Attribute Description


Attributes Table EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
continued 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… Alarm Referenece Point
ReferencePoint4
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

C-98 Andover Controls Corporation


MultiStateOutput Attribute, continued

MultiStateOutput Attribute Description


Attributes Table TemplateCreateRule Not meaningful to user
continued
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 The following list provides you with the attributes and meanings for an
Attributes MultiStateValue object.
Table
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 Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes Network object.
Table
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 If remote site, this point will be examined for change (when
orUpdates 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 Attribute Description


Attributes DisconnectScript Script to be processed when a disconnect is requested
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes SafetyInterval Amount of time after which no activity will result in a disconnect
Table continued 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 The following list provides you with the attributes and meanings for an
Attributes NetworkDialUp object.
Table
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 Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes Numeric object.
Table
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 Attribute Description


Attributes HighLimit High Limit to be used in Basic Alarm (WS points only)
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes TimeLocked The time the object was last opened
Table continued 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 The following list provides you with the attributes and meanings for an
Attributes ParamInfo object.
Table
Attribute Description
ID SQL Object ID - Not Meaningful to the User
Param1…Param6 XDriver configuration value
Identifies the comport number that the Xdriver is on. NOT PE
Port settable.
ID SQL Object ID - Not Meaningful to the User

C-110 Andover Controls Corporation


Personnel Attribute

Personnel The following list provides you with the attributes and meanings for an
Attributes Personnel object.
Table
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 Attribute Description


Attributes DepartmentCode Field to be used for storage of this or any other individual feature.
Table continued 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 Attribute Description


Attributes LostCard Indicates if the person's regular card has been tagged as lost
Table continued 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 Alarm Referenece Point
ReferencePoint4
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 Attribute Description


Attributes TemplateName Name that will be used when creating objects from this template
Table continued 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 The following list provides you with the attributes and meanings for an
Attributes Program object.
Table
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 Attribute Description


Attributes Graphics Not Meaningful to the User
Table continued 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… Not Meaningful to the User
ReferencePoint4
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 Attribute Description


Attributes Status Indicates if a program is currently active
Table continued 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 The following list provides you with the attributes and meanings for an
Attributes RootClass object.
Table
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 Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table continued ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes Schedule object.
Table
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 Attribute Description


Attributes InactiveValue String used to indicate when schedule is inactive
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes SecurityLevel object.
Table
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 Attribute Description


Attributes Owner Owner of the Object.
Table continued Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes SecurityLink object.
Table
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 The following list provides you with the attributes and meanings for an
Attributes ShortCut object.
Table
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 Attribute Description


Attributes Properties Not Meaningful to the User
Table continued ReferencePoint1… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes String object.
Table
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 Attribute Description


Attributes Name Name of the object
Table continued 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… Alarm Referenece Point
ReferencePoint4
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 The following list provides you with the attributes and meanings for an
Attributes TemplateInfo object.
Table
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 The following list provides you with the attributes and meanings for an User
Attributes object.
Table
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
Number of minutes of inactivity after which this user will be
InactivityTimer logged off

C-130 Andover Controls Corporation


User Attribute, continued

User Attribute Description


Attributes IncludeObject Not Meaningful to the User
Table continued 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 Forces operator to get sign off on all sytem changes - requires
le CFR setting
Owner Owner of the Object.
PasswordChangeNext Indicates if the user is required to change password at their next
Login log in
PersonnelRecord Not currently implemented
Preemption Not Meaningful to the USer
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
RequireAlarmAckOpe Forces operator to get sign off on all alarm acknowledgements -
ratorText 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 Attribute Description


Attributes TimeLocked The time the object was last opened
Table continued 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 The DCX 250-Display Unit has a touch-sensitive, 4.9 x 4.2-inch liquid
Unit crystal display (LCD) screen. The screen is divided into 64 numbered
Description 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)

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


and 200 vertically (bottom-to-top).
200
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

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


9 10 11 12 13 14 15 16

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


17 18 19 20 21 22 23 24

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


25 26 27 28 29 30 31 32

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


33 34 35 36 37 38 39 40

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
41 42 43 44 45 46 47 48

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


49 50 51 52 53 54 55 56

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


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 You can program the 250-display unit to display predrawn graphic controls
Control (see below) that respond to an operator touching the screen. The control
Graphics graphic represents a single point or point attribute.

There are 13 pre-designed graphic controls that you can select with the
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CONTROL keyword.
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 0 0 0 0 0000 00 0 0 0 0 0000
00 00 00 00 00 00 00 00 0000 00 00 00
Title

000000000000000000000000000 000000000000000000000000 00 00 00 00000000000 00 00


1 Title 2 Title 3

00 0 0 0 0 00 6
0
Title 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0 0 00 000 000 000 000 00 00 00 00 00 00 00 00 00 00 00 00 00
4 Title 5 Title

00 00 00 00 00 0
0 0 0000000000000000000000000 0 0
00 00 00 00 00 00 00 00 00
0 00 00 0 0 00 0 0 0
7 Title

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
8 Title 9 Title

####.##

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


11 Title
00000000000 000 0 00 00 00 000000000 000 00000 000 000 0 0 0 0 000000
10 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 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 0 0 00 00 00 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 000000000 0 0
12 Title 13 Title

0000 000 000


###•##•#### ##:##:##

Pre-designed Controls for the 250 Display Unit

D-2 Andover Controls Corporation


Understanding Pre-designed Graphic Controls, Continued

Predrawn Each of the controls is identified by a unique style number, which appears to
Control the left or above each control.
Graphics
continued 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 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 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
1 Title
00 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00
2 Title 00 00 Title
3
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
Title

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4

0000000000000000000
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 0000000000000000000000000000000000000000000000000
00
Frame styles for the predrawn controls.

Plain English Language Reference D-3


Placing a Pre-designed Graphic Control on the 250 Screen

Preliminary Before you place the control, always be sure to carry out these steps:
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 Prior to placing a control graphic on the 250 screen you will need to know
Considerations 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 In addition to the above required features of the control, the following
Considerations 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 You use the CONTROL keyword to place a predrawn graphic control on the
Keyword 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 The CONTROL keyword format is as follows:


Keyword CONTROL (style, left, bottom, right, top, user_change,
continued 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 Replace With


style Integer that indicates which of the 13 control styles to
display.
left 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.
bottom 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.
right 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.
top 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.
user_change TRUE or FALSE. TRUE if you want operators to be able
to change the setting of the control, FALSE if not.
point_or_attribute_path Full path to the point or point attribute the control
represents.
title Optional. Title, in quotation marks, you want to appear in
the title bar of the control. An empty string ("") indicates
no title.
frame 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 Replace With


direction 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.
bot_scale 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_scale 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.
tickmarks 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.
steps 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.
format 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.

D-6 Andover Controls Corporation


Placing a Pre-designed Graphic Control on the 250 Screen,
Continued

CONTROL As an example, we will use a vertically positioned rotational needle gauge


Keyword (Control Style 7) to illustrate how to place a graphic control on the 250
Example screen. That style of control was chosen because it uses most of the optional
arguments for its design.

Setting Up the To display a vertically positioned rotational needle gauge (Control Style 7)
Software 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 AirFlow
00 00 00
00 0 00 0 00 00 0 00 0 0
50
00 00 00
00 00 0 100

00 00 00
00000000000 00 00 0
0 0 00
0 0 0 0 0 0 0 0 0 0 0
150

00 00 00 00000 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 0 0 0 0 0 0 0 0 0 00000 000
200

250

000000000000000000000000000000000000000000000000000000000000
0 0
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
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
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
Building1 Floor1 Display1 AirFlowGauge

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
Top and
When TRUE, Operator Bottom Format
Control Style Can Change Setting of Scale

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"

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
Controller
Frame Style
Tick

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Location and Point Marks
Name Steps
on Screen
Comma Means

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
Skipping Argument

Rotational Needle Gauge Control Program Statement

Argument The left, bottom, right, and top values position the frame so its lower left
Descriptions 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 If you did not specify a bottom and top of scale, the control would
Descriptions automatically be a digital gauge. The bottom of scale would become Off and
continued 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 If you did not specify a number of steps, you would never see the gauge
Marks 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 Notice that the gauge control has two arrows. You press these arrows to raise
Control 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 When you specify the left, bottom, right, and top, the software automatically
Knobs Cannot sizes the control to fit into the area you designate unless it is Control Style 3,
be Resized 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 While rectangular shaped controls (such as Control Styles 1 and 2) stretch to
Retain Their fit tall/wide areas and shrink to fit short/narrow areas, gauge controls such as
Shape 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 left-
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
bottom and right-top).

00 0 0 0 0 0 00
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 On the other hand, if you designate a short wide area for a circular control,
Retain Their its height fits the area and its width becomes proportional to the height. The
Shape control is then horizontally centered within the space you have defined.
continued
In either case, the gauge retains its semicircular shape.

Minimum Any control style that you can resize never displays unless it is at least the
Control Size 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 If the control cannot display in the space you give, the software disables the
doesn't Appear 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

Type Raised Button


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
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 0
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
0 0 0 0 0 0 0 0 0 0 0 0 0 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
Title

00
00 00
0 0
0 0
000000000000000000000000000000000000000000000000000000000000

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.

D-12 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
Flat Button

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
00 0000000000000000000000000000000000000
Title
00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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

Type Light 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 00 00 00 00 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 0 0 0 0 0 0 0 00
00 0 00 000
Title
00 00
00 0
00 00 0 000000000000 0 0 0
00 00 0 00
00 00 00 00 00 00 00 00 0 00 00 00 00
00 0 00 0
00 00 00 00 00
00 0
00 0 0
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 00 00 00 00 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

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.
• bot_scale—Optional. Automatically set to OFF or one of the two values
of a digital attribute, such as DISABLED for STATE.
• top_scale—Optional. Automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
• tickmarks—Not applicable.
• steps—Not applicable.
• format—Not applicable.

D-14 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 Title
00
00 0 0 0 0 0 0 0 0 0
00 00 00 00 00 00 00 00 0 00
00 00 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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

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
Sliding Switch

00 00
00 00
00 00 0 0 0 0 00
0 0
Title

0 0 00
00 00 00 00 00 00 00 00
00 000000 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

Details • Resizing—Cannot resize. Positions itself in the center of the coordinates


you give, as long as all coordinates are on the screen. Be careful—if the
coordinates you give force the control off the screen, it does not appear.
The center of the control must be at least 21 line points from any edge of
the screen.
• frame—If you do not specify a frame, the sliding switch appears without
the frame around it.
• direction—Not applicable.
• bot_scale—Optional. Automatically set to OFF or one of the two values
of a digital attribute, such as DISABLED for STATE.
• top_scale—Optional. Automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
• tickmarks—Not applicable.
• steps—Not applicable.
• format—Not applicable.

D-16 Andover Controls Corporation


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 • top_scale—Required if it is not a digital knob. Automatically set to ON


continued or one of the two values of a digital attribute, such as ENABLED for
STATE.
• tickmarks—Optional. You do not have to display tick marks, but you
may.
• steps—Automatically sets to the number of degrees in the arc of the
circle from the first tick mark shown to the last (approximately 2/3 of a
circle), for a total of 240 degrees—240 steps you can set the knob to.
You may set the number of steps to a smaller number. If you set it to 0,
the knob becomes analog.
• format—Optional. If you do not specify a format for the numbers that
label the positions on the knob, the software does not display the
number but leaves adequate space to display four digits—####.

D-18 Andover Controls Corporation


Graphic Control Style 7 Specifications

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
Rotational Needle Gauge, Vertical Position

00 Title
00
00 0 00 00 00 0 00 0 0 0 00
00 0 0 0 0 0 0 0 0 0 0 0 0 0 00
00 0 0 0 0 0 0 0 0 00 0 00
00 00 00 00 00 00 00 0 0 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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 • bot_scale—Required if it is not a digital gauge. Automatically set to


continued OFF or one of the two values of a digital attribute, such as DISABLED
for STATE.
• top_scale—Required if it is not a digital gauge. Automatically set to ON
or one of the two values of a digital attribute, such as ENABLED for
STATE.
• tickmarks—Optional. You do not have to display tick marks, but you
may.
• steps—Automatically sets to the number of degrees in the arc of the
circle from the first tick mark shown to the last (1/2 of a circle), for a
total of 180 degrees—180 steps you can set the gauge to. You may set
the number of steps to a smaller number. If you set it to 0, the gauge
becomes analog.
• format—Optional. If you do not specify a format for the numbers that
label the positions on the gauge, the software does not display the
number but leaves adequate space to display four digits—####.

D-20 Andover Controls Corporation


Graphic Control Style 8 Specifications

Type Rotational Needle Gauge, Horizontal Position


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 Title
0 00
00 00 00 0 00 00 00 00 00 00 00
00 0 00 0 0 00
00 0 0 0 0 0 0 0 0 0 0
00 00 00 0 0 00 00 00 00 00 00 00 00 00 00 00 0 0 00 00 00 0 00
00 00
###.##

00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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 • bot_scale—Required if it is not a digital gauge. Automatically set to


continued OFF or one of the two values of a digital attribute, such as DISABLED
for STATE.
• top_scale—Required if it is not a digital gauge. Automatically set to ON
or one of the two values of a digital attribute, such as ENABLED for
STATE.
• tickmarks—Optional. You do not have to display tick marks, but you
may.
• steps—Automatically sets to the number of degrees in the arc of the
circle from the first tick mark shown to the last (1/2 of a circle), for a
total of 180 degrees—180 steps you can set the gauge to. You may set
the number of steps to a smaller number. If you set it to 0, the gauge
becomes analog.
• format—Optional. If you do not specify a format for the numbers that
label the positions on the gauge, the software does not display the
number but leaves adequate space to display four digits—####.

D-22 Andover Controls Corporation


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
Value Bar with Arrow Buttons

00 00
00 Title

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 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

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 • top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values of a
digital attribute, such as ENABLED for STATE.
• tickmarks—Not applicable.
• steps—Required. If you do not give a number of steps, the number
defaults to 1, the correct number for a digital point or attribute.
• format—Not applicable.
• The value that appears in the box automatically appears in the format for
the point that the control represents.

D-24 Andover Controls Corporation


Graphic Control Style 10 Specifications

Type Value Bar 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 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
Title

00 ####.##
00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000
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 • steps—Required. If you do not give a number of steps, the number


continued 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
Level Fill with Scale

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 00 0 0 0 0 0 0 0 0 0 0 0 0 00 00 00 00 00 00
Title

00 0000000000000000000000000 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000
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 • tickmarks—Optional. You do not have to display tick marks, but you
continued may.
• steps—Required. If you do not give a number of steps, the number
defaults to the number of dots on the screen along the length of the
scale.
• format—Optional. If you do not specify a format for the numbers that
label the positions on the knob, the software does not display the
number but leaves adequate space to display four digits—####.

D-28 Andover Controls Corporation


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
Slider Pointer and Scale

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
Title
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
00 0 0 0 0 0 00
0 0 0 0 0 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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 • top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values of a
digital attribute, such as ENABLED for STATE.
• tickmarks—Optional. You do not have to display tick marks, but you
may.
• steps—Required. If you do not give a number of steps, the number
defaults to the number of dots on the screen along the length of the
scale.
• format—Optional. If you do not specify a format for the numbers that
label the positions on the knob, the software does not display the
number but leaves adequate space to display four digits—####.

D-30 Andover Controls Corporation


Graphic Control Style 13 Specifications

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
Date Time Display Bar

00 00
00 00
00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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
Title

00 00 ###•##•####
00 00 00 00 ##:##:## 00 00 00 00 00 00
00 00
00 00
0 0
000000000000000000000000000000000000000000000000000000000000

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.

INFINITY CLASS BACnet OBJECT TYPE


Input (ElecType: ACCTemp(DegC)) Analog Input
Input (ElecType: ACCTemp(DegF)) Analog Input
Input (ElecType: InputCurrent) Analog Input
Input (ElecType: Voltage) Analog Input
Input (ElecType: Counter) Analog Input
Input (ElecType: Digital) Binary Input
Input (ElecType: Supervised) Multi-State Input

Output (ElecType: Current) Analog Output


Output (ElecType: Voltage) Analog Output
Output (ElecType: Digital) Binary Output
Output (ElecType: Tristate) Multi-State Output

Numeric Binary Value


Numeric Analog Value
Numeric Multi-State Value

Program Program

Schedule Schedule

Device Device

EventEnrollment EventEnrollment

EventNotification Notification Class

E-2 Andover Controls Corporation


ANALOG INPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

COV Increment 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 Plain English READ/WRITE Restrictions
Property Name R/W

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 Cannot be set false if channel not
configured
Polarity Polarity W
Present_Value Value W

MULTISTATE INPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

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 Cannot be set false if channel not
configured
Present_Value Value W

Plain English Language Reference E-3


ANALOG OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

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 Cannot be set false if channel not
configured
Present_Value Value W
Relinquish_Default RelinquishDefault W
Units Units W

BINARY OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

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 Cannot be set false if channel not
configured
Polarity Polarity W
Present_Value Value W
Relinquish_Default RelinquishDefault W

MULTISTATE OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

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 Cannot be set false if channel not
configured
Present_Value Value W
Relinquish_Default RelinquishDefault W 1..3

E-4 Andover Controls Corporation


The following tables are for objects that do not have an ElecType. When you create the Infinity
Numeric object indicated on the left of the table, you must select a BACnet Object Type from a
drop down list within the editor. See note regarding numerics on the following page.

ANALOG VALUE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W

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 Plain English READ/WRITE Restrictions
Property Name R/W

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 Continuum READ/WRITE Restrictions
Property Attribute R/W

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 Continuum READ/WRITE Restrictions
Property Attribute R/W

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

SCHEDULE
BACnet Continuum READ/WRITE Restrictions
Property Attribute R/W

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 Continuum READ/WRITE Restrictions
Property Attribute 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 0-255
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

EVENT ENROLLMENT
BACnet Continuum READ/WRITE Restrictions
Property Attribute R/W

Description Description W Limited to 32 characters


Event_State EventState R
Event_Type EventType W * see below
Notify_Type NotifyType W
Object_Name Name W Limited to 16 characters
Object_Type Type R

* Limited to Change_Of_State, Change_Of_Value, Floating_Limit, Out_Of_Range

NOTIFICATION CLASS
BACnet Property Continuum READ/WRITE Restrictions
Attribute R/W

Description Description W Limited to 32 characters


Object_Name Name W Limited to 16 characters
Object_Type Type R

E-8 Andover Controls Corporation


Continuum Plain English Reference
30-3001-872 Continuum Plain English Reference

También podría gustarte