You are on page 1of 740

Andover Plain English

Language Reference

2010, Schneider Electric


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 Schneider Electric.
This document is produced in the United States of America.
Andover Plain English is a trademark of Schneider Electric.
Andover Infinet is a trademark of Schneider Electric.
All other trademarks are the property of their respective owners.

Andover Plain English Language Reference


August, 2010
Rev. F
Schneider Electric part number: 30-3001-872
CyberStation Version 1.9
The information in this document is furnished for informational purposes only, is subject
to change without notice, and should not be construed as a commitment by Schneider
Electric. Schneider Electric assumes no liability for any errors or inaccuracies that may
appear in this document.

Schneider Electric
One High Street
North Andover, MA 01845
(978) 975-9600
Fax: (978) 975-9782
http://www.schneider-electric.com/buildings

ii

Schneider Electric

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

Plain English Language Reference

iii

Chapter 2 The Plain English Integrated Development Environment


Opening the Plain English IDE ........................................................................................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
Title Bar .....................................................................................................................2-6
The Menu Bar ....................................................................................................................2-7
File Menu...................................................................................................................2-7
Edit Menu ..................................................................................................................2-8
View Menu.................................................................................................................2-8
Build Menu.................................................................................................................2-9
Tools Menu................................................................................................................2-9
Window Menu............................................................................................................2-9
Help Menu .................................................................................................................2-9
The Main and Find Toolbars ..........................................................................................2-10
The Main Toolbar ....................................................................................................2-10
The Find Toolbar .....................................................................................................2-11
The Check Toolbar and Command Line .......................................................................2-12
The Check Toolbar..................................................................................................2-12
The Command Line.................................................................................................2-12
The IDE Explorer .............................................................................................................2-13
Popup Shortcut Menu..............................................................................................2-14
The IDE Editor .................................................................................................................2-15
Displaying Multiple Programs..................................................................................2-15
The IDE Assistant............................................................................................................2-16
Selecting and Placing Objects.................................................................................2-16
The IDE Watch Bar ..........................................................................................................2-17
Rearranging IDE Toolbars and Windows................................................................2-17
Docking and Floating......................................................................................................2-18
Using the Docking and Floating Options.................................................................2-18
Configuring a Plain English Program File ....................................................................2-19
Configuring the Program File ..................................................................................2-19
Using the Editor ..............................................................................................................2-20
Text Entry ................................................................................................................2-20
The Editor Shortcut Menu .......................................................................................2-21
Finding Text.............................................................................................................2-22
Replacing Text ........................................................................................................2-23
Going to a Labeled Program Line ...........................................................................2-24
Importing Programs.................................................................................................2-24
Exporting Programs.................................................................................................2-25
Saving the Program.................................................................................................2-26
Opening the Program ..............................................................................................2-27
Running the Program from the Command Line ......................................................2-27
Monitoring the Program File Status.........................................................................2-28
Stopping the Program .............................................................................................2-29
iv

Schneider Electric

Using the Plain English Wizard .....................................................................................2-30


Opening the Plain English Wizard...........................................................................2-30
The Wizard File Selection Menu .............................................................................2-31
Selecting and Configuring a Wizard Program .........................................................2-31
The Object References Screen...............................................................................2-33
The Final Wizard Screen.........................................................................................2-34

Chapter 3 Programs, Files and the Scanning Process


Plain English Language Programs..................................................................................3-2
Instructions and Statements......................................................................................3-2
Names and Case Sensitivity .....................................................................................3-2
Use of "The" ..............................................................................................................3-2
Lines and Line Labels ...............................................................................................3-3
Comments .................................................................................................................3-3
Expressions ...............................................................................................................3-4
Numeric Expressions .............................................................................................3-4
String Expressions .................................................................................................3-4
Keywords ...........................................................................................................................3-5
Other Words ..............................................................................................................3-5
Command Line ..........................................................................................................3-5
Program Flow ....................................................................................................................3-6
Looping vs. FallThru...............................................................................................3-6
Triggers .....................................................................................................................3-7
Constructing Program Statements .................................................................................3-8
Conditional and Unconditional Instructions ...............................................................3-8
IFTHEN ..................................................................................................................3-9
Program Files ..................................................................................................................3-10
Keep Control in a Single Program File....................................................................3-10
The Scanning Process....................................................................................................3-11
Scan Action List.......................................................................................................3-11
Other Actions...........................................................................................................3-12
The Basic Stages ....................................................................................................3-12
Stage 1. Updating System Variables ......................................................................3-13
Stage 2. Updating Schedules..................................................................................3-13
Stage 3. Updating Input Points ...............................................................................3-13
Stage 4. Running Programs and Executing Commands ........................................3-14
Stage 5. Updating Output Points.............................................................................3-14
Stage 6. Evaluating Alarms .....................................................................................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-17

Plain English Language Reference

Chapter 4 Points, Constants and Variables


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-4
DateTime Points........................................................................................................4-4
Controller vs. Workstation Points ..............................................................................4-4
Constants...........................................................................................................................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-6
String Constants........................................................................................................4-6
Rules for String Constants .....................................................................................4-6
System Defined Constants........................................................................................ 4-7
Variables ............................................................................................................................4-8
Numeric Variables .....................................................................................................4-8
String Variables .........................................................................................................4-8
DateTime Variables...................................................................................................4-8
Local Variables..................................................................................................................4-9
Numeric Keyword...................................................................................................4-9
String Keyword.......................................................................................................4-9
DateTime Keyword.................................................................................................4-9
System Variables ............................................................................................................4-10
Programmable System Variables............................................................................4-10
System Variable Listing...........................................................................................4-11
STATUS# System Variables ...................................................................................4-13
PowerFail and other Power related System Variables............................................4-14

Chapter 5 Operators and Expressions


Order of Action..................................................................................................................5-2
Plus Sign, Minus Sign, Negation, BITNOT, and Percentage.........................................5-3
Fundamental Operators....................................................................................................5-4
Comparative Operators ....................................................................................................5-5
Comparing String Values ..........................................................................................5-6
Type Conversion .......................................................................................................5-6
List and Range Operators ................................................................................................5-7
Bit Operators .....................................................................................................................5-8
Truth Table ................................................................................................................5-9
AND/OR and String Joining Operators .........................................................................5-10

vi

Schneider Electric

Chapter 6 Functions, Arrays, and Logs


Functions ...........................................................................................................................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
Setting Up an Array of Variables ...............................................................................6-5
Logs....................................................................................................................................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

Chapter 7 Keywords
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-5
Format Heading Information......................................................................................7-5
Capital Letters ...........................................................................................................7-5
Bold Italics .................................................................................................................7-5
Parentheses ( )..........................................................................................................7-5
Italics .........................................................................................................................7-6
Comma (,) and Colon (:)............................................................................................7-6
Period (.)....................................................................................................................7-6
Format Terms in Bold Italics ...........................................................................................7-7
Replacement of Terms ..............................................................................................7-7
Number......................................................................................................................7-7
Integer .......................................................................................................................7-7
String .........................................................................................................................7-7
Name .........................................................................................................................7-7
List .............................................................................................................................7-7

Plain English Language Reference

vii

Section 2 Keyword Groups ................................................................................ 7-8


Logical Keyword Groups..................................................................................................7-8
Logical Keyword Groups Listing................................................................................7-8
Restricted Keywords ...............................................................................................7-12
250 Display Unit Keywords .....................................................................................7-12

Section 3 Keywords A through C .................................................................... 7-13


ABS Function ..........................................................................................................7-13
AccessLog System variable...................................................................................7-14
AccessServer System variable..............................................................................7-16
ACOS Function .......................................................................................................7-18
Alarms System variable..........................................................................................7-19
AND Operator .........................................................................................................7-20
ARG System variable..............................................................................................7-23
ASC Function ..........................................................................................................7-25
ASIN Function .........................................................................................................7-26
ASK Function ..........................................................................................................7-27
ATAN Function........................................................................................................7-30
ATAN2 Function......................................................................................................7-31
AUDIOBELL System variable.................................................................................7-32
AvailRecords System variable...............................................................................7-33
AVERAGE Function................................................................................................7-34
BACKLIGHT System variable.................................................................................7-36
BASEDON..GOTO Statement ................................................................................7-37
BEGINPOLYLINE Function ....................................................................................7-40
BITAND Operator....................................................................................................7-41
BITNOT Operator....................................................................................................7-42
BITOR Operator ......................................................................................................7-45
BITXOR Operator....................................................................................................7-46
BLUE Constant .......................................................................................................7-47
BREAK Statement ..................................................................................................7-48
CabinetTamper System variable ...........................................................................7-49
CD Statement ..........................................................................................................7-50
CEILING Function ...................................................................................................7-53
CHR Function ..........................................................................................................7-55
CLEARSCREEN Function ......................................................................................7-57
CLOSE Function .....................................................................................................7-58
CloseFile Function..................................................................................................7-60
CloseList Function .................................................................................................7-63
CloseWindow Function ..........................................................................................7-65
CONTINUE Statement ............................................................................................7-67
CONTROL Function................................................................................................7-69
COS Function ..........................................................................................................7-70
CPUPower System variable (programmable).........................................................7-71
CurUser Function ...................................................................................................7-73
CurWorkstation Function.......................................................................................7-74

viii Schneider Electric

Section 4 Keywords D through G .................................................................... 7-75


DATE System variable ............................................................................................7-75
DATETIME Statement.............................................................................................7-77
DAYOFMONTH System variable ............................................................................7-78
DAYOFYEAR System variable ...............................................................................7-82
DeleteExtLog Function...........................................................................................7-83
Dial Function ...........................................................................................................7-86
DIFFTIME Function .................................................................................................7-94
DISABLE Statement ...............................................................................................7-97
DIVIDED BY Operator.............................................................................................7-99
DRAWELLIPSE Function .....................................................................................7-100
DRAWLINE Function ............................................................................................7-103
DRAWRECTANGLE Function ..............................................................................7-105
ENABLE Statement ..............................................................................................7-108
ENDPOLYLINE Function ......................................................................................7-110
EOF Constant........................................................................................................7-113
EQUALS Operator ................................................................................................7-114
ERRORS System variable ....................................................................................7-115
EventLogSize System variable ............................................................................7-117
EXPONENTIAL Function ......................................................................................7-119
FACTORIAL Function...........................................................................................7-120
FAILURE Constant ...............................................................................................7-121
File Statement.......................................................................................................7-122
FILL Constant .......................................................................................................7-125
FLOOR Function ...................................................................................................7-126
FOR..NEXTStatement...........................................................................................7-127
FREEMEM System variable..................................................................................7-131
GetExtLog Function .............................................................................................7-132
GETNAME Function..............................................................................................7-135
GetObject Function ..............................................................................................7-140
GOTO Function .....................................................................................................7-144

Section 5 Keywords H through N .................................................................. 7-147


HangUp Function..................................................................................................7-147
HOD System variable............................................................................................7-152
HOUR System variable .........................................................................................7-153
IF..THEN..ELSE Statement...................................................................................7-154
INFINET#COUNT System variable.......................................................................7-160
InitModem Function..............................................................................................7-162
IOUCommFlt# System variable............................................................................7-167
IS Operator ........................................................................................................7-168
LCDPassword System variable ...........................................................................7-173
LEFT Function.......................................................................................................7-174
LENGTH Function.................................................................................................7-175
LINE Statement.....................................................................................................7-176
LINEPOINT Function ............................................................................................7-181
LN Function ...........................................................................................................7-187
LOAD Statement on controller ..............................................................................7-188
LOAD Statement on workstation ..........................................................................7-192
Plain English Language Reference

ix

LOCATE Function.................................................................................................7-196
LOG Function ........................................................................................................7-200
MAXIMUM Function ..............................................................................................7-201
MAXITEM Function ...............................................................................................7-203
MessageWindow Constant ..................................................................................7-205
MicroPower System variable ...............................................................................7-206
MID Function .........................................................................................................7-208
MINIMUM Function ...............................................................................................7-209
MINITEM Function ................................................................................................7-211
MINUS Operator....................................................................................................7-213
MINUTE System variable ......................................................................................7-214
MOD Operator.......................................................................................................7-216
ModemPower System variable (programmable)..................................................7-217
MONTH System variable.......................................................................................7-219
MOVE Statement ..................................................................................................7-221
NewAlarmCount System variable........................................................................7-223
NOFILL Constant ..................................................................................................7-225
NOT Operator........................................................................................................7-226
NUMERIC Statement ............................................................................................7-227
NUMTOSTR Function ...........................................................................................7-229

Section 6 Keywords O through R .................................................................. 7-230


OBJECT Statement ..............................................................................................7-230
OFF Constant ........................................................................................................7-232
ON Constant..........................................................................................................7-233
-ON Constant ........................................................................................................7-234
OPEN Function (comm port) .................................................................................7-235
OpenFile Function ................................................................................................7-237
OpenList Function ................................................................................................7-240
OR Operator ..........................................................................................................7-252
P Statement...........................................................................................................7-255
PASSED Function.................................................................................................7-257
PlayAudio Statement ...........................................................................................7-258
PLUS Operator......................................................................................................7-260
PositionFile Function ...........................................................................................7-261
PowerFail System variable...................................................................................7-265
PowerUpTime System variable............................................................................7-266
RANDOM Function ...............................................................................................7-276
READ Function (comm port) .................................................................................7-277
ReadFile Function.................................................................................................7-280
ReadProperty Function ........................................................................................7-286
ReaderPower System variable.............................................................................7-287
Relinquish Function .............................................................................................7-289
REPEAT..UNTIL Statement..................................................................................7-291
RETURN Statement ..............................................................................................7-292
RIGHT Function ....................................................................................................7-294
ROTATE Statement ..............................................................................................7-295
ROUND Function ..................................................................................................7-297
RUN Statement .....................................................................................................7-299
x

Schneider Electric

Section 7 Keywords S through Z................................................................... 7-303


SAVE Statement (on controller) ............................................................................7-303
SAVE Statement on workstation ...........................................................................7-309
SCAN System variable..........................................................................................7-313
SEARCH Function ................................................................................................7-315
SECOND System variable ....................................................................................7-316
SELECT (CASE) Statement .................................................................................7-317
SendEmail Function .............................................................................................7-320
SET Statement ......................................................................................................7-324
SETDISPLAY Function .........................................................................................7-327
Shell Statement ....................................................................................................7-329
Show Statement ...................................................................................................7-332
SHOWREPORT Statement...................................................................................7-334
SIN Function..........................................................................................................7-338
SQRT Function......................................................................................................7-339
StandardDeviation Function................................................................................7-340
STATUS# System variable (programmable).........................................................7-343
STOP Statement ...................................................................................................7-344
STRING Statement ...............................................................................................7-346
STRINGFILL Function ..........................................................................................7-348
STRTODATE Function..........................................................................................7-351
STRTONUM Function ...........................................................................................7-354
SUCCESS Constant..............................................................................................7-355
SUM Function........................................................................................................7-356
SystemStatus System variable ............................................................................7-358
TAB Function ........................................................................................................7-360
TAN Function ........................................................................................................7-361
TD Local variable ..................................................................................................7-362
TH Local variable ..................................................................................................7-363
THE Statement......................................................................................................7-364
TIMEPIECE Function ............................................................................................7-365
TIMES Operator ....................................................................................................7-367
TM Local variable .................................................................................................7-368
TOD System variable ............................................................................................7-369
TOUCHEDCELL System variable ........................................................................7-371
TRUNCATE Function............................................................................................7-372
TS Local variable...................................................................................................7-375
TURN Statement ...................................................................................................7-376
UniquePIN System variable..................................................................................7-378
UPDATE Function.................................................................................................7-379
UpdateExtLog Function .......................................................................................7-384
VERSION System variable....................................................................................7-391
WEEKDAY System variable .................................................................................7-392
WHILE Statement .................................................................................................7-394
WHITE Constant ...................................................................................................7-396
WriteFile Function ................................................................................................7-397
WriteProperty Function........................................................................................7-401
YEAR System variable..........................................................................................7-403
Plain English Language Reference

xi

Appendix A ASCII Codes....................................................................... A-1


Appendix B Reserved Words ................................................................ B-1
Appendix C Attributes ........................................................................... C-1
Appendix D Programming the DCX 250 Display Unit.......................... D-1
Understanding Pre-designed Graphic Controls ........................................................... D-2
Predrawn Control Graphics ...................................................................................... D-2
Placing a Pre-designed Graphic Control on the 250 Screen ....................................... D-4
Preliminary Steps ..................................................................................................... D-4
Basic Considerations................................................................................................ D-4
Additional Considerations......................................................................................... D-4
The CONTROL Keyword.......................................................................................... D-5
The Arguments......................................................................................................... D-6
CONTROL Keyword Example.................................................................................. D-8
Setting Up the Software ........................................................................................... D-8
Format ...................................................................................................................... D-9
Argument Descriptions ............................................................................................. D-9
Steps and Tick Marks............................................................................................. D-10
Positioning the Control ........................................................................................... D-10
Setting the Control Size................................................................................................. D-11
Switches and Knobs Cannot be Resized ............................................................... D-11
Gauge Controls Retain Their Shape ...................................................................... D-11
Minimum Control Size ............................................................................................ D-12
If the Control Doesn't Appear ................................................................................. D-12
Graphic Control Style 1 Specifications........................................................................ D-13
Graphic Control Style 2 Specifications........................................................................ D-14
Graphic Control Style 3 Specifications........................................................................ D-15
Graphic Control Style 4 Specifications........................................................................ D-16
Graphic Control Style 5 Specifications........................................................................ D-17
Graphic Control Style 6 Specifications........................................................................ D-18
Graphic Control Style 7 Specifications........................................................................ D-20
Graphic Control Style 8 Specifications........................................................................ D-22
Graphic Control Style 9 Specifications........................................................................ D-24
Graphic Control Style 10 Specifications...................................................................... D-26
Graphic Control Style 11 Specifications...................................................................... D-28
Graphic Control Style 12 Specifications...................................................................... D-30
Graphic Control Style 13 Specifications...................................................................... D-32

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


Appendix F Alarm Functions ................................................................ F-1
Appendix G Area LockDown Features ................................................. G-1

xii

Schneider Electric

1
Fundamentals
This chapter provides basic introductory concepts covering the architecture of the
Andover Continuum building automation system that are essential to developing accurate
programs in the Andover Plain English Language. Since Andover Continuum
CyberStation is an object-oriented system, this chapter explains the concept of objects,
aliases, and classes. In addition, the chapter focuses on object attributes, their
association to objects, and then ends with the discussion of hierarchical arrangement
within a physical network.
The Fundamentals chapter discusses the following topics:

Introduction

Continuum Structure Architecture

Objects and Classes

Attributes

Object Ownership

Introduction
The Andover Plain English language (PE) was developed by Schneider Electric to
provide our customers with the ability to customize their building automation systems in
accordance with specific site requirements. Similar to BASIC, PE is based on keywords
that provide a simple straightforward approach to developing programming statements
and requires minimal programming experience.
Andover Plain English is included as part of Andover 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 described in
Chapter 2 of this document.
The programs developed with PE support the Andover Continuum line of BACnet and
Infinity controllers and workstations.

Andover Continuum Products


The Andover Continuum product line encompasses a wide variety of components
including Infinity CX 9xxx series controllers, CX 9680 and CX 9681 NetController II
controllers, CX 99xx NetControllers, Andover 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 is provided on the following pages.

1-2

Schneider Electric

Andover Continuum System Architecture


The following is an explanation of the different configurations and the system
components of the Andover Continuum system.

Simple Andover Continuum System


In a simple single-workstation configuration, an Andover Continuum site might consist of
a single NetController, with some input/output (I/O) modules and the workstation PC
running CyberStation software. In BACnet solutions, the bCX1 Router might be present
along with several MS/TP sub-controllers. The NetController and the bCX1 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

bCX1
BACnet
Router

NetController

Network
Path

ACC I/O Bus


PC Windows
Workstation running
CyberStation with
Database

IOU Modules

BACnet
MS/TP
RS-485
Local field wiring

Example of a Continuum/BACnet Single Workstation Network

Moderate Andover Continuum System


The Andover Continuum system design is based on scalability, so expansion to a multiworkstation, larger network configuration can be accomplished easily. The illustration on
the following page shows such a setup. In this configuration, the Ethernet LAN has been
expanded to include another workstation, a database server, an Infinity CX 9xxx series
network controller and a BACnet bCX1 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 bCX1 controller serves as a gateway between the BACnet
MS/TP RS-485 subnet and the Andover 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.
Andover Plain English Language Reference 1-3

b3xxx

Ethernet IP Network

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

bCX1
BACnet
Controller
Router

NetController

LBUS

IOU Modules

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

Local field wiring


Infinet

BACnet
Controllers

Infinet
Local field
wiring

Local field
wiring
Local field
wiring

b3xxx

Third Party
BACnet
Device

Infinet
Controllers

Infinet
Controller

Local field
wiring

Local field
wiring

Example of a Multi-Workstation Continuum/BACnet Network

System Components
The following paragraphs define the specific components that make up the Andover
Continuum system, varying from the types of controllers to the different connections. The
system components are as follows:

1-4

Network Controllers

CyberStation Software

Infinet Controllers

Database

MS/TP Controllers

Infinet

I/O Modules

LBUS

Workstations

MS/TP

Schneider Electric

Network Controllers
There are four types of Andover Continuum network controllers:

Infinity CX 9000 series

CX 9680 and CX 9681 NetController II

CX 99xx NetController

bCX1 BACnet Controller/Router

ACX seriesAccess Control

All are IP compatible and each contains at least one port to allow communication with
application controllers.

Andover Infinet Controllers


These controllers include combinations of inputs and outputs for the monitoring and
control of local sensors and devices. There is a wide variety of Infinet controllers. Each
device is designed for a specific purpose:

DCX 250Display Control

LCX800 seriesLocal Control

LCX89X seriesLighting Control

SCX seriesSystem Control

TCX seriesTerminal Control (HVAC, VAV, smoke detection)

i2 series (also referred to as Infinet II)Updates and replaces many of the older
Infinet controllers. The i2 series controllers have flash memory for firmware and
object storage.

Infinet controllers are connected to network controllers via the Infinet network.

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

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

Andover Plain English Language Reference 1-5

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

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

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

Andover Infinet
The Andover 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 system 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 Continuum and third-party
BACnet devices to the bCX1 controller.

1-6

Schneider Electric

Objects and Classes


CyberStation is based on object-oriented programming principles. Objects and classes
are the basic building blocks of the system. Each item appearing on a CyberStation
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 can be grouped into classes.
Objects and their aliases follow distinct naming conventions that are described in the
following paragraphs.

Objects
Objects are the basic building blocks of Schneider Electric's Andover Continuum control
systems. All the items that make up the system, both hardware and software are
identified as objects. Each item appearing on a CyberStation workstation screen
represents an object. For example, objects contained within the controller class include:

CommPort

Input

Output

User

Group

Graphical icons, displayed in the Continuum Explorer, represent both hardware objects
and software objects.

Object Naming Convention


When you create a name for an object in CyberStation, 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
Naming Convention" on the next page).
The object name is stored in the Continuum database, not in the controller.

Andover Plain English Language Reference 1-7

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

Description
Alphabetic characters. Upper- and lowercase are
interchangeable.
Numeric characters.

Underscore character.

Period character

Slash character

Dash character
Space character

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

Alias Naming Convention


The alias is the object reference used in programs and functions. CyberStation 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.
The rules for the alias naming character set are as follows:

1-8

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

Schneider Electric

Classes
Objects are categorized into classes, which are groups of related objects. Examples of
classes:

Area

Device

Schedule

If you open a class folder in the Continuum Explorer, you see a list of objects for that
class. For example, the SystemVariable folder displays a list of system variables.

BACnet Objects vs. Andover Continuum Objects


All information in a BACnet system is also represented in terms of objects. Objects may
represent a single physical point or logical groupings of points that perform a specific
function. The information contained within a BACnet object is presented as a set of
properties. In CyberStation, BACnet object properties are similar to Andover Continuum
object attributes.

Andover Plain English Language Reference 1-9

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

How to View Attributes


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

The attributes that appear on the object's General tab varies depending on the selected
object.

1-10

Schneider Electric

Basic Attribute Listing


The following table provides a summary of the attributes appearing in the previous
example of a General tab.
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
Exported

Indicates the alarms that are active for an object.


Indicates if the point is referenced by another controller. This
attribute is read-only and is set by the Continuum System.

Accessibility
The attributes for all objects used in PE programs are accessible from any CyberStation
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
CyberStation.

Andover Plain English Language Reference 111

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

Hierarchical View of System Objects


Network and Controller views that are selectable on the CyberSTation workstation screen
represent the hierarchy of the physical components in the system. For example, an input
point called Rm_Temp1, attached to a NetController named CX1 that is connected to a
network called Bldg1, 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
Bldg1

Controller
Input Point
CX1
Rm_Temp1

Example of Object Hierarchical Relationships

1-12

Schneider Electric

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, based on the graphical representation in the previous section, 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

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.

Andover Plain English Language Reference 113

1-14

Schneider Electric

2
The Plain English Integrated
Development Environment
This chapter provides an overview of the Plain English Integrated Development
Environment (IDE) and explains how it enhances the production of writing and editing
Plain English programs. The discussion in this chapter is not intended to be a complete
tutorial on the use of the IDE, but rather to present an overall picture of its components
and to touch briefly on each of its features.
This chapter discusses the following topics:

y
y
y
y
y

Opening the Plain English IDE

y
y
y
y

The IDE Assistant

The Check Toolbar and the Command


Line

Using the Editor

y
y

The IDE Explorer

Using the Plain English Wizard

Plain English IDE Features


The Menu Bar
The Main and Find Toolbars

The IDE Editor

The IDE Watch Bar


Docking and Floating
Configuring a Plain English Program File

Opening the Plain English IDE


There are three ways to open the IDE when you wish to create a new program file:

y
y
y

From the System & Status button on CyberStations main menu


From the Continuum Explorer
Selecting Programs Continuum PlainEnglish from the Windows Start menu

These methods are described below.

From the CyberStation Main Menu


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

System & Status menu page

Click the

2-2

Schneider Electric

hot spot to start the Plain English IDE.

From the Continuum Explorer


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

Selecting a New Infinity Program

From the Start Menu


From the Windows explorer, click Start. Select Programs -> Continuum -> Plain
English.
Note:

Continuum must be running.

Andover Plain English Language Reference 2-3

The New create dialog box appears when you select New InfinityProgram from the file
option on the menu bar. Otherwise, selecting New from the File menu or clicking the new
file quick pick button displays the dialog box shown below:

The New Dialog Box

Creating the Program File


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

2-4

Schneider Electric

Plain English IDE Features


The following paragraphs explain the various features and components of the Integrated
Development Environment (IDE).

IDE Tools Overview


IDE consists of a variety of color-enhanced windows, menus and toolbars to simplify the
writing, editing and debugging of Plain English (PE) programs.
The IDE main screen includes standard Windows features (title bar, menu bar, various
toolbars, main window and status bar) along with specialized editor function windows.
Title Bar
Menu Bar

Main
Toolbar

Class of
Objects
Displayed
In IDE
Explorer

Command
Line

Find
Toolbar

Check
Toolbar

Editor
IDE Explorer

Assistant

Status Bar

Watch Bar

Plain English IDE Main Screen

Andover Plain English Language Reference 2-5

The following topics describe the different components of the Plain English IDE:

y
y

The Title Bar Indicates the directory path to the current PE program file.

y
y

The Main Toolbar Provides shortcuts for the items in the Edit Menu.

Check Toolbar Works in conjunction with the Assistant to compile programs and
report errors.

y
y
y

IDE Explorer Provides a graphical display of your system.

Watch Bar - Allows you to monitor your program's effect on other objects.

The Menu Bar Provides a series of menus and options for creating and editing PE
program files.
The Find Toolbar - Provides a shortcut for locating specific words, symbols, or
phrases in a PE program file

Editor Provides an area for users to write and edit programs.


Assistant - Provides additional support in the writing and editing of Plain English
programs by supplying features that help to simplify the coding process.

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

Schneider Electric

The Menu Bar


The menu bar provides seven dropdown menus within the IDE. The seven menus are
described in detail in the following sections.

File Menu
The File Menu offers the following options:
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 a text file into the active program file.

Export

Saves the active program file to a text file.

Configuration
Firing Order

Displays the Infinity Program, or the Function Configuration Dialog.


Displays and allows editing of the current firing order.

Print

Prints the active program file.

Exit

Exits the Plain English editor.

Andover Plain English Language Reference 2-7

Edit Menu
The Edit Menu offers the following options:
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 for
which you last searched.

Find Previous

From the cursor position, finds the previous instance of the text for
which you last searched.

Replace

Finds specified text, and replaces it with a different specified text.

Goto

Places your cursor at the specified line number or line definition.

View Menu
The View Menu offers the following options:
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
Network View

2-8

Schneider Electric

Changes the IDE Explorer to folder view. In this view, the Root and
all folders appear in the navigation pane.
Changes the IDE Explorer to network view. In this view, the
network you set up appears in the navigation pane.

Build Menu
The Build Menu offers the following options:
Option
Check
Check All
Stop

Description
Compiles the currently active program file. Reports errors in the
Check page of the Assistant
Compiles all open program files. Reports errors in the Check page
of the Assistant.
Stops compiling.

Tools Menu
The Tools Menu offers the following options:
Option
Wizard
Calculator
Options

Description
Opens the Plain English Wizard.
Displays the Calculator.
Displays the Options dialog.

Window Menu
The Window Menu offers the following options:
Option
Cascade
Tile Horizontally

Note:

Description
Displays program windows overlapping diagonally.
Displays program windows in equal horizontal portions of
the editor.

Tile Vertically

Displays program windows in equal vertical portions of the editor.

Arrange Icons

This feature is not supported in this release

A list of currently open windows appears at the bottom of the Window menu.
Clicking any window in the list will make it the active window.

Help Menu
The Help Menu offers the following options:
Option
Help Topics
About IDE

Description
Displays Plain English online help topics.
Displays the copyright and version number for the PE editor.

Andover Plain English Language Reference 2-9

The Main and Find Toolbars


The following displays and describes the items on the Main and Find Toolbars.

The Main Toolbar


The Main toolbar contains shortcuts to many of the items found in the Edit menu.

Main Toolbar Selections


Action
Open a new program
Open an existing program
Save the currently active program
Save all open programs
Cut text
Copy text
Paste text
Undo the last action you performed
Redo the last action you performed
Find a particular word in the current program
Print the current program

2-10

Schneider Electric

Icon

The Find Toolbar


The Find toolbar is a shortcut search 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

Type the text that you want to find, or use the pull-down list to select
previously searched text.

To search from the cursor position to the end of the program,


click

To search from the cursor position to the beginning of the program,


click

Andover Plain English Language Reference 211

The Check Toolbar and Command Line


The following displays and defines the features that appear on the Check Toolbar and the
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
Compiles the active program in the Editor
Complies all programs in the Editor
Stops compilation
Save the program and refreshes the windows
Displays the program Configuration dialog box
Starts the Plain English Wizard. (See "Using the Plain English
Wizard" in this chapter.)
Displays a pop-up calculator

The Command Line


The Command Line is where you enter and execute Plain English commands. If the
Command Line is hidden, go to Toolbars in the View menu to add it. Its features include:

y
y
y

Browse Button opens a drop down explorer tree.


Command Line where you enter Plain English commands.
Response Linewhere messages and print requests appear.

Browse
Button

2-12

Command Line

Schneider Electric

Response Line

The IDE Explorer


The IDE Explorer is a small, more limited version of the Continuum Explorer. It helps you
navigate through the folders and devices on your system to find and select objects to add
to your programs. If the IDE Explorer is hidden, go to Toolbars in the View menu to add
it.
The basic parts of the IDE Explorer include:

Explorer Drop-Down List Box Displays the object tree of the current folder or
device directory.

Class Drop-Down List Box Displays the classes of the folder or device object
selected from the Explorer Drop-Down List Box.

Back Up One Level Button Changes the Explorer Drop-Down List Box to the next
higher directory.

Copy Objects Button Copies selected object on the Class Drop-Down List to the
IDE Assistant.
IDE Explorer DropDown List Box
Back Up
One Level
Button

Current Device

Current Class

Copy Objects
Button
Class DropDown List Box

List of Objects
Matching
Selected Current
Class

IDE Explorer

Andover Plain English Language Reference 213

Popup Shortcut Menu


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

IDE Explorer Popup Shortcut Menu Features


Menu Item

2-14

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 objects attribute is


Enabled [NOT SHOWN FOR INFINITYPROGRAM]

Take out of
Service

Opens a dialog box to confirm the state of the objects attribute is


Disabled [NOT SHOWN FOR INFINITYPROGRAM]

Enable

Opens a dialog box to confirm the state of the programs attribute is


Enabled [ONLY SHOWN FOR INFINITYPROGRAM]

Disable

Opens a dialog box to confirm the state of the programs 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.

Schneider Electric

The IDE Editor


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:

y
y

Each program displays in its own 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.

y
y
y
y

In multiple Editor window displays, clicking a program tab activates that program.

More than one program can be open at the same time, each with its own resizable
Editor window.

Only one program at a time can be the active or current Editor window.
When a program becomes too large for its window, scroll bars appear.
Color is used for distinguishing program elements. Blue is for keywords, red for line
definitions and green for comments.

Displaying Multiple Programs


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

IDE Editor Window

Andover Plain English Language Reference 215

The IDE Assistant


The IDE Assistant provides additional support in the writing and editing of Plain English
programs. Six tabs located at the bottom of the Assistant window provide features that
help to simplify the coding process. When selected, each tab becomes a separate page
in the Assistant window.
IDE Assistant Page Features
Menu Item

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
Favorites

Provides attribute values used by the system.


Provides a storage area for commonly used items such as keywords,
statements, functions, objects and so on.

Selecting and Placing Objects


Double clicking items displayed within these pages automatically inserts them into the
active program Editor window. To place object names on the Objects page, locate them
in the IDE Explorer and then drag them onto the page. Placing object names on the IDE
explorer is useful when writing programs because it includes the objects network path.
This feature allows the user to double click the object as opposed to writing out the
network path manually.
From the Check page, double clicking a listed error places the cursor on the program
instruction in the Editor that caused the error.

IDE Assistant Window

2-16

Schneider Electric

The IDE Watch Bar


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.
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 because it
allows the user to constantly monitor the objects changes in value.
If the Watch Bar is hidden, go to Toolbars in the View menu to add it

IDE Watch Bar

Rearranging IDE Toolbars and Windows


Many features within the IDE can be rearranged to suit your personal preference:

The Title Bar, Menu Bar, Main Window and Status Bar remain on your screen at all
times.

You can display or hide the icon toolbars and other tool window components of the
IDE.

The icon toolbars can also be dragged and dropped into different locations within the
upper portion of the IDE.

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

Andover Plain English Language Reference 217

Docking and Floating


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

y
y

The Assistant and Watch Bars can be placed and arranged within the Main Window.

The Explorer Bar can be dragged and dropped within the IDE or outside of the IDE
window.

The Assistant and Watch Bars can be dragged and dropped outside of the Main
Window or outside of the IDE window.

Using the Docking and Floating Options


The docking and floating menu is accessed by right clicking the mouse cursor in a gray,
non-button area of the:

y
y

Assistant or Watch windows


IDE Explorer or Command Line

Docking and Floating Options Menu

Docking and Floating Menu Selections

2-18

Option

Enabled

Allow
Docking

Lets you drag the window to a fixed


position on the screen. Window size
changes according to available
empty screen space. Shows an
outline of the new window shape
before docking. The title bar
disappears on a docked window.

Displays the windows title


bar, indicating that the
window is a floating object
that can be dragged
anywhere on the screen.

Hide

Removes the window from view.

Make windows visible from


the View menu.

Float in Main
Window

Puts the tool window in the Main


Window and can be moved within it.

Window can be dragged out


of the Main Window.

Schneider Electric

Disabled

Configuring a Plain English Program File


Configuring the Program File
To setup the new program file, click the Configuration icon
in the 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

Enter a brief description (optional) up to 32 characters in length.

Select Enabled in the State selection box.

Select the Autostart checkbox if you want the program to start running
the moment it is saved.

Select the Command Line checkbox if you want the program to be


controlled from the Command line.

Select either Looping or Fall Thru in the Flow Type selection box
depending on what type of program is intended. (See "Looping vs.
FallThru" in Chapter 3.)

If a "Run on Any Workstation" checkbox is present, select it if you want to


run the programon any workstation. If you don't select it, then the
program can only be run on the workstation on which it is installed.
Note: When Run on Any Workstation appears in the File Configuration
dialog box, you can select it or AutoStart, but not both.

Click the OK button at the bottom of the dialog box and the File Editor
window appears.

Andover Plain English Language Reference 219

Using the Editor


When the Editor window first appears, it is blank until you begin writing your program. As
you enter your program, keep the following guidelines in mind:

y
y
y
y

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.

The following sections describe the different tools available to you when using the Editor.

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:

y
y
y

Move the cursor


Select text
Change and move text

The keystroke combinations to accomplish these tasks are described in the following
table.
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.

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.

Selecting Text

2-20

Schneider Electric

Using the Text Editor continued


Selecting Text
Key or Keys

Action

Shift CTRL right arrow

Selects text from the cursor position to the beginning of the


next word.

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.

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.

Changing and Moving Text

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 Shortcut Menu


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

Editor Shortcut Menu

Andover Plain English Language Reference 221

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

Find Dialog Box

Find Dialog Box Features


Menu Item
Find What

2-22

Action
Enter the text to search forcan be up to 132 characters including
spaces.

Match whole
word only

Only finds the selected word and rejects other words that would
contain it (if "one" is the selected word, it would reject "done", "bone",
"alone", and so on).

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.

Schneider Electric

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

Replace Dialog Box

Replace Dialog Box Features


Menu Item
Find What

Action
Enter the text to search forcan be up to 132 characters including
spaces.

Replace with

Enter the text you want to replace the found text with.

Match whole
word only

Only finds the selected word and rejects other words that would
contain it (if "one" is the selected word, it would reject "done", "bone",
"alone", and so on).

Match case

Will match the case of the selected word( if "One" is selected it will
ignore "one")

Replace
Find Next
Replace All

Replaces the first instance of the found text.


Replaces the found text when it is clicked and then the Replace
button is clicked.
Replaces all instances of the found text.

Andover Plain English Language Reference 223

Going to a Labeled Program Line


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

Go To Dialog Box

Importing Programs
You can import an external program (located on a floppy disk or in a different directory)
into an existing program in the Editor. To do this, perform the following steps.
Importing a Program File
Step

Action

Click at the point in the existing program where you want to insert the
external program.

A flashing cursor will appear at that point.

Open the File menu from the main menu bar.

Select Import from the File menu.

The IDE File Import dialog box appears.

File Import Dialog Box

2-24

Schneider Electric

Importing a Program File (continued)


Step

Action

Use the Look in pull down list box to locate the file to import.

Double click the file name so that it appears in the File name text box.

Click the Import button.

The entire file is inserted into the existing program at the point selected in
step 1.

Exporting Programs
You can export an existing program in the Editor to another drive or directory. To do this,
perform the following steps.
Exporting a Program File
Step

Action

Make sure the program file you wish to export is the active program in
the Editor window.

Open the File menu from the main menu bar.

Select Export from the File menu.

The IDE File Export dialog box appears.

File Export Dialog Box

Andover Plain English Language Reference 225

Exporting a Program File continued


Step

Note:

Action

Use the Look in pull down list box to locate the drive or directory to
export to.

Type in the name of the file in the File name text box.

Click the Save button to copy the program to the selected location.

If the existing program in the Editor has errors and you don't have time to correct
them, exporting the file is a good way to save the program.

Saving the Program


Once you have finished writing your program you need to save it, but before you do,
make sure the Assistant is displayed on your screen.
To save a program file, click Save in the File menu, or click the
Toolbar.

button in the Main

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 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 save 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.
When all the errors have been corrected, the Check page of the Assistant will display the
following message.

The Save File Message


2-26

Schneider Electric

Opening the Program


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

Running the Program from the Command Line


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

Starting the Program from the Command Line


In order for the program to run, its State attribute must already be Enabled. (See
"Configuring the Program File" in this chapter)
The system then does the following:

y
y
y

Sets the programs Status attribute to Active.


Sets the programs 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.)

Andover Plain English Language Reference 227

Monitoring the Program File Status


You can monitor the program file status by viewing the Run Time status page.
in the Check toolbar or select
To access that page, click the Configuration icon
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-28

Schneider Electric

Run Time Window Features


Item
Last Changed
Current Line Start
File Size

Program Status
Current Line

Description
Shows the date and time the program was last altered.
Displays the date and time the current line began executing.
Displays the number of characters (bytes) in the file (1024 bytes
equal 1KB). The size of the file also includes basics about the
file, such as its name, flowtype, and other attribute settings that
the controller stores.
Shows whether the program is Active or Inactive.
Displays the name or number of the currently active line of the
program. No current line shows if you have not labeled any
program lines.

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 Program


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

Andover Plain English Language Reference 229

Using the Plain English Wizard


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.

Opening the Plain English Wizard


To access the Wizard, click the
in the Check toolbar or select Wizard 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 the Next> button to bring up the File Selection menu page.

2-30

Schneider Electric

The Wizard File Selection Menu


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

PE Wizard File Selection Menu

Selecting and Configuring a Wizard Program


To select a program, click its icon and then click the Next > button. This displays the File
Configuration dialog box as shown on the next page. The selections on this dialog box
are the same as the standard Configuration dialog box except for one additional
checkbox:

Yes, include commentschecking 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.

Andover Plain English Language Reference 231

PE Wizard File Configuration Dialog Box


Note:

If you select a Function from the File Selection menu, the State, Flow Type and
Autostart selection will not be available in the File Configuration dialog box.

Click the Next> button displays the Object References Wizard screen.
Note:

2-32

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.

Schneider Electric

The Object References Screen


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

Figure 3-26. The Object References Screen

To replace the object references, click the empty Object Name field. This will display a
browse button. Click 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 the Next> button to go to the final Wizard screen.

Andover Plain English Language Reference 233

The Final Wizard Screen


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

Final PE Wizard screen

2-34

Schneider Electric

3
Programs, Files, and the Scanning
Process
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.
This chapter discusses the following topics:

Plain English Language Programs

Keywords

Program Flow

Constructing Program Statements

Program Files

The Scanning Process

Other Scanning Issues

Plain English Language Programs


The following paragraphs discuss how to construct a Plain English Language program,
while providing the basic components and their restrictions.

Instructions and Statements


A Plain English (PE) program consists of a set of instructions that tells the controller what
to do. Each instruction is called a statement. A statement is a complete description that
tells the controller to take some type of specific action.
An example of a PE statement might be:
TURN ON THE PUMP
To accomplish the programs purpose, program statements are listed in the order in
which the controller must perform them. In addition, each single physical line in the Editor
can contain up to 132 characters (not including the Return at the end of the line).

Names and Case Sensitivity


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

Use of "The"
Using "the" makes the statement appear more grammatical, but its use is optional in the
Plain English Language. The following example shows how The improves a statements
readability:
IF THE FAN IS ON THEN TURN ON THE PUMP

3-2

Schneider Electric

Lines and Line Labels


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

Comments
Comments are optional sentences often used to help document the operation of a
program for the human reader. Comments are not operated upon; they 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.
You can also add a comment after a statement on the same physical line, as shown in
the following instance:
TURN THE FAN ON start cooling

Andover Plain English Language Reference 3-3

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

Numeric Expressions
Numeric expressions always result in a number. Numeric constants and variables are
expressions as well. Expressions can also be mathematical calculations that result in a
number or comparisons that result in a TRUE or FALSE response. The following are
valid numeric expressions:

y
y
y
y

2
SQRT (9)
900 DIVIDED BY 8
WKD IS GREATER THAN MONDAY

String Expressions
String expressions are text and always result in a string of characters enclosed in
quotation marks. String constants and String variables are expressions as well. String
expressions can also be combinations that result in a string of characters. (See the
PRINT keyword statement in Chapter 7.)
The following are valid string expressions:

y
y
y

"WARNINGHIGH TEMPERATURE"
LEFT ("TEST",1)
"THE NUMBER OF ERRORS IS ";TOTAL1

Chapter 4 explains how to form a 'string expression' using the Joining Operator.

3-4

Schneider Electric

Keywords
In Plain English, program statements are constructed using words that the controllers
recognize. These words, called keywords, are further classified into types. The keyword
types are described below.
PE Keyword Types
Keyword Type
Statement (an action
word)

Definition
Defines an action the controller can perform.

Function

Carries out a particular series of calculations or actions


and may return a specific value.

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 Continuum has reserved (called reserved words see Appendix
B).

Attributes and their settings (see Appendix C).

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

Andover Plain English Language Reference 3-5

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

y
y

FallThru
Looping

A FallThru program executes the program lines in the sequential order in which you list
themfrom 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 it is on until it is instructed to "go to" (GoTo)
another line.

Looping vs. FallThru


In the following example, if you set the program to Looping, it scans the TESTING line
continuously until one of the two conditions exists. If the temperature (assume that the
variable temp holds the value of the current temperature of the room) is not in the range
of 70 to 75, then the program 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 and not greater than 75, the program flows to the next
consecutive line (labeled Pumping).

3-6

Schneider Electric

Triggers
FallThru programs start when they are prompted by a specific point or system variable.
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 CyberStations 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 points trigger list. Refer to Chapter 13 of
the Continuum CyberStation Configurators 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)

Andover Plain English Language Reference 3-7

Constructing Program Statements


To construct a program statement, follow the structure indicated in the keyword format
and the following general rules:

y
y

You must use one verb only (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
Open the damper, vent1, vent2, vent3 and vent4
Close the firstvalve, secondvalve, thirdvalve
You cannot, for instance, open the damper and close the valve in the same statement.
The following is an invalid statement:
OPEN THE DAMPER AND CLOSE THE VALVE

Conditional and Unconditional Instructions


The statements in the previous section are examples of unconditional instructions. Plain
English includes two fundamental types of instructions:

y
y

Conditional
Unconditional

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

3-8

Schneider Electric

IFTHEN
IF..THEN statements differ from other statements in two major ways:

You use one or more operators to form a simply or complex expression (known as
the condition to be tested) to be place between IF and THEN.

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 verbssee Chapter 5). The
following example, shows a statement that 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 operatorIS 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.

Andover Plain English Language Reference 3-9

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

Keep Control in a Single Program File


Good programming practice dictates that you have one program file control per single
piece of equipment. Following this practice has the following advantages:

y
y
y

Makes programs easier to maintain.


Makes programs easier to debug
Prevents firing order list (see How it Works on the 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

Schneider Electric

The Scanning Process


The following paragraphs provide a detailed description of the scanning process and its
six stages.

How the Scanning Process 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. The firing order list is also useful in power failure situations. (See Power Failure
Conditions and the Firing Order later in this chapter)
In general, the interpreter inside each controller does the following:

y
y

Gathers all data it needs for the next scan through the programs.

Converts and sets outputs.

Reads and executes one line from each enabled program starting with the first
program in the firing order list.

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.
The next appropriate line is the line determined by the scan process sequence.

Scan Action List


The following is a complete list of the scan actions in the order the controller carries them
out:
y Updates all enabled system variables.

y
y
y

Updates controller-resident schedules, setting occupied and unoccupied events.

y
y

Updates controller output points.

Updates controller input points.


Runs program statements and Command Lines (executes Command Lines between
program lines only).
Processes all alarms and if necessary, updates the Status bar.

Andover Plain English Language Reference 311

Other Actions
The controller also performs the following actions at any time during
the scan:
y Has triggers set program Status to Active.

y
y
y

Changes value of numeric, string, or datetime points.


Updates attribute settings.
Updates point logs.

The Basic Stages


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

The Scanning Process

3-12

Schneider Electric

Stage 1. Updating System Variables


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

Stage 2. Updating Schedules


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

Stage 3. Updating Input Points


The scan gathers electrical values (represented by the ELECVALUE attribute) of all
ENABLED inputs from remote and local inputs, in numeric order starting with input
number 1. The inputs for the electrical values are in the electrical units specified for that
point.
The controller converts each input that has changed since the last scan into engineering
units. Conversion methods may be different, but all occur at this moment in the scan,
whether an auto-conversion, customized conversion, system conversion (such as ACC
Degrees F or C), or null conversion (where VALUE equals ELECVALUE). The converted
value of each input point is stored in the input's object value attribute.
Once the new values are assigned to input points, those points retain their values
throughout the scan. Any 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.

Andover Plain English Language Reference 313

Stage 4. Running Programs and Executing Commands


During each scan, the controller executes the current line from each program that
conforms to the following:

y
y
y

State is ENABLED
Status is ACTIVE
Current line is not zero

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

Stage 5. Updating Output Points


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

3-14

Schneider Electric

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

Stage 6. Evaluating Alarms


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

Andover Plain English Language Reference 315

Other Scanning Issues


The following paragraphs describe other issues that affect the scanning process.

Numeric, String, and DateTime Points


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

Updating Point Logs


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

Triggering Programs from Points


Scan length varies depending on the amount of work done. You can reduce scan time by
assuring your programs conform to the following guidelines:

Set the points that your program references to triggers for


that program.

y
y

The program should make the decision and set some points.
The program should end (by being set up as a fall-thru program or including a STOP
statement).

Such programs run only when necessary, reducing scan time.

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

3-16

Schneider Electric

Power Failure Conditions and the Firing Order


The Firing Order can be used to determine the order in which programs run. This is
especially useful when handling power failure conditions. In such a situation, once power
is restored, the program at the top of the firing order list runs followed by the next
program on the list, and so on, down the list.
If you have a specific power-up sequence where certain programs and items must be set
in a certain order, you can use the Firing Order to do this.
To accomplish this, write a Fall-Thru program that is triggered by the PowerFail system
variable. This program should contain a statement that starts all the other programs in
the correct sequence.
START Program1, Program2,
This sets each program's status to active, and runs the program, starting execution at the
first line of the program.

Andover Plain English Language Reference 317

3-18

Schneider Electric

4
Points, Constants, and Variables
This chapter describes the types of points, constants and variables that exist in the
Andover Continuum system. Some topics included in this chapter are: 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.
This chapter discusses the following topics:

Points

Constants

Variables

Local Variables

System Variables

Points
Points are objects that supply information to the control system. There are five types of
points:

y
y
y
y
y

Input
Output
Numeric
String
DateTime

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

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

Input Points
An input point senses temperature, pressure, and the closure of a switch contact or any
outside environmental entity that can be electrically represented. Input circuits in Andover
Contiuum 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
INPUT1s value attribute contains the input reading (74)

4-2

Schneider Electric

Output Points
Outputs control external equipment such as motors, valves and heaters. Andover
Continuum 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:

y
y
y

Numeric (called Multi-State Value, Analog Value or Binary Value on Workstations)


String
DateTime

A good example of a software point would be a numeric that serves as a place to store
the high or low limit (set point) for a temperature reading.

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

Multi-State Value Points


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

Andover Plain English Language Reference 4-3

String Points
String points are storage locations in a controller or workstations 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.

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

Controller vs. Workstation Points


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

4-4

Schneider Electric

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

y
y

Numeric
String

Note:

For DateTime constant values, see the StrToDate conversion function.

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

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

Floating Point Numbers


A floating point number is a number with a decimal. You can enter a floating point
number as one of the following:

y
y
y
y

The actual number with up to seven decimal places


A number in scientific notation
Positive numbers between 1.40129E-45 and 3.402823E+38
Negative numbers between -3.402823E+38 and -1.40129E-45

The numbers accepted are IEEE single precision floating point.

Examples of Numeric Constants


The number (e.g., 2,000) cannot have a comma because it must be made up of the
numeric characters 0 through 9 only. Entering a comma in a number makes it an invalid
number.
Examples of some acceptable numbers include:

y
y
y
y

12
74.5
-.543
4E+32

Andover Plain English Language Reference 4-5

How the Controller Interprets Numbers


The controller accepts all numbers, but the controller interprets:

y
y
y

Numbers greater than 3.402823E+38 as infinity.


Numbers less than -.402823E+38 as negative infinity.
Numbers between 1.40129E-45 and -.40129E-45 as zero.

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

Rules for String Constants


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

4-6

Schneider Electric

System Defined Constants


System constants are predefined in Plain English and their values do not change. ON
and OFF are two examples of system constants. Days of the week, months of the year
are also system constants. Certain keywords are also constants.
Other system constants include not only keywords, but also values to which you can
assign attributes. For instance, you can set the point type attribute to VOLTAGE, so
VOLTAGE is a system constant.
Note:

Do not use system defined constants as names when you name programs, points,
or other items.

For a complete listing of Continuum system constants refer to Appendix B.

Andover Plain English Language Reference 4-7

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

y
y
y

Numeric
String
DateTime

The Plain English Language supports both System and program variables.

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

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

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

4-8

Schneider Electric

Local Variables
Whereas system variables are known to all controllers and workstations in the system,
local variables are only known to 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. Define local
variables using the following keyword statements (each is listed in Chapter 7).

Numeric

String

DateTime

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

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

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

Andover Plain English Language Reference 4-9

System Variables
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.
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 illustrates a portion of the system variables that appears in the Explorers
viewing pane for the selected controller.

Controller System Variables Appearing in Continuum Explorer

Programmable System Variables


Programmable system variables are names for values the controller sets initially, that you
can change later. The term programmable always means you can change a value.
The programmable system variables are listed and described on the following page.
Note:

4-10

The i2 and BACnet controller programmable system variables and techniques are
covered extensively in the i2 and BACnet Controller Technical Reference Guides.

Schneider Electric

System Variable Listing


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

Available on

AccessLog

CX series
controllers

Description

AccessServer

ACX & CX series


controllers

A programmable system variable that


indicates the ACCNet ID where the areas
and personnel are stored for access control.
Setting this system variable to 0 (zero)
instructs the access controller to perform
local access validation using its distributed
personnel objects.

Alarms

All controllers &


CyberStation

The number of pending alarms. Increments


by one each time a new alarm occurs and
decrements by one each time an alarm
returns to normal.

AudioBell

DCX250 controller

A programmable system variable that sets


the number of seconds that the DCX250
display will beep for.

AvailRecords

ACX & CX series


controllers

Expresses a close approximation of the


remaining slots left to store personnel
records in a controllers memory.

BackLight

DCX250 controller

A programmable system variable that sets


the number of seconds to turn on the
background light on the DCX250 display.

CabinetTamper

ACX controller

Indicates whether or not the controller has


been tampered with (True or False).

CPUPower

CX series
controllers

DatabaseStatus

CyberStation

Shows the current state of the database as


Online or Offline.

Date

*All controllers &


CyberStation

Retrieves current system date and time so


that you can then store it in a variable.

DayofMonth

*All controllers &


CyberStation

Gives the current day of the month from 1


to 31.

DayofYear

*All controllers &


CyberStation

Gives the current day of the year between 1


and 366.

DCXPower

DCX250 controller

Errors

*All controllers &


CyberStation

The number of personal records stored on


the access server.

A programmable system variable that is


used to turn off the battery power to the
controllers CPU.

A programmable system variable that


controls power to the controller when its
PowerFail system variable is ON.
Indicates the number of errors existing on
the system.

Andover Plain English Language Reference 411

Workstation & CX System Variables


Name
EventLogSize

Available on
CX series
controllers

Description
A programmable system variable that
indicates the number of access control
events the controller can store in its event
log.

FreeMem

*All controllers

Indicates the number of bytes of free


memory available on a controller. Does not
indicate available memory on a
CyberStation.

Hour

*All controllers &


CyberStation
*All controllers &
CyberStation

HourofDay
HundredthofSecond

CyberStation

Infinet1Count

CX series
controllers and
CMX 9924
controller
CX series
controllers and
CMX 9924
controller

Infinet2Count

Indicates the time in decimal form from 0 to


23.99.
Indicates hundredths of a second as a
number between 0 and 99.
Gives the number of Infinet controllers
communicating with the CX or CMX 9924
using Commport 1.
Gives the number of Infinet controllers
communicating with the CX or CMX 9924
using Commport 2.

IOUCommFlt1 to
IOUCommFlt16

*All controllers

Gives ON if there is a communication fault


(failure) to or from the controllers IOU
module or OFF if there is no communication
fault.

IOUPower

CX series
controllers

A programmable system variable that


controls power to the IOU modules when the
associated controllers 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.

MicroPower

CX series
controllers and
ACX781Infinet
controllers

A programmable system variable that


controls power to the ACX781 Infinet
controller when the associated controllers
PowerFail system variable is ON.

Minute

*All controllers &


CyberStation
CX series and
CMX series
controllers

ModemPower

4-12

Indicates the current hour, from0 to 23.

Month

*All controllers &


CyberStation

NewAlarmCount

CX and CMX
series controllers

PowerFail

*All controllers &


CyberStation

Schneider Electric

Gives the exact minute of the current hour,


from 0 to 59.
A programmable system variable that
controls the battery power to the controllers
modem. Set to ON when AC power is up
and OFF when it is goes down.
Gives the current month of the year, from
January to December.
Indicates the number of new alarms on the
controller and all its Infinet controllers since
the last time the alarms were sent to the
workstation.
Indicates whether or not the AC power to
the controller has failed. See full description
on page 4-14.

Workstation & CX System Variables


Name

Available on

Description

PowerUpTime

*All controllers &


CyberStation

ReaderPower

ACX series
controllers

Indicates whether or not any access card


reader on the controller has lost power.
Gives TRUE if the card reader lost power,
FALSE if not.

Scan

*All controllers &


CyberStation

Indicates the controllers last scan time in


seconds.

Second

*All controllers &


CyberStation

Gives the exact number of seconds of the


current minute, from 0 to 59.

Status1 to Status8

CX 9201 controller

Programmable system variables that control


the eight status LEDs on the front of the
controller cabinet. ON turns on the LED and
OFF turns off the LED.

SystemStatus

ACX and CX series


controllers

Indicates whether communications is


occurring between the access server and
the controller.

TimeofDay

*All controllers &


CyberStation

Gives the time of day with the hour and


minute in the format HHMM where HH is a
number between 0 and 23 and MM is a
number between 0 and 59.

TouchedCell

DCX250 controller

Indicates the number (from 1 to 64) of the


first block (cell) that an operator touched on
the ACX 250 display during the last scan.

UniquePin

ACX, CMX and CX


(except 9500)
series controllers

Indicates whether or not each person who


has access must have a unique personal
identification number (PIN).

Version

*All controllers &


CyberStation

Gives the current version number of the


software running on the controller.

Weekday

*All controllers &


CyberStation

Gives the current day of the week, from


SUNDAY through SATURDAY.

Year

*All controllers &


CyberStation

Gives the current year from 1989 through


2088.

Gives the date and time of the last AC


power application to the controller.

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

Specific information pertaining to various characteristics of particular system variables


listed in the tables is provided in the following paragraphs.

STATUS# System Variables


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

PowerFail and other Power related System Variables


On all controllers that have battery backup, each time you lose AC power to the controller
its PowerFail system variable is automatically set to ON and the battery backup provides
power. This PowerFail system variable remains ON throughout AC power loss until AC
power is restored (see the note below for PowerFail behavior on Infinet, i2 and BACnet
controllers).
The PowerFail system variable:

y
y
y

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
System Variable
CPUPower

Controls the power for the controller itself.

DCXPower

Controls the power for the DCX controller.

ModemPower
IOUPower
ReaderPower
MicroPower

4-14

Definition

Schneider Electric

Controls the power for the modem.


Controls the power for the IOU modules.
Controls the power for the ACX700 series controllers.
Controls the power for the ACX781 controllers.

5
Operators and Expressions
This chapter describes the operators that Plain English uses for mathematical
expressions and includes the following topics:

Order of Action

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

Fundamental Operators

Comparative Operators

List and Range Operators

Bit Operators

AND/OR and String Joining Operators

Order of Action
An operator is the part of an expression that causes a mathematical operation to occur,
such as addition, subtraction, multiplication, division, and so on, or tests a condition such
as equality.
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

5-2

Operator

Description

()
[]

Parentheses
Array Element

Left to Right

Blank or \

Path Name Connector

Right to Left

+
NOT
BITNOT
%

Plus Sign on Number


Minus Sign on Number
Logical Negation
Bitwise Negation
Percentage

Right to Left

Exponentiation

Left to Right

*
/
MOD

Multiplication
Division
Modulus

Left to Right

+
-

Addition
Subtraction

Left to Right

<
<=
>
>=

Less Than
Less Than or Equal
Greater Than
Greater Than or Equal

Left to Right

=
<>
IS IN
IS NOT IN
IS BETWEEN
IS THRU

Equal
Not Equal
Set Inclusion
Set Exclusion
Range
Range

Left to Right

BITAND
BITOR
BITXOR

Bitwise Logical And


Bitwise Logical Or
Bitwise Exclusive Or

Left to Right

&
!

Logical And
Logical Or

Left to Right

Joining Operator

Left to Right

Schneider Electric

Association

Plus Sign, Minus Sign, Negation, BITNOT, and


Percentage
The following table identifies and defines the Plus Sign, Minus Sign, Negation, BITNOT,
and Percentage operators.
Plus Sign, Minus Sign, Negation, BITNOT, and Percentage
Operator

Definition

+ number

Can be used in front of a number to show it is positive by 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

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.

Andover Plain English Language Reference 5-3

Fundamental Operators
The following table identifies and defines the Fundamental Operators:
Fundamental Operators
Operator

Example

Addition

number + number

Definition
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

Schneider Electric

Comparative Operators
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.
Comparative Operators
Operator

Example

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

Less Than

number < number


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

Less Than or
Equal

number <= number

Compares two numbers and determines whether the value


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

Greater Than

number > number


Alias: IS GREATER THAN (THAN is optional), and IS
ABOVE.

Greater Than
or Equal

number >= number

Compares two numbers and determines whether the value


of the left number is greater than or equal to the value of
the right.
Alias: IS GREATER THAN OR EQUAL TO where THAN
and TO are optional.

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.
Compares two numbers and determines whether the value
of the left number is not equal to the value of the right.

Not Equal

number <> number


Aliases: DOES NOT EQUAL and IS NOT EQUAL TO
where TO is optional.

Andover Plain English Language Reference 5-5

Comparing String Values


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

Type Conversion
If the compared expressions are not the same type, you must convert them to the same
type using the keywords below:

y
y
y

5-6

StrToNum converts a string to a number.


NumToStr converts a number to a string.
StrToDate converts a string with the correct information into a datetime.

Schneider Electric

List and Range Operators


The following table identifies and defines the List and Range Operators:
List and Range Operators
Operator

Example

number IS IN list
IS IN

Or
number IS list

Definition
Determines if the first number or expression is in the
listed set. If the number on the left-hand side of the
expression is in the list expression on the right-hand
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)

Andover Plain English Language Reference 5-7

Bit Operators
The following table identifies and defines the Bit Operators:
BIT Operators
Operator

Example

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

BITAND

integer BITAND integer

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.
Compares the binary equivalents of the two integers,
digit by digit, as if the 1s were TRUE and the 0s
FALSE.

BITOR

integer BITOR integer

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

BITXOR

integer BITXOR integer

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

Schneider Electric

Truth Table
The following is the truth table for the bit operators:
BIT Operator Truth Table
Operator

Integer1

Integer2

Result

BITAND

TRUE

TRUE

TRUE

BITAND

TRUE

FALSE

FALSE

BITAND

FALSE

FALSE

FALSE

BITAND

FALSE

TRUE

FALSE

BITOR

TRUE

TRUE

TRUE

BITOR

TRUE

FALSE

TRUE

BITOR

FALSE

FALSE

FALSE

BITOR

FALSE

TRUE

TRUE

BITXOR

TRUE

TRUE

FALSE

BITXOR

TRUE

FALSE

TRUE

BITXOR

FALSE

FALSE

FALSE

BITXOR

FALSE

TRUE

TRUE

Andover Plain English Language Reference 5-9

AND/OR and String Joining Operators


The following table identifies and defines the AND, OR, and String Joining Operators:
AND/OR and String Operators
Operator

AND

Example

number & number

Definition
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.
Also known as the concatenation operator.

5-10

Schneider Electric

6
Functions, Arrays, and Logs
This chapter explains Plain English Language functions; in particular, the chapter defines
arguments, as well as explains how to call them and how to return a value to a function.
This chapter also defines arrays and logs, explains how to set them up, and how they can
be used in functions.
This chapter includes the following topics:

Functions

Arrays

Logs

Functions
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
parentheses even if it is empty (e.g., function ()).
You can run a function from:

y
y

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.
You can use the RETURN statement to tell the controller to return to the calling program,
function, or command line.

6-2

Schneider Electric

Calling a Function without Arguments


The function need not have arguments if it works with the same points all the time. You
can define one that stops all fans and call it FANSTOP.
STOP FAN1, FAN2, FAN3 AND FAN4
RETURN
Parentheses may be omitted.
IF TOD > 1800 AND TOD < 800 THEN FANSTOP( )
FANSTOP knows about the fans because they are points on the controller.

Calling a Function with Arguments


Functions can have not only points for arguments, but local variables from the calling
program, program names, other function names; basically anything that is named within a
controller.
The following example shows a function that starts and stops two programs.
ARG 1 PROGRAM1
ARG 2 PROGRAM2
START PROGRAM1
STOP PROGRAM2
RETURN
The calling program can send any two items to this function that can be acted on by
START or STOP. You can start and stop any point (piece of equipment) or program.

Andover Plain English Language Reference 6-3

Functions that Return a Value


In addition to returning to the calling program, RETURN can also bring back the results of
a calculation.
The following example shows a function that returns a value. In this case, the RETURN
statement contains an expression. The function returns the value resulting from that
expression to the program.
ARG 1 TMP1
ARG 2 TMP2
ARG 3 TMP3
ARG 4 TMP4
NUMERIC TOTAL.CHANGE
TOTAL.CHANGE = (TMP1 - TMP2) + (TMP2 - TMP3) + (TMP3 -TMP4)
RETURN (TOTAL.CHANGE/3)
As shown below, you could also give the expression a local variable name.
ARG 1 TMP1
ARG 2 TMP2
ARG 3 TMP3
ARG 4 TMP4
NUMERIC TOTAL.CHANGE, MID.CHANGE
TOTAL.CHANGE = (TMP1 - TMP2) + (TMP2 - TMP3) + (TMP3 - TMP4)
MID.CHANGE = TOTAL.CHANGE/3
RETURN MID.CHANGE
Use a name instead of an expression in the RETURN statement because 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,
and all of these are values.

6-4

Schneider Electric

Arrays
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

8.000

8.510

9.000

9.620

10.000

10.750

11.000

11.250

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

Setting Up an Array of Variables


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

Andover Plain English Language Reference 6-5

Logs
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 another point. Logs
are similar to arrays (see the previous page) except that arrays must be programmatically
updated while the log point automatically updates.

How a Log Updates


Continuum updates automatic logs by inserting new values into the first log entry, as
shown below. At every interval a new value is stored in the first log entry, pushing
existing values down to the remaining entries. When the specified number of entries is
full of values, the bottom value is dropped off when a new value is inserted.
Example of Log
Updates
Index

Value

72

73

75

74

73

72

71

73

Most recent
value recorded

th

8 most recent
value recorded

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

6-6

Schneider Electric

How to Retrieve Log Values


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

Log Update Intervals


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

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

y
y
y
y

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. It is also possible to have a string log
that contains messages.
Note:

You can always manually update a log.

Andover Plain English Language Reference 6-7

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

Using Arrays or Logs in Functions


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

MAXIMUM

MAXITEM

MINIMUM

MINITEM

STANDARDDEVIATION

SUM
See Chapter 7 for more information on these function keywords.

6-8

Schneider Electric

7
Keywords

This chapter provides a complete description of all the keywords used in Andover
Continuum 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.

This chapter contains the following topics.


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

7-2

Schneider Electric

See Page
7-2
7-2
7-4
7-6
7-7
7-7
7-12
7-74
7-146
7-229
7-302

Section 1 Format Conventions


Keyword Formatting Standard

Identical
Format for All
Keywords

The keywords are listed in alphabetical order beginning on page 7-13.


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

Format

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

Purpose

Describes the exact action the keyword carries out.

Remarks

Provides an additional explanation of the format, purpose, and the


result of the keyword statement, including any limitations or cautions.

Example

Gives an example/s of how the keyword could be used in a program.


The example always indicates whether it would form part of a
Command Line or a Program File. The keywords used in the
examples are shown in bold letters to identify where they occur.

Related
Keywords

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

Andover Plain English Language Reference

7-3

Keyword Formatting Standard

Alias

An equivalent word or symbol for the keyword such as an


abbreviation.

Products
Supported

The Andover Continuum products (controllers and/or CyberStation)


that the keyword can be used on.

Modes
Available

Lists whether the keyword can be used in the command line mode,
the program file mode, or both. Programs cover InfinityPrograms,
InfinityFunctions, Functions and Programs.
Program
Function
InfinityProgram
InfinityFunction

7-4

Schneider Electric

Only run at the workstation


Can only be called at the workstation
For Controllers
For Controllers

Text and Symbols Used in the Format Heading

Format
Heading
Information

The information contained after the keyword Format heading shows


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

Capital Letters

Any words shown in CAPITAL LETTERS indicate words that must


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

Bold Italics

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

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

Andover Plain English Language Reference

7-5

Text and Symbols Used in the Format Heading

Italics

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

Comma (,) and


Colon (:)

When a comma or colon is shown as part of the Format, it must be


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

Period (.)

The period is used as a character in names and is not interpreted as


punctuation. Never put a period at the end of a keyword statement or
command line.

7-6

Schneider Electric

Format Terms in Bold Italics

Replacement of
Terms

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

Number

Replace number with:

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

Integer

Replace integer or integer_expression with any non-decimal


positive or negative number, including zero

String

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

Name

Replace name with:

Any point (including input, output, numeric, string, and datetime


types.
A variable name.
An object name (program, controller, commport, etc.).

Note: name cannot be a keyword.

List

Replace list with a list of either:


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

Andover Plain English Language Reference

7-7

Section 2 Keyword Groups


Logical Keyword Groups

Logical
Keyword
Groups Listing

This section presents the Andover Contiuum Plain English keywords


in their associated logical groups. Details on each keyword are in the
alphabetically ordered keyword descriptions that follow this section.
Table 7-1. Logical Grouping of PE Keywords
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
BACnet

Building Control
Control of Inputs and Outputs

Control Over Communications

Creating/Manipulating Files

7-8

Schneider Electric

UNACKEDALARMS

System variable

READPROPERTY
RELINQUISH
WRITEPROPERTY

Function
Function
Function

MOVE
TURN

Statement
Statement

IOUCOMMFLT#
STATUS#
INITMODEM
DIAL
CLOSE
HANGUP
OPEN
READ
CLOSEFILE
FILE
OPENFILE
POSITIONFILE
READFILE
WRITEFILE
EOF

System variable
System variable
(programmable)
Function
Function
Function
Function
Function
Function (comm
port)
Function
Statement
Function
Function
Function
Function
Constant

Logical Keyword Groups

Logical Keyword Groups Listing continued


Table 7-1. Logical Grouping of PE Keywords
Group
Keyword
Type
System variable
Date and Time
DATE
Statement
DATETIME
System variable
DAYOF MONTH
System variable
DAYOFYEAR
Function
DIFFTIME
System variable
HOD
System variable
HOUR
System variable
MINUTE
System variable
MONTH
System variable
POWERFAIL
System variable
POWERUPTIME
System variable
SECOND
Function
STRTODATE
Function
TIMEPIECE
System variable
TOD
Attributes
TS, TM, TH, TD
System variable
WEEKDAY
System variable
YEAR
Debugging
DISABLE
Statement
ENABLE
Statement
P
Statement
Print
Statement
Display

Email
Flow Control

ASK
CLOSEWINDOW
PRINT
MESSAGEWINDOW
SHOW
SHOWREPORT
STATUSLINE
SendEmail

Function
Function
Statement
System variable
Statement
Statement
System variable
Function

BASEDON..GOTO
BREAK
CONTINUE
FOR..NEXT
GOTO
IF..THEN..ELSE
LINE

Statement
Statement
Statement
Statement
Statement
Statement
Statement

Andover Plain English Language Reference

7-9

Logical Keyword Groups

Logical Keyword Groups Listing continued


Table 7-1. Logical Grouping of PE Keywords
Group
Keyword
Type
Statement
Flow Control continued
REPEAT..UNTIL
Statement
RETURN
Statement
ROTATE
Statement
RUN
Statement
STOP
Statement
SELECTCASE
Statement
WHILE
Input/Output
LOGOUT
Statement
P
Statement
PRINT
Statement
Logical

Logs

Mathematical

7-10

Schneider Electric

AND
BITAND
BITNOT
BITOR
BITXOR
IS
IS BETWEEN
IS GREATER
IS LESS
NOT
OR
DeleteExtLog
GetExtLog
UpdateExtLog
ABS
ACOS
ASIN
ATAN
ATAN2
AVERAGE
CEILING
COS
DIVIDED BY
EXPONENTIAL
FACTORIAL
FLOOR
LN
LOG
MAXIMUM
MAXITEM
MINIMUM
MINITEM
MINUS

Operator
Operator
Operator
Operator
Operator
Operator
Operator
Operator
Operator
Operator
Operator
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Function
Operator

Logical Keyword Groups

Table 7-1. Logical Grouping of PE Keywords


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

Andover Plain English Language Reference


11

7-

Logical Keyword Groups

Restricted
Keywords

The use of this group of keywords is usually limited to system


administrators and other users with appropriate configuration level
clearance.
Group
Administration

250 Display
Unit Keywords

Table 7-2. Restricted Keywords


Keyword
CURUSER
CURWORKSTATION
DELETEEXTLOG
ERRORS
FREEMEM
LOAD
SAVE
SCAN
VERSION

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

This group of keywords only applies to the 250-display unit.


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

7-12

Schneider Electric

Section 3 Keywords A through C


ABS

Function

Format

ABS (number)

Purpose

Returns the absolute value of number. The absolute value of any


positive or negative number 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 within plus or minus 3 degrees,


when the temperature changes in either direction, the fan should blow
in either the heating or cooling mode as required.
In this situation, you should find the absolute value of the change to
control the fan, since it doesn't matter whether the change is positive
or negative:
Program File
If Abs(Temp.SP - Temp.2) > = 3 then Run Fan.2

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference


13

7-

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 to which it refers exist only on
the controller. Since the event log contains all access events that
have occurred on the controller, the keyword applies only if you are
using the controller for access control.
Types of access events logged include the following:

Example 1

Valid Access

Invalid Attempt

Door Fault

Door Violation

Door Ajar

Request to Exit

Cabinet Tamper

Door Channel Override

Refresh Database

Access Mode

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

7-14

Schneider Electric

AccessLog, continued

Example 2

To determine how full the event log is in a CX or CMX series


controller, you can print the AccessLog system variable in a program
or from the command line window, as follows:
Command Line
Pr AccessLog
The response appears in the command line window as follows for a
29% full access log:
AccessLog = .29

Related
Keywords

EventLogSize

Products
Supported

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


controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-15

AccessServer

System variable

Format

AccessServer

Purpose

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 (191 or 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). In this case, the PrimaryAccessServer
workstation is used to perform remote validation. If that
workstation is not available, then the SecondaryAccessServer
workstation is used instead.

Users may set AccessServer from the object editor or from the
Command Line interface.

AccessServer is not a global System Variablesettings will affect


only the owner's validation modes.

7-16

Schneider Electric

AccessServer, continued

Example 1

Local validation only.


Suppose you want a NetController, with a Network ID of 126, to store
personnel information for access control, and perform local access
attempt validation only. You set that NetController's AccessServer as
follows:
Set AccessServer = 126
Note 1: If you want to have an ACX controller do a local validation
only, you set its AccessServer system variable to 0.
Note 2: You can set a controller's AccessServer system variable
directly from an editor at the workstation level.

Example 2

Enabling remote validation.


Suppose you want an access controller to validate access attempts
first in its local database and then in the workstation database (if the
local validation couldn't find the personnel record in the controller
database).
You set the AccessServer system variable of that access controller
(whether NetController or ACX controller) to 191 or higher (through
the command line or an editor)
Set AccessServer = 225

Note

The value of AccessServer is stored in the controllers EEPROM


memory. Changing the value of AccessServer does not require a
controller reset.

Products
Supported

ACX series and CX series controllers.

Modes
Available

Command lines.

Andover Plain English Language Reference

7-17

ACOS

Function

Format

ACOS (number)

Purpose

Returns the arccosine of the given number.

Remarks

The number is any number or expression that gives a result between


-1 and 1 inclusive.
The value returned is between 0 and pi (3.14159) radians.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Example

Program File
AN.VALUE = acos(.7071)

Related
Keywords

SIN, COS, TAN, ATAN, ATAN2, ASIN

Alias

ARCCOSINE

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-18

Schneider Electric

Alarms

System variable

Format

ALARMS

Purpose

Gives the number of alarms pending. ALARMS increments (increases


by one) each time a new alarm occurs and decrements (decreases by
one) each time an alarm returns to normal.

Remarks

You cannot change the setting of ALARMS. The controller


automatically updates it.

Example

Since ALARMS automatically decrements when the alarm returns to


normal, its value should never get very large. In the program below,
you set a limit to how many alarms should be pending (in this case
10) and print a report on all alarms:
Program File
If Alarms > 10 then Goto Report.Alarm
Line Report.Alarm
...

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-19

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

7-20

Schneider Electric

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.

Andover Plain English Language Reference

7-21

AND, continued

Example 4

AND is also used with the operator BETWEEN, as in the following


example:
Program File
If Tod is between 8:00am and 6:00pm then...
You may not use the ampersand (&) for AND when it is used with
BETWEEN.

Related
Keywords

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

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-22

Schneider Electric

ARG

Format

System variable

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

Andover Plain English Language Reference

7-23

ARG, continued

Example 2

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

Example 3

To test the report status to see if it equals SUCCESS, you can also
call on the argument variable using ARG[5]:
Function File
If Arg[5] is Success then

Related
Keywords

PASSED

Alias

PARAM

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs (only in functions).

7-24

Schneider Electric

ASC

Function

Format

ASC (string)

Purpose

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

Remarks

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

Example

In this example, the function uses a string constant ("S") as its


argument:
Program File
asc ("S")
This statement returns 83, which is the ASCII value of the character
S.

Related
Keywords

CHR

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-25

ASIN

Function

Format

ASIN (number)

Purpose

Returns the arcsine of the number.

Remarks

The number is any number between -1 and 1 inclusive or any


expression that gives a result in that range. ASIN returns the arcsine
of number as an angle between -3.14159/2 and 3.14159/2.
Radians = degrees Times (3.14159/180).
Degrees = radians Times (180/3.14159).

Example

Program File
Result = asin (1)

Related
Keywords

SIN, ACOS, COS, TAN, ATAN, ATAN2

Alias

ARCSINE

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-26

Schneider Electric

ASK

Function

Format

ASK (title, question, answer_var_or_point)

Purpose

This function is available only on a workstation. You can use ASK in


multiple programs, however, only one ASK window displays at a time.
Element
title

question

answer_var_or_point

Replace with
A string containing the title of the window. The string may
be a string point, a local STRING variable, or a series of
characters in quotation marks. It may also be any string
expression.
A string containing the question you want to present. The
string may be a string point, a local STRING variable, or a
series of characters in quotation marks. It may also be any
string expression.
Point or local variable to receive an answer to the question.
May be numeric, string, or datetime.

When the window displays, the current value of answer_var_or_point


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

Andover Plain English Language Reference

7-27

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.

7-28

Schneider Electric

ASK, continued

Example 2

When you use ASK, you may want to check to see if it returns
SUCCESS, FAILURE, or FormCancel. If ASK returns FAILURE, you
can continue to try to set up the window until ASK returns SUCCESS,
as shown in the following fall thru program:
Program File
Numeric Result
String Anypoint, TitleString
Presenting:
Result = Ask ("Point Name", "Enter The Point Name", Anypoint)
Testing:
If Result = Failure then Goto Presenting
If Result = Success then Goto Working
If Result = Formcancel then Stop

Products
Supported

CyberStation

Modes
Available

Programs only

Andover Plain English Language Reference

7-29

ATAN

Function

Format

ATAN (number)

Purpose

Returns the arctangent of number.

Remarks

The number is any number or expression.


Returns an angle value between -3.14159/2 and 3.14159/2.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Example

Program File
VAL.ARC = atan (0)

Related
Keywords

ASIN, SIN, ACOS, COS, TAN, ATAN2

Alias

ARCTANGENT

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-30

Schneider Electric

ATAN2

Function

Format

ATAN2 (sin, cos)

Purpose

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

Remarks

Replace sin with a number that is the sine of an angle.


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

Example

Program File
Ang.Damper = atan2 (0.0, 1.0)

Related
Keywords

ASIN, SIN, ACOS, COS, TAN, ATAN

Alias

ARCTANGENT2

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-31

AUDIOBELL

System variable

Format

AUDIOBELL

Purpose

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

Remarks

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

Example 1

Inside a program or from the command line, you set AUDIOBELL as


follows to make the controller beep for 15 seconds:
Program File
AudioBell = 15

Example 2

Inside a program or from the command line, you can stop the beeping
at any time as follows:
Program File
Turn Off AudioBell

Products
Supported

DCX 250 Display Unit.

Modes
Available

Command lines and programs.

7-32

Schneider Electric

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

Example 1

Applies to all ACX, CX, and CMX series controllers.

Not user settableyou cannot set AvailRecords.

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

To find out approximately how many remaining personnel slots are


available on an ACX series controller's memory, you would enter the
following at the command line:
Command Line
Pr MyNet\MyCX9410\MyACX701\AvailRecords
The control system software then prints the number of personnel
records in the following format:
AvailRecords = 3630

The returned AvailRecords value indicates that the ACX 701


controller can store approximately 3630 more personnel records.

Products
Supported

ACX series, CMX series, CX series controllers.

Modes
Available

Command lines.

Andover Plain English Language Reference

7-33

AVERAGE

Format

Function

Format 1: AVERAGE (numeric_list)


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

Purpose

Format 1: Returns the average of the listed items.


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

Remarks

Replace numeric_ list with one or more numbers or names that


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

Example 1

To average several temperatures, 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)

7-34

Schneider Electric

AVERAGE, continued

Example 2

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

Example 3

You have been logging temperatures in a log for several hours. To


find their average, you find the average of that log, as follows:
Program File
HourlyAvg = Average (TempLog)

Alias

AVG

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-35

BACKLIGHT

System variable

Format

BACKLIGHT

Purpose

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

Remarks

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

Example 1

Inside a program or from the command line, you set BACKLIGHT as


follows to turn on the DCX 250 Display Unit background light for 20
seconds:
Program File
BackLight = 20

Example 2

Inside a program or from the command line, you can turn on the DCX
250 Display Unit background light for 5 minutes when an operator
touches anywhere on the screen, as follows:
Program File
If TouchedCell then Set BackLight = 300

Example 3

Inside a program, you can turn off the DCX 250 Display Unit
background light as follows:
Program File
Turn BackLight Off

Products
Supported

DCX 250 Display Unit.

Modes
Available

Command lines and programs.

7-36

Schneider Electric

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, write a program that activates
certain lines based on the day. The lines are labeled with LINE (see
LINE), telling the line the routine starts on.

Andover Plain English Language Reference

7-37

BASEDON..GOTO, continued

Example
continued

Remember that SUN is considered the first day of the week, so in the
program below, the first line listed after GOTO runs on Sunday, the next
on Monday, the next on Tuesday, and so on:
Program File
Basedon Wkd Goto Sun.1, Mon.1, Tue.1, Wed.1, Thu.1, Fri.1

Line Sun.1

Line Mon.1

Line Tue.1

Line Wed.1

Line Thu.1

Line Fri.1
BASEDON.. GOTO works well with logs and arrays.
Note: The following variations to the BASEDON statement
(above) are acceptable.
You can also include the word LINE in front of the line list:
Basedon Wkd Goto Line Sun.1, Mon.1, Tue.1, Wed.1, Thu.1, Fri.1
You can replace GOTO with the word GO:
Basedon Wkd Go Sun.1, Mon.1, Tue.1, Wed.1, Thu.1, Fri.1
You can separate the word GO from the word TO:
Basedon Wkd Go To Sun.1, Mon.1, Tue.1, Wed.1, Thu.1, Fri.1
You can include the word LINE after GO and TO:
Basedon Wkd Go To Line Sun.1, Mon.1, Tue.1, Wed.1, Thu.1, Fri.1

7-38

Schneider Electric

BASEDON..GOTO, continued

Related
Keywords

GOTO
LINE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-39

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, set the display to NOFILL to form


lines, to FILL to form a polygon. 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.

7-40

Schneider Electric

BEGINPOLYLINE, continued

Example 1
continued

As shown on Figure 7-2, the DCX 250-Display Unit forms a line


(rather than a polygon) because you set the display to NOFILL.

Figure 7-2. Drawing connected line points using BEGINPOLYLINE on


the DCX 250 Display Unit

Example 2

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

Andover Plain English Language Reference

7-41

BEGINPOLYLINE, continued

Example 2
continued

The DCX 250-Display Unit forms a polygon (rather than a line)


because you set the display to FILL as shown on Figure 7-3.

Figure 7-3. Drawing a polygon using BEGINPOLYLINE on the


DCX 250 Display Unit

Related
Keywords

SETDISPLAY
LINEPOINT
ENDPOLYLINE

Products
Supported

DCX 250 Display Unit.

Modes
Available

Programs

7-42

Schneider Electric

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.
Carries out comparisons of checksums and similar operations.

Remarks

The integer is any number from 0 to 65535. If you give a number


with a decimal point in it, BITAND uses only the integer from it and
drops the fraction.

Example

Suppose you want to compare TOTAL1 and TOTAL2:

Total1 = 13 (binary equivalent is 0000000000001101)

Total2 = 11 (binary equivalent is 0000000000001011)


You would compare them with BITAND as follows:
Program File
Set Result = Total1 bitand Total2
The comparison would give 0000000000001001. Result would be set
to 9.

Related
Keywords

BITOR
BITXOR
BITNOT

Products
Supported

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

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-43

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.
Carries out bitmasking and similar operations.

Remarks

The integer is any number from 0 to 65535. If you give a number


with a decimal point in it, BITNOT uses only the integer from it and
drops the fraction.

Example

Suppose you want to find the one's complement of AMOUNT.


Amount = 13 (binary equivalent is 0000000000001101)
You could reverse the number with BITNOT as follows:
Program File
Set Result = bitnot Amount
The BITNOT of the amount would be 1111111111110010. The
statement would set Result to 65522.

Related
Keywords

BITAND
BITOR
BITXOR

Products
Supported

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

Modes
Available

Command lines and programs.

7-44

Schneider Electric

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.
Carries out comparisons of checksums and similar operations

Remarks

The integer is any number from 0 to 65535. If you give a number


with a decimal point in it, BITOR uses only the integer from it and
drops the fraction.

Example

Suppose you want to compare Total1 and Total2:

Total1 = 13 (binary equivalent is 0000000000001101)

Total2 = 11 (binary equivalent is 0000000000001011)

You would compare them with BITOR as follows:


Program File
Set Result = Total1 bitor Total2
The comparison would give 0000000000001111. Result would be set
to 15.
Related
Keywords

BITAND
BITXOR
BITNOT

Products
Supported

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

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-45

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.
Carries out comparisons of checksums and similar operations.

Remarks

The integer is any number from 0 to 65535. If you give a number


with a decimal point in it, BITXOR uses only the integer from it and
drops the fraction.

Example

Suppose you want to compare Total1 and Total2:

Total1 = 13 (binary equivalent is 0000000000001101)

Total2 = 11 (binary equivalent is 0000000000001011)

You would compare them with BITXOR as follows:


Program File
Set Result = Total1 bitxor Total2
The comparison would give 000000000000110. Result would be set
to 6.

Related
Keywords

BITAND
BITOR
BITNOT

Products
Supported

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

Modes
Available

Command lines and programs.

7-46

Schneider Electric

BLUE

Constant

Format

BLUE

Purpose

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

Remarks

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

Example

You set color of the graphics on the 250 screen as follows:


Program File
Setdisplay (Blue)

Related
Keywords

Setdisplay
White

Products
Supported

DCX 250-display unit.

Modes
Available

Programs

Andover Plain English Language Reference

7-47

BREAK

Statement

Format

BREAK

Purpose

Halts the smallest enclosing FOR..NEXT, REPEAT..UNTIL ,WHILE


and SELECT..CASE statements.

Remarks

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

Example

To check several stored temperatures to see if any is reading over 75


degrees, you use a FOR..NEXT loop (see FOR..NEXT statement,
later in this chapter). Normally, the loop below would end after it
checks the 20 temperatures. To exit the loop as soon as you find one
over 75 degrees, you use the BREAK statement:
Program File
Line Tempck
'This line loops until it finds a temperature over 75 degrees.
For Num = 1 to 20
If Temp[NUM] > 75 then Break
Next Num
Goto HighTemp
Line HighTemp

Related
Keywords

CONTINUE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-48

Schneider Electric

CabinetTamper

System variable

Format

CabinetTamper

Purpose

Indicates whether or not the ACX controller has been tampered with.
A binary value controller System Variable linked to a controller's
cabinet door.

Remarks

Applies only to ACX controllers.


If it is TRUE, the cabinet door has been opened; if FALSE, the
cabinet door is closed.
You cannot set CabinetTamper. You can print it from the Command
Line interface or read its value from the object editor.
You must connect to the ACX controller before you can print
CabinetTamper from the command line. Or you can access
CabinetTamper using the full path.

Example

If an alarm indicates the ACX controller cabinet has been tampered


with, you can print the cabinet door status as follows:
Program File
Pr CabinetTamper
The control system responds as follows:
True

If you want to take a particular action whenever the ACX controller


cabinet has been tampered with, you can write the following in a
program:
If CabinetTamper then Goto EmergencyAction
Or
If CabinetTamper is True then Goto EmergencyAction

Products
Supported

ACX controller.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-49

CD

Statement

Format 1: CD controller_name

Format

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 C for a listing of Site attributes).

7-50

Schneider Electric

CD, continued

Example of
Format 1

From a terminal on any CX controller, you can connect to the Floor1


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

Example of
Format 2

After connecting to another controller for a while, you can connect to


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

Example of
Format 3

To connect to another network from the command line, you enter CD


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

Andover Plain English Language Reference

7-51

CD, continued

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines

7-52

Schneider Electric

CEILING

Function

Format

CEILING (number)

Purpose

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

Remarks

The number is any number or expression.


See the keyword "ROUND" for a comparison of all rounding functions.

Example 1

Program File
Top = Ceiling (-2.7)
This statement returns -2. (See figure 7-4.)
Position of 2.7

-4

-3

CEILING of 2.7 is nearest higher integer

-2

-1

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

Example 2

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

Related
Keywords

FLOOR
TRUNCATE
ROUND

Andover Plain English Language Reference

7-53

Ceiling, continued

Products
Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX


250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

7-54

Schneider Electric

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 non-printing 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 in the following format:
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 used to generate a bell sound is
7. You would write it in the following format:
Program File
'Decides too many errors are not acknowledged and generates a bell
If Errors > 15 then Print chr(7)

Andover Plain English Language Reference

7-55

CHR, continued

Related
Keywords

PRINT
ASC

Products
Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX


250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Programs

7-56

Schneider Electric

CLEARSCREEN

Function

Format

CLEARSCREEN ( )

Purpose

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

Remarks

You can use CLEARSCREEN in programs only, not from the


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

Example

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

Alias

CLS

Products
Supported

DCX-250 Display Unit.

Modes
Available

Programs

Andover Plain English Language Reference

7-57

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

7-58

Schneider Electric

CLOSE, continued

Example
continued

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

Related
Keywords

LINE
OPEN
READ

OPENFILE
READFILE
CLOSEFILE

WRITEFILE

Products
Supported

CMX series, CX series controllers and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-59

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

7-60

Schneider Electric

CloseFile, continued

Example 1
continued

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

Example 2

If you want to close an array of files you opened earlier, you can use
a FOR..NEXT loop with CloseFile, as in the following example.
Notice that the FilesOpen variable gives the actual number of files
opened successfully. You would set this variable in the Opening line
and later use it in the Closing line to close the correct number of files.
Program File
File ZoneData [3]
Numeric OK, FileNum, FilesOpen
Line Opening
.
.
Line Closing
For FileNum = 1 TO FilesOpen
Set OK to CloseFile (ZoneData[FileNum])
If OK = Failure then Break
Next FileNum
If OK = Success then Stop
Print "File Close Failed for ZoneData"; FileNum
Notice that when CLOSEFILE fails, the control system software
breaks out of the loop and prints a failure message.

Andover Plain English Language Reference

7-61

CloseFile, continued

Related
Keywords

FILE
OPENFILE
READFILE
POSITIONFILE
WRITEFILE
FAILURE
SUCCESS

Products
Supported

CyberStation.

Modes
Available

Programs

7-62

Schneider Electric

CloseList

Function

Format

CloseList (object_var)

Purpose

Closes the list of objects that the local OBJECT variable


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

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

Remarks

Returns SUCCESS or FAILURE.

Example 1

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

After you have opened a 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.

Andover Plain English Language Reference

7-63

CloseList, continued

Example 1
continued

Program File
Object CurrentReport
Numeric OK
Opening:
OK = OpenList ("Program", CurrentReport, CentralStation)
If OK = Success then Goto Checking
Else
Print "Cannot Open List"
Stop
Endif
Checking:
If GetObject (CurrentReport) is not Sucess 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.

Related
Keywords

GetObject
OBJECT
OpenList

Products
Supported

Format 1: BACnet series (except b3885, b3887), CMX series, CX


series, i2 series controllers (except i2885, i2887), and CyberStation.
Format 2: CyberStation.

Modes
Available

7-64

Programs

Schneider Electric

CloseWindow

Format

Function

Format 1: CloseWindow (graphics_object_name)


Format 2: CloseWindow (graphics_object_name_list)

Purpose

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


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

Remarks

Replace graphics_object _name with the name of a Pinpoint


graphics object, including a full path name.
Replace graphics_object_name_list with the name of one or more
Pinpoint graphic objects, including a full path name.
Returns SUCCESS or FAILURE as described below:

SUCCESS - If the Pinpoint application is running, and the


specified graphics object or objects are successfully closed, or
are already closed.

FAILURE - If the Pinpoint application is not running.

A graphics object may include a button, with a Plain English script


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

Example 1

To close the Panel1 graphics object on the CyberStation:


Command Line
CloseWindow (CyberStation\Panel1)

Andover Plain English Language Reference

7-65

CloseWindow, continued

Function

Example 2

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

Products
Supported

CyberStation

Modes
Available

Command lines, programs, and functions.

7-66

Schneider Electric

CONTINUE

Statement

Format

CONTINUE

Purpose

Stops thecurrent iteration of the smallest enclosing FOR..NEXT,


REPEAT..UNTIL, SELECT..CASE or WHILE statement and starts the
next iteration from the top of the loop.

Remarks

Each time the loop repeats the action is an iteration of that loop.

Example

To check several temperatures stored in an array and print names of


those over 75 degrees, you use a FOR..NEXT loop (see FOR..NEXT
statement in this chapter). Normally, the loop below would print the
names of all 20 stored temperatures. To get it to select those over
75, use CONTINUE to break the loop whenever one is less than or
equal to 75, and skip to the next array item.
Program File
'The following prints all zones > 75
For Num = 1 to 20
If Temp[Num] <= 75 then Continue
Print temp[num]
Next Num
In the above program, if the temperature is less than or equal to 75
degrees, CONTINUE tells the controller to go back to the top of the
FOR..NEXT loop to check the next temperature (and therefore skip
any statement between CONTINUE and the NEXT statement).

Related
Keywords

BREAK

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover 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)

Purpose

Places a control graphic on the DCX-250 Display Unit's screen and


activates it. The type of control is determined by a style number (1 to
14) that you select from a group of predefined controls (see Appendix
D). Returns SUCCESS or FAILURE.

Remarks

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

Example

Displays a button control (Control Style 1) for Fan2 in the approximate


center of the screen (see Figure 7+-5) as a 240 dot wide by 50 dot
high rectangle with the title "Fan 2".
Program File
ClearScreen
Turn On BackLight
control 1, 40, 75, 280, 125, True, Fan2, "Fan 2"

7-68

Schneider Electric

CONTROL, continued

Example
continued

Fan 2

Figure 7-5. Display of a Control Style 1 (control button)


on the 250 screen

The format for this example uses all the required arguments plus the
"title" argument.
The user_change argument must be either "TRUE" if you want the
operator to be able to change the setting, or "FALSE" if is not to be
changed.

Products
Supported

DCX-250 Display Unit.

Modes
Available

Programs

Andover 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 defineradians and
degrees:
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Example 1

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

Example 2

Program File
MY.COS = cos(Angle)

Related
Keywords

SIN, ACOS, TAN, ATAN, ATAN2, ASIN

Alias

COSINE

Products
Supported

ACX series, BACnet series (except b3885, b3887), CMX series, CX


series, DCX 250, i2 series, LCX series, SCX series, TCX series
controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

7-70

Schneider Electric

CPUPower

System variable (programmable)

Format

CPUPower

Purpose

A predefined variable 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.

Andover Plain English Language Reference

7-71

CPUPower, continued

Example

When the AC power fails, the PowerFail system variable becomes


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

Related
Keywords

PowerFail
PowerUpTime
ModemPower

Products
Supported

CMX series and CX series controllers.

Modes
Available

Command lines and programs.

7-72

Schneider Electric

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

Example 2

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

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-73

CurWorkstation

Function

Format

CurWorkstation ( )

Purpose

Returns the workstation object at which you are currently sitting.

Example 1

If you want to have a program or report check which workstation it is


running on, type the following in a program:
Program File
If CurWST = CurWorkstation ( ) then . . .

Example 2

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

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

7-74

Schneider Electric

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
Temp_Date = Date
This way, Temp_Date retrieves the exact system date and time at a
given moment.
You may, for instance, record the date and time that a point changes.
You can use the variable you have created in subsequent
calculations.

Related
Keywords

DATETIME
DIFFTIME
STRTODATE

Andover Plain English Language Reference

7-75

DATE, continued

Alias

TIME

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-76

Schneider Electric

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

Andover 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, 2005 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

Schneider Electric

DATETIME, continued

Related
Keywords

DATE
DIFFTIME
STRTODATE
NUMERIC
STRING

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover 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, 2005

Example 2

To make some events occur only on particular days of each month,


you can set up an IF..THEN statement that checks for the day of the
month:
Program File
IF DayofMonth is between 7 and 14 then

Related
Keywords

7-80

MONTH
YEAR
DAYOFYEAR

Schneider Electric

DAYOFMONTH, continued

Alias

DOM

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-81

DAYOFYEAR

System variable

Format

DAYOFYEAR

Purpose

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

Remarks

You cannot change the DAYOFYEAR. The system automatically


updates it.

Example

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

Related
Keywords

MONTH
YEAR
DAYOFMONTH

Alias

DOY

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-82

Schneider Electric

DeleteExtLog

Function

Format

DeleteExtLog ( object, datetime )

Purpose

Deletes old extended log entries for the point, group of points, or
controller. 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

Note: In Continuum CyberStation Version 1.7 and higher, an


automated extended log feature replaces the use of the Plain English
keywords, DeleteExtLog and GetExtLog. If you still wish to use Plain
English for extended logging, you must check the Extended Logging
Backwards Compatibility checkbox on the Database Initialization
dialog (during the Continuum installation process) in order for these
keywords to work. (See the Andover Continuum CyberStation
Installation Guide, 30-3001-720.)
Replace object with the name or full path and name of a point, 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) that is set up as an extended log. 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.
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 thembeyond the 2880.

Andover Plain English Language Reference

7-83

DeleteExtLog, continued

Remarks
continued

To avoid filling your database with log entries, you must instruct the
workstation to remove the extra log entries either automatically or
using DeleteExtLog.
DeleteExtLog removes only old entriesthose entries that have
expired. It determines an entry has expired by calculating the
expiration date of each entry as follows:
DateTime Entry Was Logged + ExtLogInterval

ExtLogSize

Notice that the ExtLogInterval and ExtLogSize 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
definedto 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 the log entries with a fallthru program similar to
the following example:
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
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 by which the logs
must have expired.

7-84

Schneider Electric

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 2005. You could delete them
from the Command line as follows:
Command Line
DeleteExtLog (Building1 Floor1 Temp1, StrToDate ("June 30,
2005 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 datea month from now. You could delete them with a
fallthru program like the one that follows:
Program File
Numeric Result
DeleteLog:
Result = DeleteExtLog (Building1 Floor1, Date + 30 * 24 * 3600)
CheckLogDeletion
If Result is not Success then
Print "Failed to delete extended log entries for Floor1"
Stop
Endif
Note: When the datetime argument is greater than or equal to log
timestamp, the entry is deleted immediately.

Related
Keywords

UpdateExtLog

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-85

Dial

Function

Format 1: Dial (phone_number, commport)

Format

Format 2: Dial (phone_number)


Format 3: Dial (phone_number, commport)

Purpose

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

Remarks

DIAL applies only on a controller with an Infinity modem.


The controller may also connect over modem to a third-party
controller with an ASCII interface, another Andover Contiuum
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

Schneider Electric

DIAL, continued

Remarks
continued

If the first character in the phone number is an A or a, the DIAL


keyword assumes that the phone number string contains valid AT
commands prior to the phone number to command the modem to
dial.
This feature is useful for 3rd party modems or Cellular Modems that
require something other than ATDT to command dialing.
Note: commport is optional in a program and is required on the
Command line
Replace with the Controller port that physically connects to the
modem. The DefaultMode and Mode attributes of the port must be set
to AutoSet or Printer. If, in a program, you do not indicate the comm
port, DIAL uses the default port you set at the top of the program or in
the File Configuration window. From the command line, you must
indicate the comm port.
DIAL automatically turns on the DTR (data terminal ready) attribute of
the port to put the port in Raw mode. Once DIAL establishes the
connection to a workstation, programs can then and only then use
the READ comm port function to take data from the port or PRINT to
send data out the port. The port stays in Raw mode until you use
HangUp or CLOSE to close the connection.
You can use DIAL in a program or on the Command line. When you
use DIAL in 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, the results that DIAL
first return reflect the first response to DIAL rather than the final
results.

Andover Plain English Language Reference

7-87

DIAL, continued

Remarks
continued

DIAL can return any of the following results:


Returned
Success
Failure

When
Controller has established connection with the
workstation or other device.
One of the following situations exists:

Comm port is not in the correct mode.

Default port is not defined.

Using HangUp while dialing stops the dialing from


continuing. You can hang up any time during
dialing.

DialNotCarrier
DialNotAnswer

DialBusyTone
DialNotDialTone

number contains an incorrect


expression or is otherwise incorrect.

Phone

Controller's modem does not detect a carrier on the


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

DIAL returns the last of the above that occurs. If the controller at first
does not detect a carrier, then it receives a busy signal, DIAL returns
DialBusyTone and does not indicate that it could initially 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

7-88

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.

Schneider Electric

DIAL, continued

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.

Remarks
continued

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.

Andover Plain English Language Reference

7-89

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

7-90

Schneider Electric

DIAL, continued

Example 1
continued

The program starts by creating a few local numeric variables to hold


the results of initializing the modem, dialing the call, and hanging up.
It then initializes the modem (see the InitModem keyword for more
details).
Then, in the StartingDial line, the program uses the DIAL keyword to
call a phone number, indicated in quotation marks, and to find the
modem on a particular port, Comm1. Notice that the phone number is
in quotation marks because it is an actual phone number rather than
an object, point, or variable in the control system.
Since DIAL immediately sends the program to the next labeled line,
you do not need a GOTO to proceed to CheckingStatus. If DIAL is
successful, then the program goes to the SendingData line. Since the
port is in Raw mode, the program can now use PRINT to send
messages out the port to the workstation. So, on this line the program
proceeds to 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

Andover Plain English Language Reference

7-91

DIAL, continued

Example 2
continued

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

Goto StoppingComms
StoppingComms:
Stop

7-92

Schneider Electric

DIAL, continued

Example 3

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

Related
Keywords

InitModem
HangUp

Products
Supported

CX series controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-93

DIFFTIME

Function

Format 1: DIFFTIME (SECOND, date_time1, date_time2)

Format

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.

7-94

Schneider Electric

DIFFTIME, continued

Remarks
continued

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

Example 1

You can use DIFFTIME with SECOND to determine how many


seconds have passed. The sample program below calculates the
difference between two readings of the datetime variable Timer.
Program File
DateTime Timer[2]
IF DiffTime (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.

Andover Plain English Language Reference

7-95

DIFFTIME, continued

Related
Keywords

DATE
DATETIME
STRTODATE
TIME

Alias

DT

Products
Supported

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


CyberStation.

Modes
Available

Command lines and programs.

7-96

Schneider Electric

DISABLE

Format

Statement

Format 1: DISABLE program_name


Format 2: DISABLE point_name
Format 3: DISABLE namelist

Purpose

Format 1: Stops running the program named by program name at


the current line. It also 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 by
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 Basic Attribute Listing in Chapter 1). The
STATE attribute allows the item to be enabled or disabled.
All disabled items remain disabled until you enable them (see
ENABLE keyword).

Andover Plain English Language Reference

7-97

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 can disable a point called Fan temporarily to


see how that affects the program. You can do so by placing the
following statement in a program or entering it from the command
line:
Program File
Disable the Fan

Example 3

To stop several active programs at once, enter the following


command line:
Program File
Disable the Heating, the Cooling, the Pumping
Note: In the above example, Heating and Cooling are points and
Pumping is the program name.

Related
Keywords

ENABLE

Alias

DIS

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-98

Schneider Electric

DIVIDED BY

Operator

Format

number DIVIDED BY number

Purpose

Divides one number by another.

Remarks

The number is any number or expression.


The division operator (/) may be substituted for DIVIDED BY.

Example 1

Program File
Usage = kwh Divided by 24

Example 2

Program File
Usage = kwh/24

Alias

/
DIV

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-99

DRAWELLIPSE

Function

DRAWELLIPSE (left, bottom, right, top)

Format

Draws an ellipse inside an imaginary rectangle that is positioned by the


lower left and upper right corner line point locators on the DCX 250
Display Unit screen.

Purpose

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.

7-100

Schneider Electric

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

Andover Plain English Language Reference


101

7-

DRAWELLIPSE, continued

Example 2
continued
250 SCREEN

Figure 7-7. Circle drawn with DRAWELLIPSE

When you draw an ellipse, you can have DRAWELLIPSE tell whether
it was successful or not, as follows:
If DrawEllipse (10, 10, 100,100) = Failure then
Print "DCX Could Not Draw Ellipse" To Floor1 Comm3
Endif
If DrawEllipse is successful, the controller draws the circle, otherwise,
the message prints.

Related
Keywords

DRAWLINE
DRAWRECTANGLE

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

7-102

Schneider Electric

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


using the arguments you supply to the function as line point locators
(dots). 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
of the screen 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 of the screen 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 of
the screen 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 screeen 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.

Andover Plain English Language Reference


103

7-

DRAWLINE, continued

Example

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

Begin_Left
= 10

Begin_
Bottom
= 100
End_Left = 200

End_Bottom
= 50

Figure 7-8. Line drawn with DRAWLINE showing begin


and end line locations.

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

Related
Keywords

DRAWELLIPSE
DRAWRECTANGLE

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

7-104

Schneider Electric

DRAWRECTANGLE

Function

Format

DRAWRECTANGLE (left, bottom, right, top)

Purpose

Draws a rectangle on the screen of the DCX 250-Display Unit by


using 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 of the
screen 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
of the screen 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 of the
screen 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 of
the screen 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.

Andover Plain English Language Reference


105

7-

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

Left
= 10
Bottom
= 20

Top = 100

Figure 7-9. Rectangle drawn with DRAWRECTANGLE showing


bottom left and top right corner locations

You can have DRAWRECTANGLE tell you whether or not it drew


successfully by putting it inside an IF..THEN statement and including
the parentheses:
If DrawRectangle (10, 20, 250,100) = Failure then
Print "DCX Could Not Draw Rectangle"
Endif
If DRAWRECTANGLE is successful, the controller draws the
rectangle, otherwise, the message prints.

7-106

Schneider Electric

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
DrawRectangle 10, 10, 100, 100
250 Screen

Figure 7-10. Square drawn with DRAWRECTANGLE

Related
Keywords

DRAWELLIPSE
DRAWLINE
SETDISPLAY

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

Andover Plain English Language Reference


107

7-

ENABLE

Statement

Format 1: ENABLE program_ name

Format

Format 2: ENABLE point_name


Format 3: ENABLE namelist

Format 1: Allows the program named by program name to be run by


the RUN or ROTATE statements.

Purpose

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. Type the
following to allow the controller run the program:
Command Line
Enable Cooling

7-108

Schneider Electric

ENABLE, continued

Example 2

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


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

Example 3

To activate several programs at once, enter the following command


line:
Command Line
Enable the Heating, the Cooling, and the Pump
Note: In the above program, Heating and Cooling are program
names and Pump is a point.

Related
Keywords

DISABLE

Alias

EN

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference


109

7-

ENDPOLYLINE

Function

Format

ENDPOLYLINE ( )

Purpose

After a BEGINPOLYLINE statement and a series of drawing


statements, ENDPOLYLINE indicates drawing on the DCX 250Display Unit is complete.
Returns SUCCESS or FAILURE.

Remarks

After you use BEGINPOLYLINE, and you 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.

7-110

Schneider Electric

ENDPOLYLINE, continued

Example
continued

Without ENDPOLYLINE, BEGINPOLYLINE does nothing.


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

250 Screen

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

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

Andover Plain English Language Reference


111

7-

ENDPOLYLINE, continued

Related
Keywords

BEGINPOLYLINE
LINEPOINT

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

7-112

Schneider Electric

EOF

Constant

Format

EOF

Purpose

EOF means end-of-file. Used in expressions to indicate a process or


function has failed because it tried to access information past the end
of a file read by CyberStation.

Remarks

EOF is always numeric.

Example

Program File
If WriteFile (ZoneData, RecordLine, 80, Chars) = EOF then
Print "Not enough room in file for record"
Goto WriteCheck
Endif

Related
Keywords

FAILURE
SUCCESS

Products
Supported

CyberStation

Modes
Available

Programs

Andover Plain English Language Reference


113

7-

EQUALS

Remarks

7-114

Operator

See the IS keyword.

Schneider Electric

ERRORS

System variable

Format

ERRORS

Purpose

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, depending on the severity of
the error). In other words, it is always the case.

Example

The controllers input reference voltage goes out of its normal


range, usually when you apply too much voltage to one or more
inputs.

The controllers output reference voltage goes out of its normal


range, usually when drawing too much current from one or more
inputs.

The Infinet has trouble transmitting or receiving data.

Someone resets an Infinet controller.

Someone turns off the AC power to any Infinet, CX series or CMX


series controller so that the AC power shuts down, but the battery
retains memory.

Since the ERRORS variable automatically decrements after you


acknowledge an error, the value of the variable should never get very
large.
In the sample program below, you set a limit to how many errors can
accumulate and generate a report on all errors if the limit is
exceeded:
Program File
If Errors > 10 then Goto Report_Error

Andover Plain English Language Reference


115

7-

ERRORS, continued

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-116

Schneider Electric

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

Andover Plain English Language Reference


117

7-

EventLogSize, continued

Related
Keywords

AccessLog

Products
Supported

CMX series and CX series controllers.

Modes
Available

Command lines and programs.

7-118

Schneider Electric

EXPONENTIAL

Function

Format

EXPONENTIAL (number)

Purpose

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

Remarks

The number is any number or expression.

Example 1

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

Example 2

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

Alias

EXP

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers (except i2885,
i2887, b3885, b3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference


119

7-

FACTORIAL

Function

Format

FACTORIAL (integer_expression)

Purpose

Returns the factorial of integer_expression.

Remarks

The integer_expression is an integer greater than or equal to zero.


The largest number you can use FACTORIAL on is 34.

Example

The following statement sets FVAL to the result of factorial 3:


Program File
FVAL = Factorial (3)
The function returns 6, so FVAL = 6.

Alias

FACT

Products
Supported

BACnet series (except b3885, b3887), CMX series, CX series, DCX


series, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

7-120

Schneider Electric

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 numbers in a comparison expression.

Example

Program File
If OpenFile ("Com1", ReadWrite, FileVar) = Failure then
Print "Error opening file"
Endif

Related
Keywords

SUCCESS

Products
Supported

CX series and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-121

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 cannot 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 can 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 differentyou 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.)
FILE is a variable because you can change the Windows file name to
a FILE variable name with which it associates. 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 to which you want Windows text files to correspond. The name
may be up to 32 characters, including letters, numbers, periods, and
underscores, starting with a letter.

7-122

Schneider Electric

File, continued

Remarks
continued

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


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

Example 1

You use FILE in a program to define a file called ZoneData. Then you
can open a 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.

Andover Plain English Language Reference

7-123

FILE, continued

Example 2
continued

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

Control System
File Variable

\text\zone1.txt
\text\zone2.txt
\text\zone3.txt

ZoneData[1]
ZoneData[2]
ZoneData[3]

Program File
File ZoneData[3]
Numeric OK, NumFile
Line Opening
For NumFile = 1 To 3
OK = OPENFILE ("c:\text\zone"; NumFile;".txt", WriteOonly,~
ZoneData [NumFile])
If OK = Failure Then Break
Next NumFile
Line Working
.
.
Line Closing
.

Related
Keywords

CLOSEFILE
READFILE

Products
Supported

CyberStation

Modes
Available

Programs

7-124

Schneider Electric

OPENFILE
WRITEFILE

POSITIONFILE

FILL

Constant

Format

FILL

Purpose

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

Remarks

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

Example

You set the graphics on the 250 screen to solids, as follows:


Program File
SetDisplay (Fill)

Related
Keywords

NOFILL
SETDISPLAY

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

Andover Plain English Language Reference

7-125

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
FLO OR (1.1)

-4

-3

-2

Position of 1.1 on the number line

-1

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

Related
Keywords

CEILING, TRUNCATE, ROUND

Products
Supported

BACnet series (except b3885, b3887), CX series, DCX 250, i2 series


controllers (except i2885, i2887), and CyberStation.

7-126

Schneider Electric

Modes
Available

Command lines and programs.

FOR..NEXT

Format

Statement

Format 1: For numeric_name = begin to end


statement
statement
...
Next numeric_name
Format 2: For numeric_name = begin to end step number
statement
statement
...
Next numeric_name

Purpose

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

Remarks

Replace numeric_name with a defined local variable or point that


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

Andover Plain English Language Reference

7-127

FOR..NEXT, continued

The statement sets the value of the numeric_name to the begin


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

Remarks
continued

Here, since begin is 2, end is 10, and number is 2, the


numeric_name (often called the counter) counts 2, 4, 6, 8, 10. The
first time through the loop numeric_name is 2, the second time it is 4,
and so on.
As long as numeric_name is less than or equal to end, the
statements inside the loop are carried out. When numeric_name is
greater than end the program then goes to the statement after NEXT.
Here is the output printed by the loop above:
2
4
6
8
10

12
14
16
18
20

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


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

7-128

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

Schneider Electric

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)

FOR..NEXT, continued
Andover Plain English Language Reference

7-129

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Related
Keywords

BREAK, CONTINUE

Modes
Available

Programs

7-130

Schneider Electric

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. It can also be used in programs but doing so the
controller will slow down.

Example

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

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, and TCX series controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-131

GetExtLog

Function

Format

GetExtLog (object_name , value_var , start_time , end_time)

Purpose

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

Remarks

Note: In Continuum CyberStation Version 1.7 and higher, an


automated extended log feature that replaces the use of the Plain
English keywords, DeleteExtLog and GetExtLog. If you still wish to
use Plain English for extended logging, you must check the
Extended Logging Backwards Compatibility checkbox on the
Database Initialization dialog (during the Continuum installation
process) in order for these keywords to work. (See the Andover
Continuum CyberStation Installation Guide, 30-3001-720.)
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 retrieve the extended log times and
associated values until it reaches the end_time you give.

7-132

Schneider Electric

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/2005 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

Andover Plain English Language Reference

7-133

GetExtLog, continued

Related
Keywords

DeleteExtLog
UpdateExtLog

Products
Supported

CyberStation

Modes
Available

Programs

7-134

Schneider Electric

GETNAME

Formats

Function

Format 1: GETNAME ( string )


Format 2: GETNAME ( string, bacnet_broadcast_flag )

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 in the language whenever 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

string 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.
bacnet_broadcast_flag This argument is for BACnet controllers. It
allows a PE program to execute a GETNAME function
asynchronously, as a BACnet broadcast, to find an object usually
on another BACnet controller. The GETNAME function executes
Who Has I Have BACnet broadcast. Inserting this argument makes
execution of this function asynchronous. Enter either:

TRUE, 1, or any other numeric expression not equal to zero

FALSE, 0, or any other numeric expression equal to FALSE

Andover Plain English Language Reference

7-135

GETNAME, continued

Enter TRUE (or equivalent numeric expression) to send this Who Has
I Have broadcast to other BACnet controllers on the network, in
search of the object.
Enter FALSE (or equivalent numeric expression) to perform a search
on the local controller.
See Example 3 for an example of the bacnet_broadcast_flag
argument.

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

7-136

Schneider Electric

GETNAME, continued

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")
Endif
Goto GetNextRoom
Line GetNextRoom
If ROOM >= 10 Then Stop
ROOM = ROOM + 1
Goto CheckingTemp
"Room"; ROOM;" Temp" gets the path to the Temp point on the
ROOM1 controller first. Once the program gets the value of
Temp from each controller, it compares that value to the
setpoint of 75. If the temperature is not at setpoint, the program
prints a message.

Example 3

Here is a program example using the bacnet_broadcast_flag


argument:
Program File
Object ObjRef
Line GettingObject
ObjRef = GetName(BCX2 \ ANALOGVALUE1)
Line SettingObject
ObjRef = 72

Andover Plain English Language Reference

7-137

GETNAME, continued

Example 4

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 5

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 6

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")

7-138

Schneider Electric

GETNAME, continued

Example 7

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
Go CheckRoom
Line CheckRoom
Print "Room |## Status", ROOM
Print "The lights are |$###", GetName("Room";ROOM;" Lights")
Print "The lighting program is |*",~
GetName("Floor";Num,"Lighting STATUS")
Print "The temperature setpoint is ##..#",~
GetName ("Room"; ROOM;" Sept")
Print "The actual temperature is ##..#",~
GetName ("Room"; ROOM;" Temp")
Print "The airflow setpoint is ##.# cmf",~
GetName ("Room"AirSetpt")
Print "The actual airflow is ##.# cmf", ~
GETNAME ("Room"; ROOM;" AirFlow)
Goto GetNextRoom
Line GetNextRoom
If ROOM >=10 then Stop
ROOM = ROOM + 1
Goto CheckRoom

Products
Supported

BACnet series (except b3885, b3887), CX series, CMX series, i2


series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-139

GetObject

Function

Format

GetObject ( object_var )

Purpose

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, and PROGRAM.

Remarks

The object_var is a local OBJECT variable you defined with the


OBJECT statement.
Returns SUCCESS or FAILURE. After it obtains 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.

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

7-140

Schneider Electric

GetObject, continued

Example 1
continued

If VavPoint State is Disabled then


Print VavPoint Name
Line ClosePoints
.
.
Stop
The program is looping, which means that it stays on the GetPoints
line until GETOBJECT fails to retrieve another point. 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
.

Andover Plain English Language Reference

7-141

GetObject, continued

Example 2
continued

This program checks the state of each program it retrieves from a


particular controller. If the program is disabled, the control system
software prints the program name. When the control system software
has finished getting all the programs, you have a list of the disabled
programs.

Example 3

You can print a list of the CX series controllers that are off-line using
GETOBJECT. The sample program is looping:
Program File
Object EnetCtrlr
Line OpenController
.
.
Line GetController
If GetObject (EnetCtlr) is not Sucess 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.

7-142

Schneider Electric

GetObject, continued

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
Line OpenVAVPoints
.
.
Line GetVAVPoints
If GetObject (VAVPoint) is not Success then
Goto CloseVAVPoints
Endif
Pr VAVPoint
Line CloseVAVPoints
.
.
This program gets each point from the VAVPoint list. PR prints the
name, value, and units of each point. You can use this type of
program to retrieve all point values from a single controller quickly
and easily.

Related
Keywords

CloseList
OBJECT
OpenList

Products
Supported

BACnet series (except b3885, b3887), CX series, CMX series,


i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-143

GOTO

Format

Function

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

Schneider Electric

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

Andover Plain English Language Reference

7-145

GOTO, continued

Example 4
continued

Example 5

Line Heating
Turn On Heater1
Go To Beginning
Line Cooling
Turn On Cool1
Go To Beginning

You can separate Go and To, and include Line as well:


Program File
Line Beginning
If Temp is less than 68 then Go To Line Heating
If Temp is greater than 76 then Go To Line Cooling
Line Heating
Turn On Heater1
Go To Line Beginning
Line Cooling
Turn On Cool1
Go To Line Beginning

Related
Keywords

BASEDON..GOTO
LINE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-146

Schneider Electric

Section 5 Keywords H through N


HangUp

Format

Function

Format 1: HangUp (commport)


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

Purpose

Format 1: From a program, hangs up on the Infinity modem


connection using the comm port you indicate. 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 to 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 Contiuum
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 you do not indicate the comm port in a program, HangUp uses the
default port you set at the top of the program or in the File
Configuration window. You must indicate the comm port from the
command line.
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.

Andover Plain English Language Reference

7-147

HangUp, continued

Remarks
continued

When you use HangUp from the command line, it returns right away,
before the hanging up actually begins. In this case, the response that
HangUp first returns reflects the first response to HangUp rather than
the final result.
HangUp can return one of the following results:
SUCCESSController has successfully disconnected from the
workstation or other device.
FAILUREIf 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:

7-148

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.

Schneider Electric

HangUp, continued

Remarks
continued

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.

Discards all characters the controller has not yet printed to the port.

If READ is occurring, sets the TimedOut attribute of the port to True


and reactivates the program that was using READ.

Attempts to hang up and waits 10 seconds for the hangup to


complete.

If CXD is ON then sets DTR to OFF and waits 10 seconds for the
modem to reinitialize.

Sets DTR to ON.

Reactivates the program that used HangUp to disconnect.

Sets the port to its DefaultMode.

Sets the PrintDone attribute of the port to True when the last
PRINT has been completed.

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

Hanging Up While InitModem is in Process


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

Andover 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, use
HangUp and give it the name of the port on which to hang up:
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"
Endif
Immediately after you use HangUp on the line, you must check for the
result of hanging up. If it was successful, HangUpResult is equal to
SUCCESS; otherwise it is equal to FAILURE.

Example 2

7-150

You use HangUp to have a program hang up after it has successfully


called a device. If you do not give HangUp the name of the comm
port, it automatically assumes you want it to hang up on the
DefaultPort you set in the File Configuration window or at the top of
the program, as in the following example.
Program File
Preparing:
Set Floor1 CallingUp DefaultPort = Comm3
...
CheckingDone:
If Comm1 PrintDone then Goto CompletingComm
CompletingComm:
HangUpResult = HangUp ( )
CheckingHangup:
If HangUpResult is not Success then
Print "HangUp of Comm Port Failed"
Endif
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.

Schneider Electric

HangUp, continued

Example 3

You can hang up on a port from the Command window of a controller


as follows:
Command Window
HangUp (Comm3)
You must always name the comm port from the Command line.
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.

Related
Keywords

DIAL
CLOSE
OPEN
READ
InitModem
WRITE

Products
Supported

Available only on CX and CMX series controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-151

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 OutsideAir could


use HOD as follows:
Program File
If OutsideAir > 70 then Goto CoolStart
Set StartTime = 8.00 - (70 - OutsideAir) * RateOfRise
If Hod = StartTime then Goto StartBldg

Related
Keywords

HOUR
SECOND

Alias

HOUROFDAY

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-152

Schneider Electric

MINUTE
TOD

HOUR

System variable

Format

HOUR

Purpose

Gives the current hour, from 0 to 23.

Remarks

If the time is 5:23:02, the hour is 5.


Although the system automatically updates HOUR, you can reset it
for daylight savings time or a change in time zone. You reset HOUR
using the SET statement.

Example

To take action every day at 5:00 a.m., you would check the hour with
the following statement:
Program File
If Hour is Equal to 5 then Goto StartUp

Related
Keywords

HOD
MINUTE
SECOND
TOD

Alias

HR

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-153

IF..THEN..ELSE

Statement

Format 1: If expression then statement

Format

Format 2: If expression then


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

7-154

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.

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

Schneider Electric

IF..THEN..ELSE, continued

Format Rules
continued

Purpose

When you use an IF statement after THEN, it must be nested


under THEN and end with ENDIF (see "If Statement after Then"
example).

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

Carries out a given statement or series of statements if the


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

Remarks

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

The following action takes place for all formats,:

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.

Andover Plain English Language Reference

7-155

IF..THEN..ELSE, continued

Example of
Format 1

To take a single action if the expression is true, you use Format 1,


the single-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
Format 2

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

Example of
Format 3

You use Format 3 to take a single action if an expression is true and


another single action if it is false,:
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.

7-156

Schneider Electric

IF..THEN..ELSE, continued

Example of
Format 4

You use Format 4 to take several actions if the expression is true or


to take several others if it is false,:
Program File
If Temp < 72 and Pump.Stat is Off then
Turn ON the Fan
Close the Damper
Else
Turn Off the Fan
Open the Damper
Endif
ELSE stands on a line by itself in this format and the end of the IF..
THEN..ELSE statement must be marked by ENDIF.

Example of
Nested IFs

IF statements may be included (nested) within other IF statements.


Program File
If the Wkd is Either Saturday or Sunday then
Set Occupancy to Off
Stop the DailyProgram
If the Temp is greater than 70 then
Turn On the Fan
Open the Damper
Else
Turn Off the Fan
Open the Damper
Endif
Else
Set Occupancy to On
Start the DailyProgram
Endif

Andover Plain English Language Reference

7-157

IF..THEN..ELSE, continued

Example of
Nested Ifs
continued

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

Example of an
IF Statement
after THEN

Take a look at the following statement with an IF after THEN:


Program File
The ELSE goes with this IF
If the Wkd is Sat then If the Hour is 1 then Goto 1 Else Goto 2
Which If does the Else belong to? In this case the Else belongs to
the If the arrow points to because it belongs to the closest previous If
on the same physical line.
An IF..THEN statement that starts right after Then is always a selfcontained statement that ends on that physical line.
To make the Else belong to the first If, you must form a nested If
arrangement, as follows:
Program File
The ELSE goes with this IF
If the Wkd is Sat then
If the Hour is 1 then
Goto 1
Endif
Else
Goto 2
Endif
In this nested If statement, the Else belongs to the first If, the one the
arrow points to.

7-158

Schneider Electric

IF..THEN..ELSE, continued

Example of a
Nonzero Value
number

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

Related
Keywords

AND
IS. . .
OR

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-159

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 to which are connected.
Or gives the number of Infinet controllers on-line on the single Infinet
on the CMX 9924 series controller on which you are working.

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

7-160

Schneider Electric

INFINET#COUNT, continued

Products
Supported

CX series controllers and CMX 9924 controller.

Related
Keywords

SELECT..CASE

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-161

InitModem

Function

Format 1: InitModem (commport)

Format

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

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.

Purpose

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

7-162

Schneider Electric

InitModem, continued

InitModem automatically sets the following attributes of the port:

Remarks
continued

Attribute
TrackCXD
Baud
Parity
StopBits
DataLength
FlowControl
DTR

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

You can use InitModem in a program or on the Command line. When


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

CAUTION
Be careful not to use InitModem 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.
After initializing Comm3, you can revert it to its original
settings, by manually setting the FlowControl attribute
Tffsasfff
of 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.

Andover Plain English Language Reference

7-163

InitModem, continued

Wait the 10 seconds before checking the result of InitModem to be


certain your program waits for the transition from Raw to the AutoSet
or Printer. Or you could, instead, check to be sure that the Mode
attribute of the port is AutoSet or Printer rather than Raw.

Remarks
continued

CAUTION
While Raw mode is temporarily in effect, you
cannot use READ to receive data from the port or
PRINT to send data to the port. If you do use them,
READ and PRINT both return failures.
InitModem can return one of the following results:

Success when the modem has been initialized successfully.

Failure when one of the following situations exists:


Comport is not in the correct mode.
Default port is not defined.
Modem initialization failed.

The modem AT commands that InitModem executes are listed below.


Command
AT&F
ATE
ATV
AT&C1
AT&D3
AT&S1
ATS0=1
AT\N3
AT\A3
AT%E1
AT%C1
ATX3
AT&W

7-164

Schneider Electric

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

InitModem, continued

Example 1

In order to correctly initialize the port, use the InitModem keyword before
dialing a call over the modem,.
Because the actual initialization process may take 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 that you set in the File
Configuration window or at the top of the program. Just give InitModem
without a comm port name, as shown on the next page.

Andover Plain English Language Reference

7-165

InitModem, continued

Example 2
continued

Program File
Numeric DialDelay, InitResult, DialResult, HangUpResult
SettingDelay:
DialDelay = 20
Goto InitializeModem
InitializeModem:
InitResult = InitModem ( )
WaitForModInit:
If TS > 10 then Goto CheckModemInit
...

Example 3

You can use InitModem in the Command window of a controller.


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

Related
Keywords

DIAL
HangUp

Products
Supported

Available only on CX series controllers.

Modes
Available

Command lines and programs.

7-166

Schneider Electric

IOUCommFlt#

System variable

Format

IOUCommFltnumber

Purpose

Gives ON if there is a communication fault (failure) on an input/output


unit (IOU) or OFF if there is no communication fault.

Remarks

The number is any number or expression that gives the number of


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

Example

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

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-167

IS

Format

Operator

Greater-than-expression:
number > number
number is greater than number
number is above number
Greater-than-or-equal-to-expression:
number > = number
number is greater than or equal to number
Less-than-expression:
number < number
number is less than number
number is below number
Less-than-or-equal-to-expression:
number <= number
number is less than or equal to number
Equal-expression:
number = number
number is number
number is equal to number
number equals number
Not-equal-expression:
number < > number
number is not number
number is not equal to number
number does not equal number
List-inclusion-expression:
number is in list
number is range (see range-expression below)
number is either list

7-168

Schneider Electric

IS, continued

Format
continued

List-exclusion-expression:
number is not in list
number is not range (see range-expression below)
number is neither list
Range-expression:
number is between lower_number and higher_number
number is not between lower_number and higher_number
number is lower_number thru higher_number
number is not lower_number thru higher_number

Purpose

Carries out the logical test you specify.

Remarks

Replace number with any number or expression, including a date


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

Example 1

To compare two values, you usually place an IS... statement between


IF and THEN in an IF..THEN statement, as illustrated in the following
examples.
Note: Because THAN is optional in the following pairs of statements,
each statement gives the same instructions to the controller.

Andover Plain English Language Reference 7-169

IS, continued

Example 1
continued

Program File
If Zone.Temp is greater than 70 then
If Zone.Temp is greater 70 then
If Zone.Temp is above 70 then
If Zone.Temp is less than 70 then
If Zone.Temp is less 70 then
If Zone.Temp is below 70 then

Example 2

The following 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

7-170

Schneider Electric

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

Andover Plain English Language Reference 7-171

IS, continued

Related
Keywords

AND
IF..THEN..ELSE
OR
WHILE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-172

Schneider Electric

LCDPassword

System variable

Format

LCDPassword

Purpose

Contains the password to the keypad of an Infinet controller.

Remarks

Applies only to Infinet controllers with keypads (see "Products


Supported").
You may only set the LCDPassword from the System Variable dialog
box on a Continuum CyberStation.
You must select the Infinet controller from the CyberStation before
you can set its password.

Example

To set the password for the keypad of an Infinet controller:

Select the controller from the Continuum Explorer window.

Select the Infinity System Variable folder.

Select the LCDPassword system variable.

Enter the password in the Value text box of the System Variable
dialog box. Be sure the password is a number and only three
digits, such as 237.

Click on the Apply button and then the OK button.

Products
Supported

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

Modes
Available

N/A

Andover Plain English Language Reference 7-173

LEFT

Function

Format

LEFT (string, integer)

Purpose

Returns a string consisting of the leftmost characters of string with a


length specified by integer.

Remarks

Replace string with any text (word or words) or text expression.


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

Example1

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

Example 2

Suppose that the TEXT variable contains "ROOM808"; the following


statement retrieves the word ROOM by carrying out the LEFT
function:
Program File
LVAL = Left(TEXT, 4)
This statement returns "ROOM".

Alias

FIRST

Products
Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX


250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

7-174

Schneider Electric

LENGTH

Function

Format

LENGTH (string)

Purpose

Returns the number of characters in the string.

Remarks

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

Example 1

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

Example 2

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

Alias

LEN

Products
Supported

ACX series, BACnet series (except b3885, b3887), CMX series, CX


series, DCX 250, i2 series controllers (except i2885, i2887), and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-175

LINE

Statement

Format 1: Line linename

Format

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; however, 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.

7-176

Schneider Electric

LINE, continued

Remarks
continued

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

Example 1

In the following example, the first linename is StartUp labeled Line


StartUp. Follow the program flow to see how the line name directs
the control of the program.
Program File
Line StartUp
If Temp > 72 then Goto Cooling
If Temp < 70 Then Goto Heating
Line Heating
Turn On the Heat
...
Goto StartUp
Line Cooling
Turn On the Blower
...
Goto StartUp

Andover Plain English Language Reference 7-177

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

7-178

Schneider Electric

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

Andover Plain English Language Reference 7-179

LINE, continued

Example 5
continued

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

Related
Keywords

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

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-180

Schneider Electric

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.

Andover Plain English Language Reference 7-181

LINEPOINT, continued

Example 1
continued

Second, you must have a BEGINPOLYLINE statement.


Third, you enter one LINEPOINT statement for each line point.
Finally, you enter the ENDPOLYLINE statement.
The program looks like this:
Program File
SetDisplay (NOFILL)
BeginPolyLine
LinePoint 20, 30
LinePoint 60, 80
LinePoint 90, 50
LinePoint 150, 90
EndPolyLine
250 SCREEN

Figure 7-13. Graph drawn with LINEPOINT.

7-182

Schneider Electric

LINEPOINT, continued

Example 2

You can create a polygon (see Figure 7-14) using LINEPOINT by


giving the dots (line position) at the corners of the polygon.
First, you must have a SETDISPLAY statement that sets the display
to FILL. FILL gives a polygon rather than a graphic line.
Second, you must have a BEGINPOLYLINE statement.
Third, you enter one LINEPOINT statement for each line point.
Finally, you enter the ENDPOLYLINE statement.
Program File
SetDisplay (FILL)
BeginPolyLine
LinePoint 20, 30
LinePoint 60, 80
LinePoint 90, 50
LinePoint 20,30
EndPolyLine
250 SCREEN

Figure 7-14. Polygon drawn with LINEPOINT.

Andover Plain English Language Reference 7-183

LINEPOINT, continued

Example 3

You can use an array of values to create a graph with LINEPOINT.


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

7-184

Schneider Electric

LINEPOINT, continued

Example 3
continued

250 SCREEN

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

To magnify the differences between the values, and to center the


graph vertically, you can multiply the temperature values by 2,
changing the program as follows:
Program File
SetDisplay (NOFILL)
BeginPolyLine
For Index = 1 to 5
LinePoint Index *20, OutsideAir[Index] *2
Next Index
EndPolyLine
Now, 45 becomes 90, 60 becomes 120, and so on; the vertical
distance between values is greater.
The graph also appears more centered on the 250 screen, as shown
on Figure 7-16.

Andover Plain English Language Reference 7-185

LINEPOINT, continued

Example 3
continued

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

250 SCREEN

Figure 7-16. Expanded vertically centered graph drawn with LINEPOINT


using and array of values.

Related
Keywords

BEGINPOLYLINE
ENDPOLYLINE
LOCATE

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

7-186

Schneider Electric

LN

Function

Format

LN (integer_expression)

Purpose

Returns the natural logarithm of integer_expression.

Remarks

The integer_expression is any integer not equal to zero.

Example

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

Products
Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX


series, SCX series, TCX series controllers, and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-187

LOAD

Statement on controller

Format 1: LOAD

Format

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

7-188

Schneider Electric

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, return to the talkthrough 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

The following example loads a dump file onto a controller so that it


adds to the items on the controller. However, it 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

Andover Plain English Language Reference 7-189

LOAD (controller), continued

Example 2

The following example loads 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

7-190

In the following example, the dump file replaces any points,


programs, or other items with information from the file on the
controller. The controller also sends messages to the Messages
window on the terminal during the reload.

Schneider Electric

LOAD (controller), continued

Example 4
continued

Command Line window on controller


LOAD o m
You may put the options in any order, -m first or -o first. The -m option
applies only when loading the controller from a disk via a terminal
emulation program.
On the terminal, within 60 seconds you type a command to send the
file from the communications package on the computer. The
command is determined by the communications package used. The
following is an upload command from HyperTerminal:
Host Computer Running HyperTerminal
upload C: database

Related
Keywords

SAVE

Alias

RELOAD

Products
Supported

CX series controllers and CM X220.

Modes
Available

Command lines.

Andover Plain English Language Reference 7-191

LOAD

Statement on workstation

Format 1: LOAD object_list -o

Format

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 a CyberStation, 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.

7-192

Schneider Electric

LOAD (workstation), continued

Purpose
continued

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


Variable) or .dmp extension. You must choose only one of these
three options:

u (update) this is the default

a (append)

o (override)
The x option stands for distribute personnel.

Remarks

Restricted to users with a minimum of configure level access.


Replace object_list with a list of controllers, Infinet controllers, or
other objects that are stored in a controller, since you are loading the
information into a controller. The objects should all be of the same
class; for instance, all numeric points or all programs. If the list is of a
class other than Controller or InfinetCtlr, the class list should contain
only objects from the same controller and each name should include
the full path.
Replace any_combination_of_options with one or more of the
options:c (confirm) and/or v (validate). The o (overwrite) is always
required.
You can use LOAD from the command line or in a program. If you use
it in a program, you must use LOAD on a line by itself. You do not
have to indicate that the program should then go to the next line,
because it automatically proceeds to the next line after completing the
load.
Once you begin the LOAD, you can see the actions listed in the
Distribution Properties window on the CyberStation.

Example 1

To load the information from a workstation database into the FLOOR1


CX series controller and replace any objects (points, programs, and
others) already present on that controller, give the name of the
controller and then -o, as follows:
Command Line
LOAD Floor1 o

Andover Plain English Language Reference 7-193

LOAD (workstation), continued

Example 2

The following example loads only the information about the Temp1,
Temp2, and Temp3 points into the Floor1 controller from a
workstation:
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

7-194

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

Schneider Electric

LOAD (workstation), continued

Example 5

Command Line
LOAD Personnelfile.CSV a
Personnel distribution is automatically done with CSV files.

Example 6

:
Program File
LOAD Floor1.dmp -o

Example 7

:
Program File
LOAD PersonnelFile.dmp x -o
The x option instructs the LOAD command to distribute personnel
records to the controller(s). Personnel distribution usually takes
place when something about their record, such as the card
number, has changed.

Related
Keywords

SAVE

Alias

RELOAD

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-195

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, which indicates 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"

7-196

Schneider Electric

LOCATE, continued

Example 1
continued

Notice that you do not need the parentheses in this case, because
LOCATE is at the beginning of a statement. (You can, however, use
the parentheses to make the program easier to read.)
The labels appear next to the buttons as show in Figure 7-17.

250 SCREEN

OPEN VALVE
Lower left corner at 125, 105

CLOSE VALVE
Lower left corner at 125, 85

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

Example 2

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 TempOccupied Hours"
SetDisplay (NOFILL)
BeginPolyLine
For Index = 1 to 5
LinePoint Index *20, OutsideAir[INDEX] * 2
Next Index

Andover Plain English Language Reference 7-197

LOCATE, continued

Example 2
continued

EndPolyLine
Locate 20, 130
Print "70"
Locate 20, 100
Print "50"
Locate 20, 70
Print "30"
Locate 35, 45
Print " 8
10
12
14
DrawLine 30, 42,110, 42
DrawLine 30, 42, 30, 145

16"

The title appears where you position the text as shown in Figure 7-18.
250 SCREEN

Outside Air TempOccupied Hours


70

50

30
8

10

12

14

16

Figure 7-18. Using the LOCATE function to label a graph.

You must place each temperature individually for the temperature


scale along the left side. For the horizontal list of hours, you can use
a single LOCATE statement followed by a single PRINT statement.

7-198

Schneider Electric

LOCATE, continued

Related
Keywords

PRINT

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

Andover Plain English Language Reference 7-199

LOG

Function

Format

LOG (integer_expression)

Purpose

Returns the base 10 logarithm of integer_expression.

Remarks

The integer_expression is an integer greater than zero.

Example

Program File
Result = log(10)
This statement sets RESULT equal to 1.

Products
Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX


250, i2 series (except i2885, i2887), LCX series, SCX series, TCX
series controllers, and CyberStation.

Modes
Available

Command lines and programs.

7-200

Schneider Electric

MAXIMUM

Format

Function

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 numeric expressions, numbers, or
variables that contain 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.

Andover Plain English Language Reference

7 -201

MAXIMUM, continued

Example 2

There is a log called AV.TEMP that holds the average temperature for
each of the last five days. You can use the MAXIMUM function to
find the maximum temperature:
Program File
WklyMax = maximum (AV.TEMP)
If AV.TEMP contains 110, 114, 112, 108, 109, MAXIMUM returns 114
and the program statement sets WKLYMAX to 114.

Example 3

You can find the maximum number of kilowatts in the array of


variables as follows:
Program File
Top = maximum (KW)

Example 4

You find the highest of several temperatures, including the current


value of TempLog, as follows:
Program File
HourlyAvg = maximum (Tmp801, Tmp802, TempLog)
In this instance, TempLog is interpreted as the current value of
TempLog.

Alias

MAX

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-202

Schneider Electric

MAXITEM

Format

Function

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.

Andover Plain English Language Reference

7 -203

MAXITEM, continued

Example 2

To find the index position of the largest number in a log, give the log
name in parentheses:
Program File
maxitem (Temp)

Example 3

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

Example 4

Find the position of the highest of several temperatures in a list,


including the current value of TempLog, as follows:
Program File
HourlyAvg = maxitem (Tmp801, Tmp802, TempLog)
In this instance, TempLog is interpreted as the current value of
TempLog.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-204

Schneider Electric

MessageWindow

Constant

Format

MessageWindow

Purpose

Refers to the message window on a CyberStation.

Remarks

To have PRINT statement text appear in the message window of a


CyberStation, use MessageWindow in a statement.
All PRINT statements automatically send text to the message window
unless you change the default port of a program to either a printer or
the Status line (see the StatusLine keyword).

Example

If you have assigned an object other than the MessageWindow as the


default port of your program, you can still send a message to the
message window using MessageWindow in a PRINT statement:
Program File
Print "Cannot open the file" to the MessageWindow

Related
Keywords

STATUSLINE

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7 -205

MicroPower

System variable

Format

MicroPower

Purpose

A predefined variable that you set to OFF to turn off battery power to
the ACX 781 controller. 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 effect. Instead of turning
off the CPU, it resets back to ON at the end of the scan once 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 before the AC power failure. 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. 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.

7-206

Schneider Electric

MicroPower, continued

Example

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

Products
Supported

ACX 781 controller.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7 -207

MID

Function

Format

MID (string, offset, number)

Purpose

Returns a string number characters long extracted from string


starting at offset.

Remarks

Replace string with any text (word or words) or text expression.


Replace offsett with the number (or a variable that contains the
number) of the position where you want the controller to start
extracting the string of characters.
If offset is greater than the length of the string expression, the MID
returns the empty string, "".
Replace number with any number or expression. Tells how many
characters you want extracted from the text string.

Example 1

Program File
MIDSTR = MID("ABCDE", 2, 3)
MID returns "BCD" and the statement sets MIDSTR to "BCD".

Example 2

Program File
PARTSTR = MID("ABCDE", 9, 2)
Since the offset (9) is greater than string length, the statement returns
an empty string ("").

Products
Supported

BACnet series (except b3885, b3887), CX series, CMX series, DCX


250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

7-208

Schneider Electric

MINIMUM

Format

Function

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 numbers, numeric expressions, or
variables that contain 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.

Andover Plain English Language Reference

7 -209

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 can find the minimum of several temperatures, including the


current value of TempLog, as follows:
Program File
HourlyAvg = minimum (Tmp801, Tmp802, TempLog)
In this instance, TempLog is interpreted as the current value of
TempLog.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-210

Schneider Electric

MINITEM

Format

Function

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
Temp3 = 70
Temp4 = 67
minitem (Temp1, Temp2, Temp3, Temp4)
The MINITEM statement returns 1, because the first item in the list
contains the smallest number.

Andover Plain English Language Reference

7 -211

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 (Temp801, Tmp802, TempLog)
In this instance, TempLog is interpreted as the current value of
TempLog.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-212

Schneider Electric

MINUS

Operator

Format

number MINUS number

Purpose

Subtracts number from number.

Remarks

The number is any number or expression.

Example 1

Program File
KWH.PM = KWH.DAY minus KWH.AM

Example 2

Program File
KWH.PM = KWH.DAY - KWH.AM

Alias

- (minus sign)

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7 -213

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

7-214

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.

Schneider Electric

MINUTE, continued

Example
continued

The Temp.Check and Temp.Rept programs now run at 30 minutes


after the hour every hour of every day, 24 hours a day and 365 days
a year.
The Fan.Check and Damper.Check programs now run at 45 minutes
after the hour every hour of every day, 24 hours a day and 365 days
a year.
The Heater.Check and Co.Check programs now run on the hour
every hour of every day, 24 hours a day and 365 days a year.

Related
Keywords

HOD
HOUR
SECOND
TOD

Alias

MIN

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7 -215

MOD

Operator

Format

number MOD number

Purpose

Returns the remainder of one number divided by another.

Remarks

Each number must be a number or expression.

Example

Program File
EXTRA = 5 Mod 2
The equation divides 5 by 2 and gives a remainder of 1, so EXTRA is
set to 1.

Alias

REMAINDER

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-216

Schneider Electric

ModemPower

System variable (programmable)

Format

ModemPower

Purpose

A predefined variable you can set to OFF to turn off battery power to
the modem inside the door of the CX series controller. 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 turns 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

Andover Plain English Language Reference

7 -217

ModemPower, continued

Example
continued

Line TurnOffModem
If PowerFail is On then
Turn ModemPower to Off
Else
Stop
Endif
Notice that since the PowerFail variable triggers the program
whenever the system variable changes, you must test to be sure that
PowerFail is ON, not OFF, before setting ModemPower to OFF.

Related
Keywords

PowerFail
CPUPower
DCXPower
MicroPower

Products
Supported

CX series and CMX series controllers.

Modes
Available

Command lines and programs.

7-218

Schneider Electric

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:

Example 1

Constant

Short Name

1
2
3
4
5
6
7
8
9
10
11
12

JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
NOV
DEC

Long Name
January
February
March
April
May
June
July
August
September
October
November
December

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

Andover Plain English Language Reference

7 -219

MONTH, continued

Example 2

You can use the short names for comparing the month:
Program File
If Month is either Jun, Jul, Aug, or Sep then.

Example 3

You can use the constants 1 through 12 for comparing the month:
Program File
If Month is 2 then.

Alias

MTH

Related
Keywords

DAYOFMONTH
DAYOFYEAR
YEAR

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-220

Schneider Electric

MOVE

Format

Statement

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%

Andover Plain English Language Reference

7 -221

MOVE, continued

Related
Keywords

SET

Alias

MODULATE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-222

Schneider Electric

NewAlarmCount

System variable

Format

NewAlarmCount

Purpose

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. The controller maintains this system variable.

Remarks

You cannot set NewAlarmCount. The controller automatically updates


NewAlarmCount whether it is enabled or disabled.
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 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 associated with an alarm


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

Andover Plain English Language Reference

7 -223

NewAlarmCount, continued

Products
Supported

CX series, CMX series controllers.

Modes
Available

Command lines and programs.

7-224

Schneider Electric

NOFILL

Constant

Format

NOFILL

Purpose

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

Remarks

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

Example

You set the graphics on the 250 screen to lines, as follows:


Program File
SetDisplay (NOFILL)

Related
Keywords

FILL
SETDISPLAY

Products
Supported

DCX 250 Display Unit.

Modes
Available

Programs

Andover Plain English Language Reference

7 -225

NOT

Operator

Format

NOT number

Purpose

Logically negates or inverts a number or expression, changing 0


(FALSE or OFF) to 1 (TRUE or ON) or vice versa.

Remarks

The number is any number or expression. However, the number is


interpreted as zero or nonzero, where zero is OFF or FALSE and
nonzero is ON or TRUE. If you prefer, you may use parentheses
around the number.

Example

In the statement below, suppose OCCUPIED can be ON or OFF.


When OCCUPIED is ON, placing NOT in front of it tests for the
opposite condition, OFF.
Program File
If not Occupied then

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-226

Schneider Electric

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

Andover Plain English Language Reference

7 -227

NUMERIC, continued

Example 3

You can define an array of numeric variables in a single statement:


Program File
Numeric Fan.Sp [20]

Example 4

You can define several arrays of numeric variables and several single
variables in a single statement:
Program File
Numeric Fan.Sp [20], Pump.Sp, Ahu.Sp [10], Heat.Sp

Related
Keywords

DATETIME
STRING

Alias

NUMBER

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-228

Schneider Electric

NUMTOSTR

Function

Format

NUMTOSTR( number )

Purpose

Converts a number in a numeric variable, or other numeric form, to a


string variable so it can be used in string operations. Returns the
converted string value.

Remarks

The number is any number or expression.


Once a number is in a string variable, it can be used in string
operations.

Example

The following program translates the number 240 into a string:


Program File
String Trans
Trans = NumToStr(240)
Print Trans
'prints string 240.

Related
Keywords

STRTONUM

Products
Supported

BACnet series (except b3885, b3887) , CX series, CMX series, DCX


250, i2 series controllers (except i2885, i2887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7 -229

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 variableonly 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.
Use OBJECT with OPENLIST, GETOBJECT, and CLOSELIST. See
these related keywords for extensive examples.

Example 1

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

7-230

Schneider Electric

OBJECT, continued

Example 2

You can use OBJECT to assign local OBJECT variable names to


many classes of items in a controller:
Program File
Object ChillerPoint, ChillerProg, ChillerData
You can later open each list of items with OpenList

Example 3

You can set an object variable to any object and then read or set any
attributes of that object:
Program File
Object X
X = Floor4\Temp1
Print x Value
Prints the value of Temp1

Related
Keywords

CLOSELIST
GETOBJECT
OPENLIST

Products
Supported

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


CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-231

OFF

Constant

Format

OFF

Purpose

Used in expressions to indicate an item is OFF or set to bottom of


scale

Remarks

OFF is always numeric, so it can be compared to input, output, and


numeric points or variables in a comparison expression.

Example 1

Program File
Turn the Lobby_Light Off

Example 2

Program File
If the Lobby_Light is Off then Turn Off the Heat

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-232

Schneider Electric

ON

Constant

Format

ON

Purpose

Used in expressions to indicate an item is ON or set to top of scale.

Remarks

ON is always numeric, so it can be compared to input, output, and


numeric points or variables in a comparison expression.

Example 1

Program File
Turn On the Lobby_Light

Example 2

Program File
If the Lobby_Light is On then Turn On the Heat

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-233

-ON

Constant

Format

-ON

Purpose

Used in expressions to indicate a tristate point is set to -ON.

Remarks

-ON is always numeric, so it can be compared to input, output, and


numeric points or variables in a comparison expression.

Example

Program File
If the Flow is greater than Setpoint then set the Damper to -On

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-234

Schneider Electric

OPEN

Function (comm port)

Format

OPEN (comm_port)

Purpose

Allows you to direct information to or from a comm port, rather than


automatically sending 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, or path to a comm port, that
you wish to use. 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.
After you complete communications on the comm port and you open
the comm port with OPEN, 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 point Rcv_String
Read (Comm1,80,Rcv_String)
Else
Print "Open Commport Failed" to Terminal1
Endif
Andover Plain English Language Reference

7-235

OPEN, continued

Example
continued

The situation shown in this example, checks to be sure OPEN was


successful before performing Commport operations.

Related
Keywords

CLOSE
PRINT
READ

Products
Supported

CX series controllers.

Modes
Available

Programs

7-236

Schneider Electric

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 a 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 use the name
to then open a text file 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
Print "File Open Failed"

Andover Plain English Language Reference

7-237

OpenFile, continued

Example 1
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.
After you open the file and take 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. 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.

7-238

Schneider Electric

OpenFile, continued

Example 2
continued

Program File
File ZoneData [3]
Numeric OK, FileNum, Index, FilesOpen
Line Opening
For FileNum = 1 to 3
OK = OpenFile ("c:\zone";FileNum;".txt", WriteOnly, ZoneData[FileNum])
If OK = Failure Then Break
Next FileNum
If OK = Success then Goto Reading
Print "File Open Failed for ZoneData";FileNum
Set FilesOpen = FileNum 1
Goto Closing
Line Reading
Set FilesOpen to FileNum
.
.
Line Closing
For Index = 1 to FilesOpen
Set OK to CloseFile (ZoneData[Index])
If OK = Failure then Print "File Close Failed for ZoneData";Index
Next Index
If OK = Success then Print "File Processing Completed Successfully"

Related
Keywords

CLOSEFILE
WRITEFILE

Products
Supported

CyberStation.

Modes
Available

Programs

FILE
FAILURE

POSITIONFILE
SUCCESS

READFILE

Andover Plain English Language Reference

7-239

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 to which you are connected. 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.

7-240

Schneider Electric

OpenList, continued

Remarks
continued

The classes listed below are each spelled a particular way.


AccessEvent
ActivityEvent
ACXList
AlarmEnrollment
AlarmEvent
AlarmInfo
AnalogInput
AnalogOutput
Area
AreaLink
BinaryValue
ClassName
CommPort
ControllerUser
DateTime
Device

DigitalInput
DigitalOutput
DistributionBatch
DistributionObject
Door
DoorList
ElevatorInfo
ErrorEvent
EventEnrollment
EventLogControl
EventNotification
EventView
Filter
Folder
Function
Graphics

Group
GroupMember
ImExportRef
InfinityController
InfinityDateTime
InfinityFunction
InfinityInfinetCtlr
InfinityInput
InfinityNumeric
InfinityOutput
InfinityProgram
InfinityString
InfinitySystemVariable
IOUModule
ListView
MultistateInput

MultistateOutput
MultistateValue
Network
NetworkDialup
Numeric
ParamInfo
Personnel
Program
RootClass
Schedule
SecurityLevel
SecurityLink
ShortCut
String
TemplateInfo
User

Controller refers to CX series controllers or BACnet series, whereas


InfinityInfinetCtlr refers to Infinet I and i2 series controllers. 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, you can give the name of another controller or path under
the one you just opened while it is still open.
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.

Andover Plain English Language Reference

7-241

OpenList, continued

Example 1

After you have defined a local OBJECT variable called VAVPoint, you
can 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

7-242

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.

Schneider Electric

OpenList, continued

Example 2
continued

Program File
Object Prog, CXFloor
Numeric OK
Line OpenProg
Set CXFloor = Floor2
OK = OpenList ("InfinityProgram", Prog, CXFloor)
If OK = Success then
Goto GetProgs
Else
Print "Cannot Open List"
Stop
Endif
Line GetProgs
If GetObject (Prog) is not Success then Goto CloseProg
If Prog State is Disabled then Print Prog Name
Goto GetProgs
Ling 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.

Andover Plain English Language Reference

7-243

OpenList, continued

Example 3

You can open a list of the Infinet controllers on the CX controller. (In this
example, the program is looping.)
If the controller is running the program, you do not have to give the name of
the controller. 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. Use the "Infinity" prefix in the class name, as in
"InfinityInfinetCtlr", when you run the program at the workstation level. If a
program is to be run at the controller level, then do not use the prefix.
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.

7-244

Schneider Electric

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

Andover Plain English Language Reference

7-245

OpenList, continued

Example 4
continued

IF Index <= 2 then Goto OpenPoints Else Goto Done


Done:
Print "End of Input/Output Point List"
Stop
Once the program closes the first list, it adds 1 to the value of INDEX.
As long as the INDEX value is less than or equal to the number of
entries (2), the program goes to OpenPoints and opens the list of the
class of objects stored in the next entry of the IOPoints array.
You could have an array with more entries and call it CLASSGRP. By
changing the INDEX value, you can 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 can do so 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
list of Infinet controllers, and the last of 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.

7-246

Schneider Electric

OpenList, continued

Example 5
continued

If you want all controllers on all sites, you have to open the site list first.
Program File
Object EnetCtlr, InetCtlr, CurrentProg
Numeric Count
OpenEnergyNet:
If OpenList("InfinityController", EnetCtlr) = success then
Goto GetEnergyNet
Else
Print "Cannot Open EnergyNet List"
Stop
Endif
GetEnergyNet:
If GetObject(EnetCtlr) = Success then Goto OpenInfinet
Goto CloseEnergyNet
OpenInfinet:
If OpenList("InfinityInfinetCtlr", InetCtlr, EnetCtlr) = Success then
Goto GetInfinet
Else
Print "Cannot Open Infinet List: ", EnetCtlr Name
Goto GetEnergyNet
Endif
GetInfinet:
If GetObject(InetCtlr) = Success then
Goto OpenProg
Else
Goto CloseInfinet
Endif
OpenProg:
If OpenList("InfinityProgram", CurrentProg, InetCtlr) = Success then
Count = 0
Goto CheckProg
Else
Print "Cannot Open Program List: ", EnetCtlr Name, InetCtlr Name
Goto GetInfinet
Endif

Andover Plain English Language Reference

7-247

OpenList, continued

CheckProg:
If GetObject (CurrentProg) is not Success then Goto CloseProg
If CurrentProg State is Disabled then
Print EnetCtlr Name, InetCtlr Name, CurrentProg Name
Count = Count + 1
Endif

Example 5
continued

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 an exact description of 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, and 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.

7-248

Schneider Electric

OpenList, continued

Example 5
continued

If the GETOBJECT successfully retrieves the Infinet controller, the


control system software opens the list of programs on that controller
and then gets the first program.
If the first program is disabled, the control system software prints the
program name. Then, it 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. Next, it 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. Then, it 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.
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.

Andover Plain English Language Reference

7-249

OpenList, continued

Example 5
continued

Open
EnergyNetList

Close
EnergyNet

No

Get
EnergyNet
Controller ?

Yes
Open Infinet
List

Get
Infinet
Controller ?

No

Close Infinet
List

Yes
Open
Program List

Close
Program List

No

Get
Another
Program ?

Yes
Process
Program

STOP

Figure 7-19. OpenList (Example 5) Program Flow Chart

7-250

Schneider Electric

OpenList, continued

Example 6

You can retrieve a list of sites under the root by giving the Site class
an OBJECT variable name with OpenList:
Program File
Object NetName
Numeric OK
Line OpenSites
OK = OpenList ("Network", SiteName)
If OK = Success then
Goto GetSites
Else
Print "Cannot Open List"
Stop
Endif
Line GetSites
If GetObject (SiteName) is not Success then Goto CloseSites
Print SiteName Name
Line CloseSites
OK = CloseList (SiteName)
If OK = Failure then Print "Cannot Close List"
Stop

Related
Keywords

GetObject
Object
CloseList

Products
Supported

Format 1: BACnet series (except b3885, b3887), CMX series, CX


series, i2 series controllers (except i2885, i2887), and Cyberstation
Format 2: CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-251

OR

Operator

Format 1: number OR number

Format

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 exists, you use OR


between the numbers. 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.

7-252

Schneider Electric

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

Andover Plain English Language Reference

7-253

OR, continued

Related
Keywords

AND
IF..THEN..ELSE
IS

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-254

Schneider Electric

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 on which you are currently working.
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.

Andover Plain English Language Reference

7-255

P, continued

Example 2

Command Line
P OutsideAir, AVG (Temp), AvgSetPt, OutsideAir Type, Tod
OutsideAir = 46 degrees F
86
AvgSetPt = 64
OutsideAir TYPE = Input
TimeOfDay = 8 : 32 am

Alias

PR

Products
Supported

CMX series, CX series, BACnet series controllers, i2 series


controllers, and CyberStation.

Modes
Available

Command lines and programs.

7-256

Schneider Electric

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 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 checks to see
if the argument is passed. The function below returns the number of
the argument that has the highest value. It returns when it finds the
first argument that is not passed. The function called MAXITEM,
predefined in the language and described earlier in this chapter, is as
follows:
Program File
Numeric Count, LastMax
LastMax = 1
For Count = 1 to 15
If not (passed(Count)) then Return (LastMax)
If Arg[Count] > LastMax then LastMax = Count
Next Count

Related
Keywords

ARG

Products
Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX


series, SCX series, TCX series controllers, and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7- 257

PlayAudio

Statement

Format 1: PlayAudio file

Format

Format 2: PlayAudio file, playback_mode

Plays a prerecorded audio sample on the CyberStation.

Purpose

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 playback_mode altogether.
PlayContinuous plays the prerecorded audio sample continuously
until you click on the Silence menu in the Active Alarms window.

Example

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"

7- 258

Schneider Electric

PlayAudio, continued

Products
Supported

Cyberstation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7- 259

PLUS

Operator

Format

number PLUS number

Purpose

Adds two expressions.

Remarks

The number is any number or expression.

Example 1

Program File
TotalKwh = KwhMonth plus KwhDay

Example 2

Program File
TotalKwh = KwhMonth + KwhDay

Alias

Products
Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX


series, SCX series, TCX series controllers, and CyberStation.

Modes
Available

Command lines and programs.

7- 260

Schneider Electric

PositionFile

Function

Format

PositionFile (file_variable_name, offset, starting_position)

Purpose

Tells READFILE or WRITEFILE where to begin reading or writing in a


text file.

Remarks

After you open the file with OpenFile, a new read or write process
(READFILE or WRITEFILE) automatically starts at the top of the file
(FILEBEGIN) without 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:

Example 1

FILEBEGIN
FILECURRENT (where you left off last read or write)
FILEEND.

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

Andover Plain English Language Reference

7- 261

PositionFile, continued

Example 1
continued

Text File
10:12 Building2 Room8
11:26 Building1 Room6
12:35 Building2 Room3

PositionFile sets up
ReadFile to begin
reading here, at
character eight.

You know that the controller name is 8 characters from the beginning
of the file because the time is stored in the first 5 characters and
followed by two spaces. The controllers are listed in order, so the first
one in the file is the first one that deviated from setpoint.
PositionFile tells ReadFile to start reading at the eighth character from
the beginning of the file, which is the first line starting with
"Building2..." When ReadFile reads 16 characters, it retrieves
"Building2 Room8" from the first line of the file and places it in the
DATALINE string.
You can have PositionFile set the starting position from FileBegin;
however, since ReadFile starts at the beginning anyway, it is more
effective to have PositionFile set the starting position from
FileCurrent. The starting position should be set from FileCurrent so
that when the control system software loops, it always moves to the
beginning of the next record as opposed 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"
Goto Closing
Endif

7- 262

Schneider Electric

PositionFile, continued

Example 1
continued

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 begin 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, you can reset the position to
start writing at the beginning of the file, by using PositionFile with
FILEBEGIN, as follows:
Program File
PositionFile (ZoneData, 0, FileBegin)

Andover Plain English Language Reference

7- 263

PositionFile, continued

Example 4

To put a space between a series of records you are writing into a file,
set the position to start writing immediately after the last place the
control system software wrote with FILECURRENT, then add an
offset of 1, as follows:
Program File
PositionFile (ZoneData, 1, FileCurrent)

Example 5

To put a space between a series of records you are writing and


adding onto the end of a file, set the position to start writing
immediately after the end of the file with FileEnd, then add an offset
of 1, as follows:
Program File
PositionFile (ZoneData, 1, FileEnd)

Related
Keywords

CloseFile
FILE
OpenFile
ReadFile
WriteFile
FAILURE
SUCCESS

Products
Supported

CyberStation.

Modes
Available

Programs

7- 264

Schneider Electric

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 and 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, that have configured
with UPS, 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 and then sets to OFF.

Example

You can test to see if AC power is down and then turn off a
programmable system variable as follows:
Program File
If PowerFail is on then Set ModemPower to Off

Related
Keywords

PowerUpTime
CPUPower
ModemPower

Products
Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX


series, SCX series, TCX series controllers, and CyberStation.

Modles
Available

Command lines and programs.

Andover Plain English Language Reference

7- 265

PowerUpTime

System variable

Format

POWERUPTIME

Purpose

Gives the date and time of the last warm or cold start of the AC
power.

Remarks

Most often used in programs to determine how long AC power has


been up since the last power failure.

Example

You can find the number of hours that have passed since the AC
power was started:
Program File
TimeUp = DiffTime (Hour, PowerUpTime, Date)

Related
Keywords

POWERFAIL

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7- 266

Schneider Electric

PRINT

Format

Statement

Format 1: PRINT string


Format 2: PRINT list
Format 3: PRINT string_format, list
Format 4: Any of formats 1 through 3 above TO commport
Format 5: Any of formats 1 through 3 above ; TO commport
Format 6: Any of formats 1 through 3 above TO
string_point_or_variable
Format 7: Any of formats 1 through 3 above TO file_variable

Purpose

Prints a series of characters (text strings, often called simply strings)


to the message window, the status line, a string object or attribute, a
local variable, a printer, a communications port, or a text file.
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).

Andover Plain English Language Reference

7- 267

PRINT, continued

Purpose
continued

Format 5: Prints any of formats 1 through 3 above, printing the next


PRINT statement on the same line because semicolon means stay
on the same line.
Format 6: Prints any value or string, including messages, points, or
variables, into a string point or variable (including MessageWindow
and StatusLine system variables) to set the value of that string.
Format 7: Prints any value or string, including messages, points, or
variables, into an ASCII file associated with a local FILE variable. You
must open 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.

7- 268

Schneider Electric

PRINT, continued

Remarks
continued

Replace string_point_or_variable with any defined string point or


string variable.
Replace file_variable with the name of a local FILE variable. You
must open the file for writing with the OpenFile keyword. Each time
you use PRINT, it prints to a new line in the file, unless you use a
semicolon.

Formatting
Characters

You may choose the layout of the print line and indicate it using the
following special symbols:
Symbol

"

numeric_ constant

#
$###
%
*
}
,
>
<
^
@

Description
Indicates the beginning of a series of characters strictly for
formatting and not to be treated as text. When followed by a
numeric constant, indicates an ASCII code follows (see below).
(A vertical bar immediately before a quotation mark.) Indicates
to print the quotation mark, rather than interpreting it as the
beginning or end of the string.
Produces the ASCII code that corresponds to the numeric
constant. For example, |7 would produce a bell or beep if
printed on a terminal. |13 is the carriage return character. See
the ASCII code chart in Appendix A for more codes.
Represents one character that is numeric. The series of
characters prints right-justified, filling with blanks any blank
characters to the left.
Displays either ON, -ON or OFF (as with a tristate output point).
Multiplies the point value by 100 and places a percent sign after
it (most useful with scale of 0 to 1, where 1 is 100%).
Represents an unlimited number of alphabetic or numeric
characters.
Prints a leading or trailing minus sign, if expression is a
negative number; prints a leading or trailing plus sign if
expression is a positive number.
Removes trailing zeros (extra decimal places).
Prints commas every third digit left of the decimal point.
Right justifies the number or text within the format.
Left justifies the number or text within the format.
Displays a numeric expression in scientific notation.
Represents one character of any kind, alphabetic or numeric.
The series of characters prints left-justified, filling with blanks
any blank characters to the right.

The format must be enclosed in quotation marks. The comma is


required after the format (outside the quotation marks) if an item to
insert in the format follows (see Example 3).

Andover Plain English Language Reference

7- 269

PRINT, continued

Examples 1-21

The following examples illustrate the various PRINT formats:


No.

Print "WARNING-Trouble on the 4th Floor!"

Print TEMP1, TEMP2, TEMP3, TEMP4

Print "The temperature is ###.# at ##:##:##",~


Temp4, Hour, Minute, Second

Print "#######", Total_Watts

Print WeekDay;
Print " ";
Print Month;
Print " ";
Print DayOfMonth

7- 270

Program File

Print "HEAT.SETPT" to PointName

Schneider Electric

Output /Explanation
WARNING-Trouble on the
4th Floor! /The string of
characters prints; the quotation
marks do not.
67 72 77 75
/ The value
of each variable in the list
prints, with a space after it.
The temperature is 75.0
at 4:32:05 / The string
prints with the value of the first
point (or variable) in the first
format and the value of the
next point or variable in the
next format. If there are more
than two formats, the
subsequent point or variable
values are printed in the
corresponding formats in
order.
1340 / Leaves 3 leading
spaces before the value of
Total_Watts. The value prints
on the terminal called
TERMINAL.
Tuesday January 2
/ Prints all text and spaces on
the same line because each
PRINT statement ends with a
semicolon (;).
/ Prints the value into the
string and changes its setting.
You can set a string point or
variable this way.

PRINT, continued

Examples 1-21
continued

No.

Program File

Output /Explanation

Print "##,###.##", Total_Watts

1,340.00 / Leaves one


leading space. Adds the
comma after the 1 and
has two zeros after the decimal.

Print "#,###.##}", Total_Watts

1,340
/ Drops extra decimal
places (trailing zeros).
The Fan Status is ON

Print "The Fan Status is $###, FanStatus

/ Prints ON, -ON, or OFF for a


digital or tristate point, leftjustifying On in the format.

Print "The Damper Setting is ##.##", Damper

The Damper Setting is


20.00 / Prints the pulsing
value of the damper in the
format. Here the damper is ON
for 20 seconds. For -ON, the
value is negative.

11

Print "*", Murphy FullName

Murphy Johnson
/
Outputs any number of
characters of any type that are
in the FullName attribute. The *
is particularly useful when you
do not want to limit the number
of characters in a variable.

12

Print "@@@@@@@@@@@@@@",~
STRMSG to Building1 Console

Heater Failed! / The


message inside STRMSG prints
left justified in the 14 characters
allowed by the @ signs.

13

Print ">#######.##}", 21.70

21.7
/ Right justifies
and drops the trailing 0.

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.

10

14

Andover Plain English Language Reference

7- 271

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."", 97000

8,97e03+05 is the
"Total." / Prints the
number in scientific
notation. Also prints the
quotation marks around
VALUE, because a vertical
bar is before each
quotation mark that should
print.

17 Print "###^##"", .8970

8,97e-01
/ Prints in
scientific notation with
negative exponent.

18 Print "-##.##^##"", 1340000

+1.340e+06
/ Prints in
scientific notation with a
leading plus sign for a
positive number.

The blower's current


state is ENABLED.
/ Prints the text string left
Print "The blower's current state is @@@@@@@@.",~ justified in the format and
19
Blower State
leaves a blank for the
unfilled character at the
end.

20 Print "The value is set to %### open.",~ Water_Valve

7- 272

Schneider Electric

The Valve is set to


45% open.
/ Prints the
value in engineering units
as a percentage of the
scale for the point. This
format works best with a
scale of 0 to 1, where 0 is
fully closed and 1 is fully
open. So, if the value is 1,
the statement prints 100%.
If the value is .45, the
statement prints 45%.

PRINT, continued

Examples 1- 21
continued

No.

Output /Explanation
Date:

21

Example 22

Program File

Print "Date:", Month, ",~


DayOfMonth, ", ", Year
Print " "
Print "Test Report"

December 4, 2005

Test Report / Prints the date. Commas


must separate each group of literal text.
Notice that the only place a space appears is
immediately after the word Date. You must
specify the blank space in quotation marks.
Also prints a blank line between the date and
the report title. If you use the word PRINT
with one blank in quotation marks after it,
then the entire line prints as a blank line (as
long as you don't put a semicolon at the end).

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

Andover Plain English Language Reference

7- 273

PRINT, continued

Example 22
continued

ClosingFile:
OK = CloseFile (NewData)
If OK = Failure then Print "Cannot close text File"
Ending:
Stop
In this example, the local FILE variable called NewData represents an ASCII
file. After the OpenFile keyword opens the ASCII file, PRINT can refer to the
file by the local FILE variable name and put data into it. In this case, the
local FILE variable is NewData, so PRINT prints the KWH usage and cost
into the ASCII file.
OutPutTo 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.
To print to a shared network printer, use the following:
If Openfile("\\ServerName\SharedPrinterName", WriteOnly, NewData) then...

7- 274

Schneider Electric

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:
OutPutTo the File
January: 4567 548.04

February: 589 70.68

Related
Keywords

CHR
P
TAB
FILE
OpenFile

Products
Supported

BACnet series* (except b3885, b3887), B4920, CMX series, CX


series, i2 series* (except i2885, i2887), DCX 250 controllers, and
Cyberstation.
Format 7 only available on the CyberStation
* Due to the lack of an available Comm port, BACnet and i2 series
controllers support printing only to string variables. However, the
i2/b3885 and i2/b3887 models of these controllers do not support the
PRINT statement at all.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7- 275

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.
Finally, you add 50 degrees to the bottom of the range you are trying
to simulate to the random number:
Program File
Temp = (Random (8) /32767 Times 20) + 50

Alias

RND

Products
Supported

BACnet series (except b3885, b3887), CMX series, CX series, i2


series (except i2885, i2887), DCX250 controllers, and Cyberstation.

Modes
Available

Command lines and programs.

7- 276

Schneider Electric

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
from which you want to read information.
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, if you want the controller to continue trying to read when 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.)

Andover Plain English Language Reference

7- 277

READ (comm port), continued

Remarks
continued

Replace end_char (optional) with a single character that indicates the


end of the text being read. Indicated by an ASCII code (inside
quotation marks to make it a string), string point, or local string
variable. If you give more than one character, the control system
software uses only the first character.
Note: The control system software stops reading when either it has
read the number of characters in number_chars, the amount of time
in timeout has elapsed, or it has read the end_char. You can give all
three pieces of information and whichever occurs first ends the
reading process. For instance, if READ reads the end character
before it reads the number of characters, it stops based on the end
character.

Example 1

You can read input from a modem on Comm3 into a string called
ModemData as follows (you must also close the port afterwards):
Program File
Opening:
OpenResult = Open(Comm3)
Testing:
If OpenResult = Success then
Goto Reading
Else
Goto Failing
Endif
Reading:
Result = Read(Comm3, 132, ModemData, 100)
Printing:
If Comm3 TimedOut then Goto Closing
If Result = Success then
Print ModemData to InputFile
Else
Goto Closing
Endif
The timeout of 100 is 100 increments of 10 ms each, for a total of
1000 ms or 1 second.

7-278 Schneider Electric

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. 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
thesymbol.)
Program File
Opening:
OpenResult = Open(Comm3)
Testing:
If OpenResult = Success then
Goto Reading
Else
Goto Failing
Endif
Reading:
Result = Read(Comm3, 132, ModemData, "|13")
Printing:
If Comm3 TimedOut then Goto Closing
If Result = Success then
Print ModemData to InputFile
Else
Goto Closing
Endif

Related
Keywords

CLOSE
OPEN

Products
Supported

CMX and CX series controllers.

Modes
Available

Programs

Andover Plain English Language Reference

7- 279

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

7-280 Schneider Electric

ReadFile, continued

Remarks
continued

In another case, you might have a comma between pieces of data


and then you can 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. 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 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
Else
Goto Reading
Endif

Andover Plain English Language Reference

7- 281

ReadFile, continued

Example 1
continued

Line Reading
OK = ReadFile (ZoneData, DataLine, 80, Chars)
If OK = Failure then
Print "File Read Failed"
Goto Closing
Endif
If OK = Success then Goto Printing Else Goto Closing
Line Printing
Print DataLine
The control system
Goto Reading
software executes this
Line Closing
statement when
OK = CloseFile (ZoneData)
ReadFile returns EOF.
Stop
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 all the situations where you have
successfully opened the 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.
ReadFile 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 thesymbol.)
This program functions similar to the last example.

7-282 Schneiderr Electric

ReadFile, continued

Example 2
continued

Program File
File ZoneData
String 80 DataLine
Numeric Chars, OK
Line Opening
Set OK = OpenFile ("c:\text\zone.txt", ReadOnly, ZoneData)
If OK = Failure then
Print "File Open Failed"
Stop
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

Example 3

This example first creates a FILE variable named ZoneData with FILE
and opens a file under ZoneData with OpenFile. Then it reads 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,

Andover Plain English Language Reference

7- 283

ReadFile, continued

Example 3
continues

It reads until it reaches the comma (you designate the comma with
quotation marks around it). The program then stores the actual
number of characters retrieved in the local numeric variable Chars.
Even though you give an ending character, you must still give a
number of characters to read, in this case, 16.
Program File
File ZoneData
String 16 DataLine
Numeric Chars, OK
Line Opening
Set OK = OpenFile ("c:\text\zone.txt", ReadOnly, ZoneData)
If OK = Failure then
Print "File Open Failed"
Stop
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

7-284 Schneider Electric

ReadFile, continued

Example 3
continued

This program functions similar to the way the last example did;
however, after each time the program reads the file and goes to the
Printing line, it sets the file to start reading two characters past where
it stopped. The two characters are the comma and the space after the
comma.
For more on how to set where to begin reading, see the PositionFile
keyword.

Related
Keywords

FILE
CloseFile
OpenFile
PositionFile
WriteFile

Products
Supported

CyberStation

Modes
Available

Programs

Andover Plain English Language Reference

7- 285

ReadProperty

Function

Format

ReadProperty (Object_Property, Index)

Purpose

To get (return) the property of a BACnet object.

Remarks

Replace Object_Property with the object name, including a full path


name, followed by a property name. The object Identifier and
Property Identifier are combined as one argument.
Replace Index with an array index. This is optional. It only applies to
an array-type BACnet property. The index is ignored whenever it is
not applicable.
The returned value is the object property value that has been read.

Example 1

Use ReadProperty to get the value of an Analog Value point.


Print ReadProperty(Net1\B4\AV1 Value)

Example 2

Use ReadProperty to get the description of an analog point and place


it into a string Point.
StringPoint = ReadProperty(Net1\B4\AV1 Description)

Example 3

Use ReadProperty to get the value of an analog point using index 3.


Numerical Value ReadProperty(BACnetDevices\B4\B3\AV1, 3)

Related
Keywords

WriteProperty, Relinquish

Products
Supported

BACnet series controllers and CyberStation.

Modes
Available

Command lines and programs.

7-286 Schneider Electric

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,
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 you want to take a particular action for every time a card reader on
an ACX series controller loses power, then you would use
ReaderPower in a program as follows:
Command Line
If LobbyController ReaderPower is True then Run LobbyEmergency

Andover Plain English Language Reference

7- 287

ReaderPower, continued

Products
Supported

ACX series and CX9702 controllers.

Modes
Available

Command lines and programs.

7-288 Schneider Electric

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 WriteProperty 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 Configurators Guide Version 1.6, 30-3001781) assumes the one defined in the Relinquish_Default property of
the object.
Object_Property is an optional argument specifying the
commandable property you want 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 Continuum systems, Present_Value is the only
commandable property for the following classes:
Analog Output
Binary Output

Multi-State Output
Multi-State Value

Analog Value
Binary Value

Replace Priority with the priority number, ranging from 1 (highest) to


16 (lowest). Applies only to a BACnet commandable property. If not
present, the property value that matches with priority 10, if
applicable, is used for controllers. For CyberStations, the priority
from the BACnet Preferences is used.

Andover Plain English Language Reference

7- 289

Relinquish, continued

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.

Related
Keyworks

WriteProperty
ReadProperty

Products
Supported

BACnet series controllers and CyberStation

Modes
Available

Command lines and programs.

7-290 Schneider Electric

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
on one line to 5000. Be careful of exceeding the limit when using
REPEAT..UNTIL

Example

If you want to print all the values in an array, you could do the following:
Program File
Numeric Count
Count = 1
Repeat
Print OutsideAir[Count]
Count = Count + 1
Until Count = OutsideAir Size

Related
Keyworks

Break
Continue

Products
Supported

ACX series, BACnet series, CX series, DCX 250, i2 series, LCX


series, SCX series, TCX series controllers, and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7- 291

RETURN

Format

Statement

Format 1: RETURN
Format 2: RETURN number
Format 3: RETURN variable

Purpose

Format 1: In a function file, returns 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, create a function by setting up a function file and putting the
calculation instructions in it. When you need the function in a
program, call the function by using the file name as if it were any
other keyword.
Later, the RETURN statement tells the function the value to return to
the calling program.
Make sure to return a number or other value when you want to use
the returned value in the calling program or command line.

Example 1

You can 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; it also returns a numeric 0 because you
supplied no arguments on the RETURN statement.

7-292 Schneider Electric

RETURN, continued

Example 1
continued

The statement that calls SHUTDOWN in the calling program looks


like this:
Program File
ShutDown( )

Example 2

To create a function called GetArea that calculates the crosssectional area of a circle, name the function file GetArea and enter
the following in the function file:
Function File
Arg[1] Radius
Return (3.14159 * (Radius^2))
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 GetArea function, giving it the radius, which it
requires to calculate the area.

Example 3

To create a function that returns the contents of the numeric variable


that calculates the circumference of a circle.
Program File
Arg[1] Diameter
Numeric Circumf
Circumf = 3.14159 * Diameter
Return (Circumf)

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7- 293

RIGHT

Function

Format

RIGHT (string, integer)

Purpose

Returns a string containing the rightmost characters of the string,


starting integer characters back from the end.

Remarks

Replace string with any text (word or words) or text expression.


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

Example

Program File
RGTVAL = Right("ABCDE", 3)
This statement returns "CDE".

Alias

LAST

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and Cyberstation.

Modes
Available

Command lines and programs.

7-294 Schneider Electric

ROTATE

Format

Statement

Format 1: ROTATE linename program_list


Format 2: ROTATE program_list TO line

Purpose

Executes the program or programs you specify in the program_list,


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

Remarks

Replace program_list with one or more program names with


commas between them.
Replace linename with any line label created with the LINE
statement. (See the LINE keyword.) Must be in the program you
name. The label must be spelled here just as it is defined, except you
may interchange upper- and lowercase. The line label may also be
an integer.
Note: You cannot rotate a program to line 0.
Line 0 is reserved to mean stop the program. LINE E is reserved for
handling errors.
A program can also rotate itself to another line. In this situation,
ROTATE becomes a synonym for GOTO. (See the GOTO keyword.)

Example 1

If you have a series of programs you want to start every Monday


morning, you can put the following into a MondayStartup program:
Program File
If Wkd = Monday then
Rotate 1 Blower, Pump, Heating
Rotate Lights to Beginning
Endif

Andover Plain English Language Reference

7- 295

ROTATE, continued

Example 2

After the Heating program has been activated, it takes in the


temperature and rotates back to the beginning of the testing loop. To
loop back, you can rotate the program from within itself:
Program File
Rotate Heating to 1

Example 3

To rotate the Heating program to an "English-like" line label, you


rotate the program from within itself:
Program File
Rotate Heating to Winter

Related
Keywords

LINE
RUN
STOP

Alias

ROT

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-296 Schneider Electric

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.
Position of
ROUND(1.7)

-4

-3

-2

Position of 1.7 on the number line

-1

Figure 8-20. Number line showing ROUND (-1.7)

The following table illustrates how the four functions differ:


Functions

4.2

4.5

-3.1

-3.7

ROUND
CEILING
FLOOR
TRUNCATE

4
5
4
4

5
5
4
4

-3
-3
-4
-3

-4
-3
-4
-3

Andover Plain English Language Reference

7- 297

ROUND, continued

Example 1

Program File
TMPVAR = Round (-42.7)
This statement returns -43.

Example 2

Program File
RNDVAL = Round (4.3)
This statement returns 4.

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and Cyberstation.

Modes
Available

Command lines and programs.

7-298 Schneider Electric

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 controls the
control system software in a command line or a program.
NOTE: Programs must be set to run on ANY workstation for files to
run properly in CyberStation.
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. Only use this
statement 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.
Andover Plain English Language Reference

7- 299

RUN, continued

Purpose
continued

Format 8: When running a program, function, or report, prints the


results of all PRINT statements into an ASCII file and adds (appends)
them onto the end if the file already contains text.

Remarks

Replace file_list with any program, function, report, or list of them


(separated by commas).
Replace point_list with any defined output point or list of output
points. May also be input or numeric points.
Replace local_variable_list with any local variable or variables
defined with NUMERIC, STRING, or DATETIME for use strictly inside
the program. (See the appropriate keyword for more information.)
Replace printer with a defined printer. 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). Use Format 7 to save the results of all PRINT
statements in a file.

7-300 Schneider Electric

RUN, continued

Example 1

You can use RUN in an IF...THEN statement to start a program:


Program File
If Tod > 800 then Run then 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 then LeadFan

Example 4

From a Cyberstation, you can use Run to print a report on a shared


network printer named "LabPrinter" located on a server named
"EngServer":
Program File
Run DailyReport to "\\EngServer\LabPrinter"

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

Andover Plain English Language Reference

7- 301

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 humidity report results to the end of a file named
Humid.Rpt without writing over the information already in the file
(such as from the previous version of the report) by adding WITH
APPEND to the RUN statement:
Program File
Run HumidReport to "Humid.RPT" with Append

Related
Keywords

LINE
ROTATE
STOP

Alias

START and OPEN (for Formats 1 through 4 only)

Products
Supported

B4920, CMX series, CX series, I2 series controllers, and


Cyberstation.

Modes
Available

Command lines and programs.

7-302 Schneider Electric

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 the
controller to which you are connected. 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.

Andover Plain English Language Reference 7-303

SAVE (controller), continued

Purpose
continued

Format 6: Saves all items from all CX controllers and Infinet


controllers on the entire EnergyNet and all Infinets. Saves them with
a dictionary. This format combines Format 4 and Format 5.
Format 7: Saves only a dictionary of the items you indicate, listing
their names and types.
Format 8: Saves the items you indicate and, while saving, sends
messages to the Messages window of the CX controller.

Remarks

This keyword is restricted to users with administration level access.


Replace list with one or more names of files, points, or other items on
the controller to be saved.
Replace typelist with one or more names of the type of file, point, or
other item on the controller you wish to save. The type of an item 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. For a Cyberstation, see
the Save (Statement on workstation).
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-304

Schneider Electric

SAVE (controller), continued

Example 1
continued

If you are saving from a CX controller terminal, within 60 seconds


type a command to receive the file from the communications package
on the computer. The command is determined by the
communications package used. The following is a capture command
from CrossTalk that saves the file to a disk in drive B:
Host Computer Running CrossTalk
capture B: points

Example 2

You can save particular items on the controller by specifying their


names in a list. In this example the items are points.
Command Line
Save VAV1.Fan, Room1.Temp, Room2.Temp

Example 3

You can save all items of a certain type on the connected controller,
such as all program files, by entering the type or a list of types:
Command Line
Save Program
This command line saves all files that are programs.
Command Line
Save Input
This command line saves all points that are inputs.
Command Line
Save Input, Output
This command line saves all points that are inputs and outputs.

Example 4

You can save all items from every controller on the entire EnergyNet
network, and store their types in a dictionary, by entering:
Command Line
Save EnergyNet
This command line saves all items with their types.

Andover Plain English Language Reference 7-305

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

Schneider Electric

SAVE (controller), continued

Example 7
continued

ImportExport : Floor1
Floor1 OutsideAirTemp To 2, 4-6, Floor1
Floor1 Room1 NextUnOccTime To 4, 6, 8-9, Floor1, Infinet1
EndImportExport
EndDictionary
Refer to Appendix C for more examples of dump files.

Example 8

While you are saving all items on the connected controller, you can
send messages about any errors that occur to a message window
while saving:
Command Line
Save ALL -m
The following example saves all numeric items on the connected
controller, and sends messages about errors that occur to a message
window:
Command Line
Save Numeric -m

Example 9

You can both save a dictionary and send messages to a message


window:
Command Line
Save Input, Output -d -m
Be sure not to use a comma between the -d and -m options.

Example 10

You can save a list that contains both particular items and item types:
Command Line
Save Chiller, Fan, Input, Output, Numeric

Andover Plain English Language Reference 7-307

SAVE (controller), continued

Example 11

You can save all of EnergyNet and send error messages to a


message window:
Command Line
Save EnergyNet -m

Related
Keywords

LOAD

Alias

DUMP

Products
Supported

B4920, CMX series, and CX series controllers.

Modes
Available

Command lines

7-308

Schneider Electric

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: Overwrites any already-existing objects when saving
objects to the database or the dump file.
Format 6: Checks to be sure any points that are being taken in from
another controller or sent out to another controller are valid when
saving objects to the database or to the dump file.

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 (see Example 1).
Replace site with the name of the site where the controller is located
(see Example 1).

Andover Plain English Language Reference 7-309

SAVE (workstation), continued

Remarks
continued

Replace file_string with a path to and name of the ASCII dump file
used to create and store the data. 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 when you load a controller later, the unit
knows about all objects. For instance if a program refers to a point on
another controller, the programs 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-310

Schneider Electric

SAVE (workstation), continued

Example 3

Include the b option to create a dump file of the Floor1 controller and
all its Infinet controllers as shown in the following command:
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

Since you want to overwrite any old data with the new data, you
would include the -o option to update an existing dump file for the
BoilerPanel 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, 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"

Andover Plain English Language Reference 7-311

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 can do so by using 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
It is recommended to save the controller to the database before
creating the dump file.

Related
Keywords

LOAD

Alias

DUMP

Products
Supported

CyberStation.

Modes
Available

Command lines

7-312

Schneider Electric

SCAN

System variable

Format

SCAN

Purpose

Updates regularly and 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.Sca.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.SCS/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 length of the scan (in seconds)
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 obtain the average length of the
scans that day. It then prints the average for the day.

Andover Plain English Language Reference 7-313

SCAN, continued

Example
continued

The numeric variables used to calculate the average number of scans


per day are all set to zero at the end of each day, so that they start at
zero the next day.

Alias

SC

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-314

Schneider Electric

SEARCH

Function

Format

SEARCH (string, search_string)

Purpose

Returns the position of the given search_string within string, or 0 if


the controller cant 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, which is the position of the
search string BC in ABCDE.

Example 2

Program File
NSTR = Search ("ABCDE", "CB")
The search returns 0 and sets NSTR to 0 because CB is not in the
string.

Products
Supported

BACnet series, CMX series, CX series, i2 series controllers (except


i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-315

SECOND

System variable

Format

SECOND

Purpose

Gives the exact number of seconds of the current minute, from 0


to 59.

Remarks

The number of seconds is as indicated by the controller clock. If the


time is 10:02:12, then SECOND equals 12.

Example

If you want to take action every time 50 seconds of the minute have
gone by, you enter the following program statement:
Program File
If Second is greater than 50 then

Related
Keywords

HOD
HOUR
MINUTE
TOD

Alias

SEC

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-316

Schneider Electric

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

Executes 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, in order to
catch any unexpected Test_Expression value.
Once the statement(s) in Statement_List or Else_Statement_List
have been executed, the statement directly after the EndSelect is the
one to execute next.
Expressions may be numeric, string or datetime
Andover Plain English Language Reference 7-317

SELECT (CASE), continued

Example 1

Select Case Weekday


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

Example 2

Numeric ReportId

Statement

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

7-318

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

Schneider Electric

SELECT (CASE), continued

Statement

Related
Keywords

IF..THEN..ELSE, BREAK, CONTINUE

Products
Supported

CyberStation

Modes
Available

Programs

Andover Plain English Language Reference 7-319

SendEmail

Function

Format

SendEmail (to_string, subject_string, message_string, cc_string,


bcc_string, signature_string)

Purpose

Allows the user to write an email and send it out directly from within a
controller to one or more recipients.

Remarks

Each argument for the SendEmail function must be of type string or a


string expression. All the arguments are optional. However, the
to_string, cc_string and bcc_string arguments cannot all be empty.
This means that there must be at least one recipient. Also, if there are
multiple recipients in any of these strings, then email addresses
should be separated with commas or semicolons.
Replace the arguments with the following string of characters:
Argument

Definition

To
Subject

A string containing the email address of the recipient(s).


A string containing the subject of the email.
A string containing the body of the email. An array name is
accepted as an argument. Each array entry represents a line in
a multi-line message.
A string containing the copy to the email address(es).
A string containing the blind copy to the email address(es).
A string containing the signature.

Message
Cc
Bcc
Signature

The message can be a string array, or a string expression, including a


string object or local variable value. If a string array is used, each
array entry represents a message line. The first message line is
expected at array index 1. The last message line is either the first
array element with an empty string, or the last element of the array
(based on the size of the array).
The function call must be on a labeled line by itself. After calling the
SendEmail function, the program automatically moves to the next
labeled line. The line immediately following the SendEmail line must
test for the returned value; otherwise, the control system software
considers that a SendEmail error.

7-320

Schneider Electric

SendEmail, continued

SendEmail returns 0 if the operation was successful, otherwise, it


returns a non-zero value indicating errors. The error codes are as
follows:

Remarks
continued

Error Code
0
1
2
3
4
11
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Definition
No error
Not called from a program
Illegal argument value
Illegal argument count
Not enough memory to complete the operation
Failed to create SMTP user session to the email server
Email queue is temporarily full. The user should retry later
Cannot connect to the email server
Error in sending the sender information
Error in sending the TO recipient information
Error in sending the CC recipient information
Error in sending the BCC recipient information
Error in sending the subject
Error in sending the message
Error in sending the end-of-message
Error in disconnecting from the SMTP server
Failed to resolve SMTP server address
Invalid dialup settings
Failed to connect remote SMTP server
Modem port is in use
Email settings are not configured

Before executing any PE program that sends emails, the user needs
to configure the controllers email settings using the built-in web
pages.

CAUTION
If the size of the email message is greater than 2k when it is sent
from the controller, it degrades the performance of the scanner. Be
careful to limit the size of your message to ensure the most
effective scanner performance.

Andover Plain English Language Reference 7-321

SendEmail, continued

Example 1

Progam File
Fall-thru program that sends a simple email message to a recipient
Numeric EmailStatus
Sending:
EmailStatus = SendEmail (addr1@abc.com, Lights, We need to~
save energy)
Checking:
If EmailStatus is 0 then EmailErrorString = "Success"

Example 2

Progam File
' Fall-thru program that sends a multi-line email message to various
recipients
Numeric EmailStatus
String 80 TOaddr
String 32 Subject
String 80 MessageLines[3]
String 32 CCaddr, BCCaddr
String 80 EmailErrorString
TOaddr = "addr1@abc.com, addr2@abc.com, addr3@abc.com"
CCaddr = "BuildingManager@abc.com"
BCCaddr = "AdminServer@abc.com"
Subject = Building Automation
MessageLines[1] = "This is the first line of the email message"
MessageLines[2] = "This is the second line of the email message"
MessageLines[3] = "This is the last line of the message"
Line Sending
EmailStatus = SendEmail (TOaddr, Subject, MessageLines, ~
CCaddr, BCCaddr)
Line Checking
If EmailStatus is 0 then
EmailErrorString = "Success"
Else
If EmailStatus = 14 then
EmailErrorString = "Cannot connect to the email server"
Endif
Endif

7-322

Schneider Electric

SendEmail, continued

Products
Supported

bCX-40x0, bCX9640, NetController II (9680, 9681), ACX 57xx series

Modes
Available

Programs

Andover Plain English Language Reference 7-323

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 AreaValue 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-324

Schneider Electric

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 as follows:
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.) The example disables some input points, then
sets them to test values:
Command Line
Disable OAT, HWT, CHWT
Set OAT = 40
Set HWT = 120
Set CHWT = 50

Andover Plain English Language Reference 7-325

SET, continued

Related
Keywords

MOVE

Alias

ADJUST and CHANGE (Format 1 only)


LET (Format 2 only)
MODIFY

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-326

Schneider Electric

SETDISPLAY

Format

Function

Format 1: SETDISPLAY (display_constant)


Format 2: SETDISPLAY (display_constant_list)

Purpose

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

Remarks

Set the display before you begin drawing. The display remains as
you set it until you set it 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) separated by commas.
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.

Andover Plain English Language Reference 7-327

SETDISPLAY, continued

Remarks
continued

Before you begin drawing a polygon, you must set the display to FILL
to ensure you do not draw a polyline instead.
You can draw rectangles (see DRAWRECTANGLE) and lines (see
DRAWLINE) in white or blue color by setting the display_constant to
WHITE or BLUE.

Example

For examples of SETDISPLAY refer to "RELATED KEYWORDS".

Related
Keywords

BEGINPOLYLINE
DRAWRECTANGLE
DRAWLINE

Products
Supported

DCX 250 Display Unit.

Modes
Available

Programs

7-328

Schneider Electric

Shell

Statement

Format

Shell string_list

Purpose

Runs one or more programs named by the string or strings. Or opens


one or more files, each named as a string, by running their
corresponding application(s).

Remarks

The string_list can be any single string expression or list of string


expressions, comma separated, containing application, or file names.
It can also be one or more string expressions that give a program
name.
The CyberStation software must be running for the program to run.
The string or strings must contain programs with the .exe suffix;
however, for applications you may omit the .exe suffix (if it is part of
the application name).
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) on which the
program is stored.

Example 1

Command Line
Shell "c:\prg\dbmaint.exe"
This command runs an application called dbmaint.exe and located
under the \prg directory on the C disk. If the path to this application is
included in your workstation search path, you do not need to give the
disk or full path; instead, you give only the application name:
Shell "dbmaint.exe"

Andover Plain English Language Reference 7-329

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 an .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
a Continuum object, attribute, or local variable.

7-330

Schneider Electric

Shell, continued

Example 4
continued

To run any workstation application followed by arguments, 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, using
the notepad application, enter the following:
Command Line
Shell "Notepad c:\dbase.txt"

Example 5

You can open a file without specifying the application name.


Shell C:\Document1.doc
Shell C:\Report1.txt
Shell C:\WebPage1.htm
You do not need to know the actual application name in order to open
the given file. The workstation software uses the application that is
associated the type of file you want to open.
For example, for an HTML web page, your default web browser
application is automatically invoked.

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-331

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 Continuum Plain English
statements.
Sites and controllers open to the window in which you defined them.
(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, Room1 VAV, Room2 VAV
The workstation software opens the windows for the air handler
(controller) and two VAV boxes (Infinet controllers).

7-332

Schneider Electric

Show, continued

Example 3

Command Line
Show DailyReport, ChillerDisplay
The DailyReport opens and displays in Run mode. The panel called
ChillerDisplay opens and displays in Run mode.
You can switch to Edit mode once each is open.

Example 4

Command Line
Show InputsOwenEdited, Bldg4PointsInAlm
This SHOW command opens the Activity Log showing the
InputsOwenEdited log view range and the Alarm Log showing the
Bldg4PointInAlm log view range.
You can open more than one LogView at a time, as long as they are
not both for the same log; for instance, you cannot open two different
LogViews of the Activity Log.

Products
Supported

CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-333

SHOWREPORT

Format

Statement

Format 1: SHOWREPORT object


Format 2: SHOWREPORT string

Purpose

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


as an HTML file on an HTML browser.

Remarks

Replace object with the name of a program or a listview. Programs


must include the file path. Listviews must contain an associated HTML
template file and an HTML browser must be installed on the
CyberStation.
Replace string with a text string containing the full file path of the
HTML file. This also requires that an HTML browser be installed on
the CyberStation.
When SHOWREPORT runs an HTML report, the results are displayed
in a file that has the same name as the HTML report, but with
result_number appended to it. For example, with the first usage of
SHOWREPORT myreport
The file name myreportresult_1.htm will appear in the HTML browser.
The second time myreport.htm is used the file will change to
myreportresult_2.htm and so on. To restart the result file numbering,
move or delete the old files from the directory that holds your HTML
report.
There is a preference in the Workstation editor, called "Increment
Report File". If the preference is set to True, the file naming increment,
as described above, takes place. If it is set to False (default), the file
name remains unchanged, with just result.htm appended to the report
name (i.e. no _#).

Example 1

Command line
ShowReport MyReport
This command displays the results of a program named MyReport in
Microsoft Notepad.
Make sure that the program is set to "Run on any Workstation" (in the
configuration window in the program editor)

7-334

Schneider Electric

SHOWREPORT, continued

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.

Example 3

Command line
ShowReport Floor1\NetCtlr1\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.
For example, suppose that ListView1 is a listview of output points. Fill the
Report Template field in the Listview editor with the name of your Listview
HTML template. Select a template you have previously created using your
favorite HTML editor that shows a table of point values and descriptions
(e.g. ReportTemplate.htm).
The template source text might look like the following:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0017)http://engpublic/ -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
</HEAD>
<BODY bgcolor=honeydew><STRONG
style="BACKGROUND-COLOR: honeydew">
<P align=left>&nbsp;</P>
<P align=center><FONT size=5><STRONG> Point Values</STRONG></FONT></P>
<HR>
P align=center><STRONG>{|date|}</P>
<CENTER style="BACKGROUND-COLOR: honeydew">&nbsp;</CENTER> </STRONG>
<DIV align=center>
<CENTER><FONT
style="BACKGROUND-COLOR: gainsboro"></FONT>&nbsp;</CENTER></DIV>
<HR>
<TABLE id=TABLE1 style="LEFT: 14px; WIDTH: 488px; TOP:
241px; HEIGHT: 178px"
borderColor=black cellPadding=4 bgColor=#ffffff background=Gray_Textured11.gif border=5
cellSpacing=0 borderColorDark=gray align=center borderColorLight=white>

Andover Plain English Language Reference 7-335

SHOWREPORT, continued

Example 3
continued

<TR>
<TD align=middle bgColor=#c0c0c0><FONT color=#000080
size=4><STRONG>Name</STRONG></FONT></TD>
<TD align=middle bgColor=#c0c0c0><FONT color=#000080
size=4><STRONG>Value</STRONG></FONT></TD>
<TD align=middle bgColor=#c0c0c0><FONT color=#000080
size=4><STRONG>Description</STRONG></FONT></TD>
<TR>
<TD>{|list|} </TD></TR>
<TR>
<TD><FONT size=2><STRONG>{|Name|}</STRONG></FONT></TD>
<TD align=right><FONT size=2><STRONG>{|Value|}</STRONG></FONT></TD>
<TD align=right><FONT size=2><STRONG>{|Description|}</STRONG></FONT></TD>
<TR>
<TD>{|endlist|} </TD></TR></TABLE>
<P align=center></STRONG>
<A title=Schneider-Electric href ="http://www.Schneider-Electric.com" target=BBC name="View
Schneider-Electric" >Schneider-Electric Website</A>
</P
<P>&nbsp;</P>
<P>&nbsp;</P>
</BODY>
</HTML>

The template based on the source HTML above appears as follows:

The template shows a title ("Output Points"), followed by the current date.
Below that is the list of points, including names, values and descriptions, and
finally a reference to a website. Note the delimiters {| and |} around the
Continuum tags such as list, endlist, object name (e.g. Date), and attribute
names (e.g. Name, Value and Description)
7-336

Schneider Electric

SHOWREPORT, continued

Example 3
continued

The ShowReport command creates an HTML report file, named


ReportTemplateResult.htm, based on the original attached report
template name (in this case ReportTemplate.htm). It inserts the listview
output into the newly created report file. The resulting report file appears
as follows:

Related
Keywords

SHOW
SHELL

Products
Supported

CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-337

SIN

Function

Format

SIN (number)

Purpose

Returns the sine of the angle you specify.

Remarks

The number is any number or expression. The number represents


an angle in radians.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Example

Program File
Result = sin (1)

Alias

SINE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers (except
i2885,i2887,i3885,i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-338

Schneider Electric

SQRT

Function

Format

SQRT (number)

Purpose

Returns the square root of number.

Remarks

The number is any number or expression.

Example

Program File
MVAL = sqrt (4)
The SQRT function returns 2 and the statement sets MVAL to 2.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-339

StandardDeviation

Format

Function

Format 1: StandardDeviation (numeric_list)


Format 2: StandardDeviation (numeric_array)
Format 3: StandardDeviation (numeric_log)

Purpose

Finds the standard deviation of a series of numbers. The standard


deviation is the result of the following steps:

Find the average of the list.


Find the differences between the average and each number. If
the average is 110 and one of the numbers is 112, that difference
is 2.
Square the differences, so 2 becomes 4.
Add up the squares and find the average of them.
Take the square root of the average and find their bias-corrected
average (using number of elements - 1).

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 contain
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-340

Schneider Electric

StandardDeviation, continued

Example 1

To find the standard deviation of several temperatures, place them


directly in the StandardDeviation statement. List them in parentheses
as follows:
Program File
TempDev = StandardDeviation (70, 72, 74)
The standard deviation returned is 2.

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.

Andover Plain English Language Reference 7-341

StandardDeviation, continued

Alias

SD

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885,i2887,i3885,i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-342 Schneider Electric

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 off the status light if
you set it to OFF. Label the numbered status light on the controller
with the corresponding event, program, or similar item the light
indicates.

Remarks

Replace number with number or expression that gives the number of


the status light on the front door of the CX 9201 controller. The
number or expression can be 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
secondsit must be ON or OFF. The light remains ON or OFF until
you change it in a program or from the command line.

Example

Suppose you labeled the fourth status light on the CX 9201 controller
Chiller Alarm Active, so you could set it when the alarm occurs. After
the alarm occurs, to set the light, enter this statement in your
program:
Program File
IF ChillerAlarm4 is On then Set STATUS4 to On

Products
Supported

CX series

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-343

STOP

Format

Statement

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 its defined scale. 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 its defined scale. 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 > 8:00pm then Stop the Heat.Prog
If you do not name a program after STOP, the controller assumes you
mean the current program.

7-344 Schneider Electric

STOP, continued

Example 2

You can use STOP on the command line to stop one or more pieces
of equipment:
Command Line
Stop the Heater and the Fan

Related
Keywords

ROTATE
RUN

Alias

CLOSE
SHUT

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-345

STRING

Statement

Format

STRING string_length namelist [array_size_number]

Purpose

Creates and defines one or more names as local string variables.


You can 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. 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 is 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, enter this program
line:
Program File
String FileName

7-346 Schneider Electric

STRING, continued

Example 2

To have a program read information from a file containing text, create


a series of string variables, like those below, to contain each piece of
text information. You can create them all in the same program line:
Program File
String 20 LName, LogOn, PWord, Room, Terminal
The length of each string is 20. To give them different lengths, you
must define (declare) each one separately.

Example 3

To create a string array of variables, you must first define the array.
The string called Pump below is an eight-character string with 20
variables in the array (Pump [1], Pump [2], Pump [3], and so on).
Program File
String 8 Pump[20]
Pump[6] = "HeatPump"

Example 4

You can create several arrays of string variables and single string
variables all in one program line:
Program File
String Pump[6], Blower[8], HeaterNM, FanName

Related
Keywords

DATETIME
NUMERIC
STRINGFILL

Products
Supported

ACX series, BACnet series (except b3885, b3887), CX series, DCX


250, i2 series (except i2885, i2887) controllers, and CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference 7-347

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-348 Schneider Electric

STRINGFILL, continued

Example 3
continued

Program File
Numeric DayX
Print "Peak KW Demand for Week"
Print " "
For DayX = 1 TO 7
Print ST( DayX);" + "; stringfill(KWD[DayX]/100, 42)
Next DayX
Print " +----+----+----+----+----+"
Print " 0 500 1000 1500 2000 2500 "
After the program prints the title, it proceeds to a FOR..NEXT loop.
Inside the FOR..NEXT loop, the program first prints the short name of
the weekday, based on the number for the day (1 for SUN) using a
customized function called ST. Next, the program prints a plus sign
after the name.
STRINGFILL then uses two values to print the kilowatt demand for
that day:

Kilowatt demand for the day from the KWD array (KWD [1]
= Sunday's kilowatt demand, KWD [2] = Monday's kilowatt
demand, and KWD [3] = Tuesday's kilowatt demand, and
so on.)

ASCII code for the asterisk (42).

To see how STRINGFILL uses these two values, take a look at


Sunday in the graph the program produces, shown below.
Program File Output
Peak KW Demand for Week
SUN + * * * * * *
MON + * * * * * * * * * *
TUE + * * * * * * * *
WED + * * * * * * * * *
THU + * * * * * * *
FRI + * * * * * * * *

SAT + * * *

Andover Plain English Language Reference 7-349

STRINGFILL, continued

Example 3
continued

+----+----+----+----+----+
0

500

1000

1500 2000 2500

First, the program retrieves Sunday's kilowatt demand from the KWD
array. Sunday's kilowatt demand is 600 Kw. The program divides the
demand by 100, giving 6. So STRINGFILL prints six asterisks for
Sunday.
The program then retrieves Monday's kilowatt demand from the KWD
array. Monday's kilowatt demand is 1000 Kw. The program divides
the demand by 100, giving 10. So STRINGFILL prints 10 asterisks for
Monday.
The program continues to carry out the same process for each day of
the week. When it finishes printing Saturday's kilowatt demand, it
prints the scale for the graph, displaying 0 to 2500 Kw.

Related
Keywords

STRING

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-350 Schneider Electric

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. If you prefer, you
may position the time before the date on that line.
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]

Andover Plain English Language Reference 7-351

STRTODATE, continued

Remarks
continued

YEAR
You may enter the year as a two- or four-digit year after 1988.
WEEKDAY
Since the controller already knows the day of the week that
corresponds to each date, you don't need the day. You can,
however, place the day of the week after the date; it must be either
the three-letter abbreviation or the completely spelled-out name of the
day.
The weekday can be:
MON[DAY]
TUE[SDAY]
WED[NESDAY]
THU[RSDAY]
FRI[DAY]
SAT[URDAY]
SUN[DAY]
TIME
You enter the time as the one- or two-digit hour and one- or two-digit
minute separated by a colon. You can type another colon and follow
it with seconds if you would like.
You can enter the time in 24-hour time or use regular time with AM or
PM after it. The controller translates that time into the 24-hour clock.
For instance, you can enter 3:00 PM and the controller automatically
translates it to 15:00:00.
The following are the acceptable time formats:
hh:mm:ss [AM/PM]
hh:mm [AM/PM]
Where AM and PM (upper- or lowercase) are optional and:
hh is hours (00 - 23) and 00 - 11 is AM and hh > 11 is
PM if
AM/PM isn't specified
mm is minutes (00 - 59)
ss
is seconds (00 - 59)

7-352 Schneider Electric

STRTODATE, continued

Example

Program File
Conv.Date = StrToDate ("December-21-2005 11:00 pm")

Alias

STRTOTIME

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-353

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, use STRTONUM. The
following program adds the string (in quotation marks) that contains
78.5 to the number 92.8:
Program File
Numeric Trans
Trans = StrToNum("78.5") + 92.8
Print Trans
Output
171.3

Alias

VAL

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

7-354 Schneider Electric

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\zone.txt, ReadOnly, ZoneData) = Success then
Print "Open Successful"
Endif

Related
Keywords

FAILURE

Products
Supported

CMX series, CX series, DCX 250 controllers, and CyberStation

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-355

SUM

Format

Function

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 contain
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-356 Schneider Electric

SUM, continued

Example 2

You have been storing calculated values in an array called PartTime.


You then use the sum on that array, as follows:
Program File
Total Time = Sum (PartTime)

Example 3

You have been logging temperatures in a log for several hours. To


find the sum of them, you find the sum of that log, as follows:
Program File
HourlyTot = Sum (TempLog)

Example 4

You find the sum of several temperatures in a list, including the


current value of TempLog, as follows:
Program File
HourlyAvg = Sum (Tmp801, Tmp802, TempLog)
In this instance, TempLog is interpreted as the current value of
TempLog.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-357

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 four acceptable values for SystemStatus are as follows:

Example 1

NormalThe 700 series controller is working normally.

NoCommCommunication between the access server and the


700 series controller has failed.

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

ColdStart Indicates the Access Controller SystemStatus initial


value, before any door has been configured.

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-358 Schneider Electric

SystemStatus, continued

Example 2

If you want to take a particular action each time the Door1 700 series
controller has lost communication with the database, you can type the
following in a program:
Command Line
If Door1 SystemStatus = NoComm or Door1 SystemStatus =
NoDataBase then
Run InterimProcedure
Endif

Products
Supported

ACX and CX series controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-359

TAB

Function

Format

TAB(number)

Purpose

Returns a series of continuous blank spaces. The number of blank


spaces is number.

Remarks

The number is any number or expression. The number represents


the number of spaces you want to push the printed text to the right,
as on a typewriter. Must be less than 132.

Example

Program File
Print tab(10); "This is a Title"
Output
This is a Title

Notice that the text is moved ten spaces to the right

Related
Keywords

PRINT

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Programs

7-360 Schneider Electric

TAN

Function

Format

TAN (number)

Purpose

Returns the tangent of number.

Remarks

The number is any number or expression. The number represents


an angle measured in radians.
Radians = degrees TIMES (3.14159/180).
Degrees = radians TIMES (180/3.14159).

Example

Program File
Position = tan (3.14159/4)

Alias

TANGENT

Products
Supported

BACnet series, CMX series, CX series, DCX 250, i2 series controllers


(except i2885, i2887, i3885, i3887), and CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7-361

TD

Program Attribute

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

In order to have a lead pump run for 3 days and then turn on the lag
pump, you would check to see if the pump has been running for 3
days after you activate it:
Program File
Line FirstPump
Turn On LeadPump
If Td = 3 then Goto SwitchPump
Line SwitchPump
If LeadPump = Pump1 then
Set LeadPump = Pump2
Else
Set LeadPump = Pump1
Endif
The controller measures 3 days starting the instant that the program
is on the line making the request for elapsed time.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-362 Schneider Electric

TH

Program Attribute

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 and then run the lag fan, check to
see if the fan has been running for 1 hour after you activate it:
Program File
Line FirstFan
Turn On LeadFan
If Th = 1 then Goto SwitchFan
Line SwitchFan
If LeadFan = Fan1 then
Set LeadFan = Fan2
Else
Set LeadFan = Fan1
Endif
The controller measures 1 hour starting the instant that the program is
on the line making the request for elapsed time.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference 7- 363

THE

Keyword (article)

Format

THE name

Purpose

Performs no function, but enhances readability.

Remarks

The name is any point, piece of equipment, terminal, computer, or


printer.
THE can precede a name only. It cannot precede a keyword that
designates an action (verb).

Example

Program File
Turn On the Fan

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-364

Schneider Electric

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-05 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, 2005, TodayMonth is
set to June.

Andover Plain English Language Reference 7- 365

TIMEPIECE, continued

Related
Keywords

DATE
DATETIME
HOUR
MINUTE
SECOND
HOD
TOD
MONTH
YEAR
DAYOFMONTH
DAYOFYEAR

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-366

Schneider Electric

TIMES

Operator

Format

number TIMES number

Purpose

Multiplies two numbers.

Remarks

The number is any number or expression.

Example 1

Program File
EnergyCost = Building1 KW times 1.78

Example 2

Program File
EnergyCost = Building1 KW * 1.78

Alias

MULTIPLIED BY
MULT
*

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7- 367

TM

Program Attribute

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,


check to see if the fan has been running for 5 minutes after you
activate it:
Program File
Line WarmUp
Turn On Fan
If Tm = 5 then Goto Running
Line Running
Turn On Pump
The controller measures 5 minutes starting the instant that the
program is on the line making the request for elapsed time.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

7-368

Schneider Electric

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., 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 decimal representation of the time of day:
Program File
Print Tod
The time appears as follows:
20.000
(that means 8:00:00 pm)

Related
Keywords

HOD
HOUR
MINUTE

Andover Plain English Language Reference 7- 369

TOD, continued

Alias

TIMEOFDAY

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-370

Schneider Electric

TOUCHEDCELL

System variable

Format

TOUCHEDCELL

Purpose

Gives the number from 1 to 64 of the first block (cell) that an operator
touched on the DCX 250 Display Unit screen during the last scan. If
the operator touches more than one cell, the lowest (top leftmost) cell
number is the value.

Remarks

The cells on the 250 screen are as shown on Figure 8-22.


1

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

Figure 8-22. The DCX 250 Display Unit screen touch cells

The operator must press the cell for at least 100 ms. If the operator
presses the cell continuously, the TOUCHEDCELL value updates
every second.
You can reset TOUCHEDCELL to zero with CLEARSCREEN.

Andover Plain English Language Reference 7- 371

TOUCHEDCELL, continued

Example 1

You determine whether or not an operator has pressed a particular


button on the screen, by comparing the value of TOUCHEDCELL (the
last touched cell) to the cell that button appears on.
For instance, on the graphic shown in Figure 8-23, the first button is
on CELL 19, the second on CELL 35, and the third on CELL 51.
ROOM FAN STATUSES

Room1 Fan
Status

Room2 Fan
Status

Room3 Fan
Status

Figure 8-23. Touch Cell grid behind buttons

You write the program as follows:


Program File
If TOUCHEDCELL = 19 then Goto Room1Fan.DCX
If TOUCHEDCELL = 35 then Goto Room2Fan.DCX
If TOUCHEDCELL = 51 Then Goto Room3Fan.DCX
When you draw buttons, be sure each overlays a particular cell.

7-372

Schneider Electric

TOUCHEDCELL, continued

Example 2

You determine whether or not an operator has pressed any button by


determining that TOUCHEDCELL has any value other than zero.
Program File
If TOUCHEDCELL then Run GraphDisplay

Products
Supported

DCX 250 Display Unit.

Modes
Available

Programs

Andover Plain English Language Reference 7- 373

TRUNCATE

Function

Format

TRUNCATE (number)

Purpose

Drops the fractional part of number and returns the integer.

Remarks

The number is any number or expression. See the ROUND keyword


for a comparison of all rounding functions

Example 1

Program File
CHP = truncate (4.5)
TRUNCATE returns 4 and the program statement sets CHP to 4.

Example 2

Program File
VAL.C = truncate (-1.7)
TRUNCATE returns -1 and the program statement sets VAL.C to -1.

Alias

TRUNC

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

7-374

Schneider Electric

TS

Program Attribute

Format

TS

Purpose

Contains the number of seconds (Time in Seconds) that have


elapsed since the program has been on the current line. The total is
stored as an IEEE floating point number.

Remarks

TS stands for Time in Seconds.

Example

To allow for a 90-second valve stroke time, see if 90 seconds have


elapsed since you opened the valve:
Program File
Line WaitForValve
Turn On Valve
If Ts >= 90 then Goto StartHWPump
Line StartHWPump
Turn On HWPump
The controller measures 90 seconds starting the instant that the
program is on the line making the request for elapsed time.

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference 7- 375

TURN

Statement

Format 1: TURN ON point_list


TURN OFF point_list

Format

Format 2: TURN point_list ON


TURN point_list OFF

Purpose

Sets the name or names to the top of the defined range for the point if
ON and to bottom of the range if OFF.

Remarks

The point_list is one or more defined output or numeric points; the


statement is not designed for other types of points. All output points
used with TURN must have a range with its top and bottom defined.

Example 1

Suppose you want to turn on the fan and the pump. You can turn
both on in one program statement:
Program File
Turn On then 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-376

Schneider Electric

TURN, continued

Related
Keywords

SET

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7- 377

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. You can also 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, type
the following program statement into the CX controller:
Command Line
If DoorController UniquePIN is True then

Products
Supported

ACX series controllers, CX series controllers (except 9500), and CMX


series controllers.

Modes
Available

Command lines and programs.

7-378

Schneider Electric

UPDATE

Function

Format

Update (user, phone_number, comport, timeout)

Purpose

From a controller, dials the phone number to contact a workstation


and pushes alarms and events to the workstation. A phone number
must be provided in order for this function to perform.
If the phone number is an empty string, Update assumes that a PE
program has already opened the port and established a connection.
After update, the controller sends Alarm Event Update packet to the
workstation, which then polls for alarms and events. You indicate the
port where the Infinity modem is connected on the controller.

UpDate applies only on an Infinity controller with a modem. UpDate


always pushes alarms and events to the workstation.

Remarks

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 controllers 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 send it READ or PRINT statements. READ
and PRINT both return FAILURE and they drop any
characters you are attempting to send down the port.

Andover Plain English Language Reference 7- 379

UPDATE, continued

Remarks
continued

If the first character in the phone number string is not an A or a, the


update command will issue the standard ATDT Command to the
modem and then the phone number to be dialed.
The phone number string can also contain valid AT Commands such
as
ATD,T,, 978-470-0555.
If the first character in the phone number is an A or a, the UpDate
keyword assumes that the phone number string contains valid AT
commands prior to the phone number to command the modem to
dial.
This feature is useful for 3rd party modems or Cellular Modems that
require something other than ATDT to command dialing.
UpDate automatically checks to see if the workstation acknowledges
the update request. If it does:

UpDate starts a PPP session.


PPP Alarm & Event Msg is sent to the workstation.

If no response is received, the controller drops the connection after


timeout. Otherwise, the controller waits until the workstation finishes
polling for Alarms and Events and then terminates the connection.
Replace timeout with the number of minutes that the system waits
before it starts the PPP session. If you do not give a timeout, it is
automatically set to 0. The maximum value you can set the timeout to
be 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-380

Schneider Electric

UPDATE, continued

Remarks
continued

Returned
Success

When
Controller has established connection with the
workstation
One of the following situations exists:

Comm port is not in the correct mode.

Default port is not defined.

Phone number contains an incorrect expression or


is otherwise incorrect.

Controller does not receive an ACK from the


workstation.

Workstation does not establish a PPP connection


with the controller within 30 seconds plus the
timeout you supply.

Failure

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

Example

Modem is waiting for a dial tone before dialing and has


not received one.

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" its updates after a given time interval.

Andover Plain English Language Reference 7- 381

UPDATE, continued

Example
continued

'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-382

Schneider Electric

UPDATE, continued

Example
continued

For example, if the controller calls the workstation and the workstation
is off line (busy), then the controller waits 4 minutes until the line is
dropped. If the workstation comes on-line within the 4 minutes, then
the UpDate will take effect.

Related
Keywords

InitModem

Products
Supported

Available only on CX series controllers.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference 7- 383

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's Guide for further
information.
Note: You must use this statement on a 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.
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 defined datetime variable
and retrieves the correct value for it from the database.

7-384

Schneider Electric

UpdateExtLog, continued

Remarks
continued

(You can, however, set the value of the datetime variable yourself, if
you prefer.)
You can run UpdateExtLog on only one extended log at a time per
workstation. If you attempt to update more than one extended log at a
time, the software considers it an error and displays that error in the
Error Log of the database.
The maximum number of entries allowed in an extended log is the
number of entries you would have if you logged the point value every
half-hour for one yearup 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 months (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

Andover Plain English Language Reference

7-385

UpdateExtLog, continued

Example 1
continued

This statement tells the software to update the TEMP1. First, the
statement retrieves the correct UpdateTimer value from the extended
log setup information. Then, when the current time is 60 seconds
greater than the UpdateTimer, the software retrieves values from the
regular log and stores them in the extended log on the workstation.
This way, old values are stored. The statement updates the log once,
and sets the UpdateTimer local DATETIME variable to the next time
the log should update.
The way it is written here, the program remains on the
WaitUntilLogTime until the next update time. If you would like, you
can 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 can 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-386

Schneider Electric

UpdateExtLog, continued

Example 2
continued

UpdateTimer value from the extended log setup information. Then,


when the current time is 60 seconds greater than the UpdateTimer,
the software retrieves values from the regular log and stores them in
the extended log on the workstation. This way, the software stores
the old log values. The statement updates each log once, and sets
the UpdateTimer local DATETIME variable to the next time the group
of extended logs should update.
In this case, the group is under the root; however, if the group is not
under the root, you must give the full path to the group.

Example 3

If you want to update all of the extended logs on the Floor4 controller,
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.

Andover Plain English Language Reference

7-387

UpdateExtLog, continued

Example 3
continued

First, the statement retrieves the correct UpdateTimer value from the
extended log setup information. Then, when the current time is 60
seconds greater than the UpdateTimer, the software retrieves values
from the regular log and stores them in the extended log on the
workstation. This way, the software stores the old log values. The
statement updates each log once, and sets the UpdateTimer local
DATETIME variable to the next time the extended logs on the
controller should update.

Example 4

If you want to update a single extended log from the Command line,
you can enter a simplified UpdateExtLog statement, with no datetime,
as follows:
Command Line
UpdateExtLog (Building3 Floor4 Temp1)

Example 5

If you want to update a group of extended logs from the Command


line, you can enter a simplified UpdateExtLog statement, with no
datetime, as follows:
Command Line
UpdateExtLog (Building3 TempsGroup)

Example 6

If you want to update all the extended logs on a single controller from
the Command line, you can enter a simplified UpdateExtLog
statement, with no datetime, as follows:
Command Line
UpdateExtLog (Building3 Floor4)

Example 7

To update only the input points on a controller, you can open a list of
input points using OpenList (see OpenList keyword) and then get
each point in the list. By testing the ExtLogSize attribute of each
point, you can determine whether or not the point is an extended log.
If it is an extended log, you can then update it as you did in the earlier
examples.

7-388

Schneider Electric

UpdateExtLog, continued

Example 7
continued

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:
Program File
Object AnExtLog
Numeric OK, Result
OpeningLogs:
OK = OpenList ("Input", AnExtLog, Building3 Floor4)
Testing:
If OK = Success then Goto GettingLog Else Goto ClosingLogs
GettingLog:
If GetObject (AnExtLog) is not Success then
Goto ClosingLogs
Else
If AnExtLog ExtLogSize > 0 then
Goto Updating
Else
Goto GettingLog
Endif
Endif
Updating:
Result = UpdateExtLog (Building3 Floor4)
Checking:
If Result = Success then
Goto GettingLog
Else
Print "Could not update extended logs"
Goto ClosingLogs
Endif
ClosingLogs:
OK = CloseList (AnExtLog)
Goto Ending
Ending:
If Ok = Failure then Print "Cannot Close List"
Stop

Andover Plain English Language Reference

7-389

UpdateExtLog, continued

Example 7
continued

This statement tells the software to update all of the extended logs
in the Floor4 controller at the Building3 site. Remember, you must
give the full path to the controller.
For further information on getting point with GetObject, see the
OBJECT, OpenList, GetObject, and CloseList keywords.

Related
Keywords

DeleteExtLog

Products
Supported

CyberStation

Modes
Available

Command lines and programs.

7-390

Schneider Electric

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 Schneider Electric Technical Support for assistance,


you may be asked the version of control system software you are
running. To determine the version, type the following on the
command line:
Command Line
Pr VERSION
The controller responds with the following message:
Version = 1.3

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-391

WEEKDAY

System variable

Format

WEEKDAY

Purpose

Gives current day of week, from SUNDAY through SATURDAY.

Remarks

When printed, the weekday is spelled out as Sunday, Monday,


Tuesday, Wednesday, and so on through Saturday. You may,
however, compare the WEEKDAY to:
The numbers 1 through 7 (1 equal to Sunday).
The abbreviated three-letter names (first three letters).
The entirely spelled out weekday.
All values of the weekday are as follows:

Example 1

Constant

Short Name

Long Name

SUN

SUNDAY

MON

MONDAY

TUE

TUESDAY

WED

WEDNESDAY

THU

THURSDAY

FRI

FRIDAY

SAT

SATURDAY

You can spell out names for printing or for comparing to an actual
day:
Program File
If Weekday is Saturday then Print Weekday
Output
Saturday

7-392

Schneider Electric

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 > Sun or Weekday < 7 then

Alias

WKD

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-393

WHILE

Statement

Format

WHILE number
statement
statement
...
ENDWHILE

Purpose

Carries out the instructions in the statements within the loop over and
over again as long as the given number is true.

Remarks

Replace statement with any complete instruction that tells the


program what to do next or what action to take.
Replace number with any number or expression, including a date
and time or name that stand for one. If the number is TRUE (non
zero) the while loop is executed. If it is FALSE (zero), the while loop is
not executed. If the number is a variable, it can be changed inside
the while loop to cause the loop to terminate.
One event within the loop must occur to satisfy the number.

Example

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.

Initialize a 10 element manual array


Program File
Numeric Counter
Set Counter to 1
While Counter <= 10
ManualArray[Counter] = Counter*10
Counter = Counter + 1
EndWhile

7-394

Schneider Electric

WHILE, continued

Related
Keywords

IS
BREAK
CONTINUE

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Programs

Andover Plain English Language Reference

7-395

WHITE

Constant

Format

WHITE

Purpose

Sets the graphics on the DCX 250 Display Unit screen to white when
you use it with SETDISPLAY.

Remarks

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

Example

You set the color of the graphics on the DCX 250 Display Unit, as
follows:
Program File
Set Display (WHITE)

Related
Keywords

BLUE
SETDISPLAY

Products
Supported

DCX 250 Display Unit

Modes
Available

Programs

7-396

Schneider Electric

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 any
expression that gives a string containing text that 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 that will 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.

Andover Plain English Language Reference

7-397

WriteFile, continued

Example 1
continued

In the example below, the WriteFile statement gives the FILE variable
name, the name of the string that contains the record (RecordLine),
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
RecordLine = GetRecord() 'custom function to build record
OK = WriteFile(ZoneData, RecordLine, 80, Chars)
If OK = Failure then Goto Failing Else Goto Closing
Line Closing
OK = CloseFile(ZoneData)
If OK = Failure then Goto Failing
Print "File operation succeeded"
Stop
Line Failing
Print "File operation failed"

Example 2

To read multiple records from one text file and write them to another,
use ReadFile, then WriteFile. Because you have two files, you would
create two FILE variable names. Call the file that the control system
software should retrieve data from, ZoneData, and call the one it
should put data into, SetPTFile.
Next, test for ReadFile = EOF because you want the control system
software to read records until it reaches the end of the file. The
control system software should read 16 characters or until a carriage
return indicates the end of the record. (You can also use PositionFile
to set the position to begin the action first for reading, then for
writing.)

7-398

Schneider Electric

WriteFile, continued

Example 2
continued

For each record (16 characters long), you 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

Andover Plain English Language Reference

7-399

WriteFile, continued

Example 2
continued

OK = WriteFile (SetPTFile, RecordLine, CharsRead, CharsWritten)


If OK = Failure then
Result = "Could not write file"
Goto Failing
Endif
Line Failing
Print Result
Goto Closing
Line Closing
If CloseFile (ZoneData) is Failure then Result = "Could not close file"
If CloseFile (SetPTFile) is Failure then Result = "Could not close file"
Print Result

Related
Keywords

FILE
CLOSEFILE
OPENFILE
READFILE
POSITIONFILE
FAILURE
SUCCESS

Products
Supported

CyberStation

Modes
Available

Programs

7-400

Schneider Electric

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 you want the property set 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
Configurators Guide Version 1.6, 30-3001-781). If not present, the
property value that matches with priority 10, if applicable, is used for
controllers. CyberStations use the priority from the BACnet
Preferences.
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)

Andover Plain English Language Reference

7-401

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.


Value is not passed; this is equivalent to a Relinquish
WriteProperty(BACnetDevices\B4\AV1, , 5)

Related
Keywords

ReadProperty
Relinquish

Products
Supported

BACnet series controllers and CyberStation.

Modes
Available

Command lines and programs.

7-402

Schneider Electric

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, use the YEAR system
variable to test the year:
Program File
If Year is 2000 then Print "Welcome to the Twenty First Century."

Related
Keywords

DAYOFMONTH
DAYOFYEAR
YEAR

Alias

YR

Products
Supported

ACX series, BACnet series, CMX series, CX series, DCX 250, i2


series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes
Available

Command lines and programs.

Andover Plain English Language Reference

7-403

7-404

Schneider Electric

Appendix A
ASCII Codes
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.

Examples

You might use the ASCII code for a character in the StringFill
function. You must give the StringFill function the string length to fill,
and the code of the character with which you want to fill the string.
For example, to print a string of 10 characters where each character
is an asterisk:
42 is the ASCII code for the asterisk (*)
PRINT StringFill(10, 42)
To fill a string named Pressure with 20 pound sign characters:
35 is the ASCII code for the pound sign(#)
Pressure = StringFill(20, 35)
You can make a terminal beep, as follows:
Print "|7"

ASCII Codes

Examples
continued

More printer control statements may be possible for your printer. See
the manufacturer's documentation.
Interchange (ASCII). You use these codes in a PRINT statement to
control your printer or screen.

ASCII Code
Table

A-2

The ASCII Codes are listed in the following table:

Code (in Decimal)

Character or Action

NUL

SOH

STX

ETX

EOT

ENQ

ACK

Beep.

Backspace.

TAB Forward.

10

Line Feed.

11

Vertical TAB.

12

Form Feed.

13

Carriage Return.

14

SO

15

SI

16

DLE

17

DC1

Schneider Electric

ASCII Codes

ASCII Code
Table
continued

Code (in Decimal)

Character or Action

18

DC2

19

DC3

20

DC4

21

NAK

22

SYN

23

ETB

24

CAN

25

EM

26

SUB

27

ESC

28

FS

29

GS

30

RS

31

US

32

Space.

33

34

"

35

36

37

38

&

39

(apostrophe)

40

41

42

43

44

, (comma)

Andover Plain English Language Reference

A-3

ASCII Codes

ASCII Code
Table
continued

A-4

Code (in Decimal)

Character or Action

45

46

. (period)

47

48

49

50

51

52

53

54

55

56

57

58

59

60

<

61

62

>

63

64

65

66

67

68

69

60
70

71

Schneider Electric

ASCII Codes

ASCII Code
Table
continued

Code (in Decimal)

Character or Action

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

Andover Plain English Language Reference

A-5

ASCII Codes

ASCII Code
Table
continued

A-6

Code (in Decimal)

Character or Action

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

Schneider Electric

ASCII Codes

ASCII Code
Table
continued

Code (in Decimal)

Character or Action

126

127

DEL

Andover Plain English Language Reference

A-7

A-8

Schneider Electric

Appendix B
Reserved Words
Reserved words are those words used as system constants, keywords, system functions,
and system variables that are reserved as part of Andover Continuums Plain English
programming language. Being familiar with these words helps avoid naming errors.
This appendix lists all Andover Continuum system reserved words. A tabular listing of
Continuum system constants begins on the next page. Following this table is a second
table containing an alphabetical listing of all other reserved words including Plain English
keywords, system functions, and system variables.
Make sure you do not use any of these words as a line label or program variable in any of
your Plain English programs.
Note:

Before you import older programs to your Andover 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.

System Constants

Table of
System
Constants

Andover Continuum system constants are listed in alphabetical


order.
A
A_Variable
ABA1
ABA2
Abnormal
AbortRestore
AC_Flag
AC_Output
AC256P
AC256Site
AC4P4
AC4plus432
AC8P
ACC_Airflow
ACC_Both
ACC_Dynamic
ACC_InputCurrent
ACC_Keypad
ACC_Pneumatic
ACC_Pressure
ACC_Static
ACCBackingUp
ACCBackupDisabld
ACCBackupDone
ACCBackupEnable
ACCBackupInactve
ACCBackupNeeded
ACCBackupNow
ACCCoolStartOnly
Access_archiver
Access-equipment-fault-report
AccessEvent
Access-events-per-area
Access-events-per-door
Access-events-per-person
Access-events-under-a-controller
AccessModeNoCommunication

B-2

Schneider Electric

AccessModeNoDatabase
AccessModeNormal
ACCExpression
ACCFlashEmpty
ACCFlashFailure
ACCFlashValid
ACCPneumatic
ACCTemp(DEGC)
ACCTemp(DEGF)
Accumulator
ACCWarmStartOnly
ACCWarmToCool
ACFloatType
Ack
Ack_Alarms
AckAfterRTN
AckAll
AckAndRTN
Acked
AcknowledgeAlarm
AcknowledgeAlarms
AckOnly
AckOnlyThisOne
AckOrRTN
Acks
AckUntilTime
ACP
Active
Active-alarms-per-object
Active-alarms-under-a-controller
Active-alarms-under-a-field-controller
Active-alarms-under-a-network
Active-unACKed-alarms-per-controller
Activity_archiver
ActivityEvent
Activity-events-per-activity-type

System Constants

Table of
System
Constants
continued

A
Activity-events-per-controller
Activity-events-per-controller-withchildren
Activity-events-per-object
Activity-events-per-user
Activity-events-per-workstation
ActUnack
ACXDatabaseFault
ACXDatabaseFaultCleared
ADAExitRequestTrouble
ADAExitRequestTroubleCleared
ADAInputTrouble
ADAInputTroubleCleared
Add-areas-to-personnel
Add-column(s)-to-list-class
AddListElement
Add-object(s)-to-Report-memberlist
Add-recipient-to-notification
Add-triggers-to-point
Admin
Administrate
Alarm
Alarm_archiver
AlarmEnrollment
AlarmEvent
Alarms-for-an-event-object-with-alarmenrollment
Alarms-for-an-event-object-with-eventnotification
Alarm-transitions-per-object
Allowed
AllPaths
Alm0
Alm1
Alm2
Alm3
Alm4
Alm5

Alm6
Alm7
Alm8
AlmNotification
Amperes
Amperes-per-meter
Amperes-per-square-meter
Ampere-square-meters
AnalogInput
AnalogOutput
AnalogValue
Apr
April
Area
AreaBased
Areas-accessed-by-the-selected-person
Area-use-by-person
Armed
ASCIIDump
ASCIIReload
AtomicReadFile
AtomicWriteFile
AudioDatatype
AudioOnToFault
AudioOnToNormal
AudioOnToOffNormal
Aug
August
Authenticate
AuthenticationFailed
Automatic
AutomaticLifeSafety
Automatic-release-disabled
Automation
AutoSet
Available
Average
Average-of-object-value
Averaging

Andover Plain English Language Reference

B-3

System Constants

Table of
System
Constants
continued

B-4

B
B_Abnormal
B_Active
B_Alarm
B_Armed
B_AutoReleaseDis
B_Blocked
B_Default
B_Delayed
B_Disabled
B_Disarmed
B_Disconnected
B_DuressState
B_EmergencyPower
B_Enabled
B_Fast
B_Fault
B_FaultAlarm
B_FaultPreAlarm
B_GeneralAlarm
B_Holdup
B_LocalAlarm
B_Manned
B_None
B_NotReady
B_Off
B_On
B_PreAlarm
B_Prearmed
B_Quiet
B_Reset
B_ResetAlarm
B_ResetFault
B_Silence
B_SilenceAudible
B_SilenceVisual
B_Slow
B_Supervisory
B_Tamper
B_TamperAlarm

Schneider Electric

B_Test
B_TestActive B_TestAlarm
B_TestFault
B_TestFaultAlarm
B_TestSupervisry
B_Unmanned
B_Unsilence
B_UnsilenceAud
B_UnsilenceVis
b3608
b3616
b3624
b3800
b3804
b3810
b3814
b3850
b3851
b3853
b3865
b3866
b3867
b3885
b3886
b3887
b3920
b4920
Backup-BACnet-Device
BackupToFlash
Backup-to-flash-including-the-children
Backup-to-flash-the-objects
Bars
Baud1200
Baud19200
Baud19-2K
Baud2400
Baud300
Baud38400
Baud38-4K
Baud4800

System Constants

Table of
System
Constants
continued

B-C

Baud76800
Baud76-8K
Baud9600
bCX4000
bCX4020
bCX4040
bCX4060
bCX9600
bCX9640
BeepOnToFault
BeepOnToNormal
BeepOnToOffNormal
Binary
BinaryInput
BinaryOutput
BinaryValue
Bit
Bitstring
BlinkOnAlarm
Blocked
Blue
BondSensorTrouble
BondSensorTroubleCleared
BondSensorViolation
BondSensorViolationCleared
BooleanType
Btus
BtusPerHour
BtusPerPoundDryAir
BufferOverflow
Buffer-purged
BufferReady
CabinetTamperDoorClosed
CabinetTamperDoorOpen
Calendar
Cancel-distribution-operation
Cancel-schedule
Candelas
Candelas-per-square-meter
CannotDelete
CannotRename

CardMode
Centimeters
CentimetersOfMercury
CentimetersOfWater
Change-Automatic-archiving-parameter
Change-Continuum-explorer-option
Change-in-GUI-field
ChangeOfBitstring
ChangeOfFailure
ChangeOfState
ChangeOfValue
Change-security-key-in-default-securitypage
Change-security-key-on-a-Class
Change-the-main-menu-page
Change-the-option-on-main-menu-page
ChangeValues
Channel-override-events-per-door
Char
CharacterSetNotSupported
CharType
Check-in-PE-program
Check-out-PE-program
CK34
ClassDefault
ClearDisplay
Clockwise
Closed
ClusteredBar
Coldstart
COM1
COM2
COM3
Command
Command_Line
CommandFailure
Commport
Completed-deleting-object-from-AccessControl-DB
Completed-deleting-objects-from-AccessControl-DB

Andover Plain English Language Reference

B-5

System Constants

Table of
System
Constants
continued

B-6

C
Completed-refreshing-objects-to-AccessControl-DB
Completed-refreshing-object-to-AccessControl-DB
Config
ConfigurationError
ConfigurationInProgress
Configure
ConfirmedCOVNotification
ConfirmedEventNotification
ConfirmedPrivateTransfer
ConfirmedTextMessage
Connected
Connecting
Constant
Container
Controller-use-by-person
ControllerUser
Copy
CopyFromTemplate
Copy-object
Counter
CounterClockwise
Create-attempt-for-an-object
Create-link-between-2-objects
CreateObject
Create-object
Create-object-from-DBSync-activity
Create-object-from-template
Create-shortcut
Create-template-from-the-object
CriticalEquipmentControl
CriticalEquipmentMessage
CtsRts
CubicFeet
CubicFeetPerMinute
CubicFeetPerSecond
CubicMeters
CubicMetersPerHour
Cubic-meters-per-minute
CubicMetersPerSecond

Schneider Electric

C-D
Currency1
Currency10
Currency2
Currency3
Currency4
Currency5
Currency6
Currency7
Currency8
Currency9
Current
CurrentValue
CustomCard
CustomMagStripe
CustomWiegand
CX9000
CyclesPerHour
CyclesPerMinute
Data
DatabaseSynchronization
DataBits5
DataBits6
DataBits7
DataBits8
DateAndTimeType
DateDataType
DateTime
Days
DbSync
Dec
December
Default
DefaultTime
Deg-Phase
DegreeDaysCelsius
DegreeDaysFahrenheit
DegreesAngular
DegreesCelsius
DegreesCelsiusPerHour
DegreesCelsiusPerMinute

System Constants

Table of
System
Constants
continued

D-E

DegreesFahrenheit
DegreesFahrenheitPerHour
DegreesFahrenheitPerMinute
DegreesKelvin
Degrees-Kelvin-per-hour
Degrees-Kelvin-per-minute
DegreesPhase
Delayed
Delete
Delete-activity-log
Delete-area-from-all-controllers
Delete-arealink-from-all-controllers
Delete-extendedlogs
Delete-link-between-2-objects
DeleteObject
Delete-object
Delete-object-from-Access-Control-DB
Delete-object-from-DBSync-activity
Delete-objects-from-Access-Control-DB
Delete-the-Personnel-from-controller
Delta-degrees-Fahrenheit
Delta-degrees-Kelvin
Denied
Dereferenced
Device
DeviceAndBelow
DeviceBusy
DeviceCommunicationControl
DeviceOnly
Digital
Direct
Disable-area-links
Disabled
Disable-object
Disable-user-logging-flag
Disarmed
Disconnected
Disconnecting
DisplayAlarmView
DisplayPanel

DisplayVideo
DistNotUsed
DistributeAddAreasToPersonnel
DistributeAreaDeleteToAllACXS
DistributeAreaMemberDeleteToAllACXS
DistributeAreaMembersToAllACXS
DistributeAttributeSet
DistributeEnableDisableAreaLink
DistributeOnePersonToACX
DistributeOnePersonToAllACXS
DistributePersonDeleteToAllACXS
DistributePersonsToACX
DistributeResetPreload
Distribute-the-personnel-to-controller
Done
Door
Door_Ajar
DoorAjarCleared
DoorChannelOverrideAndDoorLocked
DoorChannelOverrideAndDoorUnlocked
DoorChannelOverrideCleared
DoorExitRequestTrouble
DoorExitRequestTroubleCleared
DoorLockedBySchedule
DoorSwitchTrouble
DoorSwitchTroubleCleared
DoorUnlockedBySchedule
Door-use-by-person
Double
DoubleType
DownloadInProgress
DownloadRequired
Download-schedule
Duress_state
DynamicArray
DynamicCreationNotSupported
Email
EmailAck
EmailOnOffNormal
EmailToFault
EmailToNormal

Andover Plain English Language Reference

B-7

System Constants

Table of
System
Constants
continued

B-8

E
Emergency-power
Enable-area-links
Enable-Automatic-archiving
Enabled
EnableDisable
Enable-object
Enable-user-logging-flag
EndBackup
EndRestore
EntryKeypadTamper
EntryReaderFault
EntryReaderFaultCleared
Enumeration
Eof
Equal
ErrorEvent
Error-events-per-controller
Error-events-per-controller-with-children
Error-events-per-object
Error-events-per-user
Error-events-per-workstation
Ethernet802_2
Ethernet802_3
EthernetII
EthernetSNAP
Even
EventEnrollment
EventNotification
EventView
EvtNotification
Execute-Learn
Execute-learn-on-an-IOU-module
Execute-object
Execute-Teach
Executive_Privilege
ExitKeypadTamper
ExitReaderFault
ExitReaderFaultCleared
ExitRequestDenied_Lockdown
Export-security-keys-to-file
ExpressionAlarm
ExtendedLog
ExtLog_archiver

Schneider Electric

F
Failed
Failed-login-attempts-per-user
Failed-login-attempts-per-workstation
Failure
FallThru
False
Farads
Fast
Fault
Fault-alarm
Fault-pre-alarm
Feb
February
Feet
FeetPerHour
FeetPerMinute
FeetPerSecond
Female
File
FileAccessDenied
FileBegin
FileCurrent
FileDatatype
FileEnd
Fill
Find-BACnet-devices
FixedArray
Flashes-an-IOU-module
Flash-IOU-modules-from-controller
FloatingLimit
FloatType
FolderAndBelow
FolderOnly
FormCancel
Forward
Fri
Friday

System Constants

Table of
System
Constants
continued

GHI

G31
General-alarm
GeneralMode
Generic-action
GetAlarmSummary
GetEnrollmentSummary
GetEventInformation GlobalScope
Grams-per-minute
Grams-per-second
Graphics
GraphicsDisplayType
GreaterThan
GreaterThanOrEqual
Group
GUI
Halt
Halted
Hectopascals
Henrys
HIDCorp1000_35
HighAlarm
HighLimit
HighLimitEnable
HiLimit
HiResCurrent
HiResVoltage
History
Holdup
Holiday
Horizontal
Horsepower
Hours
Hundredths-seconds
i2608
i2616
i2624
i2800
i2804
i2810
i2814

i2850
i2851
i2853
i2865
i2866
i2867
i2885
i2886
i2887
i2888
I2889
i2920
IAm
Idle
IHave
Image
ImperialGallons
ImperialGallonsPerMinute
Import-object-from-dump-file
Import-security-keys-from-file
Inactive
InAlarm
Inches
InchesOfMercury
InchesOfWater
IncompatibleSecurityLevels
Incomplete
InconsistentParameters
InconsistentSelectionCriterion
Infinet
Infinity_37
InfinityController
InfinityData
InfinityDateTime
InfinityFunction
InfinityInfinetCtlr
InfinityInput
InfinityNumeric
InfinityOutput
InfinityProgram

Andover Plain English Language Reference

B-9

System Constants

Table of
System
Constants
continued

B-10

IJ
InfinityString
InfinitySystemVariable
InheritFromTemplate
Initiate-Archiving-sequence
InProgress
InputCurrent
Instantaneous
Int
Intermitted
Internal
Invalid_Attempt
InvalidAPDUInThisState
InvalidArrayIndex
InvalidAttemptAntiPassbackViolation
Invalid-attempts-of-a-door
Invalid-attempts-of-an-area
Invalid-attempts-of-a-person
InvalidDataType
InvalidFileAccessMethod
InvalidFileStartPosition
Invalid-logon-attempt-from-workstation
InvalidOperatorName
InvalidParameterDataType
Invalid-password-in-Operator-text-dialogbox
InvalidTag
InvalidTimeStamp
Invalid-user-name-in-Operator-text-dialogbox
IOBidirectional
IOInput
IOOutput
IOUModule
Jan
January
Joules
Joule-seconds
JoulesPerDegreeKelvin
JoulesPerKilogramDegreeKelvin

Schneider Electric

JK-L
JoulesPerKilogramDryAir
Jul
July
Jun
June
KeyGenerationError
KiloBtus
Kilo-btus-per-hour
Kilograms
Kilograms-per-cubic-meter
KilogramsPerHour
KilogramsPerMinute
KilogramsPerSecond
Kilohertz
Kilohms
Kilojoules
Kilojoules-per-degree-Kelvin
KilojoulesPerKilogram
Kilojoules-per-kilogram-dry-air
KilometersPerHour
Kilopascals
KilovoltAmperes
KilovoltAmperesReactive
Kilovolts
KilowattHours
KilowattHoursPerSquareFoot
KilowattHoursPerSquareMeter
Kilowatts
KVA
KVAR
K-watt-hours
LAN
Last15min
Last30min
LastMonth
LastWeek
LastYear
Launch-Automatic-archiving-app

System Constants

Table of
System
Constants
continued

L-M

Lbus
LessThan
LessThanOrEqual Level_0 through
Level_255
LifeSafetyMessage
LifeSafetyOperation
LifeSafetyPoint
LifeSafetyZone
Lighting
List
ListView
Liters
LitersPerHour
LitersPerMinute
LitersPerSecond
Load
LoadFailed
Loading
Local-alarm
LocalScope
Locked
Lock-unlock-events-per-door
Log
LogAverage
Log-disabled
Login-attempts-per-user
LogInstantaneous
LogMaximum
LogMinimum
Logoff-from-workstation
LogView
LON
LongIntType
Loop
Looping
LowAlarm
LowLimit
LowLimitenable

Lumens
Luxes
Male
Manned
Manual
ManualAreaAssign
ManualLifeSafety
ManualOperator
Mar
March
Mark-personnel(s)-card-as-lost
Maximum
May
Mega-btus
Megahertz
Megajoules
Megajoules-per-degree-Kelvin
Megajoules-per-kilogram-dry-air
MegajoulesPerSquareFoot
MegajoulesPerSquareMeter
MegavoltAmperes
MegavoltAmperesReactive
Megavolts
Megawatt-hours
Megawatts
Megohms
Meters
Meters-per-hour
Meters-per-minute
MetersPerSecond
Meters-per-second-per-second
MilesPerHour
Milliamperes
Milliamps
Millibars
Millimeters
MillimetersOfMercury
Millimeters-per-minute
Millimeters-per-second

Andover Plain English Language Reference

B-11

System Constants

Table of
System
Constants
continued

B-12

M
Milliohms
Milliseconds
Millivolts
Milliwatts
Minimum
MinimumOnOff
Minmax
Min-max-of-object-value
Minutes
MissingRequiredParameter
Modify-Global-preference
Momentary_Unlock
MomentaryUnlocked
Mon
Monday
Months
MonthToDate
MonthToNow
Most-accessed-areas
Most-accessed-controllers
Most-accessed-doors
Most-active-alarmed-objects
Most-active-persons
Most-active-persons-entering-selectedarea(s)
Most-active-persons-entering-selecteddoor(s)
Most-alarm(s)-acking-user
Most-alarm(s)-acking-workstation
Most-alarm(s)-logging-workstation
Most-alarm(s)-silencing-user
Most-alarm(s)-silencing-workstation
Most-common-activities
Most-common-errors
Most-offline-controller
Most-offline-field-controller
Most-offline-IOU
Move
Move-object
MSTP

Schneider Electric

M-N
Multiple
MultiPlot
MultiStateFault
MultistateInput
MultistateOutput
MultistateValue
MVA
MVAR
NCParallel
NCSeries
NCSerPar
NetBeui
NetBios
NETWARE
Network
NETWORK_CMDLINE
NetworkDialup
NetworkWide
New
Newton
Newton-meters
Newton-seconds
Newtons-per-meter
NoAccess
NoComm
NoDataBase
NoFaultDetected
Nofill
NoFlowControl
NonCollection
None
NonOperational
NoObjectsOfSpecifiedType
NoOutput
NoPad
NOParallel
Normal
NormalMessage
NoSegmentation
NoSensor

System Constants

Table of
System
Constants
continued

NO

O-P

NOSeries
NOSerPar
NoShortcuts
NoSpaceForObject
NoSpaceToAddListElement
NoSpaceToWriteProperty
NotAcked
NotConfigured
NotEqual
NotificationClass
Not-ready
NotSet
NoUnits
Nov
November
NoVTSessionsAvailable
Null
Object
ObjectClass
ObjectDeletionNotPermitted
ObjectId
ObjectIdentifierAlreadyExists
ObjectReference
Objects-created/saved-events-per-user
Object-value
Oct
October
Odd
Off
OffLine
Offline-alarms-per-controller
Offline-alarms-per-field-controller
Offline-alarms-per-IOU-module
OffNormal
Ohm-meters
Ohms
On
-On
Once
OneMonthToDate

OneMonthToNow
OnePlot
OneWeekToDate
OneWeekToNow
OneYearToDate
OneYearToNow
OnLine
Opened
OpenLoop
Open-object-for-editing
Operational
OperationalProblem
OperationalReadOnly
Other
Out_Of_Services
OutOfRange
OverRange
Overridden
PageAck
PageToFault
PageToNormal
PageToOffNormal
Paging
Panel
PanelMeter
ParameterOutOfRange
PartsPerBillion
PartsPerMillion
Pascals
PasswordFailure
PDF
PE_program
Pending
PendingReload
PendingRetry
Percent
Percent-obscuration-per-foot
Percent-obscuration-per-meter
PercentPerSecond
PercentRelativeHumidity
PerHour

Andover Plain English Language Reference

B-13

System Constants

Table of
System
Constants
continued

B-14

P
Permanent_Unlock
Permanent_UnlockCleared
PerMinute
PerSecond
Personnel
Persons-accessed-the-selected-area
Pie
PinChange
PINMode
PINOnly
PIUTool-End
PIUTool-Import-End
PIUTool-Import-Start
PIUTool-Search-end
PIUTool-Search-Start
PIUTool-Start
PlayContinuous
PlayOnce
Polar
Port_OutOfServices
PoundsForcePerSquareInch
PoundsMass
PoundsMassPerHour
PoundsMassPerMinute
Pounds-Mass-Per-Second
PowerFactor
PPP
Pre-alarm
Prearmed
PreemptedByHigherPriorityTask
PrimaryEMail
PrimaryForward
PrimaryLog
PrimaryPaging
PrimaryPrint
Print
PrintAck
Printer
PrintReport
PrintToFault

Schneider Electric

PQ-R
PrintToNormal
PrintToOffNormal
Priority10
Priority11
Priority12
Priority13
Priority14
Priority15
Priority16
Priority3
Priority4
Priority7
Priority9
Probe
ProbeOff
ProbeOnDemand
ProcessError
Program
ProgrammingLevel
Prompt
Property
PropertyIsNotAList
PsiPerDegreeFahrenheit
PTP
PTPConnecting
PTPDisconnected
Pulse-Converter
Pwr-Factor
Quiet
Radians
Radians-per-second
Raw
ReadAccessDenied
ReaderDoor
ReadOnly
ReadProperty
ReadPropertyConditional
ReadPropertyMultiple
ReadRange
ReadWrite Ready

System Constants

Table of
System
Constants
continued

R-S

Real
RealTime
RefreshDatabase
Refreshed-Extended-Log
Refresh-object-from-template
Refresh-objects-to-Access-Control-DB
Refresh-object-to-Access-Control-DB
ReinitializeDevice
Reload-object-to-controller
RemoteScope
Remove-areas-from-personnel
Remove-column(s)-from-list-class
RemovedEnumValue
RemoveFromStatusWhenAcked
RemoveListElement
Remove-object(s)-from-Reportmemberlist
Remove-recipient-from-notification
Remove-triggers-from-point
Rename-object
RepeatEmail
RepeatLog
RepeatPaging
RepeatPrint
RequestKey
RequestToExit
RequiresCommission
Reset
Reset-alarm
Reset-controller-from-editor
Reset-fault
Resources
Restart
Restore-BACnet-Device
ReturnToNormal
Reverse
RevolutionsPerMinute
Rotate-object-to-another-label
RTD1000TempC
RTD1000TempC2W

RTD1000TempF
RTD1000TempF2W
RTDTemp(DEGC)
RTDTemp(DEGF)
RTDTempC2W
RTDTempF2W
RTNOnly
RTNs-for-an-event-object-with-alarmenrollment
RTNs-for-an-event-object-with-eventnotification
RtnUnack
Run
Running
Sat
Saturday
Save
Save-object
Save-object-to-database
Save-object-to-database(sendtoDatabase)
Save-object-to-dump-file
Save-schedule-auto-send-datetime
Save-schedule-configuration
Save-schedule-events
Schedule
ScheduleDownload
ScheduleMode
Seconds
Security
SecurityLevel
SecurityNotSupported
SegmentationNotSupported
SegmentedBoth
SegmentedReceive
SegmentedTransmit
Send-time-synch
Sep
September
ServiceRequestDenied
Services

Andover Plain English Language Reference

B-15

System Constants

Table of
System
Constants
continued

B-16

S
Set-attribute
Set-attribute-in-buffered-mode
Set-Date-systemvariable
ShortcutCreate
ShortcutsAsShortcuts
ShortedLoop
ShortIntType
ShowDisplayValue
ShowMessage
ShowSpaceTemp
ShowTimeValue
Shutdown-Automatic-archiving-app
Shut-down-Continuum-on-a-workstation
Siemens
Siemens-per-meter
Silence
Silence-audible
Silence-visual
Singular
Site_Config
Site_ConfigB
SiteConfiguration
SiteMode
Slow
Smallint
Snapshot-of-object-value
Snapshot-of-Trend-Log-buffer-contents
SoftAck
SpecifiedByRules
SpecifiedByUser
SpecifiedElapsedTime
SpecifiedTime
SQLDateTime
Square-centimeters
SquareFeet
Square-inches
SquareMeters
Square-meters-per-Newton
Squ-Feet
Squ-Meters
StartBackup
Start-Continuum-on-a-workstation

Schneider Electric

S-T
Start-Relinquish-BACnet-Command
StartRestore
Start-the-object
Stop-Automatic-archiving
StopBit1
StopBit1.5
Stop-the-object
StopBit2
String
StringDataType
Structure
SubscribeCOV
SubscribeCOVProperty
Success
Sun
Sunday
Supervised
SvFloat
SX8000
System
Table
Tamper
Tamper-alarm
TankNet
TankProbe
TCP
TCP_IP
TCPIP
Temperature
TemplateCreate
TemplateRefresh
Teslas
Test
Test-active
Test-alarm
Test-fault
Test-fault-alarm
Text
TextType
ThermoCoupBTempC
ThermoCoupBTempF

System Constants

Table of
System
Constants
continued

T
ThermoCoupETempC
ThermoCoupETempF
ThermoCoupJTempC
ThermoCoupJTempF
ThermoCoupKTempC
ThermoCoupKTempF
ThermoCoupRTempC
ThermoCoupRTempF
ThermoCoupSTempC
ThermoCoupSTempF
ThermoCoupTTempC
ThermoCoupTTempF
Therms
Thu
Thursday
TimeDataType
TimedUnlock
Timeout
TimeStampType
TimeSynchronization
Tinyint
Today
ToFault
TonHours
ToNormal
Tons
Tons-per-hour
TonsRefrigeration
ToOffNormal
TooManyArguments
Trend
TrendLog
TriState
Trouble
True
Truncate-Log-table
TS_DateTime
TS_SequenceNumber
TS_Time
Tue
Tuesday
UDP
UDP_AND_TCP

T-U
UnArmed
Unassigned
UnauthorizedOpenDoor
UnauthorizedOpenDoorCleared
Unavailable
UncomfirmedEventNotification
UncomfirmedPrivateTransfer
UncomfirmedTextMessage
UnconfirmedCOVNotification
UndefinedEnumeration
UnderRange
Union
Unknown
UnknownDevice
UnknownObject
UnknownProperty
UnknownVTClass
UnknownVTSession
Unload
Unloaded
Unlocked
Unmanned
UnrecognizedService
UnreliableOther
Unset
UnsignedCharType
UnsignedLongType
UnsignedShortType
Unsilence
Unsilence-audible
Unsilence-visual
UnsupportedObjectType
Update-controller-from-DBSync-activity
Update-extendedlogs
Update-object-from-DBSync-activity
Update-the-OS-on-a-controller
Urgent
UrgentMessage
User-invalid-attempt
UsGallons
UsGallonsPerMinute
UtcTimeSynchronization

Andover Plain English Language Reference

B-17

System Constants

Table of
System
Constants
continued

B-18

VW
V_Variable
VA
Valid_Access
ValidAccessAntiPassbackViolation
ValidAccessDuress
ValidAccessNoEntry
ValidAccessTimedAntiPassbackViolation
Valid-and-invalid-attempts-of-a-person
Valid-logon-from-workstation
ValueOutOfRange
ValueRepeat
VAR
Varbinary
Varchar
Vertical
VideoDatatype
View
ViewOnly
Voltage
Voltamperes
VoltAmperesReactive
Volts
Volts-per-degree-Kelvin
Volts-per-meter
VT
VT100
VT220
VtClose
VtData
VtOpen
VTSessionAlreadyClosed
VTSessionTerminationFailure
Waiting
Warmstart
WattHours
Watt-hours
Watts
Watts-per-meter-per-degree-Kelvin
WattsPerSquareFoot
WattsPerSquareMeter
WattsPerSquareMeterDegreeKelvin
Web

Schneider Electric

W X YZ
Webers
WebGraphic
WebGraphicControl
Wed
Wednesday
Weekly
Weeks
WeekToDate
WeekToNow
WhenFinished
White
WhoHas
WhoIs
Wiegand26
Window
Wireless
WithinController
WriteAccessDenied
WriteOnly
WriteProperty
WritePropertyMultiple
Wyse
X_Variable
Xdriver
XdrvInstalled
XdrvNotInstalled
XdrvRemove
XdrvRemoved
XdrvRun
XdrvRunning
XdrvStop
XdrvStopped
XdrvTransition
XonXoff
XonXoffCtsRts
Yearly
Years
YearToDate
YearToNow
Yesterday
ZoneNumberBased

Additional Reserved Words

Table of
Additional
Reserved
Words

The following table lists additional Plain English reserved words


consisting of system variables, system functions, and keywords listed
in alphabetical order.
Note:

As a programmer, you may not use any of these words as a line


label or program variable.
A-B

Above
Abs
AccessLog
AccessServer
AckAlarm
Acos
Adjust
Advise
Alarms
All
Am
And
Append
Arcsine
Arctangent
Arctangent2
Arg
Asc
Asin
Ask
Atan
Atan2
AudioBell
AvailRecords
Average
Avg
Backlight
Basedon
Beep
BeginPolyLine
Below
Between
Bitand
Bitnot
Bitor
Bitxor

B-D
Break
Breakpoint
By
CabinetTamper
Case
Cd
Ceiling
Change
Chr
ClearScreen
Close
CloseFile
CloseList
CloseWindow
Cls
Connect
Continue
Control
Cos
Cosine
CPUPower
CurUser
Curvefit
CurWorkstation
Date
DateTime
DayOfMonth
DayOfYear
Dde
Del
Delete
DeleteExtLog
Dial
DiffTime
Dis
Disable

D-F
Disconnect
Div
Divided
Does
Dom
Doy
DrawEllipse
DrawLine
DrawRectangle
Dt
Dump
E
Either
Else
En
Enable
Encrypt
Encrypted
End
EndIf
EndPolyLine
EndSelect
EndWhen
EndWhile
EnergyNet
Equal
Equals
Erase
Errors
EventLogSize
Execute
Exists
Exp
Exponential
Fact
Factorial

F-L
First
Floor
For
Freemem
From
GetExtLog
GetName
GetObject
Go
Goto
Greater
HangUp
Hod
Hour
HourOfDay
Hr
If
ImportFile
In
Include
Infinit#Count
Initiate
InitModem
Input
Inputs
IOUCommFlt#

Is
Kill
Last

L-M
Line
LinePoint
Ln
Load
Locate
Log
Logoff
Logout
Lookup
Max
Maximum
Maxitem
MessageWindow

MicroPower
Mid
Min
Minimum
Minitem
Minus
Minute
Mod
Modify
Modulate
Month
Move
Mth
Mult
Multiplied

LCDPassword

continued

Left
Len
Length
Less
Let
Like

Andover Plain English Language Reference

B-19

Additional Reserved Words

Table of
Additional
Reserved
Words
continued

B-20

N-R
Neither
NewAlarmCount
Next
Not
Number
Numeric
NumToStr
Object
Open
OpenFile
OpenList
Or
Output
Outputs
P
Param
Passed
Pid
PlayAudio
Plus
Pm
Poke
PollACValue
PopAlarm
PositionFile
Pr
PreParse
Print
Prompt
Random
Read
ReadFile
ReadProperty
ReceiveFile
Relinquish
Reload
Report
Request
Return
Right
Rnd
Rot

Schneider Electric

R-T
Rotate
Round
Run
Save
Sc
Scan
Sd
Search
Sec
Second
Select
SendCommand
SendEmail
SendFile
Set
SetACValue
SetDisplay
Shell
Show
ShowReport
Shut
Sin
Sine
Site
Sqrt
StandardDeviation
Start
Status
StatusLine
Step
Stop
String
Stringfill
StrToDate
StrToNum
StrToTime
Sum
SystemStatus
Tab
Tan
Tangent
Td

T-Y
Terminate
Th
Than
The
Then
Through
Thru
Time
TimeOfDay
Timepiece
Times
Tm
To
Tod
TouchedCell
Trace
Trunc
Truncate
Ts
Turn
Unadvise
UniquePIN
Until
Update
UpdateAlarms
UpdateEvents
UpdateExtLog
Val
Version
Weekday
Where
While
With
Wkd
Write
WriteFile
WriteProperty
Year
Yr

Appendix C
Objects and Attributes
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
AlarmEnrollment
AnalogInput
AnalogOutput
Area
BinaryInput
BinaryOutput
BinaryValue
Calander
CommPort
ControllerUser
DateTime
Device
Door
EventEnrollment
EventNotification
EventView
File

Filter
Folder
Function
Graphics
Group
InfinityController
InfinityDateTime
InfinityFunction
InfinityInfinetCtlr
InfinityInput
InfinityNumeric
InfinityOutput
InfinityProgram
InfinityString
InfinitySystemVariable
IOUModule
ListView

Loop
MultistateInput
MultistateOutput
MultistateValue
Network
NetworkDialup
Numeric
Personnel
Program
Report
RootClass
Schedule
SecurityLevel
ShortCut
String
TrendLog
User

AccessEvent Attributes

AccessEvent
Attributes
Table

The following list provides you with the attributes and meanings for an
AccessEvent object.
Attribute

C-2

Description

AreaID

Area involved in access event

CardNumber

Card Number

CardType

Card Type

Description

Description of Object

DeviceID

Net Controller reporting the event

DoorID

Door reporting the event

EventMessage

Either the mode of operation for valid access or the


reason for invalid access

EventType

Type of event - valid access, etc.

ID

SQL Object ID - Not meaningful to the user

LoggingWorkstaID

Workstation that received the event

NonABACardNumber

Non ABA Card number

PersonID

Person involved in the event

SiteCode

Site code of the card in the event

TimeOfLog

Time that workstation logged event to database

TimeStamp

Time that event took place

ZoneCode

Zone code of the card involved in the event

Schneider Electric

ActivityEvent Attributes

ActivityEvent
Attributes
Table

The following list provides you with the attributes and meanings for an
ActivityEvent object.
Attribute

Description

ActionCode

System used number to refer to activity type

Caller Code

Not meaningful to the user

Description

Description of Object

EventObjectID

The object asscociated with the activity

EventObjectName

The object asscociated with the activity

ID

SQL Object ID - Not meaningful to the user

NodeName

The name of the device from which the activity took place

Operator Text

The text entered by the person signing off on the activity

OTUser

The user name of the person signing off on the activity

TimeStamp

The time the activity took place

UserID

The full path to the user

UserName

The name of the user

Andover Plain English Language Reference

C-3

ACXList Attributes

ACXList
Attributes
Table

C-4

The following list provides you with the attributes and meanings for an
ACXList object.
Attribute

Description

AreaID

Not meaningful to the user

AreaUsage

Not meaningful to the user

DeviceID

Not meaningful to the user

NetworkID

Not meaningful to the user

Schneider Electric

AlarmEnrollment Attributes

ALarmEnrollment
Attributes Table

The following list provides you with the attributes and meanings for an
AlarmEnrollment object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Andover Plain English Language Reference

C-5

AlarmEnrollment Attributes

ALarmEnrollment
Attributes Table
continued

C-6

Attribute

Description

IconID

Not meaningful to the user

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not meaningful to the user

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

MsgTextFault

Message delivered on fault

MsgTextNormal

Message delivered on RTN

MsgTextOffNormal

Message delivered on Alarm

Name

Name of the object

NetworkNumber

Not meaningful to the user

NotifyType

Type of notification to be used

Owner

Owner of object

Properties

Not meaningful to the user

ReferenceCount

Not meaningful to the user

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefObjectType

Not meaningful to user

RefTemplate

Name and path of template from which object was created

ReportID

Not meaningful to the user

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Template

True if object is a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to the user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Virtual Flag

Not meaningful to the user

Schneider Electric

AlarmEvent Attributes

ALarmEvent
Attributes
Table

The following list provides you with the attributes and meanings for an
AlarmEvent object.
Attribute

Description

AckbyUser

User who acknowledges the alarm

AckbyWorkstation

Workstation from which alarm was acknowledged

Active

Set to true if the alarm has not satisfied all of its return criteria

EventNotificationID

Lists Event Notification associated with Basic Alarms (WS


points only)

EventObjectID

Object that went into alarm

EventObjectValue

Value of object

EventType

Alarm Type

FromState

The previous state of the alarm event (Alarm, Return To


Normal)

ID

SQL Object ID - Not meaningful to the Uuer

InitDeviceID

Name of the device owning the object

LoggingWkstaID

The name of the workstation that logs the alarm to the database

MasterAlmID

Name of the alarm enrollment

MessageText

Text message for alarm

OperatorActions

Actions typed in manually by the operator

OPeratorText

Text that is typed in by the person acknowledging the alarm, if


that option is in place

SilencedbyUser

Use who silenced the alarm

SilencedbyWorkstation

Workstation from which the alarm was silenced

Silenced Time

Time at which the alarm was silenced

TimeofAck

Time at which the alarm was acknowledged

TimeofLog

Time at which the alarm was logged to the database

TimeStamp

Time at which the alarm took place

ToState

Current state of the alarm event

Andover Plain English Language Reference

C-7

AlarmInfo Attributes

AlarmInfo
Attributes
Table

C-8

The following list provides you with the attributes and meanings for an
AlarmInfo object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

AlarmLink1AlarmLink8

Not meaningful to user

ParentObject

The full path to the object

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

ReportID

Not meaningful to the user

Schneider Electric

AnalogInput Attributes

AnalogInput
Attributes
Table

The following list provides you with the attributes and meanings for an
AnalogInput object.
Attribute

Description

AckedTransitions

Not meaningful to the user - currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarmgraphicpage

Not currently implemented

Alarm1Alarm8

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

Andover Plain English Language Reference

C-9

AnalogInput Attributes

AnalogInput
Attributes
Table
continued

C-10

Attribute

Description

ElecScaleTop

The top electrical value that corresponds to the top value in


Engineering Units

ElecType

Object's electrical type (voltage, current, digital, etc.)

ElecValue

Object's actual electrical value

EngScaleBot

The bottom value in Engineering Units that corresponds to the


bottom electrical value

EngScaleTop

The top value in Engineering Units that corresponds to the top


electrical value

EventEnable

Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault
(WS points only)

EventNotificationID

Lists Event Notification associated with Basic Alarms (WS points


only)

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)

FollowUpRule

Not meaningful to the user

Format

Format to be used in displaying object value

Graphics

Not meaningful to the user

HighLimit

High Limit to be used in Basic Alarm (WS points only)

IconID

Not meaningful to user

ID

SQL Object ID - Not meaningful to the user

IncludeObject

Not meaningful to the user

IOU

IOU number of object

IsShortcut

Not meaningful to the user

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LimitEnable

Not meaningful to the user

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

LowLimit

Low limit to be used in Basic Alarms (WS points only)

Name

Name of the object

NetworkNumber

Not meaningful to the user

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of object

Properties

Not meaningful to the user

Schneider Electric

AnalogInput Attributes

AnalogInput
Attributes
Table
continued

Attribute

Description

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not meaningful to the user

Resolution

Not meaningful to the user

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not meaningful to the user

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to the user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

Threshold

The amount, in engineering units, that the value must change


before it will update

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

TimeLocked

The time the object was last opened

TriggerThreshold

The amount, in engineering units, that the value must change


before it will update

Type

The type of the object

Units

The engineering units to be used for this object

UpdateInterval

The update interval to be used for this object (WS points only)

Value

The value of this object after any conversions that may be required

Andover Plain English Language Reference

C-11

AnalogOutput Attributes

AnalogOutput
Attributes
Table

The following list provides you with the attributes and meanings for an
AnalogOutput object.
Attribute

C-12

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

Alarm1Alarm8

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

Schneider Electric

AnalogOutput Attributes

AnalogOutput
Attributes
Table
continued

Attribute

Description

ElecScaleBot

The bottom electrical value that corresponds to the bottom value in


Engineering Units

ElecScaleTop

The top electrical value that corresponds to the top value in


Engineering Units

ElecType

Object's electrical type (voltage, current, digital, etc.)

ElecValue

Object's actual electrical value

EngScaleBot

The bottom value in Engineering Units that corresponds to the bottom


electrical value

EngScaleTop

The top value in Engineering Units that corresponds to the top


electrical value

EventEnable

Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault
(WS points only)

EventNotificationID

Lists Event Notification associated with Basic Alarms (WS points


only)

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points only)

FollowUpRule

Not meaningful to the user

Format

Format to be used in displaying object value

Graphics

Not meaningful to the user

HighLimit

High Limit to be used in Basic Alarm (WS points only)

IconID

Not meaningful to the user

ID

SQL Object ID - Not meaningful to the user

IncludeObject

Not meaningful to the user

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LimitEnable

Not meaningful to the user

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

LowLimit

Low limit to be used in Basic Alarms (WS points only)

Name

Name of the object

NetworkNumber

Not meaningful to the user

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points only)

OverrideValue

The actual valus of the output that is overridden

Owner

Owner of object

Properties

Not meaningful to the user

Andover Plain English Language Reference

C-13

AnalogOutput Attributes

AnalogOutput
Attributes
Table
continued

C-14

Attribute

Description

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not meaningful to the user

Resolution

Not Currently Implemented

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not meaningful to the user

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template object
- meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

Threshold

The amount, in engineering units, that the value must change before it
will update

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

TimeLocked

The time the object was last opened

Type

The type of the object

Units

The engineering units to be used for this object

UpdateInterval

The update interval to be used for this object (WS points only)

Value

The value of this object after any conversions that may be required

Schneider Electric

Area Attributes

Area Attributes
Table

The following list provides you with the attributes and meanings for
an Area object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

Andover Plain English Language Reference

C-15

Area Attributes

Area Attributes
Table continued

C-16

Attribute

Description

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not meaningful to the user

Owner

Owner of object

Properties

Not meaningful to the user

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not meaningful to the user

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

State

Indicates if an object has been enabled or disabled

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Schneider Electric

AreaLink Attributes

AreaLink
Attributes
Table

The following list provides you with the attributes and meanings for an
AreaLink object.
Attribute

Description

AreaID

Name and path of the area

DeletePending

Indicates if there is a delete action pending for this link

DistPending

Indicates there is a distribution pending for this object

DistTime

Time of last successful distribution

ID

Not meaningful to the user

PersonID

Name of the person involved in this link

PreLoad

Determines if link is to be loaded to the controller or if


validation is to take place at the server level

SchedID

Name of schedule associated with this link

State

Indicates if an object has been enabled or disabled

TimeEntered

Time of last entry into the area

Andover Plain English Language Reference

C-17

BinaryInput Attributes

BinaryInput
Attributes Table

C-18

The following list provides you with the attributes and meanings for a
BinaryInput object.
Attribute

Description

AckedTransitions

Not meaningful to user - Currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

ActiveText

Text to be displayed when object is in active state.

Alarm1Alarm8

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)

Schneider Electric

BinaryInput Attributes

BinaryInput
Attributes Table
continued

Attribute

Description

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

InactiveText

Text to be displayed when object is in inactive state.

IncludeObject

Not Meaningful to the User

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LowLimit

Low limit to be used in Basic Alarms (WS points only)

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of object

Polarity

Polarity (NO vs NC)

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic


log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

Andover Plain English Language Reference

C-19

BinaryInput Attributes

BinaryInput
Attributes Table
continued

C-20

Attribute

Description

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeDelay

The time delay used in evaluating Basic Alarms (WS points


only)

TimeLocked

The time the object was last opened

TimeofActiveTime
Reset

Time stamp of most recent time that the active state was reset

TimeofStateCount
Reset

Time stamp of most recent time that the state counter was reset

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Schneider Electric

BinaryOutput Attributes

BinaryOutput
Attributes Table

The following list provides you with the attributes and meanings for a
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.

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

BaseLink

Meaningless to the user

ChangeofStateCount

Number of times discrete object has changed state.

ChangeOfStateTime

Time of last change of state.

ChangeofStateCount

Number of times discrete object has changed state.

ChangeOfStateTime

Time of last change of state.

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DeviceType

Not Meaningful to the User

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

ElapsedActiveTime

Amount of time descrete poin t has been in the active state

ElecValue

Object's actual electrical value

Andover Plain English Language Reference

C-21

BinaryOutput Attributes

BinaryOutput
Attributes Table
continued

C-22

Attribute

Description

EventEnable

Lists which of the 3 basic alarms are enabled - Alarm, RTN,


Fault (WS points only)

EventNotificationID

Lists Event Notification associated with Basic Alarms (WS


points only)

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

InactiveText

Text to be displayed when object is in inactive state.

IncludeObject

Not Meaningful to the User

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LowLimit

Low limit to be used in Basic Alarms (WS points only)

MinimumOffTime

Point will be latched at inactive value for this time

MinimumOnTime

Point will be latched at active value for this time

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

OverrideValue

Actual value of output as set by person overriding it

Owner

Owner of the object

Polarity

Polarity (NO vs NC)

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

RelinquishDefault

The priority value the BinaryOuput is set to when all command


priorities have been relinquished.

ReportID

Not Meaningful to the USer

Schneider Electric

BinaryOutput Attributes

BinaryOutput
Attributes Table
continued

Attribute

Description

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic


log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeDelay

The time delay used in evaluating Basic Alarms (WS points


only)

TimeLocked

The time the object was last opened

TimeofActiveTimeR
eset

Time stamp of most recent time that the active state was reset

TimeofStateCountRe
set

Time stamp of most recent time that the state counter was reset

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference

C-23

BinaryValue Attributes

BinaryValue
Attributes Table

The following list provides you with the attributes and meanings for
a BinaryValue object.
Attribute

C-24

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.

Alarm1Alarm8

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)

Schneider Electric

BinaryValue Attributes

BinaryValue
Attributes Table
continued

Attribute

Description

FollowUpRule

Not meaningful to the user

Graphics

Not meaningful to the user

IconID

Not meaningful to the user

ID

SQL Object ID - Not Meaningful to the User

InactiveText

Text to be displayed when object is in inactive state.

IncludeObject

Not meaningful to the user

LastChangeBy

Name of the user making the last change

LockedBy

Not currently implemented

LockingWorkstation

Not currently implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

MinimumOffTime

Point will be latched at inactive value for this time

MinimumOnTime

Point will be latched at active value for this time

Name

Name of the object

NetworkNumber

Not meaningful to the user

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS


points only)

Owner

Owner of object

Properties

Not meaningful to the user

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not meaningful to the user

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic


log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this


template object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

Andover Plain English Language Reference

C-25

BinaryValue Attributes

BinaryValue
Attributes Table
continued

C-26

Attribute

Description

TimeDelay

The time delay used in evaluating Basic Alarms (WS points


only)

TimeLocked

The time the object was last opened

TimeofActiveTimeReset

Time stamp of most recent time that the active state was
reset

TimeofStateCountReset

Time stamp of most recent time that the state counter was
reset

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Schneider Electric

Calander Attributes

Calander
Attributes
Table

The following list provides you with the attributes and meanings for a
Calander object.
Attribute

Description

Description

Description of object

Value

A Boolean value that indicates if the current date is contained


in the Calendar object

DateList

Not maningful to the user

CalendarEntryName

Not meaningful to the user

Andover Plain English Language Reference

C-27

ClassName Attributes

ClassName
Attributes
Table

The following list provides you with the attributes and meanings for a
ClassName object.
Attribute

C-28

Description

ObjectTypeID

Not meaningful to the user

ObjectTypeName

Not meaningful to the user

Schneider Electric

CommPort Attributes

CommPort
Attributes Table

The following list provides you with the attributes and meanings for a
CommPort object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

CommStatus

Not Meaningful to the user for this object - always reads online

CreatedBy

Name of user who created object

CreateTime

Time of object creation

CTS

Clear To Send

CurrCommDir

Not Meaningful to the User

CurrentUser

When configured as a user port, indictates the current user of


that port

CXD

Carrier Detect

DataLength

Length in bits that data will be sent and received

DefaultBaud

Default baud rate

DefaultMode

The mode that the port will revert to when closed.

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DialPrefix

String to be sent to the built - in Continuum modem before


dialing the number on a dial command

DialSuffix

String to be sent to the built - in Continuum modem after


dialing the number on a dial command

DirectConnect

Indicates that the port will be hard wired to a terminal device

DistPending

Indicates that distribution is pending for this object

Andover Plain English Language Reference

C-29

CommPort Attributes

CommPort
Attributes Table
continued

Attribute

Description

DSR

Data Send Ready

DTR

Data Terminal Ready

EditLock

Indicates if object has been locked to additional Edits

FlowControl

Type of flow control that will be used by the port

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

HangUpCmd

String to be sent to the built-in Continuum modem when a


hangup command is issued

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

Learn

Set to true when the user attempts to gather information on all


Infinet devices attached to a port configured as Infinet

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

MaxPrintCols
MaxPrintRows
MenuBar
Messages

C-30

Indicates if there are currently messages in the message


window corresponding to the comm port

Mode

Current operating mode of the comm port

ModemInit

String to be sent to built-in Continuum modem on power-up.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotChangeable

Not Meaningful to the User

Owner

Not Meaningful to the User

ParamLabels

XDriver configuration value

Parity

Parity setting of the port

PortNum

SVC number corresponding to the port

PrintDone

Indicates that the previous print instruction to the port is


complete

ProgramAttached

Not Meaningful to the User

Properties

Not Meaningful to the User

Reconfigs

Indicates the number of bus reconfigurations that have occurred


- Meaningful only for Infinet ports

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Schneider Electric

CommPort Attributes

CommPort
Attributes Table
continued

Attribute

Description

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

RequestedMode

Not Meaningful to the User

Resume

Not Meaningful to the User

RI

Ring Indicator

RTS

Ready to Send

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

StartCharacter

Character that will cause a window response when port is set to


autoset

State

Indicates if an object has been enabled or disabled

StatusBar

The bar at the bottom of the screen when the port is configured
as autoset

StopBits

Number of stop bit for port

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TerminalType

The type of terminal emulation to be used when port is set to


autoset

TimedOut

Indicates that the port has timed out of its previous instruction

TimeLocked

The time the object was last opened

TimeOutValue

Value to be assumed after the time out

TrackCXD

Disconnect port and revert to default mode upon loss of carrier

TransmitCount

Number of transmissions

Type

The type of the object

Windows
XDriverErrCount

Number of errors encountered in communication via an Xdriver


to a third party device

XdriverError

Type of error encountered in communication via an Xdriver to


a third party device

XdriverErrTime

Time of error encountered in communication via an Xdriver to


a third party device

XdriverFile

File to be used when reloading to install Xdriver

XdriverStatus

Status of Xdriver communication

Andover Plain English Language Reference

C-31

ControllerUser Attributes

ControllerUser
Attributes Table

C-32

The following list provides you with the attributes and meanings for
a ControllerUser object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

ControllerUser Attributes

ControllerUser
Attributes Table
continued

Attribute

Description

LoginProgram

InfinityProgram to be run at controller when user logs in

LogOutProgram

InfinityProgram to be run at controller when user logs out

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Not Meaningful to the User

Preemption

Not Meaningful to the User

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

State

Indicates if an object has been enabled or disabled

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

VirtualFlag

Not Meaningful to the User

Andover Plain English Language Reference

C-33

DateTime Attributes

DateTime
Attributes Table

C-34

The following list provides you with the attributes and meanings for
a DateTime object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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)

Schneider Electric

DateTime Attributes

DateTime
Attributes Table
continued

Attribute

Description

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Not Currently Implemented

LogValue

Not Currently Implemented

LowLimit

Low limit to be used in Basic Alarms (WS points only)

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS


points only)

Owner

Owner of object

Properties

Not meaningful to user

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic


log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this


template object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

TimeValue

Time portion of the date time object

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference

C-35

Device Attributes

Device
Attributes Table

C-36

The following list provides you with the attributes and meanings for
a Device object.
Attribute

Description

AccessEventViewer
MaxEntries

Maximum number of entries allowed in the access viewer for


this workstation

AcknowledgeEmail
FormatFile

Default location of this type of format file

AcknowledgePager
FormatFile

Default location of this type of format file

AcknowledgePrinter
FormatFile

Default location of this type of format file

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmCount

Number of alarms currently in alarm viewer

AlarmEmailFormat
File

Default location of this type of format file

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

AlarmPagerFormat
File

Default location of this type of format file

AlarmPrinterFormat
File

Default location of this type of format file

AlarmPrinterPath

Full path to the printer for alarm printing

AlarmViewerMax
Entries

Maximum number of entries allowed in the alarm viewer for


this workstation

Alias

Alias of the object

APDUSegTimeout

Time in milliseconds between retransmission of an APDU


(Application Protocol Data Unit) segment

Schneider Electric

Device Attributes

Device
Attributes Table
continued

Attribute
APDUTimeout
ApplSoftwareVer
BackupFailureTimeout
BasdgeFormatFile
Location
BaseLink
CommandlinePrompt
CommStatus
ConfigurationFileList
CreatedBy
CreateTime
DaylightSavings
Status
DefaultBadgeFormat
DefaultFolder
DefaultImageCropping
DefaultReportViewer
DefaultRouter
Description
DeviceID
DeviceModel
DistPending
EditLock
FirmwareRev
FolderType
FollowUpRule
Graphics
IAMBroadcastIntvl
IAMBroadcastScope
IAMRemoteNetwork
IconID
ID
IncludeObject
IncrementReportFile

Description
Time in milliseconds between retransmission of an APDU
segment that requires ack but that has not been received.
Application software version
Device being backed up or restored must wait before ending
the backup or restore procedure.
Default location of this type of format file
Meaningless to the user
Prompt to be used on the command line
Communication status of device
File objects contained in the Configuration File List property
for that device
Name of user who created object
Time of object creation
States if device is currently under DST
Format file to be used when printing badges
Folder into which all new objects will be placed when
created.
True/False as to the use of the default image cropping
Program to use for the viewing of report files
IP address of the default router
Description of Object
Name of the device owning the object
Not Currently Implemented
Indicates that distribution is pending for this object
Indicates if object has been locked to additional Edits
Not meaningful to user
Not Meaningful to the User.
Not Meaningful to the User
Not Meaningful to the User
Not Currently Implemented
Not Currently Implemented
Not Currently Implemented
Not Meaningful to the User
SQL Object ID - Not Meaningful to the User
Not Meaningful to the User
If true subsequent reports by the same name will be appended
to existing report file

Andover Plain English Language Reference

C-37

Device Attributes

Device
Attributes Table
continued

C-38

Attribute

Description

IPAddress

IP address of the device

LastBackupTime

When the device was backed up last time

LastChangeBy

Name of the user making the last change

LastRestoredFilePath

The last restored file path from the local drive

LastRestoreTime

When the device was restored last time

LocalDate

Date at the device

LocalTime

Time at the device

Location

A string that can be used to specify the physical location of


the device

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

MainMenuFile

Name and path to the file that is displayed upon startup

MaxAPDUAccepted

Number of octets that may be contained in a single APDU

MaxResponseTime

Amount of time the controller will wait for a response to a


request before timing out. Not PE settable.

ModelName

Continuum CyberStation

Name

Name of the object

NetworkFlag

Not Meaningful to the User

NetworkNumber

Not Meaningful to the User

NumberAPDURetries

Maximum number of tries for an APDU to be retransmitted

OperatorTextAlarmAck

Indicates if the operator is required to enter text on alarm


acknowledgement (requires CFR setting)

Owner

Owner of this device

PrimaryAccessServer

Indicates if the device should carry on the functions of


primary access server

ProbeTime

Frequency in seconds that the device will confirm the


communication status of other devices

Properties

Not Meaningful to the User

ProtocolConfClass

A number that indicates which specific set of standardized


protocol services and object classes are supported

ProtocolObjectTypes
Support

Object classes that are supported

ProtocolServicesSupport

Services that are supported

ProtocolVersion

Version of BACNet protocol supported - Not implemented


at this time

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

Schneider Electric

Device Attributes

Device
Attributes Table
continued

Attribute

Description

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

SegmentationSupport

Indicates if this device supports segmentation of messages


and, if so, if it supports transmission, reception or both.

StatusFlags

Not Meaningful to the User

SubnetMask

Subnet mask of device

SystemStatus

Indicates ONLINE, OFFLINE and OUT OF SERVICE

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this


template object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Units

The engineering units to be used for this object

UTCOffset

Universal Time Coordinate offset in minutes

VendorIdentifier

Number that corresponds to the BACNet vendor of this


device

VendorName

Name of the BACNet vendor of this device

Andover Plain English Language Reference

C-39

DistributionBatch Attributes

DistributionBatch
Attributes Table

C-40

The following list provides you with the attributes and meanings for a
DistributionBatch object.
Attribute

Description

DelayOffset

Not Meaningful to the User

DelayTime

Not Meaningful to the User

DelayType

Not Meaningful to the User

ID

Not Meaningful to the User

ReferenceCount

Not Meaningful to the User

StartTime

Not Meaningful to the User

UserID

Not Meaningful to the User

WrkStatID

Not Meaningful to the User

Schneider Electric

DistributionObject Attributes

DistributionObject
Attributes Table

The following list provides you with the attributes and meanings for a
DistributionObject object.
Attribute

Description

BatchID

Not Meaningful to the User

ClassFilter

Not Meaningful to the User

CreateTime

Time that the distribution activity was created

DistOpts

Distribution Options

DistTime

Time for next scheduled distribution of this object

EditTime

Time of last editing of distribution "job"

EditUser

The user who invoked the distribution

ExtraData1

Not Meaningful to the User

ExtraData2

Not Meaningful to the User

ExtraID1

Not Meaningful to the User

ExtraID2

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

NotifyOpts

Byte Code - Not Meaningful to the User

Operation

Type of distribution (schedule download, etc.)

OperationOpts

Not Meaningful to the User

SourceID

Object requiring distribution

Status

Status of the distribution (pending, failed, etc.)

StringParam

XDriver configuration value

TargetID

Not Meaningful to the User

UserID

User intitiating distribution

WrkStatID

Workstation accomplishing distribution

Andover Plain English Language Reference

C-41

Door Object Attributes

Door Object
Attributes Table

C-42

The following list provides you with the attributes and meanings for a
Door object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

ADAChannel

Terminal number into which this object is wired

ADADoorAjarTime

Time required for door to be considered ajar

ADAOutputTime

Time duration of relay activation on door open command

Alarm1Alarm8

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

Schneider Electric

Door Attributes

Door Attributes
Table continued

Attribute

Description

DoorAjar

Indicates that the door has been left open too long

DoorAjarTime

Time required for door to be considered ajar

DoorChannel

Terminal number into which this object is wired

DoorFault

True/false depending on status of supervised input

DoorSchedule

Name of the schedule attached to this door

DoorStrikeTime

Time duration of relay activation on door open command

DoorSwitch

Indicates if a door switch input is used

DoorSwitchChan

Terminal number into which this object is wired

DoorSwitchType

Wiring type - NOSeries, etc.

Duress

Indicates if duress notification is to be used

EditLock

Indicates if object has been locked to additional Edits

EntEgrViol

Indicates if there is an entry/egress violation

EntryNormMode

Indicates if entry took place in normal mode

EntryNotReentry

Indicates if entry took place with no reentry permitted

EntryPinDuress

Indicates if entry via pin was duress

EntryRvrsCrdDur

Indicates if entry via reverse card was duress

EntrySchedule

Schedule attached to the entry reader

EntryZone

Zone entered through entry reader

ExitAntiPassTime

Time required for passback through this door to be permitted

ExitArea

Area entered from exit reader

ExitChannel

Terminal number into which this object is wired

ExitCount

Number of people who have exited

ExitEntEgr
ExitEntrAntiPass
ExitEntrEntEgr
ExitEntrRvrsCrd

Allow entry through exit door on reverse card

ExitIOU

IOU number of object

ExitKyPdChan

Terminal number into which this object is wired

ExitLastCard

Last card number have valid access through exit reader

ExitLastSite

Site code of last card number have valid access through exit
reader

ExitMode

Mode of Exit reader

ExitNoCommMode

Exit reader in nocomm mode

ExitNoDataMode

Exit reader in no data mode - no communication with access


server

ExitNoRentry

Indicates if exit took place with no reentry

Andover Plain English Language Reference

C-43

Door Attributes

Door Attributes
Table continued

Attribute

Description

ExitNormMode

Indicates exit in normal mode

ExitPinDuress

Indicates exit with pin duress

ExitRequest

Indicates the presence of PIR or some form exit request sensor

ExitRequestChan

Terminal number into which this object is wired

ExitRequestType

Wiring type - NOSeries, etc.

ExitRvrsCrdDur

Indicates exit via a reverse card duress signal

ExitSchedule

Schedule attached to the exit reader

ExitZone

Zone entered when going through the exit reader

Export

Indicates that the object value has been tagged for export.

FollowUpRule

Not Meaningful to the User

ForcedEntry

Indicates that the door has been forced open

GeneralCode
Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

ExitEntrRvrsCrd

Allow entry through exit door on reverse card

IncludeObject

Not Meaningful to the User

InvalidAttempt

Indicates an invalid card was used

InvalidEntryTime

Indicates an attempt to enter before proper antipassback time


has elapsed

InvalidExitTime

Indicates an attempt to exit before proper antipassback time has


elapsed

Invert

Revers Polarity

LastChangeBy

Name of the user making the last change

LastDepEtrdPnt
LastDepExitdPnt

C-44

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

Schneider Electric

Door Attributes

Door Attributes
Table continued

Attribute

Description

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

OpenOnExitRequest

Indicates that door to be opened upon sensing exit request on


exit request input

OperatingMode

Current operating mode of the door

Override

Indicates if the door has been overridden in the field

OverrideValue

Indicates the true value of the door when it has been overridden
in the field

Owner

Object that owns this door object

Param1Param6

XDriver configuration value

Port

Comm port associated with Xdriver

Properties

Not Meaningful to the User

RecordDrAjarHist

Keep access event history for door ajar

RecordExitRqHist

Keep access event history for exit requests

RecordForcedHist

Keep access event history for forced entries

RecordInvalHist

Keep access event history for invalid attempts

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

RelockOnClose

Relock as soon as sensor indicates closed, do not wait for strike


time to elapse

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Site1Site4

Site code that can be used by readers

State

Indicates if an object has been enabled or disabled

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeEntered

Last time a swip occurred on exit reader

TimeExited

Last time a swip occurred on entry reader

TimeLocked

The time the object was last opened

Andover Plain English Language Reference

C-45

Door Attributes

Door Attributes
Table continued

C-46

Attribute

Description

Type

The type of the object

UnlockSchedule

Schedule attached to unlock door

ValidAccess

Indicates a valid access through door

Value

The value of this object after any conversions that may be


required

Schneider Electric

DoorList Attributes

DoorList
Attributes Table

The following list provides you with the attributes and meanings for a
DoorList object.
Attribute

Description

AreaID

Name and path of area

DeviceID

name and path of controller

DoorID

Name and path of door

ID

SQL Object ID - Not Meaningful to the User

NetworkID

Name of Network

Andover Plain English Language Reference

C-47

ElevatorInfo Attributes

ElevatorInfo
Attributes Table

The following list provides you with the attributes and meanings for a
ElevatorInfo object.
Attribute

C-48

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

Schneider Electric

ErrorEvent Attributes

ErrorEvent
Attributes Table

The following list provides you with the attributes and meanings for a
ErrorEvent object.
Attribute

Description

Description

Description of Object

ErrorCode

Code to correspond to error - Not meaningful to User

EventObjectID

Name of object involved in error condition

ID

SQL Object ID - Not Meaningful to the User

TimeStamp

Time of error

UserID

User initiating error

WrkStatID

Workstation from which error condition occurred.

Andover Plain English Language Reference

C-49

EventEnrollment Attributes

EventEnrollment
Attributes Table

C-50

The following list provides you with the attributes and meanings for a
EventEnrollment object.
Attribute

Description

AckedTransitions

Not meaningful to user - Currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

EventEnrollment Attributes

EventEnrollment
Attributes Table
continued

Attribute

Description

IssueConfirmedNotif
ication

Not Currently Implemented

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OldRefBitString

Not Meaningful to the User

OldRefValue

Not Meaningful to the User

Owner

Owner of object

Priority

Not Meaningful to the User

ProcessIdentifier

Not Meaningful to the User

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference

C-51

EventLogControl Attributes

EventLogControl
Attributes Table

C-52

The following list provides you with the attributes and meanings for a
EventLogControl object.
Attribute

Description

ArchiveFrequency

Not Meaningful to the User

ArchiveName

Not Meaningful to the User

ArchivePath

Not Meaningful to the User

ArchiveStartTime

Not Meaningful to the User

ArchiveStatus

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

LastArchived

Not Meaningful to the User

LogClassID

Not Meaningful to the User

MaxAge

Not Meaningful to the User

MaxRecords

Not Meaningful to the User

PrimaryArchiver

Not Meaningful to the User

SecondaryArchiver

Not Meaningful to the User

TruncateOnly

Not Meaningful to the User

Schneider Electric

EventNotification Attributes

EventNotification
Attributes Table

The following list provides you with the attributes and meanings for a
EventNotification object.
Attribute

Description

AcknowledgementRu
les

Determines if acknowledgement is for all instances or only


selected

AckRequired

Not currently implemented

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

AlarmFont

Font to be used when displaying alarm message

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

AlarmOptions

Various items that are to be done when alarm occurs

Alias

Alias of the object

AudioFileFault

Path and name of wav file to play on fault

AudioFileNormal

Path and name of wav file to play on RTN

AudioFileOffNormal

Path and name of wav file to play on Alarm

BackGroundCOlor

Background color to be used when displaying the alarm


message

BaseLink

Meaningless to the user

CreatedBy

Name of user who created object

CreateTime

Time of object creation

DeactivateCriteria

Determination of what makes the alarm removed from the


alarm viewer

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

Andover Plain English Language Reference

C-53

EventNotification Attributes

EventNotification
Attributes Table
continued

C-54

Attribute

Description

EditLock

Indicates if object has been locked to additional Edits

EventNotificationID

SQL Object ID - Not Meaningful to the User

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

InPlaceAlarm

Not currently implemented

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

NetworkNumber

Not Meaningful to the User

Owner

Owner of object

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the User

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

SendToAll

Not currently implemented

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TextColor

Color to be used on displaying the text of the alarm message

TimeLocked

The time the object was last opened

ToFaultBGColor

Background color to use when transitioning to a condition of


fault

ToFaultFGColor

Foreground color to use when transitioning to a condition of


fault

ToFaultFont

Font to use when transitioning to a condition of fault

ToRTNBGColor

Background color to use when transitioning to a return

ToRTNFGColor

Foreground color to use when transitioning to a return

ToRTNFont

Fontr to use when transitioning to a return

Type

The type of the object

Schneider Electric

EventView Attributes

EventView
Attributes Table

The following list provides you with the attributes and meanings for a
EventView object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

BaseLink

Meaningless to the user

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

EventMaximum

Maximum number of events permitted in view

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

Andover Plain English Language Reference

C-55

EventView Attributes

EventView
Attributes Table
continued

C-56

Attribute

Description

NetworkNumber

Not Meaningful to the User

Owner

Owner of object

PrimarySortDirection

Sort order - ascending or descending

PrimarySortKey

Item on which to sort

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

Reserved1
Reserved4

Not Currently Implemented

ScheduleEvents

Not viewable by user

SecondarySortDirecti
on

Sort order - ascending or descending

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TernarySortDirection

Sort order - ascending or descending

TernarySortKey

Item on which to sort

TimeLocked

The time the object was last opened

Type

The type of the object

Schneider Electric

File Attributes

File Attributes
Table

The following list provides you with the attributes and meanings for a
File object.
Attribute

Description

AccessMethod

File Access supported for this file object Stream Access or


Record Access

Archive

The file object has been saved for historical or backup purposes

Description

Description of Object

FileData

File data in the File object

FileSequenceNum

File objects sequence number in the File List

FileType

Intended use of this file( ex: Configuration)

IsConfigurationFile

File is a Configuration file or not

LastChange

Last Changed date time for that File object

ModificationDate

File object modified date

Name

Name of the object

ReadOnly

The File data can be changed through the use of a BACnet


AtomicWriteFile service

RecordCount

Size of the File data in records

Size

Size of the File data

Type

The type of the object

Andover Plain English Language Reference

C-57

Filter Attributes

Filter Attributes
Table

C-58

The following list provides you with the attributes and meanings for a
Filter object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

Filter Attributes

FilterAttributes
Table continued

Attribute

Description

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the object

PreCreatedFlags

Indicates that the filter is a system created filter

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Relative Time

Not Meaningful to the USer

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name of any security level attached to object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

WeekdaysArray

Not Meaningful to the User

Andover Plain English Language Reference

C-59

Folder Attributes

Folder
Attributes Table

C-60

The following list provides you with the attributes and meanings for a
Folder object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

Folder Attributes

Folder
Attributes Table
continued

Attribute

Description

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of object

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this


template object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference

C-61

Function Attributes

Function
Attributes Table

C-62

The following list provides you with the attributes and meanings for a
Function object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

ArgumentList

Not viewable by user

BaseLink

Not Meaningful to the User

ByteCode

Not readable by user

CommandLine

Indicates if function can be called from the command line

CreatedBy

Name of user who created object

CreateTime

Time of object creation

CurrentObject

Not viewable by user

DbgStatus

Not Meaningful to the User

Description

Description of Object

DescriptionOfHalt

Not Meaningful to the User

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

ErrorCode

Type of error that occurred

FileAccess

Not Meaningful to the User

FileSize

Number of bytes in function

FileSize

Number of bytes in function

Schneider Electric

Function Attributes

Function
Attributes Table
continued

Attribute

Description

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

InstanceOf

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LocalVarData

Not Meaningful to the User

LocalVarList

Not Meaningful to the User

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

OutOfService

Service state of a object (similar to enable/disable-WS points only)

Owner

Owner of the object

ProgEntry

Not Meaningful to the User

ProgInfo

Not Meaningful to the User

ProgOffset

Not Meaningful to the User

Properties

Not Meaningful to the User

ReasonForHalt

Information on runtime errors

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference

C-63

Graphics Attributes

Graphics
Attributes Table

C-64

The following list provides you with the attributes and meanings for a
Graphics object.
Attribute

Description

Not Meaningful to
the User

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

BaseLink

Meaningless to the user

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

GraphicsFileName

Name of graphic (PIN) file

HighLimit

High Limit to be used in Basic Alarm (WS points only)

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Schneider Electric

Graphics Attributes

Graphics
Attributes Table
continued

Attribute

Description

Name

Name of the object

NetworkNumber

Not Meaningful to the User

ObjectList

List of objects that are animated on the graphic

Owner

Owner of object

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not currently implemented

ScreenHeight

Height of the graphic screen to be displayed

ScreenWidth

Width of the graphic screem to be displayed

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TimeLocked

The time the object was last opened

Type

The type of the object

WindowHeight

Not meaningful to user

WindowState

Not meaningful to user

WindowWidth

Not meaningful to user

WindowXPos

Not meaningful to user

WindowXScrollPos

Not meaningful to user

WindowYPos

Not meaningful to user

WindowYScrollPos

Not meaningful to user

Andover Plain English Language Reference C - 65

Group Attributes

Group
Attributes
Table

C-66

The following list provides you with the attributes and meanings for a
Group object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

Group Attributes

Group
Attributes Table
continued

Attribute

Description

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of object

PadType

Method used to interpolate values between actual data

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefreshRate

Time period after which to get live data on the objects in the
member list

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScaleStep

Steps between ticks in graphical view - Not yet implemented

ScaleType

Type of scaling to be used - Not yet implemented

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

TimeView

Default time range for graph view

Type

The type of the object

Units

The engineering units to be used for this object

Andover Plain English Language Reference C - 67

GroupMember Attributes

GroupMember
Attributes
Table

The following list provides you with the attributes and meanings for a
GroupMember object.
Attribute

C-68

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

Schneider Electric

ImExportRef Attributes

ImExportRef
Attributes
Table

The following list provides you with the attributes and meanings for an
ImExportRef object.
Attribute

Description

AlarmFlag

Not Meaningful to the User

ExportMast1
ExportMast8

Not Meaningful to the User

Handle

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

ImportFlag

Not Meaningful to the User

InfExportMast

Not Meaningful to the User

NetAddress

Not Meaningful to the User

Site

Not Meaningful to the User

Andover Plain English Language Reference C - 69

InfinityController Attributes

InfinityController
Attributes Table

C-70

The following list provides you with the attributes and meanings for an
InfinityController object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinityController Attributes

InfinityController
Attributes Table
continued

Attribute

Description

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

IOU1Model
IOU8Model

IOU model that is installed - meaningful only forAEclipse


controllers (CX9400)

IPAddress

IP address of controller

LastChangeBy

Name of the user making the last change

Location

String that can be entered to indicate physical location

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

MaxResponseTime

Maximum time that can pass before a response is tobe received


and after which a retransmission will occur

Model

Model of controller

Name

Name of the object

NetworkID

BACNet network number - Not currently implemented

NetworkNumber

Not Meaningful to the User

Owner

Owner of the object

PPPIPAddress

PPP IP address

PPPSubnetMask

PPP Subnet setting

ProbeTime

Frequency in seconds for requesting communication status of


other devices on the controller's network

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by the user

SecurityLevel

Name and path of any security level attached to the object

SerialNum

Serial number of the controller

SubnetMask

Subnet mask setting

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

VersionNum

Software version number

Andover Plain English Language Reference C - 71

InfinityDateTime Attributes

InfinityDateTime
Attributes Table

C-72

The following list provides you with the attributes and meanings for an
InfinityDateTime object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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.

Schneider Electric

InfinityDateTime Attributes

InfinityDateTime
Attributes Table
continued

Attribute

Description

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LastExtLogTime

Time stamp of the most recent entry in an object's extended log

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LCDState

Where applicable, indicates whether or not a point can be


displayed on the local display.

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Param1
Param6

XDriver configuration value

Port

Xdriver comm port

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Setpoint

Indicates if point is to be used as a setpoint. Allows its value and


manual array to be restored at reload.

Size

Number of elements in an object's manual array or automatic log

State

Indicates if an object has been enabled or disabled

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference C - 73

InfinityFunction Attributes

InfinityFunction
Attributes
Table

C-74

The following list provides you with the attributes and meanings for an
InfinityFunction object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinityFunction Attributes

InfinityFunction
Attributes Table
continued

Attribute

Description

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

State

Indicates if an object has been enabled or disabled

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference C - 75

InfinityInfinetCtrl Attributes

InfinityInfinetCtrl
Attributes Table

C-76

The following list provides you with the attributes and meanings for an
InfinityInfinetCtrl object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinityInfinetCtrl Attributes

InfinityInfinetCtrl
Attributes Table
continued

Attribute

Description

InfinetErrorCount

Number of errors since the last clearing

InfinetErrTime

Time of the last error

InfinetID

ID number of Infinet device

LastChangeBy

Name of the user making the last change

Location

String that can be entered to show the physical location of the


device

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Model

Model number of the controller

Name

Name of the object

NetworkID

The ACCNetID of the parent CX controller

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Port

Comm port that "owns" this infinet controller

PortNum

The numerical svc corresponding to the Comm port that "owns"


this infinet controller

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the User

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

SerialNum

Serial number of the infinet controller

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

VersionNum

Software version

Andover Plain English Language Reference C - 77

InfinityInput Attributes

InfinityInput
Attributes
Table

C-78

The following list provides you with the attributes and meanings for an
InfinityInnput object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Button1Button6

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

Schneider Electric

InfinityInput Attributes

InfinityInput
Attributes Table
continued

Attribute

Description

ElecScaleBot

The bottom electrical value that corresponds to the bottom value


in Engineering Units

ElecScaleTop

The top electrical value that corresponds to the top value in


Engineering Units

ElecType

Object's electrical type (voltage, current, digital, etc.)

ElecValue

Object's actual electrical value

EngScaleBot

The bottom value in Engineering Units that corresponds to the


bottom electrical value

EngScaleTop

The top value in Engineering Units that corresponds to the top


electrical value

ExtLogInterval

Log Interval to be used with extended logs.

ExtLogSize

Number of elements to be stored in the extended log for this


object.

FollowUpRule

Not Meaningful to the User

Format

Format to be used in displaying object value

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

Invert

Revers polarity (NO vs NC)

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LastExtLogTime

Time stamp of the most recent entry in an object's extended log

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LCDState

Where applicable, indicates whether or not a point can be


displayed on the local display.

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

LowerFluidLevel

Float reading when input is configured as tank monitoring probe

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Param1Param6

XDriver configuration value

Port

Comm port used for Xdriver

Properties

Not Meaningful to the User

Andover Plain English Language Reference C - 79

InfinityInput Attributes

InfinityInput
Attributes Table
continued

C-80

Attribute

Description

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ResistorType

Wiring type when input is configured as supervised

RTD1RTD6

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

Schneider Electric

InfinityNumeric Attributes

InfinityNumeric
Attributes
Table

The following list provides you with the attributes and meanings for an
InfinityNumeric object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

AlarmVlaue

Binary bitmap that corresponds to the alarms that may be active


on this point

Alias

Alias of the object

BaseLink

Meaningless to the user

Channel

Terminal number into which this object is wired

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

Export

Indicates that the object value has been tagged for export.

ExtLogInterval

Log Interval to be used with extended logs.

ExtLogSize

Number of elements to be stored in the extended log for this


object.

FollowUpRule

Not Meaningful to the User

Format

Format to be used in displaying object value

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

Andover Plain English Language Reference C - 81

InfinityNumeric Attributes
InfinityNumeric
Attributes Table
continued

C-82

Attribute

Description

IncludeObject

Not Meaningful to the User

IODirection

Directional configuration for specific IO module points.

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LastExtLogTime

Time stamp of the most recent entry in an object's extended log

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LCDState

Where applicable, indicates whether or not a point can be


displayed on the local display.

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Param1Param6

XDriver configuration value

Port

Comm port used by Xdriver

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Setpoint

Indicates if point is to be used as a setpoint. Allows its value and


manual array to be restored at reload.

Size

Number of elements in an object's manual array or automatic log

State

Indicates if an object has been enabled or disabled

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Units

The engineering units to be used for this object

Value

The value of this object after any conversions that may be required

Schneider Electric

InfinityOutput Attributes

InfinityOutput
Attributes
Table

The following list provides you with the attributes and meanings for an
InfinityOutput object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Andover Plain English Language Reference C - 83

InfinityOutput Attributes

InfinityOutput
Attributes Table
continued

C-84

Attribute

Description

EngScaleBot

The bottom value in Engineering Units that corresponds to the


bottom electrical value

EngScaleTop

The top value in Engineering Units that corresponds to the top


electrical value

Export

Indicates that the object value has been tagged for export.

ExtLogInterval

Log Interval to be used with extended logs.

ExtLogSize

Number of elements to be stored in the extended log for this


object.

FollowUpRule

Not Meaningful to the User

Format

Format to be used in displaying object value

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

Invert

Reverse Polarity (NO vs NC)

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LastExtLogTime

Time stamp of the most recent entry in an object's extended log

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LCDState

Where applicable, indicates whether or not a point can be


displayed on the local display.

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Override

Indicates if the output has placed in manual control in the field

OverrideValue

Actual state of the output when it has been placed on manual


control in the field

Owner

Owner of the Object.

Param1Param6

XDriver configuration value

Port

Comm port used by the Xdriver

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

Schneider Electric

InfinityOutput Attributes

InfinityOutput
Attributes Table
continued

Attribute

Description

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

State

Indicates if an object has been enabled or disabled

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Units

The engineering units to be used for this object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference C - 85

InfinityProgram Attributes

InfinityProgram
Attributes
Table

C-86

The following list provides you with the attributes and meanings for an
InfinityProgram object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinityProgram Attributes

InfinityProgram
Attributes Table
continued

Attribute

Description

FlowType

Specify program flow to be either looping of fall through

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

CurrentLine

Holds the name of the line that is currently being processed

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LineStartTime

Initial time of processing of current line

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

ProgPending

Not Meaningful to the User

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

State

Indicates if an object has been enabled or disabled

TD

Amount of time that program has been processing the currentline


in days

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TH

Amount of time that program has been processing the currentline


in hours

TimeLocked

The time the object was last opened

TM

Amount of time that program has been processing the currentline


in minutes

TS

Amount of time that program has been processing the currentline


in seconds

Type

The type of the object

Andover Plain English Language Reference C - 87

InfinityString Attributes

InfinityString
Attributes
Table

C-88

The following list provides you with the attributes and meanings for an
InfinityString object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinityString Attributes

InfinityString
Attributes Table
continued

Attribute

Description

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LockedBy

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Param1Param6

XDriver configuration value

Port

Comm port used by Xdriver

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the User

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Setpoint

Indicates if point is to be used as a setpoint. Allows its value and


manual array to be restored at reload.

Size

Number of elements in an object's manual array or automatic log

State

Indicates if an object has been enabled or disabled

StringSize

Number of characters in string

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference C - 89

InfinitySystemVariable Attributes

InfinitySystem
Variable
Attributes Table

C-90

The following list provides you with the attributes and meanings for
an InfinitySystemVariable object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

InfinitySystemVariable Attributes

InfinitySystem
Variable
Attributes Table
continued

Attribute

Description

LastLogTime

Time stamp of an object's last entry in the local automatic array.

LCDState

Where applicable, indicates whether or not a point can be


displayed on the local display.

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

Refresh

Rebroadcasts current value of point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

State

Indicates if an object has been enabled or disabled

SVType

Data type - Not meaningful to user

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference C - 91

IOUModule Attributes

IOUModule
Attributes
Table

C-92

The following list provides you with the attributes and meanings for an
IOUModule object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

BaseLink

Meaningless to the user

CommStatus

Communication status of module

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

IOU

IOU number of object

LastChangeBy
Learn

Name of the user making the last change


This is a command that invokes a learn. No data is stored.
NOT PE settable

LockedBy

Not Currently Implemented

Schneider Electric

IOUModule Attributes

IOUModule
Attributes Table
continued

Attribute

Description

LockingWorkstation

Not Currently Implemented

ModelName

Module type

ModuleID

Module identiying number

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

ProgramID

Version of IO firmware

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name of any security level attached to object

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Wink

Test communication status , causes LED to flash on module

Andover Plain English Language Reference C - 93

ListView Attributes

ListView
Attributes
Table

C-94

The following list provides you with the attributes and meanings for a
ListView object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

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

Schneider Electric

ListView Attributes

ListView
Attributes Table
continued

Attribute

Description

LastChangeBy

Name of the user making the last change

ListClass

Class from which to select list

ListTemplate

Template of a list

LiveDataonDemand

Force list to go out to the field to gather live data when the list is
first viewed

LiveDataRefreshRate

Frequency with which to updat the live values in the list

LiveQualifier

Live condition criteria by which to restrict the list

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

PathType

Path designation upon which list is to be run

PromptFlag

Not Meaningful to the User

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

ReportID

Not Meaningful to the User

ReportTemplate

Template within which report should be built when list is printed

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Shortcuts

Not Meaningful to the User

ShowGridLines

Determines if lines should be drawn around list fields when list is


printed

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference C - 95

Loop Attributes

Loop
Attributes
Table

The following list provides you with the attributes and meanings for a
Loop object.
Attribute
AckedTransitions
Action
Bias
ControlledVariableUnits
ControlledVariableValue
COVIncrement
Description
DerivativeConstant
DerivativeConstantUnits
ErrorLimit
EventEnable
EventNotificationClassId
EventState
IntegralConstant
IntegralConstantUnits
MaximumOutput
MinimumOutput
NotifyType
OutOfService
OutputUnits
Priority
ProportionalConstant
ProportionalConstantUnits
Reliability
Setpoint

StatusFlags
TimeDelay
UpdateInterval
Value

C-96

Schneider Electric

Description
This string records the last alarms that were acked, in order.
Determines whether the Loop is Direct or Reverse acting.
The amount added to the output of the PID algorithm before its
written to Value of the Loop.
The units for the controlled variable reference.
This is the value of the ControlledVariableReference.
This is the maximum change of value of the loop that is allowed
before the loop issues an alarm.
The description of the Loop object.
The derivative portion of the PID algorithm.
The units for the Derivative constant.
This is the size that the error can grow before the Loop issues an
alarm.
These flags determine whether the Loop should alarm on Alarm,
Return To Normal and Fault.
This is the object identifier of the notification class that is used to
determine the recipients of an alarm.
This is the state the Loop is in with regard to intrinsic alarming.
The integral portion of the PID algorithm.
The units of the integral constant.
The maximum possible value of the Loop.
The minimum possible value for the Loop.
The type of notification that is sent..
True when the Loop is out of service. The Value can only be
written when the Loop is out of service.
The output units for the Loop.
The priority of the Loop (1 is highest, 16 is lowest).
The proportional parameter of the PID algorithm.
The units for the proportional constant.
This status line details whether the Loop is working reliably or
not.
This is either the value of the SetpoinntReference, or the value
that the Loop uses as its setpoint if the SetpointReference is not
set.
A series of flags that detail the status of the Loop.
The amount of time that the Loop waits until it issues an alarm
The time in milliseconds that the PID algorithm sleeps before it
updates its output value.
This is the value that the Loop is writing to the
ManipulatedVariableReference.

MultiStateInput Attributes

MultiStateInput
Attributes
Table

The following list provides you with the attributes and meanings for a
MultiStateInput object.
Attribute

Description

AckedTransitions

Not meaningful to user - Currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

Alias

Alias of the object

BaseLink

Meaningless to the user

Channel

Terminal number into which this object is wired

CreatedBy

Name of user who created object

CreateTime

Time of object creation

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DeviceType

Not Meaningful to the User

DigitalFilter

Indicate if digital filtering is to be used.

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

ElecType

Object's electrical type (voltage, current, digital, etc.)

ElecValue

Object's actual electrical value

EventEnable

Lists which of the 3 basic alarms are enabled - Alarm, RTN,


Fault (WS points only)

EventNotificationID

Lists Event Notification associated with Basic Alarms (WS


points only)

Andover Plain English Language Reference C - 97

MultiStateInput Attributes

MultiStateInput
Attributes Table
continued

C-98

Attribute

Description

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

NumberofStates

Determines how many different states a multistate IO point can


have

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

Schneider Electric

MultiStateInput Attributes

MultiStateInput
Attributes Table
continued

Attribute

Description

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

TimeLocked

The time the object was last opened

TriggerThreshold

The amount, in engineering units, that the value must change


before it will update

Type

The type of the object

Value

The value of this object after any conversions that may be


required

Andover Plain English Language Reference C - 99

MultiStateOutput Attributes

MultiStateOutput
Attributes Table

The following list provides you with the attributes and meanings for a
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

Alarm1Alarm8

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-100 Schneider Electric

MultiStateOutput Attributes

MultiStateOutput
Attributes Table
continued

Attribute

Description

EventState

Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)

FollowUpRule

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

IOU

IOU number of object

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

NumberofStates

Determines how many different states a multistate IO point can


have

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

RelinquishDefault
ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

Andover Plain English Language Reference C - 101

MultiStateOutput Attributes

MultiStateOutput
Attributes Table
continued

Attribute

Description

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

TimeLocked

The time the object was last opened

TriggerThreshold

The amount, in engineering units, that the value must change


before it will update

Type

The type of the object

Value

The value of this object after any conversions that may be


required

C-102 Schneider Electric

MultiStateValue Attributes

MultiStateValue
Attributes
Table

The following list provides you with the attributes and meanings for a
MultiStateValue object.
Attribute

Description

AckedTransitions

Not meaningful to user - Currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarmgraphicpage

Not currently implemented

Alarm1Alarm8

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

Andover Plain English Language Reference C - 103

MultiStateValue Attributes

MultiStateValue
Attributes Table
continued

Attribute

Description

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LCDSettable

Capable of being set from the LCD

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

TimeLocked

The time the object was last opened

TriggerThreshold

The amount, in engineering units, that the value must change


before it will update

Type

The type of the object

Value

The value of this object after any conversions that may be


required

C-104 Schneider Electric

Network Attributes

Network
Attributes
Table

The following list provides you with the attributes and meanings for a
Network object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarm1Alarm8

Equals "on" if alarm attached in this position is in alarm else


equals "off"

AlarmEnable

Binary bitmap that corresponds to which of the eight alarm


positions are enabled

AlarmFaults

Reflect fault status of any alarm link attached - not currently


implemented

AlarmFlags

Bitmap of which alarms are active (as with alarmvalue) - not


currently implemented

Alarmgraphicpage

Not currently implemented

AlarmInfo

Indicates if alarms (advanced only on ws) are attached

AlarmReferencePointf
orUpdates

If remote site, this point will be examined for change (when


connected) and alarm updates occur when point changes

AlarmUpdateIntvl

Set period of time after which a remote site will have its alarms
updated

Alias

Alias of the object

BaseLink

Meaningless to the user

CarrierWait

Number of seconds to wait for a carrier indication

CommID

Not meaningful to user

ConnectScript

Script to be processed when connection is required

ConnectWaitTime

Amount of time to wait, in seconds, before connection is


established

CreatedBy

Name of user who created object

CreateTime

Time of object creation

DefaultFolder

Folder into which all new objects will be placed when created.

Description

Description of Object

DeviceID

Name of the device owning the object

DeviceModel

Not Currently Implemented

DialWait

Number of seconds to wait before a dial instruction is to be


processed

DisableUpdate

Indicates if automatic updating has been halted by the user

Andover Plain English Language Reference C - 105

Network Attributes

Network
Attributes Table
continued

Attribute

Description

DisconnectScript

Script to be processed when a disconnect is requested

DisconnectWaitTime

Amount of time to wait before a disconnect is to be complete

DistPending

Indicates that distribution is pending for this object

EditLock

Indicates if object has been locked to additional Edits

EventRefPoint

If remote site, this point will be examined for change (when


connected) and event updates occur when point changes

EventUpdatInterval

Set period of time after which a remote site will have its events
updated

FolderType

Not Meaningful to the User.

FollowUpRule

Not Meaningful to the User

GraceInterval

Not Meaningful to the User

Graphics

Not Meaningful to the User

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastALarmUpdate

Time of last alarm update

LastChangeBy

Name of the user making the last change

LastEventUpdate

Time of last event update

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

MaxResponseTime

Maximum time that can pass before a response is tobe received


and after which a retransmission will occur

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NetworkProtocol

Protocol used by Network

NetworkType

Not meaningful to user

NetworkUTCOffset

Universal Time Constant offset to be used by entire network

Owner

Owner of the Object.

PhoneNumber

Phone number to be dialed for connection to remote network

PortNum

Not meaningful to user

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

RemovePersonSynch

Distribute to all networks on person deletion

ReportID

Not Meaningful to the USer

C-106 Schneider Electric

Network Attributes

Network
Attributes Table
continued

Attribute

Description

SafetyInterval

Amount of time after which no activity will result in a disconnect

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

SendtoACX

Not viewable by user

SendtoCX

Not viewable by user

SynchDB

Turns on database synchronizatio

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeDifference

Not meaningful to user

TimeLocked

The time the object was last opened

Type

The type of the object

UniquePins

Not currently implemented

Andover Plain English Language Reference C - 107

NetworkDialUp Attributes

NetworkDialUp
Attributes
Table

The following list provides you with the attributes and meanings for a
NetworkDialUp object.
Attribute

Description

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

ActiveAlarmSync

Indicates if all alarm infromation will be extracted on dial up

ActiveEventSync

Indicates if all event infromation will be extracted on dial up

Alarmgraphicpage

Not currently implemented

AlarmPollInterval

Amount of time in minutes that will pass between dial ups to poll
for alarms

Alarm1Alarm8

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

C-108 Schneider Electric

NetworkDialUp Attributes

NetworkDialUp
Attributes Table
continued

Attribute

Description

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

Name

Name of the object

NetworkNumber

Not Meaningful to the User

Owner

Owner of the Object.

PhoneBookEntry

Individual telphone number used to dial network

PhoneFile

Text file that is used to store the telephone numbers

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

RemoteNetwork

Indicates if network requires dial out

ReportID

Not Meaningful to the USer

RouterCX

Name of the CX that is to serve as a router for all communication


to the remote site

ScheduleEvents

Not viewable by user

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

TimeLocked

The time the object was last opened

Type

The type of the object

Andover Plain English Language Reference C - 109

Numeric Attributes

Numeric
Attributes
Table

The following list provides you with the attributes and meanings for a
Numeric object.
Attribute

Description

AckedTransitions

Not meaningful to user - Currently not supported

AckTranstoFault

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Fault

AckTranstoNorm

Binary bitmap that corresponds to the alarm number that has


made a transition back to Normal

AckTranstoOffNorm

Binary bitmap that corresponds to the alarm number that has


made a transition from normal to Alarm

Alarmgraphicpage

Not currently implemented

Alarm1Alarm8

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

C-110 Schneider Electric

Numeric Attributes

Numeric
Attributes Table
continued

Attribute

Description

HighLimit

High Limit to be used in Basic Alarm (WS points only)

IconID

Not Meaningful to the User

ID

SQL Object ID - Not Meaningful to the User

IncludeObject

Not Meaningful to the User

LastChangeBy

Name of the user making the last change

LimitEnable

Not Meaningful to the User

LockedBy

Not Currently Implemented

LockingWorkstation

Not Currently Implemented

LogIntervalSecs

Number of seconds between entries in an automatic log

LogType

Type of automatic log - instantaneous, average, etc.

LowLimit

Low limit to be used in Basic Alarms (WS points only)

Name

Name of the object

NetworkNumber

Not Meaningful to the User

NotifyType

Type of notification to be used

OutOfService

Service state of an object (similar to enable/disable - WS points


only)

Owner

Owner of the Object.

Properties

Not Meaningful to the User

ReferencePoint1
ReferencePoint4

Alarm Referenece Point

RefTemplate

Name and path of template from which object was created

Reliability

Statement of the reliability of the obect's value - not currently


implemented

RelinquishDefault
ReportID

Not Meaningful to the USer

ScheduleEvents

Not viewable by user

SecurityLevel

Name and path of any security level attached to the object

Size

Number of elements in an object's manual array or automatic log

StatusFlags

Not Meaningful to the User

Template

When true, indicates that object was made from a template

TemplateAlias

Alias that will be used when creating objects from this template
object - meaningful only for templates

TemplateCreateRule

Not meaningful to user

TemplateName

Name that will be used when creating objects from this template
object - meaningful only for templates

Threshold

The amount, in engineering units, that the value must change


before it will update

TimeDelay

The time delay used in evaluating Basic Alarms (WS points only)

Andover Plain English Language Reference C - 111

Numeric Attributes

Numeric
Attributes Table
continued

Attribute

Description

TimeLocked

The time the object was last opened

Type

The type of the object

Units

The engineering units to be used for this object

Value

The value of this object after any conversions that may be


required

C-112 Schneider Electric

ParamInfo Attributes

ParamInfo
Attributes
Table

The following list provides you with the attributes and meanings for a
ParamInfo object.
Attrib