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
IF…THEN ..................................................................................................................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 v


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
NetController Router Network
Path
ACC I/O Bus
PC Windows IOU Modules
Workstation running BACnet
CyberStation with MS/TP
Database RS-485 b3xxx

Local field wiring

Example of a Continuum/BACnet Single Workstation Network

Moderate Andover Continuum System


The Andover Continuum system design is based on scalability, so expansion to a multi-
workstation, larger network configuration can be accomplished easily. The illustration on
the following page shows such a setup. In this configuration, the Ethernet LAN has been
expanded to include another workstation, a database server, an Infinity CX 9xxx series
network controller and a BACnet 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
Ethernet IP Network

PC Windows
Workstations
running
CyberStation

SQL
Database
Server

Infinity
CX 9xxx NetController
LBUS IOU Modules
bCX1 Controller
BACnet
Controller
Router
IOU Modules
b3xxx
Local field wiring
Local field Infinet Infinet
wiring
BACnet BACnet
MS/TP Local field Local field
Controllers
RS-485 wiring wiring
Local field
wiring
Infinet Infinet
b3xxx
Controllers Controller

Third Party Local field Local field


BACnet wiring wiring
Device

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:
• Network Controllers • CyberStation Software
• Infinet Controllers • Database
• MS/TP Controllers • Infinet
• I/O Modules • LBUS
• Workstations • MS/TP

1-4 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 series⎯Access 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 250⎯Display Control
• LCX800 series⎯Local Control
• LCX89X series⎯Lighting Control
• SCX series⎯System Control
• TCX series⎯Terminal Control (HVAC, VAV, smoke detection)
• i2 series (also referred to as Infinet II)⎯Updates and replaces many of the older
Infinet controllers. The i2 series controllers have flash memory for firmware and
object storage.
Infinet controllers are connected to network controllers via the Infinet network.

MS/TP Controllers
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 Description

A-Z and Alphabetic characters. Upper- and lowercase are


a-z interchangeable.

0-9 Numeric characters.

_ Underscore character.
. Period character
/ Slash character

− Dash character

Space character

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

1-8 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 Indicates the alarms that are active for an object.

Exported Indicates if the point is referenced by another controller. This


attribute is read-only and is set by the Continuum System.

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


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


13
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 Opening the Plain English IDE y The IDE Assistant


y Plain English IDE Features y The IDE Watch Bar
y The Menu Bar y Docking and Floating
y The Main and Find Toolbars y Configuring a Plain English Program File
y The Check Toolbar and the Command
y Using the Editor
Line
y The IDE Explorer y Using the Plain English Wizard
y The IDE Editor
Opening the Plain English IDE
There are three ways to open the IDE when you wish to create a new program file:
y From the System & Status button on CyberStation’s main menu
y From the Continuum Explorer
y 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 hot spot to start the Plain English IDE.

2-2 Schneider Electric


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 controller-
based programs or simply Program for workstation-resident programs from the popup
menus that appear. BACnet programs are created as Infinity programs.

Selecting a New Infinity Program

From the Start Menu


From the Windows explorer, click Start. Select Programs -> Continuum -> 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 Main Command Check
Menu Bar Toolbar Line Toolbar
Find
Toolbar

Class of
Objects
Displayed
In IDE Editor
Explorer

IDE Explorer

Assistant Watch Bar

Status 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 The Title Bar – Indicates the directory path to the current PE program file.
y The Menu Bar – Provides a series of menus and options for creating and editing PE
program files.
y The Main Toolbar – Provides shortcuts for the items in the Edit Menu.
y The Find Toolbar - Provides a shortcut for locating specific words, symbols, or
phrases in a PE program file
y Check Toolbar – Works in conjunction with the Assistant to compile programs and
report errors.
y IDE Explorer – Provides a graphical display of your system.
y Editor – Provides an area for users to write and edit programs.
y Assistant - Provides additional support in the writing and editing of Plain English
programs by supplying features that help to simplify the coding process.
y Watch Bar - Allows you to monitor your program's effect on other objects.

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 Displays the Infinity Program, or the Function Configuration Dialog.

Firing Order Displays and allows editing of the current firing order.
Print Prints the active program file.

Exit Exits the Plain English editor.

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 Changes the IDE Explorer to folder view. In this view, the Root and
all folders appear in the navigation pane.
Network View Changes the IDE Explorer to network view. In this view, the
network you set up appears in the navigation pane.

2-8 Schneider Electric


Build Menu
The Build Menu offers the following options:
Option Description
Check Compiles the currently active program file. Reports errors in the
Check page of the Assistant
Check All Compiles all open program files. Reports errors in the Check page
of the Assistant.

Stop Stops compiling.

Tools Menu
The Tools Menu offers the following options:
Option Description

Wizard Opens the Plain English Wizard.


Calculator Displays the Calculator.
Options Displays the Options dialog.

Window Menu
The Window Menu offers the following options:
Option Description
Cascade Displays program windows overlapping diagonally.
Tile Horizontally Displays program windows in equal horizontal portions of
the editor.

Tile Vertically Displays program windows in equal vertical portions of the editor.

Arrange Icons This feature is not supported in this release

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

Help Menu
The Help Menu offers the following options:
Option Description

Help Topics Displays Plain English online help topics.

About IDE 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 Icon

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


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
1 Type the text that you want to find, or use the pull-down list to select
previously searched text.

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

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

click

Andover Plain English™ Language Reference 2-


11
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 Browse Button ⎯ opens a drop down explorer tree.
y Command Line ⎯ where you enter Plain English commands.
y Response Line⎯where messages and print requests appear.

Browse Command Line Response Line


Button
2-12 Schneider Electric
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:
y Explorer Drop-Down List Box ⎯ Displays the object tree of the current folder or
device directory.
y Class Drop-Down List Box ⎯ Displays the classes of the folder or device object
selected from the Explorer Drop-Down List Box.
y Back Up One Level Button ⎯ Changes the Explorer Drop-Down List Box to the next
higher directory.
y Copy Objects Button ⎯ Copies selected object on the Class Drop-Down List to the
IDE Assistant.
IDE Explorer Drop-
Down List Box

Back Up
Current Device One Level
Button

Current Class Copy Objects


Button

Class Drop-
Down List Box

List of Objects
Matching
Selected Current
Class

IDE Explorer

Andover Plain English™ Language Reference 2-


13
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 drop-
down list box.

IDE Explorer Popup Shortcut Menu Features


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

2-14 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 Each program displays in its own Editor window.
y More than one program can be open at the same time, each with its own resizable
Editor window.
y 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 In multiple Editor window displays, clicking a program tab activates that program.
y Only one program at a time can be the active or current Editor window.
y When a program becomes too large for its window, scroll bars appear.
y 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 2-


15
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 Provides attribute values used by the system.
Favorites Provides a storage area for commonly used items such as keywords,
statements, functions, objects and so on.

Selecting and 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 object’s 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:
y The Title Bar, Menu Bar, Main Window and Status Bar remain on your screen at all
times.
y You can display or hide the icon toolbars and other tool window components of the
IDE.
y 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 2-


17
Docking and Floating
Depending on the selection or de-selection of the Allow Docking and Float in Main
Window options:
y The Assistant and Watch Bars can be placed and arranged within the Main Window.
y The Assistant and Watch Bars can be dragged and dropped outside of the Main
Window or outside of the IDE window.
y The Explorer Bar can be dragged and dropped within the IDE or outside of the IDE
window.

Using the Docking and Floating Options


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

Docking and Floating Options Menu

Docking and Floating Menu Selections


Option Enabled Disabled
Allow Lets you drag the window to a fixed Displays the window’s title
Docking position on the screen. Window size bar, indicating that the
changes according to available window is a floating object
empty screen space. Shows an that can be dragged
outline of the new window shape anywhere on the screen.
before docking. The title bar
disappears on a docked window.

Hide Removes the window from view. Make windows visible from
the View menu.

Float in Main Puts the tool window in the Main Window can be dragged out
Window Window and can be moved within it. of the Main Window.

2-18 Schneider Electric


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

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


2 Select Enabled in the State selection box.

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

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


controlled from the Command line.

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

6 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.
7 Click the OK button at the bottom of the dialog box and the File Editor
window appears.

Andover Plain English™ Language Reference 2-


19
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 A single program can have up to 400 physical lines.
y A physical line can have up to 132 characters.
y If a line must exceed 132 characters, enter a tilde (~) at the end to continue the line.
y 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 Move the cursor
y Select text
y 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.
Selecting Text
Shift Arrow Selects text one character at a time in the direction of the
arrow.
Shift Home Selects text from the cursor position to the beginning of the
line.
Shift End Selects text from the cursor position to the end of the line.

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.
Changing and Moving Text
Backspace Deletes text you have selected. Otherwise, deletes one
character to left of the cursor. If the cursor is at the
beginning of a line joins the line with the previous one.
CTRL F Opens the Find window.
CTRL H Opens the Replace window.
CTRL Insert Copies selected text and store it in a temporary storage
area. You can then put it somewhere else with Shift Insert.
Delete Deletes text you have selected. Otherwise, deletes one
character to the right of the cursor. If the cursor is at the
end of a line connects the line to the next one.
Enter Ends a line and starts a new one.
Insert Toggles between two modes:
Inserting text into the current text
Typing over current text.
Shift Delete Cuts selected text and store it in a temporary storage area.
You can then paste it with Shift Insert.
Shift Insert Puts or pastes text you last copied or cut at the cursor
position in the file. Replaces any selected text with text you
last cut or copied from the file.

The Editor 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 2-


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

Find Dialog Box

Find Dialog Box Features


Menu Item Action

Find What Enter the text to search for⎯can be up to 132 characters including
spaces.

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

Match case Will match the case of the selected word( if "One" is selected it will
ignore "one")
Direction Up searches from the cursor position to the beginning of the
program. Down searches from the cursor position to the end of the
program.

Find Next Finds the next instance of the word/s listed in the "Find What"
column.

2-22 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 Action

Find What Enter the text to search for⎯can be up to 132 characters including
spaces.

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

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

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

Replace Replaces the first instance of the found text.

Find Next Replaces the found text when it is clicked and then the Replace
button is clicked.

Replace All Replaces all instances of the found text.

Andover Plain English™ Language Reference 2-


23
Going to a Labeled Program Line
To locate a labeled line in any program, you can use the Goto command. Select
Edit…Goto from the IDE menu bar to bring up the Go To dialog box. Then type in the
desired line label in the Line text box and click 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
1
external program.
2 A flashing cursor will appear at that point.
3 Open the File menu from the main menu bar.
4 Select Import from the File menu.
5 The IDE File Import dialog box appears.

File Import Dialog Box

2-24 Schneider Electric


Importing a Program File (continued)
Step Action
6 Use the Look in pull down list box to locate the file to import.
7 Double click the file name so that it appears in the File name text box.
8 Click the Import button.
The entire file is inserted into the existing program at the point selected in
9
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
1
the Editor window.
2 Open the File menu from the main menu bar.
3 Select Export from the File menu.
4 The IDE File Export dialog box appears.

File Export Dialog Box

Andover Plain English™ Language Reference 2-


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

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

Saving the 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 button in the Main
Toolbar.
The IDE automatically checks the file for errors before saving. If errors are found, the
Check tab on the Assistant becomes active and lists the errors. Double click 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 Sets the program’s Status attribute to Active.
y Sets the program’s CurrentLine attribute to its first line.
y 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 2-


27
Monitoring the Program File Status
You can monitor the program file status by viewing the Run Time status page.

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

The Run Time File Status Window

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

2-28 Schneider Electric


Run Time Window Features
Item Description
Last Changed Shows the date and time the program was last altered.

Current Line Start Displays the date and time the current line began executing.
File Size Displays the number of characters (bytes) in the file (1024 bytes
equal 1KB). The size of the file also includes basics about the
file, such as its name, flowtype, and other attribute settings that
the controller stores.

Program Status Shows whether the program is Active or Inactive.

Current Line Displays the name or number of the currently active line of the
program. No current line shows if you have not labeled any
program lines.

Error Gives the explanation of the last runtime error that occurred
when running this program.

TD Time in days that a program has been at the specified line.


TH Time in hours that a program has been at the specified line.
TM Time in minutes that a program has been at the specified line.
TS Time in seconds that a program has been at the specified line.

Stopping the 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 2-


29
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 pre-
written programs and functions from which to choose. The tabs along the top of the
menu's window identify different types of programs. Clicking a tab displays the programs
available of that type. To find information about a particular program, click its icon. The
program’s full name appears below the bottom left-hand corner of the window and a brief
description of what the program does appears in the Description text box.

PE Wizard File Selection Menu

Selecting and Configuring a Wizard Program


To select a program, click 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:
y Yes, include comments⎯checking this box means you want to leave the pre-written
program comments in the program. Not checking this box means you want the
comments stripped out.

Andover Plain English™ Language Reference 2-


31
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: Some of the pre-written programs require additional input before they can be
transferred to the Editor. These programs are discussed on the next page.

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


33
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 program’s 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 statement’s
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 2
y SQRT (9)
y 900 DIVIDED BY 8
y 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 "WARNING⎯HIGH TEMPERATURE"
y LEFT ("TEST",1)
y "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 Definition
Statement (an action Defines an action the controller can perform.
word)

Function Carries out a particular series of calculations or actions


and may return 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:
y Names you give to objects such as network controllers, Infinet controllers, BACnet
controllers, programs, files, and points.
y Words that Andover Continuum has reserved (called “reserved words” see Appendix
B).
y 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 FallThru
y Looping
A FallThru program executes the program lines in the sequential order in which you list
them⎯from the first to the last line. So the program flows, or "falls thru" the entire
sequence of statements.
A Looping program remains on the line 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:
y Select the associated system variable or point editor from the appropriate controller
in CyberStation’s Explorer.
y Open the Triggers tab page on the editor and browse through the Plain English
programs to locate and select the Fan program.
This adds the program to the system variable or point’s trigger list. Refer to Chapter 13 of
the Continuum CyberStation Configurator’s Guide for detailed information on setting up
triggers.
You can also use triggers to reduce controller scan time. (See “Triggering Programs from
Points” later in this chapter)

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 You must use one verb only (statement word) in each statement.
y 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 Conditional
y 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


IF…THEN
IF..THEN statements differ from other statements in two major ways:
y 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.
y You can include a statement (or multiple statements) that could otherwise stand on
its own after the word THEN.
If you use a statement with IF and THEN, the IF through the THEN is considered one
statement and contains one operator (operators are similar to verbs−see Chapter 5). 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 operator⎯IS GREATER
THAN:

IF TEMP IS GREATER THAN 86 THEN…

The following complete IF..THEN statement appears to have two verbs; however, the
operator (IS) belongs with IF..THEN and TURN ON remains as the only verb:

IF FAN IS ON THEN TURN ON PUMP

The statement after THEN could be an independent statement:

TURN ON PUMP

For information on how to include multiple statements after the word THEN, see the
IF..THEN..ELSE keyword in Chapter 7.

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 Makes programs easier to maintain.
y Makes programs easier to debug
y 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 Gathers all data it needs for the next scan through the programs.
y Reads and executes one line from each enabled program starting with the first
program in the firing order list.
y Converts and sets outputs.
This type of single run through the list of programs is called a "scan."
The controller then returns to the beginning of the firing order list and scans the next
appropriate line of each program. The scans continue.
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 Updates controller-resident schedules, setting occupied and unoccupied events.
y Updates controller input points.
y Runs program statements and Command Lines (executes Command Lines between
program lines only).
y Updates controller output points.
y Processes all alarms and if necessary, updates the Status bar.

Andover Plain English™ Language Reference 3-


11
Other Actions
The controller also performs the following actions at any time during
the scan:
y Has triggers set program Status to Active.
y Changes value of numeric, string, or datetime points.
y Updates attribute settings.
y 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
program’s 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 3-


13
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 State is ENABLED
y Status is ACTIVE
y 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 scan⎯the
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 3-


15
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:
y Set the points that your program references to triggers for
that program.
y The program should make the decision and set some points.
y 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 3-


17
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 Input
y Output
y Numeric
y String
y 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 …

INPUT1’s “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 Numeric (called Multi-State Value, Analog Value or Binary Value on Workstations)
y String
y 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 workstation’s memory that contain
plain text information such as messages that are displayed on a workstation screen,
printer or for a display device such as the LD-1 or xP Display.

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 Numeric
y 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 The actual number with up to seven decimal places
y A number in scientific notation
y Positive numbers between 1.40129E-45 and 3.402823E+38
y 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 12
y 74.5
y -.543
y 4E+32

Andover Plain English™ Language Reference 4-5


How the Controller Interprets Numbers
The controller accepts all numbers, but the controller interprets:
y Numbers greater than 3.402823E+38 as infinity.
y Numbers less than -.402823E+38 as negative infinity.
y 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 Numeric
y String
y 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 Explorer’s
viewing pane for the selected controller.

Controller System Variables Appearing in Continuum Explorer

Programmable System Variables


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

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

4-10 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 Description
AccessLog CX series The number of personal records stored on
controllers the access server.
AccessServer ACX & CX series A programmable system variable that
controllers indicates the ACCNet ID where the areas
and personnel are stored for access control.
Setting this system variable to 0 (zero)
instructs the access controller to perform
local access validation using its distributed
personnel objects.
Alarms All controllers & The number of pending alarms. Increments
CyberStation by one each time a new alarm occurs and
decrements by one each time an alarm
returns to normal.
AudioBell DCX250 controller A programmable system variable that sets
the number of seconds that the DCX250
display will beep for.
AvailRecords ACX & CX series Expresses a close approximation of the
controllers remaining slots left to store personnel
records in a controller’s memory.
BackLight DCX250 controller A programmable system variable that sets
the number of seconds to turn on the
background light on the DCX250 display.

CabinetTamper ACX controller Indicates whether or not the controller has


been tampered with (True or False).
CPUPower CX series A programmable system variable that is
controllers used to turn off the battery power to the
controller’s CPU.
DatabaseStatus CyberStation Shows the current state of the database as
Online or Offline.
Date *All controllers & Retrieves current system date and time so
CyberStation that you can then store it in a variable.
DayofMonth *All controllers & Gives the current day of the month from 1
CyberStation to 31.
DayofYear *All controllers & Gives the current day of the year between 1
CyberStation and 366.
DCXPower DCX250 controller A programmable system variable that
controls power to the controller when its
PowerFail system variable is ON.
Errors *All controllers & Indicates the number of errors existing on
CyberStation the system.

Andover Plain English™ Language Reference 4-


11
Workstation & CX System Variables
Name Available on Description
EventLogSize CX series A programmable system variable that
controllers indicates the number of access control
events the controller can store in its event
log.
FreeMem *All controllers Indicates the number of bytes of free
memory available on a controller. Does not
indicate available memory on a
CyberStation.
Hour *All controllers & Indicates the current hour, from0 to 23.
CyberStation
HourofDay *All controllers & Indicates the time in decimal form from 0 to
CyberStation 23.99.
HundredthofSecond CyberStation Indicates hundredths of a second as a
number between 0 and 99.
Infinet1Count CX series Gives the number of Infinet controllers
controllers and communicating with the CX or CMX 9924
CMX 9924 using Commport 1.
controller
Infinet2Count CX series Gives the number of Infinet controllers
controllers and communicating with the CX or CMX 9924
CMX 9924 using Commport 2.
controller
IOUCommFlt1 to *All controllers Gives ON if there is a communication fault
IOUCommFlt16 (failure) to or from the controller’s IOU
module or OFF if there is no communication
fault.
IOUPower CX series A programmable system variable that
controllers controls power to the IOU modules when the
associated controller’s PowerFail system
variable is ON.
MessageWindow CyberStation A separate window that shows all of the
system text messages since the last time
the message window was emptied.
MicroPower CX series A programmable system variable that
controllers and controls power to the ACX781 Infinet
ACX781Infinet controller when the associated controller’s
controllers PowerFail system variable is ON.
Minute *All controllers & Gives the exact minute of the current hour,
CyberStation from 0 to 59.
ModemPower CX series and A programmable system variable that
CMX series controls the battery power to the controller’s
controllers modem. Set to ON when AC power is up
and OFF when it is goes down.
Month *All controllers & Gives the current month of the year, from
CyberStation January to December.
NewAlarmCount CX and CMX Indicates the number of new alarms on the
series controllers controller and all its Infinet controllers since
the last time the alarms were sent to the
workstation.
PowerFail *All controllers & Indicates whether or not the AC power to
CyberStation the controller has failed. See full description
on page 4-14.

4-12 Schneider Electric


Workstation & CX System Variables
Name Available on Description
PowerUpTime *All controllers & Gives the date and time of the last AC
CyberStation power application to the controller.
ReaderPower ACX series Indicates whether or not any access card
controllers reader on the controller has lost power.
Gives TRUE if the card reader lost power,
FALSE if not.
Scan *All controllers & Indicates the controller’s last scan time in
CyberStation seconds.
Second *All controllers & Gives the exact number of seconds of the
CyberStation current minute, from 0 to 59.
Status1 to Status8 CX 9201 controller Programmable system variables that control
the eight status LEDs on the front of the
controller cabinet. ON turns on the LED and
OFF turns off the LED.
SystemStatus ACX and CX series Indicates whether communications is
controllers occurring between the access server and
the controller.
TimeofDay *All controllers & Gives the time of day with the hour and
CyberStation minute in the format HHMM where HH is a
number between 0 and 23 and MM is a
number between 0 and 59.
TouchedCell DCX250 controller Indicates the number (from 1 to 64) of the
first block (cell) that an operator touched on
the ACX 250 display during the last scan.
UniquePin ACX, CMX and CX Indicates whether or not each person who
(except 9500) has access must have a unique personal
series controllers identification number (PIN).
Version *All controllers & Gives the current version number of the
CyberStation software running on the controller.
Weekday *All controllers & Gives the current day of the week, from
CyberStation SUNDAY through SATURDAY.
Year *All controllers & Gives the current year from 1989 through
CyberStation 2088.
*Includes the following controllers: ACX series, CX series, LCX series, SCX series, TCX
series and the DCX 250.

Specific information pertaining to various characteristics of particular system variables


listed in the tables is provided in the following paragraphs.

STATUS# System Variables


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

Andover Plain English™ Language Reference 4-


13
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 Indicates the loss of AC power.
y Is set to ON if power has failed and set to OFF if AC power is present.
y Can be used as a trigger to tell the controller when to start a power management
program.
For CX9900 and ACX781 controllers:
y 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.
y 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 Definition
CPUPower Controls the power for the controller itself.

DCXPower Controls the power for the DCX controller.


ModemPower Controls the power for the modem.

IOUPower Controls the power for the IOU modules.

ReaderPower Controls the power for the ACX700 series controllers.


MicroPower Controls the power for the ACX781 controllers.

4-14 Schneider Electric


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


Operator Description Association
() Parentheses Left to Right
[] Array Element
Blank or \ Path Name Connector Right to Left
+ Plus Sign on Number Right to Left
- Minus Sign on Number
NOT Logical Negation
BITNOT Bitwise Negation
% Percentage
^ Exponentiation Left to Right
* Multiplication Left to Right
/ Division
MOD Modulus
+ Addition Left to Right
- Subtraction
< Less Than Left to Right
<= Less Than or Equal
> Greater Than
>= Greater Than or Equal
= Equal Left to Right
<> Not Equal
IS IN Set Inclusion
IS NOT IN Set Exclusion
IS BETWEEN Range
IS THRU Range
BITAND Bitwise Logical And Left to Right
BITOR Bitwise Logical Or
BITXOR Bitwise Exclusive Or
& Logical And Left to Right
! Logical Or
; Joining Operator Left to Right

5-2 Schneider Electric


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

Can be used in front of a number to show it is positive by has no


+ number
affect on the value.

Makes a positive number negative and a negative number


- number
positive. This works only on numeric expressions.
Negates the number or expression. If the value of the expression
NOT number is nonzero, NOT changes it to 0 and vice-versa. If the expression
is TRUE, NOT makes it FALSE and vice-versa.

Changes the 1s to 0s and 0s to 1s in the binary equivalent of the


BITNOT integer 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 Definition

Adds the numbers. Works only on numbers or datetimes


Addition number + number and the resulting expression is numeric or datetime.
Alias: PLUS.

Subtracts one number from another. Works only on


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

Divides one number by another. Works only on numbers or


datetimes and the resulting expression is numeric or
Division Number / number datetime.
Alias: DIVIDED BY.
Finds the amount left over when dividing the first number
by the second. For example 9 MOD 7 gives 2. Similarly,
Modulus number MOD number −9 MOD 7 also equals −2.
Alias: REMAINDER.

Finds the result of the first number raised to the second


Exponentiation number ^ number 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.

Compares two numbers and determines whether the value


of the left number is less than or equal to the value of the
Less Than or right.
number <= number
Equal
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.

Compares two numbers and determines whether the value


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

Compares two numbers and determines whether the value


Equal number = number 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 StrToNum converts a string to a number.
y NumToStr converts a number to a string.
y StrToDate converts a string with the correct information into a datetime.

5-6 Schneider Electric


List and Range Operators
The following table identifies and defines the List and Range Operators:
List and Range Operators
Operator Example Definition
Determines if the first number or expression is in the
number IS IN list listed set. If the number on the left-hand side of the
expression is in the list expression on the right-hand
IS IN Or side, the expression yields TRUE (numeric 1), or
number IS list FALSE (0) otherwise.
Alias: IS EITHER.
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
IS NOT IN number IS NOT IN list hand side, the expression yields TRUE (numeric 1), or
FALSE (0) otherwise.
Alias: IS NEITHER.

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
IS THRU IS number THRU number expressions.
(This statement is operationally equivalent to IS
BETWEEN)

Gives a range starting with the number or expression


IS BETWEEN number before AND and ending with the one after it.
IS BETWEEN
AND number
(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.
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
BITAND integer BITAND integer
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.
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
BITOR integer BITOR integer 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.
If both binary numbers contain a 1 in the same place,
that is TRUE OR TRUE, which gives FALSE because
BITXOR integer BITXOR integer 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 Example Definition

Includes two expressions (which must be numeric or


converted to numeric) in a comparison. The statement
AND number & number returns TRUE (numeric 1) if both expressions are
nonzero, and FALSE (numeric 0) otherwise.
The Alias: AND.
Determines whether a comparison is true by making
the comparison to each expression (which must be
numeric or converted to numeric) separately,
OR number ! number 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.
Joins two strings by adding the second one onto the
end of the first to form a new string. Both expressions
String Joining string ; string 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 The Command Line, if the function exists in a controller or on a workstation.
y 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
1 8.000
2 8.510

3 9.000
4 9.620
5 10.000
6 10.750
7 11.000
8 11.250

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

Setting Up an 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
Most recent
1 72 value recorded
2 73

3 75
4 74
5 73
6 72 th
8 most recent
7 71 value recorded
8 73

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

6-6 Schneider Electric


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

PRINT OutsideAir[6]

Log Update Intervals


Logs are updated at an 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 Instantaneous
y Average
y Minimum
y 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 See Page


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

7-2 Schneider Electric


Section 1 Format Conventions

Keyword Formatting Standard

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


Supported that the keyword can be used on.

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

Program Only run at the workstation


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

7-4 Schneider Electric


Text and Symbols Used in the Format Heading

Format The information contained after the keyword Format heading shows
Heading how and what you must enter to correctly use the indicated keyword.
Information 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 When a comma or colon is shown as part of the Format, it must be
Colon (:) 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 When the following terms appear in bold italics after the keyword in
Terms 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 This section presents the Andover Contiuum Plain English keywords
Keyword in their associated logical groups. Details on each keyword are in the
Groups Listing 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
UNACKEDALARMS System variable
BACnet READPROPERTY Function
RELINQUISH Function
WRITEPROPERTY Function
Building Control MOVE Statement
TURN Statement
Control of Inputs and Outputs System variable
IOUCOMMFLT#
System variable
STATUS#
(programmable)
Control Over Communications Function
INITMODEM
Function
DIAL
Function
CLOSE
Function
HANGUP
Function
OPEN
Function (comm
READ
port)
Creating/Manipulating Files CLOSEFILE Function
FILE Statement
OPENFILE Function
POSITIONFILE Function
READFILE Function
WRITEFILE Function
EOF Constant

7-8 Schneider Electric


Logical Keyword Groups

Logical Keyword Groups Listing continued

Table 7-1. Logical Grouping of PE Keywords


Group Keyword Type
Date and Time DATE System variable
DATETIME Statement
DAYOF MONTH System variable
DAYOFYEAR System variable
DIFFTIME Function
HOD System variable
HOUR System variable
MINUTE System variable
MONTH System variable
POWERFAIL System variable
POWERUPTIME System variable
SECOND System variable
STRTODATE Function
TIMEPIECE Function
TOD System variable
TS, TM, TH, TD Attributes
WEEKDAY System variable
YEAR System variable
Debugging DISABLE Statement
ENABLE Statement
P Statement
Print Statement
Display ASK Function
CLOSEWINDOW Function
PRINT Statement
MESSAGEWINDOW System variable
SHOW Statement
SHOWREPORT Statement
STATUSLINE System variable
Email SendEmail Function
Flow Control BASEDON..GOTO Statement
BREAK Statement
CONTINUE Statement
FOR..NEXT Statement
GOTO Statement
IF..THEN..ELSE Statement
LINE 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
Flow Control continued REPEAT..UNTIL Statement
RETURN Statement
ROTATE Statement
RUN Statement
STOP Statement
SELECT…CASE Statement
WHILE Statement
Input/Output LOGOUT Statement
P Statement
PRINT Statement
Logical AND Operator
BITAND Operator
BITNOT Operator
BITOR Operator
BITXOR Operator
IS Operator
IS BETWEEN Operator
IS GREATER… Operator
IS LESS… Operator
NOT Operator
OR Operator
Logs DeleteExtLog Function
GetExtLog Function
UpdateExtLog Function
Mathematical ABS Function
ACOS Function
ASIN Function
ATAN Function
ATAN2 Function
AVERAGE Function
CEILING Function
COS Function
DIVIDED BY Function
EXPONENTIAL Function
FACTORIAL Function
FLOOR Function
LN Function
LOG Function
MAXIMUM Function
MAXITEM Function
MINIMUM Function
MINITEM Function
MINUS Operator

7-10 Schneider Electric


Logical Keyword Groups

Table 7-1. Logical Grouping of PE Keywords


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

Andover Plain English™ Language Reference 7-


11
Logical Keyword Groups

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


Keywords administrators and other users with appropriate configuration level
clearance.
Table 7-2. Restricted Keywords
Group Keyword Type
Administration CURUSER Function
CURWORKSTATION Function
DELETEEXTLOG Function
ERRORS Function
FREEMEM System variable
LOAD System variable
SAVE Statement
SCAN Statement
VERSION System variable

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

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-


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

• Valid Access • Invalid Attempt


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

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

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

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

Modes Command lines and programs.


Available

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 Variable⎯settings 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 controller’s EEPROM


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

Products ACX series and CX series controllers.


Supported

Modes Command lines.


Available

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


Keywords

Alias ARCCOSINE

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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 IF..THEN..ELSE
Keywords IS...
OR

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

Modes Command lines and programs.


Available

7-22 Schneider Electric


ARG System variable

Format Format 1: ARG integer_constant name

Format 2: ARG [ integer_expression ]

Purpose Format 1: Renames one of the 15 system defined argument


variables (ARG[1] to ARG[15]) with a name you choose. Can only be
used to name an argument in a function.

The ARG variables are arguments or parameters that are passed to a


function. After you assign an easy-to-remember name to an
argument variable, you can then refer to it by its name so your
function is easier to understand.

Format 2: Calls the argument variable by its number.

Remarks integer_constant is any integer between 1 and 15.

name is any name you choose for the argument; up to 16


alphanumeric characters, including underscore and period, but must
begin with a letter. May not be a keyword.

integer_expression is any integer or expression that gives an


integer.

Up to 15 arguments can be passed.

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

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

Alias PARAM

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

Modes Programs (only in functions).


Available

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

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

Modes Command lines and programs.


Available

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


Keywords

Alias ARCSINE

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

Modes Command lines and programs.


Available

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


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

When the window displays, the current value of answer_var_or_point


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

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

Modes
Programs only
Available

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


Keywords

Alias ARCTANGENT

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

Modes Command lines and programs.


Available

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


Keywords

Alias ARCTANGENT2

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

Modes Command lines and programs.


Available

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


Supported

Modes Command lines and programs.


Available

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 • Applies to all ACX, CX, and CMX series controllers.


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

Example 1 To find out approximately how many remaining personnel slots are
available on an ACX series controller's memory, you would enter the
following at the command line:
Command Line
Pr MyNet\MyCX9410\MyACX701\AvailRecords

The control system software then prints the number of personnel


records in the following format:
AvailRecords = 3630
The returned AvailRecords value indicates that the ACX 701
controller can store approximately 3630 more personnel records.

Products ACX series, CMX series, CX series controllers.


Supported

Modes Command lines.


Available

Andover Plain English™ Language Reference 7-33


AVERAGE Function

Format Format 1: AVERAGE (numeric_list)

Format 2: AVERAGE ( numeric_array)

Format 3: AVERAGE ( numeric_log)

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

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

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

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

Replace numeric_array with any defined array that contains


numbers.

Replace numeric_log with any defined log that contains numbers.

Items in the list must all be either numbers or variables that 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

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


Supported

Modes Command lines and programs.


Available

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

Line Sun.1

Line Mon.1

Line Tue.1

Line Wed.1

Line Thu.1

Line Fri.1

BASEDON.. GOTO works well with logs and arrays.


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

7-38 Schneider Electric


BASEDON..GOTO, continued

Related GOTO
Keywords LINE

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

Modes Programs
Available

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

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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

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


Supported

Modes Command lines and programs.


Available

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

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


Supported

Modes Command lines and programs.


Available

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

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


Supported

Modes Command lines and programs.


Available

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

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


Supported

Modes Command lines and programs.


Available

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 Setdisplay
Keywords White

Products DCX 250-display unit.


Supported

Modes Programs
Available

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

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

Modes Programs
Available

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


Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-49


CD Statement

Format Format 1: CD controller_name

Format 2: CD

Format 3: CD \ path_name

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


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

Format 2: Reconnects you to the CyberStation you actually logged


on to.

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

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


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

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


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

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

7-50 Schneider Electric


CD, continued

Example of From a terminal on any CX controller, you can connect to the Floor1
Format 1 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 After connecting to another controller for a while, you can connect to
Format 2 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 To connect to another network from the command line, you enter CD
Format 3 followed by the name of the network.
Command Line
CD \Building6
To connect to a controller at another site from the command line, you
enter CD followed by the name of the site and the controller.
CD \Building6 Floor1

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

Modes Command lines


Available

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

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

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

Example 2 Program File


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

Related FLOOR
Keywords TRUNCATE
ROUND

Andover Plain English™ Language Reference 7-53


Ceiling, continued

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

Modes Command lines and programs.


Available

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

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

Modes Programs
Available

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


Supported

Modes Programs
Available

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 Sending:
continued Print "Alarm on Floor2" to Modem1
Closing:
Result = Close (Modem1)
Ending:
If result = Success then
Stop ModemMessage
Else
Print "Could not access Modem1 Port"
Endif

Related LINE OPENFILE WRITEFILE


Keywords OPEN READFILE
READ CLOSEFILE

Products CMX series, CX series controllers and CyberStation.


Supported

Modes Programs
Available

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

Example 2 If you want to close an array of files you opened earlier, you can use
a FOR..NEXT loop with CloseFile, as in the following example.

Notice that the FilesOpen variable gives the actual number of files
opened successfully. You would set this variable in the Opening line
and later use it in the Closing line to close the correct number of files.
Program File
File ZoneData [3]
Numeric OK, FileNum, FilesOpen
Line Opening
.
.
Line Closing
For FileNum = 1 TO FilesOpen
Set OK to CloseFile (ZoneData[FileNum])
If OK = Failure then Break
Next FileNum
If OK = Success then Stop
Print "File Close Failed for ZoneData"; FileNum

Notice that when CLOSEFILE fails, the control system software


breaks out of the loop and prints a failure message.

Andover Plain English™ Language Reference 7-61


CloseFile, continued

Related FILE
Keywords OPENFILE
READFILE
POSITIONFILE
WRITEFILE
FAILURE
SUCCESS

Products CyberStation.
Supported

Modes Programs
Available

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

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

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

Example 1 After you have opened 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 Program File


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

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


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

Format 2: CyberStation.

Modes Programs
Available

7-64 Schneider Electric


CloseWindow Function

Format Format 1: CloseWindow (graphics_object_name)

Format 2: CloseWindow (graphics_object_name_list)

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

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


graphic objects in list.

Remarks Replace graphics_object _name with the name of a Pinpoint


graphics object, including a full path name.

Replace graphics_object_name_list with the name of one or more


Pinpoint graphic objects, including a full path name.

Returns SUCCESS or FAILURE as described below:


• SUCCESS - If the Pinpoint application is running, and the
specified graphics object or objects are successfully closed, or
are already closed.
• FAILURE - If the Pinpoint application is not running.
A graphics object may include a button, with a Plain English script
that closes a specific graphics object, including the one the button is
in.

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

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

Command Line
CloseWindow (CyberStation\Panel1)

Andover Plain English™ Language Reference 7-65


CloseWindow, continued Function

Example 2 Command Line


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

Products CyberStation
Supported

Modes Command lines, programs, and functions.


Available

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

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

Modes Programs
Available

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


Supported

Modes Programs
Available

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


Keywords

Alias COSINE

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

Modes Command lines and programs.


Available

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

Products CMX series and CX series controllers.


Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Andover Plain English™ Language Reference 7-75


DATE, continued

Alias TIME

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

Modes Command lines and programs.


Available

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 DATE
Keywords DIFFTIME
STRTODATE
NUMERIC
STRING

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

Modes Programs
Available

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

7-80 Schneider Electric


DAYOFMONTH, continued

Alias DOM

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

Modes Command lines and programs.


Available

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

Alias DOY

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

Modes Command lines and programs.


Available

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 them⎯beyond the 2880.

Andover Plain English™ Language Reference 7-83


DeleteExtLog, continued

Remarks To avoid filling your database with log entries, you must instruct the
continued workstation to remove the extra log entries either automatically or
using DeleteExtLog.
DeleteExtLog removes only old entries⎯those 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
defined⎯to tell it to delete all log entries that have expired before that
date.

Example 1 Suppose you want to delete the expired extended log entries of all
points in the Floor1 controller that were logged more than 90 days
ago. You could delete 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 date⎯a month from now. You could delete them with a
fallthru program like the one that follows:
Program File
Numeric Result
DeleteLog:
Result = DeleteExtLog (Building1 Floor1, Date + 30 * 24 * 3600)
CheckLogDeletion
If Result is not Success then
Print "Failed to delete extended log entries for Floor1"
Stop
Endif
Note: When the datetime argument is greater than or equal to log
timestamp, the entry is deleted immediately.

Related UpdateExtLog
Keywords

Products CyberStation
Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-85


Dial Function

Format Format 1: Dial (phone_number, commport)

Format 2: Dial (phone_number)

Format 3: Dial (phone_number, commport)

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

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

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


controller with an ASCII interface, another Andover 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 If the first character in the phone number is an ‘A’ or ‘a’, the DIAL
continued 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 DIAL can return any of the following results:


continued
Returned When
Success Controller has established connection with the
workstation or other device.
Failure One of the following situations exists:
• Comm port is not in the correct mode.
• Default port is not defined.
• Using HangUp while dialing stops the dialing from
continuing. You can hang up any time during
dialing.
• Phone number contains an incorrect
expression or is otherwise incorrect.
DialNotCarrier Controller's modem does not detect a carrier on the
communications line.
DialNotAnswer Controller's modem detects a continuous ringback
signal on the line for longer than the modem expiration
timer allows. The expiration timer is the S-7 register,
which is automatically set to 50 seconds if you do not
change it. To change it, refer to the modem manual.
DialBusyTone Controller detects a busy signal on the line.
DialNotDialTone Modem is waiting for a dial tone before dialing and has
not received one.

DIAL returns the last of the above that occurs. If the controller at first
does not detect a carrier, then 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
• 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.

7-88 Schneider Electric


DIAL, continued

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

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

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 The program starts by creating a few local numeric variables to hold
continued 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 Goto StartingDial


continued
StartingDial:
DialResult = Dial (PhoneNum, Comm1)
CheckingStatus:

IF DialResult is Success Then


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

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

Products CX series controllers.


Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-93


DIFFTIME Function

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

Format 2: DIFFTIME (MINUTE, date_time1, date_time2)

Format 3: DIFFTIME (HOUR, date_time1, date_time2)

Format 4: DIFFTIME (WKD, date_time1, date_time2)

Purpose Format 1: Calculates the difference in whole seconds between two


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

Format 2: Calculates the difference in whole minutes between two


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

Format 3: Calculates the difference in whole hours between two


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

Format 4: Calculates and returns the difference in whole days


between two times and dates, date_time1 and date_time2.
(Subtracts date_time1 from date_time2.)

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

With MINUTE, any time beyond a complete minute is not counted.


So, 2 minutes and 15 seconds becomes 2 minutes

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

7-94 Schneider Electric


DIFFTIME, continued

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

Alias DT

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


Supported CyberStation.

Modes Command lines and programs.


Available

7-96 Schneider Electric


DISABLE Statement

Format Format 1: DISABLE program_name

Format 2: DISABLE point_name

Format 3: DISABLE namelist

Purpose Format 1: Stops running the program named 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 ENABLE
Keywords

Alias DIS

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-99


DRAWELLIPSE Function

Format DRAWELLIPSE (left, bottom, right, top)

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


101
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 DRAWLINE
Keywords DRAWRECTANGLE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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


103
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 DRAWELLIPSE
Keywords DRAWRECTANGLE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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


105
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 Top = 100


= 20

Figure 7-9. Rectangle drawn with DRAWRECTANGLE showing


bottom left and top right corner locations

You can have DRAWRECTANGLE tell you whether or not it drew


successfully by putting it inside an IF..THEN statement and including
the parentheses:

If DrawRectangle (10, 20, 250,100) = Failure then


Print "DCX Could Not Draw Rectangle"
Endif

If DRAWRECTANGLE is successful, the controller draws the


rectangle, otherwise, the message prints.

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 DRAWELLIPSE
Keywords DRAWLINE
SETDISPLAY

Products DCX 250 Display Unit


Supported

Modes Programs
Available

Andover Plain English™ Language Reference 7-


107
ENABLE Statement

Format Format 1: ENABLE program_ name

Format 2: ENABLE point_name

Format 3: ENABLE namelist

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


the RUN or ROTATE statements.

Format 2: Places the point, named by point name in an Enabled


state where it may be used by a program.

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


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

Remarks Replace program name with any program file name.

Replace point name with any point.

Replace namelist with any list of programs or names, as defined


above, separated by commas.

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

Example 1 Suppose you have disabled a program that controls cooling. 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 DISABLE
Keywords

Alias EN

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-


109
ENDPOLYLINE Function

Format ENDPOLYLINE ( )

Purpose After a BEGINPOLYLINE statement and a series of drawing


statements, ENDPOLYLINE indicates drawing on the DCX 250-
Display Unit is complete.

Returns SUCCESS or FAILURE.

Remarks After you use BEGINPOLYLINE, and you 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 Without ENDPOLYLINE, BEGINPOLYLINE does nothing.


continued
Without ENDPOLYLINE, LINEPOINT only places dots (line points); it
does not draw lines. The DCX 250-Display Unit stores the line points
in memory until it sees ENDPOLYLINE which then makes it draw the
lines as 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 7-


111
ENDPOLYLINE, continued

Related BEGINPOLYLINE
Keywords LINEPOINT

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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

Products CyberStation
Supported

Modes Programs
Available

Andover Plain English™ Language Reference 7-


113
EQUALS Operator

Remarks See the IS keyword.

7-114 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.
• The controller’s input reference voltage goes out of its normal
range, usually when you apply too much voltage to one or more
inputs.
• The controller’s output reference voltage goes out of its normal
range, usually when drawing too much current from one or more
inputs.
• The Infinet has trouble transmitting or receiving data.
• Someone resets an Infinet controller.
• Someone turns off the AC power to any Infinet, CX series or CMX
series controller so that the AC power shuts down, but the battery
retains memory.

Example Since the ERRORS variable automatically decrements after you


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

Andover Plain English™ Language Reference 7-


115
ERRORS, continued

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

Modes Command lines and programs.


Available

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 controller’s
EventLogSize system variable in the Command window, as follows:
Command Line
Pr EventLogSize

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

Andover Plain English™ Language Reference 7-


117
EventLogSize, continued

Related AccessLog
Keywords

Products CMX series and CX series controllers.


Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-


119
FACTORIAL Function

Format FACTORIAL (integer_expression)

Purpose Returns the factorial of integer_expression.

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


The largest number you can use FACTORIAL on is 34.

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


Program File
FVAL = Factorial (3)

The function returns 6, so FVAL = 6.

Alias FACT

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

Modes Command lines and programs.


Available

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

Products CX series and CyberStation.


Supported

Modes Command lines and programs.


Available

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 different⎯you do not set it to a Windows file
name with a SET statement. Instead, the control system software sets
the name within an OPENFILE, CLOSEFILE, READFILE,
POSITIONFILE, or WRITEFILE statement, where you give the FILE
variable name and a string containing the Windows file name. (See
each related keyword for more detail.)

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


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

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

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

Related CLOSEFILE OPENFILE POSITIONFILE


Keywords READFILE WRITEFILE

Products CyberStation
Supported

Modes Programs
Available

7-124 Schneider Electric


FILL Constant

Format FILL

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

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

Example You set the graphics on the 250 screen to solids, as follows:
Program File
SetDisplay (Fill)

Related NOFILL
Keywords SETDISPLAY

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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


FLO OR (–1.1)

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

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

Related CEILING, TRUNCATE, ROUND


Keywords

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

7-126 Schneider Electric


Modes Command lines and programs.
Available

FOR..NEXT Statement

Format Format 1: For numeric_name = begin to end


statement
statement
...
Next numeric_name

Format 2: For numeric_name = begin to end step number


statement
statement
...
Next numeric_name

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

Remarks Replace numeric_name with a defined local variable or point that


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

A FOR..NEXT loop looks like this:

For Count = 2 to 10 step 2


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

Andover Plain English™ Language Reference 7-127


FOR..NEXT, continued

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

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


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

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


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

Here is the output printed by the loop above:

2 12
4 14
6 16
8 18
10 20

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


increases by one (increment) each time the loop executes.

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

The setting of counter numeric_name cannot be changed from within


the loop.

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

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

Related BREAK, CONTINUE


Keywords

Modes Programs
Available

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

Modes Command lines and programs.


Available

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

Products CyberStation
Supported

Modes Programs
Available

7-134 Schneider Electric


GETNAME Function

Formats 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 BACnet series (except b3885, b3887), CX series, CMX series, i2


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

Modes Programs
Available

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 If VavPoint State is Disabled then


continued 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 This program checks the state of each program it retrieves from a
continued 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 CloseList
Keywords OBJECT
OpenList

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


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

Modes Programs
Available

Andover Plain English™ Language Reference 7-143


GOTO Function

Format Fromat 1: GOTO linename Format 2: GOTO LINE linename

Format 3: GO linename Format 4: GO TO linename

Format 5: GO TO LINE linename

Purpose Branches to the line labeled linename.

Remarks The linename is any line label created with the LINE statement.
Must be in the same program. (See LINE.)

Note: Do not use GOTO in FOR..NEXT, WHILE, or REPEAT..UNTIL


loops. The controller gives an error if you do.

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

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


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

Example 5 You can separate Go and To, and include Line as well:
Program File
Line Beginning
If Temp is less than 68 then Go To Line Heating
If Temp is greater than 76 then Go To Line Cooling
Line Heating
Turn On Heater1
Go To Line Beginning
Line Cooling
Turn On Cool1
Go To Line Beginning

Related BASEDON..GOTO
Keywords LINE

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

Modes Programs
Available

7-146 Schneider Electric


Section 5 Keywords H through N

HangUp Function

Format Format 1: HangUp (commport)


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

Purpose Format 1: From a program, 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 When you use HangUp from the command line, it returns right away,
continued 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:
SUCCESS⎯Controller has successfully disconnected from the
workstation or other device.
FAILURE⎯If the commport is not in the correct mode or the default
port is not defined in the program.
If the Mode of the port is PPP, Window, or Command, then HangUp
does not hang up the phone. Instead, it returns FAILURE and
reactivates the program that attempted to hang up.
If the Mode of the port is AutoSet or Printer, then HangUp turns off
DTR, returns SUCCESS, and reactivates the program that is hanging
up.
Hanging Up While Dial is in Process
If the Mode of the port is Raw, and DIAL is in progress, HangUp
responds as follows:
• Attempts to hang up and waits 10 seconds for the hang-up to
complete.
• If CXD is still ON sets DTR to OFF and waits 10 seconds for the
modem to reinitialize.
• Sets DTR to ON.
• Returns FAILURE.
• Reactivates the program that used DIAL to connect.
• Reactivates the program that used HangUp to disconnect.
• Sets the port to its DefaultMode.
• If you attempt to use CLOSE on the port while DIAL is active,
HangUp ignores it. CLOSE is not accepted.

7-148 Schneider Electric


HangUp, continued

Remarks Hanging Up While Connected to a Remote Device


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

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

Products Available only on CX and CMX series controllers.


Supported

Modes Command lines and programs.


Available

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


Keywords SECOND TOD

Alias HOUROFDAY

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

Modes Command lines and programs.


Available

7-152 Schneider Electric


HOUR System variable

Format HOUR

Purpose Gives the current hour, from 0 to 23.

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

Although the system automatically updates HOUR, you can reset it


for daylight savings time or a change in time zone. You reset HOUR
using the SET statement.

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

Related HOD
Keywords MINUTE
SECOND
TOD

Alias HR

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-153


IF..THEN..ELSE Statement

Format Format 1: If expression then statement

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

7-154 Schneider Electric


IF..THEN..ELSE, continued

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

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

Purpose Carries out a given statement or series of statements if the


expression is true.

May also carry out a given statement or series of statements if the


given expression is false.

Remarks Replace 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 To take a single action if the expression is true, you use Format 1,
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 You use format 2 to take several actions if the expression is true and
Format 2 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 You use Format 3 to take a single action if an expression is true and
Format 3 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 You use Format 4 to take several actions if the expression is true or
Format 4 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 IF statements may be included (nested) within other IF statements.


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

Andover Plain English™ Language Reference 7-157


IF..THEN..ELSE, continued

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


IF Statement
Program File
after THEN
The ELSE goes with this IF

If the Wkd is Sat then If the Hour is 1 then Goto 1 Else Goto 2

Which If does the Else belong to? In this case the Else belongs to
the If the arrow points to because it belongs to the closest previous If
on the same physical line.

An IF..THEN statement that starts right after Then is always a self-


contained statement that ends on that physical line.

To make the Else belong to the first If, you must form a nested If
arrangement, as follows:
Program File
The ELSE goes with this IF

If the Wkd is Sat then


If the Hour is 1 then
Goto 1
Endif
Else
Goto 2
Endif
In this nested If statement, the Else belongs to the first If, the one the
arrow points to.

7-158 Schneider Electric


IF..THEN..ELSE, continued

Example of a Program File


Nonzero Value If 10 then Start Burner
number Here, since 10 is a nonzero value, it is interpreted as TRUE and will
cause the burner to fire up.

CAUTION
! Be careful when programming with IF..THEN..ELSE
statements if the number is any nonzero value.
When this occurs, the number is interpreted as
TRUE and the THEN block is executed.

Related AND
Keywords IS. . .
OR

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

Modes Command lines and programs.


Available

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


Supported

Related SELECT..CASE
Keywords

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-161


InitModem Function

Format Format 1: InitModem (commport)

Format 2: InitModem ( )

Format 3: InitModem (commport)

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


connect from a controller (often at a remote site) to another device,
usually a workstation.

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


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

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


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

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

InitModem applies only on a controller with an Infinity modem.

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


controller with an ASCII interface, another Andover 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

Remarks InitModem automatically sets the following attributes of the port:


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

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


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

CAUTION
! Be careful not to use 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

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


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

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

7-164 Schneider Electric


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


continued Numeric DialDelay, InitResult, DialResult, HangUpResult
SettingDelay:
DialDelay = 20
Goto InitializeModem
InitializeModem:
InitResult = InitModem ( )
WaitForModInit:
If TS > 10 then Goto CheckModemInit
...

Example 3 You can use InitModem in the Command window of a controller.


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

Related DIAL
Keywords HangUp

Products Available only on CX series controllers.


Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-167


IS… Operator

Format Greater-than-expression:
number > number
number is greater than number
number is above number

Greater-than-or-equal-to-expression:
number > = number
number is greater than or equal to number

Less-than-expression:
number < number
number is less than number
number is below number

Less-than-or-equal-to-expression:
number <= number
number is less than or equal to number

Equal-expression:
number = number
number is number
number is equal to number
number equals number

Not-equal-expression:
number < > number
number is not number
number is not equal to number
number does not equal number

List-inclusion-expression:
number is in list
number is range (see range-expression below)
number is either list

7-168 Schneider Electric


IS…, continued

Format
List-exclusion-expression:
continued
number is not in list
number is not range (see range-expression below)
number is neither list

Range-expression:
number is between lower_number and higher_number
number is not between lower_number and higher_number
number is lower_number thru higher_number
number is not lower_number thru higher_number

Purpose Carries out the logical test you specify.

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


and time, or name that stands for one.

Replace list with two or more numbers (as defined above) with
commas between them.

Replace range with two numbers (as defined above), each marking
one end of a range with THRU between them, or two numbers
preceded by BETWEEN with AND between them.

Example 1 To compare two values, you usually place an IS... statement between
IF and THEN in an IF..THEN statement, as illustrated in the following
examples.

Note: Because THAN is optional in the following pairs of statements,


each statement gives the same instructions to the controller.

Andover Plain English™ Language Reference 7-169


IS…, continued

Example 1 Program File


continued
If Zone.Temp is greater than 70 then…
If Zone.Temp is greater 70 then…
If Zone.Temp is above 70 then…

If Zone.Temp is less than 70 then…


If Zone.Temp is less 70 then…
If Zone.Temp is below 70 then…

Example 2 The following 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 AND
Keywords IF..THEN..ELSE
OR
WHILE

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

Modes Command lines and programs.


Available

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

Modes N/A
Available

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-175


LINE Statement

Format Format 1: Line linename

Format 2: linename:

Format 3: Line integer

Format 4: integer:

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

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

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


alphanumeric, underscore, or period character.

You must begin the name with an alphabetic character. In the GOTO
statement, the label must be spelled exactly as it is in the LINE
statement; 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 Format 4 is the integer followed by a colon (:) on its own line. In this
continued 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 Line PrintMenus


continued Run MenuDisplay
.
.
.
If Comm3 PrintDone = True Then Goto ClosePort3
Line ClosePort3
Result = Close (Comm3)
Line TestingClose
If Result = Success then Stop
Line E
Result = Close (Comm3)
Print "Emergency Exit ⎯ MenuProgram failed."

If you have a line E, when an error occurs, line E appears in the file
status information.

Remember that line E is available only on CyberStation, and CX


series and CMX series controllers.

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

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

Modes Programs
Available

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


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

Finally, you enter the ENDPOLYLINE statement.

The program looks like this:


Program File
SetDisplay (NOFILL)
BeginPolyLine
LinePoint 20, 30
LinePoint 60, 80
LinePoint 90, 50
LinePoint 150, 90
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 You can also label the graph and add scales as described under the
continued Locate keyword.

250 SCREEN

Figure 7-16. Expanded vertically centered graph drawn with LINEPOINT


using and array of values.

Related BEGINPOLYLINE
Keywords ENDPOLYLINE
LOCATE

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-187


LOAD Statement on controller

Format Format 1: LOAD

Format 2: LOAD -o

Format 3: LOAD -m

Format 4: LOAD -o -m

Purpose Note: You must use this statement on a computer attached to a


comm port on the CX series controller. The computer must be running
a terminal emulation program, such as HyperTerminal. For
information about how to use LOAD on a CyberStation, see the next
LOAD (Statement on workstation) keyword description on page 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 talk-
through mode on the computer so that you can resume working with
the controller. (Refer to Appendix C for information on how to set up
an ASCII file to load.)

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

7-190 Schneider Electric


LOAD (controller), continued

Example 4
Command Line window on controller
continued
LOAD –o –m
You may put the options in any order, -m first or -o first. The -m option
applies only when loading the controller from a disk via a terminal
emulation program.

On the terminal, within 60 seconds you type a command to send the


file from the communications package on the computer. The
command is determined by the communications package used. The
following is an upload command from HyperTerminal:
Host Computer Running HyperTerminal
upload C: database

Related SAVE
Keywords

Alias RELOAD

Products CX series controllers and CM X220.


Supported

Modes Command lines.


Available

Andover Plain English™ Language Reference 7-191


LOAD Statement on workstation

Format Format 1: LOAD object_list -o

Format 2: LOAD object_list -c -o

Format 3: LOAD object_list any_combination_of_options -o

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

Purpose Note: You must use this statement on a workstation running


CyberStation software. The workstation must store the database or
be networked to a server that stores the database

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


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

On 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 Format 4: Loads a filename with either a .CSV (Comma Separated


continued Variable) or .dmp extension. You must choose only one of these
three options:
• u (update) this is the default
• a (append)
• o (override)
The x option stands for distribute personnel.

Remarks Restricted to users with a minimum of configure level access.


Replace object_list with a list of controllers, Infinet controllers, or
other objects that are stored in a controller, since you are loading the
information into a controller. The objects should all be of the same
class; for instance, all numeric points or all programs. If the list is of a
class other than Controller or InfinetCtlr, the class list should contain
only objects from the same controller and each name should include
the full path.
Replace any_combination_of_options with one or more of the
options:–c (confirm) and/or –v (validate). The –o (overwrite) is always
required.
You can use LOAD from the command line or in a program. If you use
it in a program, you must use LOAD on a line by itself. You do not
have to indicate that the program should then go to the next line,
because it automatically proceeds to the next line after completing the
load.
Once you begin the LOAD, you can see the actions listed in the
Distribution Properties window on the CyberStation.

Example 1 To load the information from a workstation database into the FLOOR1
CX series controller and replace any objects (points, programs, and
others) already present on that controller, 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 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

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

Alias RELOAD

Products CyberStation
Supported

Modes Command lines and programs.


Available

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 Notice that you do not need the parentheses in this case, because
continued 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 Temp–Occupied 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 EndPolyLine
continued Locate 20, 130
Print "70"
Locate 20, 100
Print "50"
Locate 20, 70
Print "30"
Locate 35, 45
Print " 8 10 12 14 16"
DrawLine 30, 42,110, 42
DrawLine 30, 42, 30, 145

The title appears where you position the text as shown in Figure 7-18.

250 SCREEN

Outside Air Temp–Occupied Hours

70

50

30

8 10 12 14 16

Figure 7-18. Using the LOCATE function to label a graph.

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

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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

Modes Command lines and programs.


Available

7-200 Schneider Electric


MAXIMUM Function

Format Format 1: MAXIMUM (numeric_list)

Format 2: MAXIMUM (numeric_log)

Format 3: MAXIMUM (numeric_array)

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

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

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

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

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains


numbers.

Items in the list must all be 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

7-202 Schneider Electric


MAXITEM Function

Format Format 1: MAXITEM (numeric_list)

Format 2: MAXITEM (numeric_log)

Format 3: MAXITEM (numeric_array)

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

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

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

Remarks Replace numeric_list with one or more numbers or names that stand
for numbers, separated by commas.
Replace numeric_log with any defined log that contains numbers.
Replace numeric_array with any defined array that contains
numbers.
If any of the items in the list in Format 1 is an array or a log, the
controller retrieves the first item from the array or log and treats it like
any other single item in the list.

Example 1 To find the position of the largest number in a series of numbers, you
enter the series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
Temp 3 = 70
Temp 4 = 67
maxitem (Temp1, Temp2, Temp3, Temp4)

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

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

Modes Command lines and programs.


Available

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

Products CyberStation
Supported

Modes Command lines and programs.


Available

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


Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

7-208 Schneider Electric


MINIMUM Function

Format Format 1: MINIMUM (numeric_list)

Format 2: MINIMUM (numeric_log)

Format 3: MINIMUM (numeric_array)

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

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

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

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

Replace numeric_log with any defined log that contains numbers.

Replace numeric_array with any defined array that contains


numbers.

Items in the list must all be 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

7-210 Schneider Electric


MINITEM Function

Format Format 1: MINITEM (numeric_list)

Format 1: MINITEM (numeric_log)

Format 1: MINITEM (numeric_array)

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

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

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


array.

Remarks Replace numberic_list with one or more numbers or names that


stand for numbers, separated by commas.
Replace numeric_log with any defined log that contains numbers.
Replace numeric_array with any defined array that contains
numbers.
If any of the items in the list in Format 1 is an array or a log, the
controller retrieves the first item from the array or log and treats it like
any other single item in the list.

Example 1 To find the position of the smallest number in a series of numbers,


you enter the series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

7-214 Schneider Electric


MINUTE, continued

Example The Temp.Check and Temp.Rept programs now run at 30 minutes


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

Alias MIN

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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


continued If PowerFail is On then
Turn ModemPower to Off
Else
Stop
Endif

Notice that since the PowerFail variable triggers the program


whenever the system variable changes, you must test to be sure that
PowerFail is ON, not OFF, before setting ModemPower to OFF.

Related PowerFail
Keywords CPUPower
DCXPower
MicroPower

Products CX series and CMX series controllers.


Supported

Modes Command lines and programs.


Available

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:
Constant Short Name Long Name
1 JAN January
2 FEB February
3 MAR March
4 APR April
5 MAY May
6 JUN June
7 JUL July
8 AUG August
9 SEP September
10 OCT October
11 NOV November
12 DEC December

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

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

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

Modes Command lines and programs.


Available

7-220 Schneider Electric


MOVE Statement

Format Format 1: MOVE output_point_list TO number

Format 2: MOVE output_point_list TO number %

Purpose Set the point or points in output_point_list to number.

Remarks Replace output_point_list with one or more output point names or


variables with commas between them. Top and bottom of scale must
be set for each point.

Replace number with any number or expression, including a date


and time or name that stand for one.

MOVE converts engineering units to electrical units to control the


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

The percent sign is optional.

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


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

Example 2 For this valve, assume engineering units of 0 to 1 where 0 is closed


and 1 is open and corresponding electrical units of 0 to 20 mA.
Moving the setting of Valve2 to 50% gives .5. At .5, the valve is set to
the corresponding value of 10 mA.
Program File
Move Valve2 to 50%

Andover Plain English™ Language Reference 7 -221


MOVE, continued

Related SET
Keywords

Alias MODULATE

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

Modes Command lines and programs.


Available

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


Supported

Modes Command lines and programs.


Available

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

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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

Modes Command lines and programs.


Available

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

Alias NUMBER

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

Modes Programs
Available

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

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

Modes Command lines and programs.


Available

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 variable—only it stands for any item (also called an
object) in a workstation, network controller or Infinet controller. The
local OBJECT variable name can be up to 16 alphabetic and numeric
characters, as long as it begins with a letter of the alphabet.

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

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


Supported CyberStation.

Modes Programs
Available

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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 The situation shown in this example, checks to be sure OPEN was
continued successful before performing Commport operations.

Related CLOSE
Keywords PRINT
READ

Products CX series controllers.


Supported

Modes Programs
Available

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


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


continued File ZoneData [3]
Numeric OK, FileNum, Index, FilesOpen
Line Opening
For FileNum = 1 to 3
OK = OpenFile ("c:\zone";FileNum;".txt", WriteOnly, ZoneData[FileNum])
If OK = Failure Then Break
Next FileNum
If OK = Success then Goto Reading
Print "File Open Failed for ZoneData";FileNum
Set FilesOpen = FileNum – 1
Goto Closing
Line Reading
Set FilesOpen to FileNum
.
.
Line Closing
For Index = 1 to FilesOpen
Set OK to CloseFile (ZoneData[Index])
If OK = Failure then Print "File Close Failed for ZoneData";Index
Next Index
If OK = Success then Print "File Processing Completed Successfully"

Related CLOSEFILE FILE POSITIONFILE READFILE


Keywords WRITEFILE FAILURE SUCCESS

Products CyberStation.
Supported

Modes Programs
Available

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

“Controller” refers to CX series controllers 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 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.

7-242 Schneider Electric


OpenList, continued

Example 2 Program File


continued Object Prog, CXFloor
Numeric OK
Line OpenProg
Set CXFloor = Floor2
OK = OpenList ("InfinityProgram", Prog, CXFloor)
If OK = Success then
Goto GetProgs
Else
Print "Cannot Open List"
Stop
Endif
Line GetProgs
If GetObject (Prog) is not Success then Goto CloseProg
If Prog State is Disabled then Print Prog Name
Goto GetProgs
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 IF Index <= 2 then Goto OpenPoints Else Goto Done


continued
Done:
Print "End of Input/Output Point List"
Stop
Once the program closes the first list, it adds 1 to the value of INDEX.
As long as the INDEX value is less than or equal to the number of
entries (2), the program goes to OpenPoints and opens the list of the
class of objects stored in the next entry of the IOPoints array.

You could have an array with more entries and call it CLASSGRP. By
changing the INDEX value, you can 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 If you want all controllers on all sites, you have to open the site list first.
continued 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

Example 5 CheckProg:
continued If GetObject (CurrentProg) is not Success then Goto CloseProg
If CurrentProg State is Disabled then
Print EnetCtlr Name, InetCtlr Name, CurrentProg Name
Count = Count + 1
Endif
CloseProg:
If CloseList(CurrentProg) = Success then
Print "Total disabled progs in |* |* is |###", EnetCtlr Name,~
InetCtlr Name, Count
Else
Print "Cannot Close Program List"
Endif
Goto GetInfinet
CloseInfinet:
If CloseList(InetCtlr) is not Success then
Print "Cannot Close Infinet List: ", InetCtlr Name
Endif
Goto GetEnergyNet
CloseEnergyNet:
If CloseList(EnetCtlr) is not Success then
Print "Cannot Close EnergyNet List"
Endif
Stop
The following is 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 If the GETOBJECT successfully retrieves the Infinet controller, the


continued 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

Get
Close No EnergyNet
EnergyNet Controller ?

Yes

Open Infinet
List

Get
Infinet No Close Infinet
Controller ? List

Yes

Open
Program List

Get
No Another
Close
Program List Program ?

Yes

Process
Program

STOP

Figure 7-19. OpenList (Example 5) Program Flow Chart

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 GetObject
Keywords Object
CloseList

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


Supported series, i2 series controllers (except i2885, i2887), and Cyberstation

Format 2: CyberStation.

Modes Programs
Available

Andover Plain English™ Language Reference 7-251


OR Operator

Format Format 1: number OR number

Format 2: namelist OR final_name

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

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

Remarks Replace number with any number, name that stands for a number,
formula or function that gives a number.
Replace namelist with one or more names with commas between
them.
Replace final_name with a single name at the end of a series of
names.
OR with the last name is optional.
The controller carries out all other operations (such as adding and
subtracting) before it acts on OR (or AND).
In Chapter 6 under "Order of Action" the listing compares the order
the system software acts on all operators. Because OR (and AND)
are acted on last, you can form logical statements without using too
many parentheses. See Example 4 for how to use AND and OR
together.
The exclamation mark (!) is the alias for the logical OR only.

Example 1 To take an action only if one of several conditions 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 AND
Keywords IF..THEN..ELSE
IS…

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

Modes Command lines and programs.


Available

7-254 Schneider Electric


P Statement

Format P list

Purpose Prints the values of one or more variables, points, constants, or other
expressions representing a value (including strings of characters and
datetimes) each on a separate line. The list can contain different
types of items. Prints units with point values.

Remarks The list is one or more expressions with commas between them.
Each expression can be a number or text as defined under Format
Conventions at the beginning of this chapter. The list can also
include functions or attributes.

Prints the values to the screen 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 CMX series, CX series, BACnet series controllers, i2 series


Supported controllers, and CyberStation.

Modes Command lines and programs.


Available

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

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

Modes Programs
Available

Andover Plain English™ Language Reference 7- 257


PlayAudio Statement

Format Format 1: PlayAudio file

Format 2: PlayAudio file, playback_mode

Purpose Plays a prerecorded audio sample on the CyberStation.

Format 1: Plays a prerecorded audio sample on the CyberStation


one time only.

Format 2: Plays a prerecorded audio sample on the CyberStation


either once or continuously, depending on the playback_mode you
indicate.

Remarks The PlayAudio keyword is available only on the CyberStation.

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

Replace playback_mode with either PlayOnce or PlayContinuous.

PlayOnce plays the prerecorded audio sample one time only. The
PlayAudio keyword defaults to this value, so the audio sample plays
only once if you omit 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 Cyberstation
Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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:
• FILEBEGIN
• FILECURRENT (where you left off last read or write)
• FILEEND.

Example 1 After you define a local FILE variable name and open the file (with
OpenFile), you can start either reading (with ReadFile) or
writing (with WriteFile) at a particular position in the file. 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 Text File PositionFile sets up


continued ReadFile to begin
10:12 Building2 Room8 reading here, at
11:26 Building1 Room6 character eight.
12:35 Building2 Room3
You know that the controller name is 8 characters from the beginning
of the file because the time is stored in the first 5 characters and
followed by two spaces. The controllers are listed in order, so the first
one in the file is the first one that deviated from setpoint.
PositionFile tells ReadFile to start reading at the eighth character from
the beginning of the file, which is the first line starting with
"Building2..." When ReadFile reads 16 characters, it retrieves
"Building2 Room8" from the first line of the file and places it in the
DATALINE string.
You 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 OK = ReadFile (ZoneData, DataLine, 16, Chars)


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

Products CyberStation.
Supported

Modes Programs
Available

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

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

Modles Command lines and programs.


Available

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

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

Modes Command lines and programs.


Available

7- 266 Schneider Electric


PRINT Statement

Format Format 1: PRINT string

Format 2: PRINT list

Format 3: PRINT string_format, list

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

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

Format 6: Any of formats 1 through 3 above TO


string_point_or_variable

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

Purpose Prints a series of characters (text strings, often called simply “strings”)
to the 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 Format 5: Prints any of formats 1 through 3 above, printing the next
continued 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 Replace string_point_or_variable with any defined string point or


continued 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 You may choose the layout of the print line and indicate it using the
Characters following special symbols:
Symbol Description
Indicates the beginning of a series of characters strictly for
⏐ formatting and not to be treated as text. When followed by a
numeric constant, indicates an ASCII code follows (see below).
(A vertical bar immediately before a quotation mark.) Indicates
⏐" to print the quotation mark, rather than interpreting it as the
beginning or end of the string.
Produces the ASCII code that corresponds to the numeric
constant. For example, |7 would produce a bell or beep if
⏐numeric_ constant
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. Program File Output /Explanation


WARNING-Trouble on the
4th Floor! /The string of
1 Print "WARNING-Trouble on the 4th Floor!" characters prints; the quotation
marks do not.

67 72 77 75 / The value
of each variable in the list
2 Print TEMP1, TEMP2, TEMP3, TEMP4
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
Print "The temperature is ⏐###.# at ⏐##:##:##",~
3 next format. If there are more
Temp4, Hour, Minute, Second
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
4 Print "⏐#######", Total_Watts
on the terminal called
TERMINAL.

Tuesday January 2
Print WeekDay;
/ Prints all text and spaces on
Print " ";
the same line because each
5 Print Month;
PRINT statement ends with a
Print " ";
semicolon (;).
Print DayOfMonth
/ Prints the value into the
string and changes its setting.
6 Print "HEAT.SETPT" to PointName
You can set a string point or
variable this way.

7- 270 Schneider Electric


PRINT, continued

Examples 1-21 No. Program File Output /Explanation


continued
1,340.00 / Leaves one
leading space. Adds the
7 Print "⏐##,###.##", Total_Watts
comma after the 1 and
has two zeros after the decimal.
1,340 / Drops extra decimal
8 Print "⏐#,###.##}", Total_Watts
places (trailing zeros).
The Fan Status is ON

9 Print "The Fan Status is ⏐$###”, FanStatus / Prints ON, -ON, or OFF for a
digital or tristate point, left-
justifying On in the format.
The Damper Setting is
20.00 / Prints the pulsing
value of the damper in the
10 Print "The Damper Setting is ⏐##.##", Damper format. Here the damper is ON
for 20 seconds. For -ON, the
value is negative.
Murphy Johnson /
Outputs any number of
characters of any type that are
11 Print "⏐*", Murphy FullName in the FullName attribute. The *
is particularly useful when you
do not want to limit the number
of characters in a variable.
Heater Failed! / The
Print "⏐@@@@@@@@@@@@@@",~ message inside STRMSG prints
12
STRMSG to Building1 Console left justified in the 14 characters
allowed by the @ signs.
21.7 / Right justifies
13 Print "⏐>#######.##}", 21.70
and drops the trailing 0.
+88.8 / Prints leading minus
sign if the number is negative
14 Print "⏐-##.##", 88.8 and the leading plus sign if the
number is positive. Prints all
trailing zeros.

Andover Plain English™ Language Reference 7- 271


PRINT, continued

Examples 1-21 No. Program File Output /Explanation


continued
88.80- / Prints trailing
minus sign if the number is
negative and the trailing
15 Print "⏐##.##-", -88.80
plus sign if the number is
positive. Prints all trailing
zeros.
8,97e03+05 is the
"Total." / Prints the
number in scientific
notation. Also prints the
16 Print "⏐###^## is the ⏐"TOTAL.⏐"", 97000 quotation marks around
VALUE, because a vertical
bar is before each
quotation mark that should
print.
8,97e-01 / Prints in
17 Print "⏐###^##"", .8970 scientific notation with
negative exponent.
+1.340e+06 / Prints in
scientific notation with a
18 Print "⏐-##.##^##"", 1340000
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.
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
20 Print "The value is set to ⏐%### open.",~ Water_Valve
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%.

7- 272 Schneider Electric


PRINT, continued

Examples 1- 21 No. Program File Output /Explanation


continued
Date: December 4, 2005
Test Report / Prints the date. Commas
must separate each group of literal text.
Print "Date:", Month, ",~ Notice that the only place a space appears is
DayOfMonth, ", ", Year immediately after the word Date. You must
21 specify the blank space in quotation marks.
Print " "
Print "Test Report" Also prints a blank line between the date and
the report title. If you use the word PRINT
with one blank in quotation marks after it,
then the entire line prints as a blank line (as
long as you don't put a semicolon at the end).

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

Andover Plain English™ Language Reference 7- 273


PRINT, continued

Example 22 ClosingFile:
continued OK = CloseFile (NewData)
If OK = Failure then Print "Cannot close text File"
Ending:
Stop
In this example, the local FILE variable called NewData represents an ASCII
file. After the OpenFile keyword opens 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.
OutPut⎯To the File
KWUsage Cost
4567 548.04
8724 1134.12
3862 463.44
4532 543.84
3217 386.04
9421 1224.73
567 56.70
856 94.16
3763 451.56
589 70.68

Since PRINT is inside a FOR..NEXT loop that counts to 10, it prints


10 KWH usage totals and their costs into the file. Each time it prints,
PRINT starts a new physical line in the ASCII file.

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:
OutPut—To the File
January: 4567 548.04 February: 589 70.68

Related CHR
Keywords P
TAB
FILE
OpenFile

Products BACnet series* (except b3885, b3887), B4920, CMX series, CX


Supported 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 Command lines and programs.


Available

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 BACnet series (except b3885, b3887), CMX series, CX series, i2


Supported series (except i2885, i2887), DCX250 controllers, and Cyberstation.

Modes Command lines and programs.


Available

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 Replace end_char (optional) with a single character that indicates the
continued 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
the⏐symbol.)
Program File
Opening:
OpenResult = Open(Comm3)
Testing:
If OpenResult = Success then
Goto Reading
Else
Goto Failing
Endif
Reading:
Result = Read(Comm3, 132, ModemData, "|13")
Printing:
If Comm3 TimedOut then Goto Closing
If Result = Success then
Print ModemData to InputFile
Else
Goto Closing
Endif

Related CLOSE
Keywords OPEN

Products CMX and CX series controllers.


Supported

Modes Programs
Available

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 the⏐symbol.)

7-280 Schneider Electric


ReadFile, continued

Remarks In another case, you might have a comma between pieces of data
continued 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 Line Reading


continued OK = ReadFile (ZoneData, DataLine, 80, Chars)
If OK = Failure then
Print "File Read Failed"
Goto Closing
Endif
If OK = Success then Goto Printing Else Goto Closing
Line Printing
Print DataLine
Goto Reading The control system
software executes this
Line Closing statement when
OK = CloseFile (ZoneData) ReadFile returns EOF.
Stop
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 the⏐symbol.)
This program functions similar to the last example.

7-282 Schneiderr Electric


ReadFile, continued

Example 2 Program File


continued File ZoneData
String 80 DataLine
Numeric Chars, OK
Line Opening
Set OK = OpenFile ("c:\text\zone.txt", ReadOnly, ZoneData)
If OK = Failure then
Print "File Open Failed"
Stop
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 It reads until it reaches the comma (you designate the comma with
continues 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 This program functions similar to the way the last example did;
continued 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 FILE
Keywords CloseFile
OpenFile
PositionFile
WriteFile

Products CyberStation
Supported

Modes Programs
Available

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


Keywords

Products BACnet series controllers and CyberStation.


Supported

Modes Command lines and programs.


Available

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


Supported

Modes Command lines and programs.


Available

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 Configurator’s Guide Version 1.6, 30-3001-
781) assumes the one defined in the Relinquish_Default property of
the object.
Object_Property is an optional argument specifying the
commandable property you 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 Multi-State Output Analog Value


Binary Output Multi-State Value Binary Value
Replace Priority with the priority number, ranging from 1 (highest) to
16 (lowest). Applies only to a BACnet commandable property. If not
present, the property value that matches with priority 10, if
applicable, is used for controllers. For CyberStations, the priority
from the BACnet Preferences is used.

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 WriteProperty
Keyworks ReadProperty

Products BACnet series controllers and CyberStation


Supported

Modes Command lines and programs.


Available

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

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

Modes Programs
Available

Andover Plain English™ Language Reference 7- 291


RETURN Statement

Format 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 The statement that calls SHUTDOWN in the calling program looks
continued like this:
Program File
ShutDown( )

Example 2 To create a function called GetArea that calculates the cross-


sectional area of a circle, name the function file 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Programs
Available

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

Modes Command lines and programs.


Available

7-294 Schneider Electric


ROTATE Statement

Format Format 1: ROTATE linename program_list

Format 2: ROTATE program_list TO line

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


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

Remarks Replace program_list with one or more program names with


commas between them.

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

Note: You cannot rotate a program to line 0.


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

A program can also rotate itself to another line. In this situation,


ROTATE becomes a synonym for GOTO. (See the GOTO keyword.)

Example 1 If you have a series of programs you want to start every Monday
morning, you 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 LINE
Keywords RUN
STOP

Alias ROT

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

Modes Command lines and programs.


Available

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 Position of –1.7 on the number line
ROUND(–1.7)

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

Figure 8-20. Number line showing ROUND (-1.7)

The following table illustrates how the four functions differ:

Functions 4.2 4.5 -3.1 -3.7


ROUND 4 5 -3 -4
CEILING 5 5 -3 -3
FLOOR 4 4 -4 -4
TRUNCATE 4 4 -3 -3

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

Modes Command lines and programs.


Available

7-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 Format 8: When running a program, function, or report, prints the


continued 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 LINE
Keywords ROTATE
STOP

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

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


Supported Cyberstation.

Modes Command lines and programs.


Available

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


continued 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 ImportExport : Floor1


continued
Floor1 OutsideAirTemp To 2, 4-6, Floor1
Floor1 Room1 NextUnOccTime To 4, 6, 8-9, Floor1, Infinet1
EndImportExport
EndDictionary

Refer to Appendix C for more examples of dump files.

Example 8 While you are saving all items on the connected controller, you can
send messages about any errors that occur to a message window
while saving:
Command Line
Save ALL -m

The following example saves all numeric items on the connected


controller, and sends messages about errors that occur to a message
window:
Command Line
Save Numeric -m

Example 9 You can both save a dictionary and send messages to a message
window:
Command Line
Save Input, Output -d -m
Be sure not to use a comma between the -d and -m options.

Example 10 You can save a list that contains both particular items and item types:
Command Line
Save Chiller, Fan, Input, Output, Numeric

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

Alias DUMP

Products B4920, CMX series, and CX series controllers.


Supported

Modes Command lines


Available

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 Replace file_string with a path to and name of the ASCII dump file
continued 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 program’s controller knows about that point
through the dictionary.
If you use multiple options, be sure that you do not separate them
with commas.
You can use SAVE from the command line or in a program. If you use
it in a program, you must use SAVE on a line by itself. You do not
have to indicate that the program should then go to the next line,
because it automatically proceeds to the next line after completing the
save.
See Appendix C for a complete description of the contents of a dump
file.

Example 1 You can create an ASCII dump file called FLOOR1.DMP that contains
all objects on a controller called FLOOR1 from a site called
BUILDING1 as follows:
Command Line
SAVE \Building1 Floor1 TO "c:\floor1.dmp"
You must give the disk location (c:) and the full path to the dump file.
The dump file automatically includes all objects on the FLOOR1
controller.

Example 2 To create a dump file that contains only the dictionary of the FLOOR1
controller, you would use the -d option as follows:
Command Line
Save \Building1 Floor1 to "c:\floor1.dmp" -d
This command line creates a file of only the dictionary.

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

Alias DUMP

Products CyberStation.
Supported

Modes Command lines


Available

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 The numeric variables used to calculate the average number of scans
continued 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

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 can’t find the search_string.

Remarks Replace string with any text (word or words) or text expression.

Replace search_string with any text (word or words) that you want to
search for in the string.

Example 1 Program File


NSTR = Search ("ABCDE", "BC")
The search returns 2 and sets NSTR to 2, 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 BACnet series, CMX series, CX series, i2 series controllers (except


Supported i2885, i2887, i3885, i3887), and CyberStation.

Modes Command lines and programs.


Available

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

Alias SEC

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

Modes Command lines and programs.


Available

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 Statement

Example 1 Select Case Weekday


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

Example 2 Numeric ReportId

Select Case ReportId


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

Example 3 Select Case Numeric1 Description


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

7-318 Schneider Electric


SELECT (CASE), continued Statement

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


Keywords

Products CyberStation
Supported

Modes Programs
Available

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 A string containing the email address of the recipient(s).
Subject A string containing the subject of the email.
A string containing the body of the email. An array name is
Message accepted as an argument. Each array entry represents a line in
a multi-line message.
Cc A string containing the copy to the email address(es).
Bcc A string containing the blind copy to the email address(es).
Signature A string containing the 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

Remarks SendEmail returns 0 if the operation was successful, otherwise, it


continued returns a non-zero value indicating errors. The error codes are as
follows:
Error Code Definition
0 No error
1 Not called from a program
2 Illegal argument value
3 Illegal argument count
4 Not enough memory to complete the operation
11 Failed to create SMTP user session to the email server
13 Email queue is temporarily full. The user should retry later
14 Cannot connect to the email server
15 Error in sending the sender information
16 Error in sending the TO recipient information
17 Error in sending the CC recipient information
18 Error in sending the BCC recipient information
19 Error in sending the subject
20 Error in sending the message
21 Error in sending the end-of-message
22 Error in disconnecting from the SMTP server
23 Failed to resolve SMTP server address
24 Invalid dialup settings
25 Failed to connect remote SMTP server
26 Modem port is in use
27 Email settings are not configured
Before executing any PE program that sends emails, the user needs
to configure the controller’s 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 bCX-40x0, bCX9640, NetController II (9680, 9681), ACX 57xx series


Supported

Modes Programs
Available

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

Alias ADJUST and CHANGE (Format 1 only)


LET (Format 2 only)
MODIFY

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

Modes Command lines and programs.


Available

7-326 Schneider Electric


SETDISPLAY Function

Format Format 1: SETDISPLAY (display_constant)

Format 2: SETDISPLAY (display_constant_list)

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

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

Products DCX 250 Display Unit.


Supported

Modes Programs
Available

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 To run any workstation application followed by arguments, use Shell


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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-333


SHOWREPORT Statement

Format Format 1: SHOWREPORT object

Format 2: SHOWREPORT string

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


as an HTML file on an HTML browser.

Remarks Replace object with the name of a program or a listview. Programs


must include the file path. Listviews must contain an associated HTML
template file and an HTML browser must be installed on the
CyberStation.

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

When SHOWREPORT runs an HTML report, the results are displayed


in a file that has the same name as the HTML report, but with
result_number appended to it. For example, with the first usage of
SHOWREPORT myreport
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 <TR>
<TD align=middle bgColor=#c0c0c0><FONT color=#000080
continued
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 The ShowReport command creates an HTML report file, named


continued “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 SHOW
Keywords SHELL

Products CyberStation.
Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-339


StandardDeviation Function

Format Format 1: StandardDeviation (numeric_list)

Format 2: StandardDeviation (numeric_array)

Format 3: StandardDeviation (numeric_log)

Purpose Finds the standard deviation of a series of numbers. The standard


deviation is the result of the following steps:
• Find the average of the list.
• Find the differences between the average and each number. If
the average is 110 and one of the numbers is 112, that difference
is 2.
• Square the differences, so 2 becomes 4.
• Add up the squares and find the average of them.
• Take the square root of the average 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 BACnet series, CMX series, CX series, DCX 250, i2 series controllers
Supported (except i2885,i2887,i3885,i3887), and CyberStation.

Modes Command lines and programs.


Available

7-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
seconds—it must be ON or OFF. The light remains ON or OFF until
you change it in a program or from the command line.

Example Suppose you labeled the fourth status light on the CX 9201 controller
“Chiller Alarm Active,” so you could set it when the alarm occurs. After
the alarm occurs, to set the light, enter this statement in your
program:
Program File
IF ChillerAlarm4 is On then Set STATUS4 to On

Products CX series
Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-343


STOP Statement

Format Format 1: STOP program_list

Format 2: STOP point_list

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

Format 2: Sets the point (or points) to bottom of 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 ROTATE
Keywords RUN

Alias CLOSE
SHUT

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

Modes Command lines and programs.


Available

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

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

Modes Programs
Available

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


continued Numeric DayX
Print "Peak KW Demand for Week"
Print " "
For DayX = 1 TO 7
Print ST( DayX);" + "; stringfill(KWD[DayX]/100, 42)
Next DayX
Print " +----+----+----+----+----+"
Print " 0 500 1000 1500 2000 2500 "
After the program prints the title, it proceeds to a FOR..NEXT loop.

Inside the FOR..NEXT loop, the program first prints the short name of
the weekday, based on the number for the day (1 for SUN) using a
customized function called ST. Next, the program prints a plus sign
after the name.

STRINGFILL then uses two values to print the kilowatt demand for
that day:
• Kilowatt demand for the day from the KWD array (KWD [1]
= Sunday's kilowatt demand, KWD [2] = Monday's kilowatt
demand, and KWD [3] = Tuesday's kilowatt demand, and
so on.)
• ASCII code for the asterisk (42).
To see how STRINGFILL uses these two values, take a look at
Sunday in the graph the program produces, shown below.
Program File Output
Peak KW Demand for Week
SUN + * * * * * *
MON + * * * * * * * * * *
TUE + * * * * * * * *
WED + * * * * * * * * *
THU + * * * * * * *
FRI + * * * * * * * *
SAT + * * *

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

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

Modes Command lines and programs.


Available

7-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 YEAR
continued
You may enter the year as a two- or four-digit year after 1988.

WEEKDAY
Since the controller already knows the day of the week that
corresponds to each date, you don't need the day. You can,
however, place the day of the week after the date; it must be either
the three-letter abbreviation or the completely spelled-out name of the
day.

The weekday can be:


MON[DAY]
TUE[SDAY]
WED[NESDAY]
THU[RSDAY]
FRI[DAY]
SAT[URDAY]
SUN[DAY]

TIME
You enter the time as the one- or two-digit hour and one- or two-digit
minute separated by a colon. You can type another colon and follow
it with seconds if you would like.

You can enter the time in 24-hour time or use regular time with AM or
PM after it. The controller translates that time into the 24-hour clock.
For instance, you can enter 3:00 PM and the controller automatically
translates it to 15:00:00.

The following are the acceptable time formats:


hh:mm:ss [AM/PM]
hh:mm [AM/PM]

Where AM and PM (upper- or lowercase) are optional and:


hh is hours (00 - 23) and 00 - 11 is AM and hh > 11 is
PM if
AM/PM isn't specified
mm is minutes (00 - 59)
ss is seconds (00 - 59)

7-352 Schneider Electric


STRTODATE, continued

Example Program File


Conv.Date = StrToDate ("December-21-2005 11:00 pm")

Alias STRTOTIME

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Products CMX series, CX series, DCX 250 controllers, and CyberStation


Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference 7-355


SUM Function

Format Format 1: SUM (numeric_list)

Format 2: SUM (numeric_array)

Format 3: SUM (numeric_log)

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

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

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

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

Replace numeric_array with any defined array that contains


numbers.

Replace numeric_log with any defined log that contains numbers.

Replace number with any number or expression.

Items in the list must all be either numbers or variables that 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 ACX series, BACnet series, CMX series, CX series, DCX 250, i2
Supported series, LCX series, SCX series, TCX series controllers, and
CyberStation.

Modes Command lines and programs.


Available

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:


• Normal—The 700 series controller is working normally.
• NoComm—Communication between the access server and the
700 series controller has failed.
• NoDatabase—Access server or the access controller has been
reset or has otherwise lost the database to check access card
numbers and personal identification numbers (PINs) against.
• ColdStart— Indicates the Access Controller SystemStatus initial
value, before any door has been configured.

Example 1 If you want to see whether or not communication is occurring


between the access server and the Door1 access controller, you can
type the following on the command line:
Command Line
Pr Door1 SystemStatus
The system responds as follows if no communication is occurring:
Door1 SystemStatus = NoComm

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


Supported

Modes Command lines and programs.


Available

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

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

Modes Programs
Available

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

Modes Command lines and programs.


Available

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

Modes Programs
Available

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

Modes Programs
Available

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

Modes Command lines and programs.


Available

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 DATE
Keywords DATETIME
HOUR
MINUTE
SECOND
HOD
TOD
MONTH
YEAR
DAYOFMONTH
DAYOFYEAR

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

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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

Modes Programs
Available

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

Andover Plain English™ Language Reference 7- 369


TOD, continued

Alias TIMEOFDAY

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

Modes Command lines and programs.


Available

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 2 3 4 5 6 7 8

9 10 11 12 13 14 15 16

17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32

33 34 35 36 37 38 39 40

41 42 43 44 45 46 47 48

49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64

Figure 8-22. The DCX 250 Display Unit screen touch cells

The operator must press the cell for at least 100 ms. If the operator
presses the cell continuously, the TOUCHEDCELL value updates
every second.

You can reset TOUCHEDCELL to zero with CLEARSCREEN.

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


Supported

Modes Programs
Available

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

Modes Command lines and programs.


Available

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

Modes Programs
Available

Andover Plain English™ Language Reference 7- 375


TURN Statement

Format Format 1: TURN ON point_list


TURN OFF point_list

Format 2: TURN point_list ON


TURN point_list OFF

Purpose Sets the name or names to the top of the defined range for the point if
ON and to bottom of the range if OFF.

Remarks The point_list is one or more defined output or numeric points; the
statement is not designed for other types of points. All output points
used with TURN must have a range with its top and bottom defined.

Example 1 Suppose you want to turn on the fan and the pump. You can turn
both on in one program statement:
Program File
Turn On 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 SET
Keywords

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

Modes Command lines and programs.


Available

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 ACX series controllers, CX series controllers (except 9500), and CMX
Supported series controllers.

Modes Command lines and programs.


Available

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.

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


always pushes alarms and events to the workstation.
You can use UpDate in a program, but not on the Command line.
When you use UpDate from a program, you must use it on a labeled
line by itself. After it executes, UpDate automatically moves the
program to the next labeled line. The next labeled line should then
test for the returned results of UpDate.
If a valid phone number string is provided, UpDate turns on DTR
(Data Terminal Ready) for the controller’s port. Otherwise, UpDate
assumes that a PE program has opened the port and established a
connection.
Update automatically dials the call to the modem if you provide a valid
phone number string, so you do not use it with the dial keyword.
The phone number string can be a simple telephone number such as
”978-470-0555”.

CAUTION
! Update momentarily changes the port to RAW mode,
while it is dialing. However, while the port is in Raw mode,
you cannot 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 If the first character in the phone number string is not an ‘A’ or ‘a’, the
continued update command will issue the standard “ATDT” Command to the
modem and then the phone number to be dialed.

The phone number string can also contain valid AT Commands such
as
“ATD,T,, 978-470-0555”.

If the first character in the phone number is an ‘A’ or ‘a’, the UpDate
keyword assumes that the phone number string contains valid AT
commands prior to the phone number to command the modem to
dial.

This feature is useful for 3rd party modems or Cellular Modems that
require something other than “ATDT” to command dialing.

UpDate automatically checks to see if the workstation acknowledges


the update request. If it does:
• UpDate starts a PPP session.
• PPP Alarm & Event Msg is sent to the workstation.
If no response is received, the controller drops the connection after
timeout. Otherwise, the controller waits until the workstation finishes
polling for Alarms and Events and then terminates the connection.
Replace timeout with the number of minutes that the system waits
before it starts the PPP session. If you do not give a timeout, it is
automatically set to 0. The maximum 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 Returned When


continued
Controller has established connection with the
Success
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
Failure is otherwise incorrect.
• Controller does not receive an ACK from the
workstation.
• Workstation does not establish a PPP connection
with the controller within 30 seconds plus the
timeout you supply.
Controller does not detect a carrier on the
DialNoCarrier
communications line.
Controller detects a continuous ringback signal on the
line for longer than the modem expiration timer allows.
DialNoAnswer 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.
Modem is waiting for a dial tone before dialing and has
DialNotDialTone not received one.

Example You can use UpDate to update alarms and events. The following
program is an example of using UpDate to update alarms and events
at an interval. It uses a FallThru program to force the controller to
"Push" its updates after a given time interval.

Andover Plain English™ Language Reference 7- 381


UPDATE, continued

Example 'Program triggered by minute system variable to update alarms and


continued 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 For example, if the controller calls the workstation and the workstation
continued 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 InitModem
Keywords

Products Available only on CX series controllers.


Supported

Modes Command lines and programs.


Available

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 (You can, however, set the value of the datetime variable yourself, if
continued 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 year—up to 17,520 entries. This number remains
the same, regardless of the interval. So, if you log the point every 15
minutes (twice as often), you can store up to 6 month’s (half as long a
period) of extended log entries for that point.

Example 1 Suppose you want to update an extended log called TEMP1 on the
FLOOR1 controller. You would use the UpdateExtLog statement as
shown in the following program:
Program File
Numeric Result
Datetime UpdateTimer
Updating:
Result = UpdateExtLog (Building3 Floor1 Temp1, UpdateTimer)
Checking:
If Result = Success then
Goto WaitUntilLogTime
Else
Print "Could not update extended log for Floor1 Temp1"
Stop
Endif
WaitUntilLogTime:
If Time > = UpdateTimer then
Goto Updating
Else
Goto WaitUntilLogTime
Endif

Andover Plain English™ Language Reference 7-385


UpdateExtLog, continued

Example 1 This statement tells the software to update the TEMP1. First, the
continued 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 UpdateTimer value from the extended log setup information. Then,
continued 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 First, the statement retrieves the correct UpdateTimer value from the
continued extended log setup information. Then, when the current time is 60
seconds greater than the UpdateTimer, the software retrieves values
from the regular log and stores them in the extended log on the
workstation. This way, the software stores the old log values. The
statement updates each log once, and sets the UpdateTimer local
DATETIME variable to the next time the extended logs on the
controller should update.

Example 4 If you want to update a single extended log from the Command line,
you can enter a simplified UpdateExtLog statement, with no datetime,
as follows:
Command Line
UpdateExtLog (Building3 Floor4 Temp1)

Example 5 If you want to update a group of extended logs from the Command
line, you can enter a simplified UpdateExtLog statement, with no
datetime, as follows:
Command Line
UpdateExtLog (Building3 TempsGroup)

Example 6 If you want to update all the extended logs on a single controller from
the Command line, you can enter a simplified UpdateExtLog
statement, with no datetime, as follows:
Command Line
UpdateExtLog (Building3 Floor4)

Example 7 To update only the input points on a controller, you can open a list of
input points using OpenList (see OpenList keyword) and then get
each point in the list. By testing the ExtLogSize attribute of each
point, you can determine whether or not the point is an extended log.
If it is an extended log, you can then update it as you did in the earlier
examples.

7-388 Schneider Electric


UpdateExtLog, continued

Example 7 Below is a fallthru program that opens a list of points on the Floor4
continued 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 This statement tells the software to update all of the extended logs
continued in the Floor4 controller at the Building3 site. Remember, you must
give the full path to the controller.

For further information on getting point with GetObject, see the


OBJECT, OpenList, GetObject, and CloseList keywords.

Related DeleteExtLog
Keywords

Products CyberStation
Supported

Modes Command lines and programs.


Available

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

Modes Command lines and programs.


Available

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:

Constant Short Name Long Name


1 SUN SUNDAY
2 MON MONDAY
3 TUE TUESDAY
4 WED WEDNESDAY
5 THU THURSDAY
6 FRI FRIDAY
7 SAT SATURDAY

Example 1 You can spell out names for printing or for comparing to an actual
day:
Program File
If Weekday is Saturday then Print Weekday
Output
Saturday

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

Modes Command lines and programs.


Available

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.

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

Example 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 IS…
Keywords BREAK
CONTINUE

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

Modes Programs
Available

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

Products DCX 250 Display Unit


Supported

Modes Programs
Available

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 In the example below, the WriteFile statement gives the FILE variable
continued 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 For each record (16 characters long), you want WriteFile to put the
continued 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 OK = WriteFile (SetPTFile, RecordLine, CharsRead, CharsWritten)


continued If OK = Failure then
Result = "Could not write file"
Goto Failing
Endif
Line Failing
Print Result
Goto Closing
Line Closing
If CloseFile (ZoneData) is Failure then Result = "Could not close file"
If CloseFile (SetPTFile) is Failure then Result = "Could not close file"
Print Result

Related FILE
Keywords CLOSEFILE
OPENFILE
READFILE
POSITIONFILE
FAILURE
SUCCESS

Products CyberStation
Supported

Modes Programs
Available

7-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
Configurator’s Guide Version 1.6, 30-3001-781). If not present, the
property value that matches with priority 10, if applicable, is used for
controllers. 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 ReadProperty
Keywords Relinquish

Products BACnet series controllers and CyberStation.


Supported

Modes Command lines and programs.


Available

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

Alias YR

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

Modes Command lines and programs.


Available

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 More printer control statements may be possible for your printer. See
continued the manufacturer's documentation.
Interchange (ASCII). You use these codes in a PRINT statement to
control your printer or screen.

ASCII Code The ASCII Codes are listed in the following table:
Table

Code (in Decimal) Character or Action


0 NUL
1 SOH
2 STX
3 ETX
4 EOT
5 ENQ
6 ACK
7 Beep.
8 Backspace.
9 TAB Forward.
10 Line Feed.
11 Vertical TAB.
12 Form Feed.
13 Carriage Return.
14 SO
15 SI
16 DLE
17 DC1

A-2 Schneider Electric


ASCII Codes

ASCII Code
Code (in Decimal) Character or Action
Table
continued 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
Code (in Decimal) Character or Action
Table
continued 45 –
46 . (period)
47 /
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63 ?
64 @
65 A
66 B
67 C
68 D
69 E
60
70 F
71 G

A-4 Schneider Electric


ASCII Codes

ASCII Code
Code (in Decimal) Character or Action
Table
continued 72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 -
96 ‘
97 a
98 b

Andover Plain English™ Language Reference A-5


ASCII Codes

ASCII Code Code (in Decimal) Character or Action


Table
continued 99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }

A-6 Schneider Electric


ASCII Codes

ASCII Code
Table Code (in Decimal) Character or Action
continued 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 Continuum’s 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 Andover Continuum system constants are listed in alphabetical


System order.
Constants A

A_Variable AccessModeNoDatabase
ABA1 AccessModeNormal
ABA2 ACCExpression
Abnormal ACCFlashEmpty
AbortRestore ACCFlashFailure
AC_Flag ACCFlashValid
AC_Output ACCPneumatic
AC256P ACCTemp(DEGC)
AC256Site ACCTemp(DEGF)
AC4P4 Accumulator
AC4plus432 ACCWarmStartOnly
AC8P ACCWarmToCool
ACC_Airflow ACFloatType
ACC_Both Ack
ACC_Dynamic Ack_Alarms
ACC_InputCurrent AckAfterRTN
ACC_Keypad AckAll
ACC_Pneumatic AckAndRTN
ACC_Pressure Acked
ACC_Static AcknowledgeAlarm
ACCBackingUp AcknowledgeAlarms
ACCBackupDisabld AckOnly
ACCBackupDone AckOnlyThisOne
ACCBackupEnable AckOrRTN
ACCBackupInactve Acks
ACCBackupNeeded AckUntilTime
ACCBackupNow ACP
ACCCoolStartOnly Active
Access_archiver Active-alarms-per-object
Access-equipment-fault-report Active-alarms-under-a-controller
AccessEvent Active-alarms-under-a-field-controller
Access-events-per-area Active-alarms-under-a-network
Access-events-per-door Active-unACKed-alarms-per-controller
Access-events-per-person Activity_archiver
Access-events-under-a-controller ActivityEvent
AccessModeNoCommunication Activity-events-per-activity-type

B-2 Schneider Electric


System Constants

Table of A
System Activity-events-per-controller Alm6
Constants Activity-events-per-controller-with- Alm7
continued children Alm8
Activity-events-per-object AlmNotification
Activity-events-per-user Amperes
Activity-events-per-workstation Amperes-per-meter
ActUnack Amperes-per-square-meter
ACXDatabaseFault Ampere-square-meters
ACXDatabaseFaultCleared AnalogInput
ADAExitRequestTrouble AnalogOutput
ADAExitRequestTroubleCleared AnalogValue
ADAInputTrouble Apr
ADAInputTroubleCleared April
Add-areas-to-personnel Area
Add-column(s)-to-list-class AreaBased
AddListElement Areas-accessed-by-the-selected-person
Add-object(s)-to-Report-memberlist Area-use-by-person
Add-recipient-to-notification Armed
Add-triggers-to-point ASCIIDump
Admin ASCIIReload
Administrate AtomicReadFile
Alarm AtomicWriteFile
Alarm_archiver AudioDatatype
AlarmEnrollment AudioOnToFault
AlarmEvent AudioOnToNormal
Alarms-for-an-event-object-with-alarm- AudioOnToOffNormal
enrollment Aug
Alarms-for-an-event-object-with-event- August
notification Authenticate
Alarm-transitions-per-object AuthenticationFailed
Allowed Automatic
AllPaths AutomaticLifeSafety
Alm0 Automatic-release-disabled
Alm1 Automation
Alm2 AutoSet
Alm3 Available
Alm4 Average
Alm5 Average-of-object-value
Averaging

Andover Plain English™ Language Reference B-3


System Constants

Table of B
System
B_Abnormal B_Test
Constants B_Active B_TestActive B_TestAlarm
continued B_Alarm B_TestFault
B_Armed B_TestFaultAlarm
B_AutoReleaseDis B_TestSupervisry
B_Blocked B_Unmanned
B_Default B_Unsilence
B_Delayed B_UnsilenceAud
B_Disabled B_UnsilenceVis
B_Disarmed b3608
B_Disconnected b3616
B_DuressState b3624
B_EmergencyPower b3800
B_Enabled b3804
B_Fast b3810
B_Fault b3814
B_FaultAlarm b3850
B_FaultPreAlarm b3851
B_GeneralAlarm b3853
B_Holdup b3865
B_LocalAlarm b3866
B_Manned b3867
B_None b3885
B_NotReady b3886
B_Off b3887
B_On b3920
B_PreAlarm b4920
B_Prearmed Backup-BACnet-Device
B_Quiet BackupToFlash
B_Reset Backup-to-flash-including-the-children
B_ResetAlarm Backup-to-flash-the-objects
B_ResetFault Bars
B_Silence Baud1200
B_SilenceAudible Baud19200
B_SilenceVisual Baud19-2K
B_Slow Baud2400
B_Supervisory Baud300
B_Tamper Baud38400
B_TamperAlarm Baud38-4K
Baud4800

B-4 Schneider Electric


System Constants

Table of B-C C
System
Baud76800 CardMode
Constants Baud76-8K Centimeters
continued Baud9600 CentimetersOfMercury
bCX4000 CentimetersOfWater
bCX4020 Change-Automatic-archiving-parameter
bCX4040 Change-Continuum-explorer-option
bCX4060 Change-in-GUI-field
bCX9600 ChangeOfBitstring
bCX9640 ChangeOfFailure
BeepOnToFault ChangeOfState
BeepOnToNormal ChangeOfValue
BeepOnToOffNormal Change-security-key-in-default-security-
Binary page
BinaryInput Change-security-key-on-a-Class
BinaryOutput Change-the-main-menu-page
BinaryValue Change-the-option-on-main-menu-page
Bit ChangeValues
Bitstring Channel-override-events-per-door
BlinkOnAlarm Char
Blocked CharacterSetNotSupported
Blue CharType
BondSensorTrouble Check-in-PE-program
BondSensorTroubleCleared Check-out-PE-program
BondSensorViolation CK34
BondSensorViolationCleared ClassDefault
BooleanType ClearDisplay
Btus Clockwise
BtusPerHour Closed
BtusPerPoundDryAir ClusteredBar
BufferOverflow Coldstart
Buffer-purged COM1
BufferReady COM2
CabinetTamperDoorClosed COM3
CabinetTamperDoorOpen Command
Calendar Command_Line
Cancel-distribution-operation CommandFailure
Cancel-schedule Commport
Candelas Completed-deleting-object-from-Access-
Candelas-per-square-meter Control-DB
CannotDelete Completed-deleting-objects-from-Access-
CannotRename Control-DB

Andover Plain English™ Language Reference B-5


System Constants

Table of C C-D
System
Completed-refreshing-objects-to-Access- Currency1
Constants Control-DB Currency10
continued Completed-refreshing-object-to-Access- Currency2
Control-DB Currency3
Config Currency4
ConfigurationError Currency5
ConfigurationInProgress Currency6
Configure Currency7
ConfirmedCOVNotification Currency8
ConfirmedEventNotification Currency9
ConfirmedPrivateTransfer Current
ConfirmedTextMessage CurrentValue
Connected CustomCard
Connecting CustomMagStripe
Constant CustomWiegand
Container CX9000
Controller-use-by-person CyclesPerHour
ControllerUser CyclesPerMinute
Copy Data
CopyFromTemplate DatabaseSynchronization
Copy-object DataBits5
Counter DataBits6
CounterClockwise DataBits7
Create-attempt-for-an-object DataBits8
Create-link-between-2-objects DateAndTimeType
CreateObject DateDataType
Create-object DateTime
Create-object-from-DBSync-activity Days
Create-object-from-template DbSync
Create-shortcut Dec
Create-template-from-the-object December
CriticalEquipmentControl Default
CriticalEquipmentMessage DefaultTime
CtsRts Deg-Phase
CubicFeet DegreeDaysCelsius
CubicFeetPerMinute DegreeDaysFahrenheit
CubicFeetPerSecond DegreesAngular
CubicMeters DegreesCelsius
CubicMetersPerHour DegreesCelsiusPerHour
Cubic-meters-per-minute DegreesCelsiusPerMinute
CubicMetersPerSecond

B-6 Schneider Electric


System Constants

Table of D D-E
System
DegreesFahrenheit DisplayVideo
Constants DegreesFahrenheitPerHour DistNotUsed
continued DegreesFahrenheitPerMinute DistributeAddAreasToPersonnel
DegreesKelvin DistributeAreaDeleteToAllACXS
Degrees-Kelvin-per-hour DistributeAreaMemberDeleteToAllACXS
Degrees-Kelvin-per-minute DistributeAreaMembersToAllACXS
DegreesPhase DistributeAttributeSet
Delayed DistributeEnableDisableAreaLink
Delete DistributeOnePersonToACX
Delete-activity-log DistributeOnePersonToAllACXS
Delete-area-from-all-controllers DistributePersonDeleteToAllACXS
Delete-arealink-from-all-controllers DistributePersonsToACX
Delete-extendedlogs DistributeResetPreload
Delete-link-between-2-objects Distribute-the-personnel-to-controller
DeleteObject Done
Delete-object Door
Delete-object-from-Access-Control-DB Door_Ajar
Delete-object-from-DBSync-activity DoorAjarCleared
Delete-objects-from-Access-Control-DB DoorChannelOverrideAndDoorLocked
Delete-the-Personnel-from-controller DoorChannelOverrideAndDoorUnlocked
Delta-degrees-Fahrenheit DoorChannelOverrideCleared
Delta-degrees-Kelvin DoorExitRequestTrouble
Denied DoorExitRequestTroubleCleared
Dereferenced DoorLockedBySchedule
Device DoorSwitchTrouble
DeviceAndBelow DoorSwitchTroubleCleared
DeviceBusy DoorUnlockedBySchedule
DeviceCommunicationControl Door-use-by-person
DeviceOnly Double
Digital DoubleType
Direct DownloadInProgress
Disable-area-links DownloadRequired
Disabled Download-schedule
Disable-object Duress_state
Disable-user-logging-flag DynamicArray
Disarmed DynamicCreationNotSupported
Disconnected Email
Disconnecting EmailAck
DisplayAlarmView EmailOnOffNormal
DisplayPanel EmailToFault
EmailToNormal

Andover Plain English™ Language Reference B-7


System Constants

Table of E F
System Emergency-power Failed
Constants Enable-area-links Failed-login-attempts-per-user
continued Enable-Automatic-archiving Failed-login-attempts-per-workstation
Enabled Failure
EnableDisable FallThru
Enable-object False
Enable-user-logging-flag Farads
EndBackup Fast
EndRestore Fault
EntryKeypadTamper Fault-alarm
EntryReaderFault Fault-pre-alarm
EntryReaderFaultCleared Feb
Enumeration February
Eof Feet
Equal FeetPerHour
ErrorEvent FeetPerMinute
Error-events-per-controller FeetPerSecond
Error-events-per-controller-with-children Female
Error-events-per-object File
Error-events-per-user FileAccessDenied
Error-events-per-workstation FileBegin
Ethernet802_2 FileCurrent
Ethernet802_3 FileDatatype
EthernetII FileEnd
EthernetSNAP Fill
Even Find-BACnet-devices
EventEnrollment FixedArray
EventNotification Flashes-an-IOU-module
EventView Flash-IOU-modules-from-controller
EvtNotification FloatingLimit
Execute-Learn FloatType
Execute-learn-on-an-IOU-module FolderAndBelow
Execute-object FolderOnly
Execute-Teach FormCancel
Executive_Privilege Forward
ExitKeypadTamper Fri
ExitReaderFault Friday
ExitReaderFaultCleared
ExitRequestDenied_Lockdown
Export-security-keys-to-file
ExpressionAlarm
ExtendedLog
ExtLog_archiver

B-8 Schneider Electric


System Constants

Table of G–H–I I
System G31 i2850
Constants General-alarm i2851
continued GeneralMode i2853
Generic-action i2865
GetAlarmSummary i2866
GetEnrollmentSummary i2867
GetEventInformation GlobalScope i2885
Grams-per-minute i2886
Grams-per-second i2887
Graphics i2888
GraphicsDisplayType I2889
GreaterThan i2920
GreaterThanOrEqual IAm
Group Idle
GUI IHave
Halt Image
Halted ImperialGallons
Hectopascals ImperialGallonsPerMinute
Henrys Import-object-from-dump-file
HIDCorp1000_35 Import-security-keys-from-file
HighAlarm Inactive
HighLimit InAlarm
HighLimitEnable Inches
HiLimit InchesOfMercury
HiResCurrent InchesOfWater
HiResVoltage IncompatibleSecurityLevels
History Incomplete
Holdup InconsistentParameters
Holiday InconsistentSelectionCriterion
Horizontal Infinet
Horsepower Infinity_37
Hours InfinityController
Hundredths-seconds InfinityData
i2608 InfinityDateTime
i2616 InfinityFunction
i2624 InfinityInfinetCtlr
i2800 InfinityInput
i2804 InfinityNumeric
i2810 InfinityOutput
i2814 InfinityProgram

Andover Plain English™ Language Reference B-9


System Constants

Table of I–J J–K-L


System InfinityString JoulesPerKilogramDryAir
Constants InfinitySystemVariable Jul
continued InheritFromTemplate July
Initiate-Archiving-sequence Jun
InProgress June
InputCurrent KeyGenerationError
Instantaneous KiloBtus
Int Kilo-btus-per-hour
Intermitted Kilograms
Internal Kilograms-per-cubic-meter
Invalid_Attempt KilogramsPerHour
InvalidAPDUInThisState KilogramsPerMinute
InvalidArrayIndex KilogramsPerSecond
InvalidAttemptAntiPassbackViolation Kilohertz
Invalid-attempts-of-a-door Kilohms
Invalid-attempts-of-an-area Kilojoules
Invalid-attempts-of-a-person Kilojoules-per-degree-Kelvin
InvalidDataType KilojoulesPerKilogram
InvalidFileAccessMethod Kilojoules-per-kilogram-dry-air
InvalidFileStartPosition KilometersPerHour
Invalid-logon-attempt-from-workstation Kilopascals
InvalidOperatorName KilovoltAmperes
InvalidParameterDataType KilovoltAmperesReactive
Invalid-password-in-Operator-text-dialog- Kilovolts
box KilowattHours
InvalidTag KilowattHoursPerSquareFoot
InvalidTimeStamp KilowattHoursPerSquareMeter
Invalid-user-name-in-Operator-text-dialog- Kilowatts
box KVA
IOBidirectional KVAR
IOInput K-watt-hours
IOOutput LAN
IOUModule Last15min
Jan Last30min
January LastMonth
Joules LastWeek
Joule-seconds LastYear
JoulesPerDegreeKelvin Launch-Automatic-archiving-app
JoulesPerKilogramDegreeKelvin

B-10 Schneider Electric


System Constants

Table of L L-M
System
Lbus Lumens
Constants LessThan Luxes
continued LessThanOrEqual Level_0 through Male
Level_255 Manned
LifeSafetyMessage Manual
LifeSafetyOperation ManualAreaAssign
LifeSafetyPoint ManualLifeSafety
LifeSafetyZone ManualOperator
Lighting Mar
List March
ListView Mark-personnel(s)-card-as-lost
Maximum
Liters May
LitersPerHour Mega-btus
LitersPerMinute Megahertz
LitersPerSecond Megajoules
Load Megajoules-per-degree-Kelvin
LoadFailed Megajoules-per-kilogram-dry-air
Loading MegajoulesPerSquareFoot
Local-alarm MegajoulesPerSquareMeter
LocalScope MegavoltAmperes
Locked MegavoltAmperesReactive
Lock-unlock-events-per-door Megavolts
Log Megawatt-hours
LogAverage Megawatts
Log-disabled Megohms
Login-attempts-per-user Meters
LogInstantaneous Meters-per-hour
LogMaximum Meters-per-minute
LogMinimum MetersPerSecond
Logoff-from-workstation Meters-per-second-per-second
LogView MilesPerHour
LON Milliamperes
LongIntType Milliamps
Loop Millibars
Looping Millimeters
LowAlarm MillimetersOfMercury
LowLimit Millimeters-per-minute
LowLimitenable Millimeters-per-second

Andover Plain English™ Language Reference B-11


System Constants

Table of M M-N
System Milliohms Multiple
Constants Milliseconds MultiPlot
continued Millivolts MultiStateFault
Milliwatts MultistateInput
Minimum MultistateOutput
MinimumOnOff MultistateValue
Minmax MVA
Min-max-of-object-value MVAR
Minutes NCParallel
MissingRequiredParameter NCSeries
Modify-Global-preference NCSerPar
Momentary_Unlock NetBeui
MomentaryUnlocked NetBios
Mon NETWARE
Monday Network
Months NETWORK_CMDLINE
MonthToDate NetworkDialup
MonthToNow NetworkWide
Most-accessed-areas New
Most-accessed-controllers Newton
Most-accessed-doors Newton-meters
Most-active-alarmed-objects Newton-seconds
Most-active-persons Newtons-per-meter
Most-active-persons-entering-selected- NoAccess
area(s) NoComm
Most-active-persons-entering-selected- NoDataBase
door(s) NoFaultDetected
Most-alarm(s)-acking-user Nofill
Most-alarm(s)-acking-workstation NoFlowControl
Most-alarm(s)-logging-workstation NonCollection
Most-alarm(s)-silencing-user None
Most-alarm(s)-silencing-workstation NonOperational
Most-common-activities NoObjectsOfSpecifiedType
Most-common-errors NoOutput
Most-offline-controller NoPad
Most-offline-field-controller NOParallel
Most-offline-IOU Normal
Move NormalMessage
Move-object NoSegmentation
MSTP NoSensor

B-12 Schneider Electric


System Constants

Table of N–O O-P


System NOSeries OneMonthToNow
Constants NOSerPar OnePlot
continued NoShortcuts OneWeekToDate
NoSpaceForObject OneWeekToNow
NoSpaceToAddListElement OneYearToDate
NoSpaceToWriteProperty OneYearToNow
NotAcked OnLine
NotConfigured Opened
NotEqual OpenLoop
NotificationClass Open-object-for-editing
Not-ready Operational
NotSet OperationalProblem
NoUnits OperationalReadOnly
Nov Other
November Out_Of_Services
NoVTSessionsAvailable OutOfRange
Null OverRange
Object Overridden
ObjectClass PageAck
ObjectDeletionNotPermitted PageToFault
ObjectId PageToNormal
ObjectIdentifierAlreadyExists PageToOffNormal
ObjectReference Paging
Objects-created/saved-events-per-user Panel
Object-value PanelMeter
Oct ParameterOutOfRange
October PartsPerBillion
Odd PartsPerMillion
Off Pascals
OffLine PasswordFailure
Offline-alarms-per-controller PDF
Offline-alarms-per-field-controller PE_program
Offline-alarms-per-IOU-module Pending
OffNormal PendingReload
Ohm-meters PendingRetry
Ohms Percent
On Percent-obscuration-per-foot
-On Percent-obscuration-per-meter
Once PercentPerSecond
OneMonthToDate PercentRelativeHumidity
PerHour

Andover Plain English™ Language Reference B-13


System Constants

Table of P P–Q-R
System Permanent_Unlock PrintToNormal
Constants Permanent_UnlockCleared PrintToOffNormal
continued PerMinute Priority10
PerSecond Priority11
Personnel Priority12
Persons-accessed-the-selected-area Priority13
Pie Priority14
PinChange Priority15
PINMode Priority16
PINOnly Priority3
PIUTool-End Priority4
PIUTool-Import-End Priority7
PIUTool-Import-Start Priority9
PIUTool-Search-end Probe
PIUTool-Search-Start ProbeOff
PIUTool-Start ProbeOnDemand
PlayContinuous ProcessError
PlayOnce Program
Polar ProgrammingLevel
Port_OutOfServices Prompt
PoundsForcePerSquareInch Property
PoundsMass PropertyIsNotAList
PoundsMassPerHour PsiPerDegreeFahrenheit
PoundsMassPerMinute PTP
Pounds-Mass-Per-Second PTPConnecting
PowerFactor PTPDisconnected
PPP Pulse-Converter
Pre-alarm Pwr-Factor
Prearmed Quiet
PreemptedByHigherPriorityTask Radians
PrimaryEMail Radians-per-second
PrimaryForward Raw
PrimaryLog ReadAccessDenied
PrimaryPaging ReaderDoor
PrimaryPrint ReadOnly
Print ReadProperty
PrintAck ReadPropertyConditional
Printer ReadPropertyMultiple
PrintReport ReadRange
PrintToFault ReadWrite Ready

B-14 Schneider Electric


System Constants

Table of R R-S
System Real RTD1000TempF
Constants RealTime RTD1000TempF2W
continued RefreshDatabase RTDTemp(DEGC)
Refreshed-Extended-Log RTDTemp(DEGF)
Refresh-object-from-template RTDTempC2W
Refresh-objects-to-Access-Control-DB RTDTempF2W
Refresh-object-to-Access-Control-DB RTNOnly
ReinitializeDevice RTNs-for-an-event-object-with-alarm-
Reload-object-to-controller enrollment
RemoteScope RTNs-for-an-event-object-with-event-
Remove-areas-from-personnel notification
Remove-column(s)-from-list-class RtnUnack
RemovedEnumValue Run
RemoveFromStatusWhenAcked Running
RemoveListElement Sat
Remove-object(s)-from-Report- Saturday
memberlist Save
Remove-recipient-from-notification Save-object
Remove-triggers-from-point Save-object-to-database
Rename-object Save-object-to-database(sendtoDatabase)
RepeatEmail Save-object-to-dump-file
RepeatLog Save-schedule-auto-send-datetime
RepeatPaging Save-schedule-configuration
RepeatPrint Save-schedule-events
RequestKey Schedule
RequestToExit ScheduleDownload
RequiresCommission ScheduleMode
Reset Seconds
Reset-alarm Security
Reset-controller-from-editor SecurityLevel
Reset-fault SecurityNotSupported
Resources SegmentationNotSupported
Restart SegmentedBoth
Restore-BACnet-Device SegmentedReceive
ReturnToNormal SegmentedTransmit
Reverse Send-time-synch
RevolutionsPerMinute Sep
Rotate-object-to-another-label September
RTD1000TempC ServiceRequestDenied
RTD1000TempC2W Services

Andover Plain English™ Language Reference B-15


System Constants

Table of S S-T
System Set-attribute Start-Relinquish-BACnet-Command
Constants Set-attribute-in-buffered-mode StartRestore
continued Set-Date-systemvariable Start-the-object
ShortcutCreate Stop-Automatic-archiving
ShortcutsAsShortcuts StopBit1
ShortedLoop StopBit1.5
ShortIntType Stop-the-object
ShowDisplayValue StopBit2
ShowMessage String
ShowSpaceTemp StringDataType
ShowTimeValue Structure
Shutdown-Automatic-archiving-app SubscribeCOV
Shut-down-Continuum-on-a-workstation SubscribeCOVProperty
Siemens Success
Siemens-per-meter Sun
Silence Sunday
Silence-audible Supervised
Silence-visual SvFloat
Singular SX8000
Site_Config System
Site_ConfigB Table
SiteConfiguration Tamper
SiteMode Tamper-alarm
Slow TankNet
Smallint TankProbe
Snapshot-of-object-value TCP
Snapshot-of-Trend-Log-buffer-contents TCP_IP
SoftAck TCPIP
SpecifiedByRules Temperature
SpecifiedByUser TemplateCreate
SpecifiedElapsedTime TemplateRefresh
SpecifiedTime Teslas
SQLDateTime Test
Square-centimeters Test-active
SquareFeet Test-alarm
Square-inches Test-fault
SquareMeters Test-fault-alarm
Square-meters-per-Newton Text
Squ-Feet TextType
Squ-Meters ThermoCoupBTempC
StartBackup ThermoCoupBTempF
Start-Continuum-on-a-workstation

B-16 Schneider Electric


System Constants

Table of T T-U
System ThermoCoupETempC UnArmed
Constants ThermoCoupETempF Unassigned
continued ThermoCoupJTempC UnauthorizedOpenDoor
ThermoCoupJTempF UnauthorizedOpenDoorCleared
ThermoCoupKTempC Unavailable
ThermoCoupKTempF UncomfirmedEventNotification
ThermoCoupRTempC UncomfirmedPrivateTransfer
ThermoCoupRTempF UncomfirmedTextMessage
ThermoCoupSTempC UnconfirmedCOVNotification
ThermoCoupSTempF UndefinedEnumeration
ThermoCoupTTempC UnderRange
ThermoCoupTTempF Union
Therms Unknown
Thu UnknownDevice
Thursday UnknownObject
TimeDataType UnknownProperty
TimedUnlock UnknownVTClass
Timeout UnknownVTSession
TimeStampType Unload
TimeSynchronization Unloaded
Tinyint Unlocked
Today Unmanned
ToFault UnrecognizedService
TonHours UnreliableOther
ToNormal Unset
Tons UnsignedCharType
Tons-per-hour UnsignedLongType
TonsRefrigeration UnsignedShortType
ToOffNormal Unsilence
TooManyArguments Unsilence-audible
Trend Unsilence-visual
TrendLog UnsupportedObjectType
TriState Update-controller-from-DBSync-activity
Trouble Update-extendedlogs
True Update-object-from-DBSync-activity
Truncate-Log-table Update-the-OS-on-a-controller
TS_DateTime Urgent
TS_SequenceNumber UrgentMessage
TS_Time User-invalid-attempt
Tue UsGallons
Tuesday UsGallonsPerMinute
UDP UtcTimeSynchronization
UDP_AND_TCP

Andover Plain English™ Language Reference B-17


System Constants

Table of V–W W – X – Y–Z


System V_Variable Webers
Constants VA WebGraphic
continued Valid_Access WebGraphicControl
ValidAccessAntiPassbackViolation Wed
ValidAccessDuress Wednesday
ValidAccessNoEntry Weekly
ValidAccessTimedAntiPassbackViolation Weeks
Valid-and-invalid-attempts-of-a-person WeekToDate
Valid-logon-from-workstation WeekToNow
ValueOutOfRange WhenFinished
ValueRepeat White
VAR WhoHas
Varbinary WhoIs
Varchar Wiegand26
Vertical Window
VideoDatatype Wireless
View WithinController
ViewOnly WriteAccessDenied
Voltage WriteOnly
Voltamperes WriteProperty
VoltAmperesReactive WritePropertyMultiple
Volts Wyse
Volts-per-degree-Kelvin X_Variable
Volts-per-meter Xdriver
VT XdrvInstalled
VT100 XdrvNotInstalled
VT220 XdrvRemove
VtClose XdrvRemoved
VtData XdrvRun
VtOpen XdrvRunning
VTSessionAlreadyClosed XdrvStop
VTSessionTerminationFailure XdrvStopped
Waiting XdrvTransition
Warmstart XonXoff
WattHours XonXoffCtsRts
Watt-hours Yearly
Watts Years
Watts-per-meter-per-degree-Kelvin YearToDate
WattsPerSquareFoot YearToNow
WattsPerSquareMeter Yesterday
WattsPerSquareMeterDegreeKelvin ZoneNumberBased
Web

B-18 Schneider Electric


Additional Reserved Words

Table of The following table lists additional Plain English reserved words
Additional consisting of system variables, system functions, and keywords listed
Reserved in alphabetical order.
Words
Note: As a programmer, you may not use any of these words as a line
label or program variable.

A-B B-D D-F F-L L-M

Above Break Disconnect First Line


Abs Breakpoint Div Floor LinePoint
AccessLog By Divided For Ln
AccessServer CabinetTamper Does Freemem Load
AckAlarm Case Dom From Locate
Acos Cd Doy GetExtLog Log
Adjust Ceiling DrawEllipse GetName Logoff
Advise Change DrawLine GetObject Logout
Alarms Chr DrawRectangle Go Lookup
All ClearScreen Dt Goto Max
Am Close Dump Greater Maximum
And CloseFile E HangUp Maxitem
Append CloseList Either Hod MessageWindow
Arcsine CloseWindow Else Hour MicroPower
Arctangent Cls En HourOfDay Mid
Arctangent2 Connect Enable Hr Min
Arg Continue Encrypt If Minimum
Asc Control Encrypted ImportFile Minitem
Asin Cos End In Minus
Ask Cosine EndIf Include Minute
Atan CPUPower EndPolyLine Infinit#Count Mod
Atan2 CurUser EndSelect Initiate Modify
AudioBell Curvefit EndWhen InitModem Modulate
AvailRecords CurWorkstation EndWhile Input Month
Average Date EnergyNet Inputs Move
Avg DateTime Equal IOUCommFlt# Mth
Backlight DayOfMonth Equals Is Mult
Basedon DayOfYear Erase Kill Multiplied
Beep Dde Errors Last
BeginPolyLine Del EventLogSize LCDPassword continued
Below Delete Execute Left
Between DeleteExtLog Exists Len
Bitand Dial Exp Length
Bitnot DiffTime Exponential Less
Bitor Dis Fact Let
Bitxor Disable Factorial Like

Andover Plain English™ Language Reference B-19


Additional Reserved Words

Table of N-R R-T T-Y


Additional Neither Rotate Terminate
Reserved NewAlarmCount Round Th
Words Next Run Than
continued Not Save The
Number Sc Then
Numeric Scan Through
NumToStr Sd Thru
Object Search Time
Open Sec TimeOfDay
OpenFile Second Timepiece
OpenList Select Times
Or SendCommand Tm
Output SendEmail To
Outputs SendFile Tod
P Set TouchedCell
Param SetACValue Trace
Passed SetDisplay Trunc
Pid Shell Truncate
PlayAudio Show Ts
Plus ShowReport Turn
Pm Shut Unadvise
Poke Sin UniquePIN
PollACValue Sine Until
PopAlarm Site Update
PositionFile Sqrt UpdateAlarms
Pr StandardDeviation UpdateEvents
PreParse Start UpdateExtLog
Print Status Val
Prompt StatusLine Version
Random Step Weekday
Read Stop Where
ReadFile String While
ReadProperty Stringfill With
ReceiveFile StrToDate Wkd
Relinquish StrToNum Write
Reload StrToTime WriteFile
Report Sum WriteProperty
Request SystemStatus Year
Return Tab Yr
Right Tan
Rnd Tangent
Rot Td

B-20 Schneider Electric


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


AnalogInput Folder MultistateInput
AnalogOutput Function MultistateOutput
Area Graphics MultistateValue
BinaryInput Group Network
BinaryOutput InfinityController NetworkDialup
BinaryValue InfinityDateTime Numeric
Calander InfinityFunction Personnel
CommPort InfinityInfinetCtlr Program
ControllerUser InfinityInput Report
DateTime InfinityNumeric RootClass
Device InfinityOutput Schedule
Door InfinityProgram SecurityLevel
EventEnrollment InfinityString ShortCut
EventNotification InfinitySystemVariable String
EventView IOUModule TrendLog
File ListView User
AccessEvent Attributes

AccessEvent The following list provides you with the attributes and meanings for an
Attributes AccessEvent object.
Table
Attribute Description
AreaID Area involved in access event
CardNumber Card Number
CardType Card Type
Description Description of Object
DeviceID Net Controller reporting the event
DoorID Door reporting the event
EventMessage Either the mode of operation for valid access or the
reason for invalid access
EventType Type of event - valid access, etc.
ID SQL Object ID - Not meaningful to the user
LoggingWorkstaID Workstation that received the event
NonABACardNumber Non ABA Card number
PersonID Person involved in the event
SiteCode Site code of the card in the event
TimeOfLog Time that workstation logged event to database
TimeStamp Time that event took place
ZoneCode Zone code of the card involved in the event

C-2 Schneider Electric


ActivityEvent Attributes

ActivityEvent The following list provides you with the attributes and meanings for an
Attributes ActivityEvent object.
Table
Attribute Description
ActionCode System used number to refer to activity type
Caller Code Not meaningful to the user
Description Description of Object
EventObjectID The object asscociated with the activity
EventObjectName The object asscociated with the activity
ID SQL Object ID - Not meaningful to the user
NodeName The name of the device from which the activity took place
Operator Text The text entered by the person signing off on the activity
OTUser The user name of the person signing off on the activity
TimeStamp The time the activity took place
UserID The full path to the user
UserName The name of the user

Andover Plain English™ Language Reference C-3


ACXList Attributes

ACXList The following list provides you with the attributes and meanings for an
Attributes ACXList object.
Table
Attribute Description
AreaID Not meaningful to the user
AreaUsage Not meaningful to the user
DeviceID Not meaningful to the user
NetworkID Not meaningful to the user

C-4 Schneider Electric


AlarmEnrollment Attributes

ALarmEnrollment The following list provides you with the attributes and meanings for an
Attributes Table AlarmEnrollment object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
Alarmenable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmType Not meaningful to the user
Alias Alias of the Object
AudioFileFault Path and name of wav file to play on fault
AudioFileNormal Path and name of wav file to play on RTN
AudioFileOffNormal Path and name of wav file to play on Alarm
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventType Type of alarm - out of range, high limit, expression, etc.
FollowUpRule Not meaningful to the user
Graphics Not meaningful to the user

Andover Plain English™ Language Reference C-5


AlarmEnrollment Attributes

ALarmEnrollment Attribute Description


Attributes Table IconID Not meaningful to the user
continued
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not meaningful to the user
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
MsgTextFault Message delivered on fault
MsgTextNormal Message delivered on RTN
MsgTextOffNormal Message delivered on Alarm
Name Name of the object
NetworkNumber Not meaningful to the user
NotifyType Type of notification to be used
Owner Owner of object
Properties Not meaningful to the user
ReferenceCount Not meaningful to the user
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefObjectType Not meaningful to user
RefTemplate Name and path of template from which object was created
ReportID Not meaningful to the user
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template True if object is a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to the user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Virtual Flag Not meaningful to the user

C-6 Schneider Electric


AlarmEvent Attributes

ALarmEvent The following list provides you with the attributes and meanings for an
Attributes AlarmEvent object.
Table
Attribute Description
AckbyUser User who acknowledges the alarm
AckbyWorkstation Workstation from which alarm was acknowledged
Active Set to true if the alarm has not satisfied all of its return criteria
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventObjectID Object that went into alarm
EventObjectValue Value of object
EventType Alarm Type
FromState The previous state of the alarm event (Alarm, Return To
Normal)
ID SQL Object ID - Not meaningful to the Uuer
InitDeviceID Name of the device owning the object
LoggingWkstaID The name of the workstation that logs the alarm to the database
MasterAlmID Name of the alarm enrollment
MessageText Text message for alarm
OperatorActions Actions typed in manually by the operator
OPeratorText Text that is typed in by the person acknowledging the alarm, if
that option is in place
SilencedbyUser Use who silenced the alarm
SilencedbyWorkstation Workstation from which the alarm was silenced
Silenced Time Time at which the alarm was silenced
TimeofAck Time at which the alarm was acknowledged
TimeofLog Time at which the alarm was logged to the database
TimeStamp Time at which the alarm took place
ToState Current state of the alarm event

Andover Plain English™ Language Reference C-7


AlarmInfo Attributes

AlarmInfo The following list provides you with the attributes and meanings for an
Attributes AlarmInfo object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmLink1…AlarmLink8 Not meaningful to user
ParentObject The full path to the object
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
ReportID Not meaningful to the user

C-8 Schneider Electric


AnalogInput Attributes

AnalogInput The following list provides you with the attributes and meanings for an
Attributes AnalogInput object.
Table
Attribute Description
AckedTransitions Not meaningful to the user - currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Not meaningful to the user
Channel Terminal number into which this object is wired
ClassSortID Not meaningful to the user
Conversion Equation with which the elec. value should be converted into
engineering units
CreatedBy Name of user who created object
CreateTime Time of object creation
DeadBand Amount that the value must differ from low or hi limit in Basic
Alarm (WS points only)
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not meaningful to the user
DigitalFilter Allows for digital filtering to be applied automatically to the
input
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElecScaleBot The bottom electrical value that corresponds to the bottom
value in Engineering Units

Andover Plain English™ Language Reference C-9


AnalogInput Attributes

AnalogInput Attribute Description


Attributes ElecScaleTop The top electrical value that corresponds to the top value in
Table Engineering Units
continued ElecType Object's electrical type (voltage, current, digital, etc.)
ElecValue Object's actual electrical value
EngScaleBot The bottom value in Engineering Units that corresponds to the
bottom electrical value
EngScaleTop The top value in Engineering Units that corresponds to the top
electrical value
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN, Fault
(WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS points
only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not meaningful to the user
Format Format to be used in displaying object value
Graphics Not meaningful to the user
HighLimit High Limit to be used in Basic Alarm (WS points only)
IconID Not meaningful to user
ID SQL Object ID - Not meaningful to the user
IncludeObject Not meaningful to the user
IOU IOU number of object
IsShortcut Not meaningful to the user
LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LimitEnable Not meaningful to the user
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
LowLimit Low limit to be used in Basic Alarms (WS points only)
Name Name of the object
NetworkNumber Not meaningful to the user
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of object
Properties Not meaningful to the user

C-10 Schneider Electric


AnalogInput Attributes

AnalogInput Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table ReferencePoint4
continued RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not meaningful to the user
Resolution Not meaningful to the user
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not meaningful to the user
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to the user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
Threshold The amount, in engineering units, that the value must change
before it will update
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked The time the object was last opened
TriggerThreshold The amount, in engineering units, that the value must change
before it will update
Type The type of the object
Units The engineering units to be used for this object
UpdateInterval The update interval to be used for this object (WS points only)
Value The value of this object after any conversions that may be required

Andover Plain English™ Language Reference C-11


AnalogOutput Attributes

AnalogOutput The following list provides you with the attributes and meanings for an
Attributes AnalogOutput object.
Table
Attribute Description
AckedTransitions Not meaningful to the user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has made
a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has made
a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has made
a transition from normal to Alarm
Alarmgraphicpage Not Currently Implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
Conversion Equation with which the elec. value should be converted into
engineering units
CreatedBy Name of user who created object
CreateTime Time of object creation
DeadBand Amount that the value must differ from low or hi limit in Basic
Alarm (WS points only)
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not meaningful to the user
DigitalFilter Allows for digital filtering to be applied automatically to the
output
DistPending Indicates that distribution is pending for this object
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits

C-12 Schneider Electric


AnalogOutput Attributes

AnalogOutput Attribute Description


Attributes ElecScaleBot The bottom electrical value that corresponds to the bottom value in
Table Engineering Units
continued 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 Attribute Description


Attributes ReferencePoint1… Alarm Referenece Point
Table ReferencePoint4
continued RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not meaningful to the user
Resolution Not Currently Implemented
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not meaningful to the user
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template object
- meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
Threshold The amount, in engineering units, that the value must change before it
will update
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked The time the object was last opened
Type The type of the object
Units The engineering units to be used for this object
UpdateInterval The update interval to be used for this object (WS points only)
Value The value of this object after any conversions that may be required

C-14 Schneider Electric


Area Attributes

Area Attributes The following list provides you with the attributes and meanings for
Table an Area object.
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Not meaningful to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DeletePending Indicates if there is a delete action pending for this area
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Not meaningful to the user
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not meaningful to the user
Graphics Not meaningful to the user
IconID Not Meaningful to the User
ID SQL Object ID - Not meaningful to the user
IncludeObject Not meaningful to the user
KnownOccupCount Number of occupants currently in an area
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented

Andover Plain English™ Language Reference C-15


Area Attributes

Area Attributes Attribute Description


Table continued LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not meaningful to the user
Owner Owner of object
Properties Not meaningful to the user
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not meaningful to the user
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

C-16 Schneider Electric


AreaLink Attributes

AreaLink The following list provides you with the attributes and meanings for an
Attributes AreaLink object.
Table
Attribute Description
AreaID Name and path of the area
DeletePending Indicates if there is a delete action pending for this link
DistPending Indicates there is a distribution pending for this object
DistTime Time of last successful distribution
ID Not meaningful to the user
PersonID Name of the person involved in this link
PreLoad Determines if link is to be loaded to the controller or if
validation is to take place at the server level
SchedID Name of schedule associated with this link
State Indicates if an object has been enabled or disabled
TimeEntered Time of last entry into the area

Andover Plain English™ Language Reference C-17


BinaryInput Attributes

BinaryInput The following list provides you with the attributes and meanings for a
Attributes Table BinaryInput object.

Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
ActiveText Text to be displayed when object is in active state.
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ChangeofStateCount Number of times discrete object has changed state.
ChangeOfStateTime Time of last change of state.
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not Meaningful to the User
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElapsedActiveTime Amount of time discrete point has been in active state
ElecValue Object's actual electrical value
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)

C-18 Schneider Electric


BinaryInput Attributes

BinaryInput Attribute Description


Attributes Table EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
continued only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
InactiveText Text to be displayed when object is in inactive state.
IncludeObject Not Meaningful to the User
IOU IOU number of object
LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LowLimit Low limit to be used in Basic Alarms (WS points only)
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of object
Polarity Polarity (NO vs NC)
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic
log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user

Andover Plain English™ Language Reference C-19


BinaryInput Attributes

BinaryInput Attribute Description


Attributes Table TemplateName Name that will be used when creating objects from this
continued 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 Time stamp of most recent time that the active state was reset
Reset
TimeofStateCount Time stamp of most recent time that the state counter was reset
Reset
Type The type of the object
Value The value of this object after any conversions that may be
required

C-20 Schneider Electric


BinaryOutput Attributes

BinaryOutput The following list provides you with the attributes and meanings for a
Attributes Table BinaryOutput object.

Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
ActiveText Text to be displayed when object is in active state.
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ChangeofStateCount Number of times discrete object has changed state.
ChangeOfStateTime Time of last change of state.
ChangeofStateCount Number of times discrete object has changed state.
ChangeOfStateTime Time of last change of state.
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not Meaningful to the User
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElapsedActiveTime Amount of time descrete poin t has been in the active state
ElecValue Object's actual electrical value

Andover Plain English™ Language Reference C-21


BinaryOutput Attributes

BinaryOutput Attribute Description


Attributes Table EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
continued Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
InactiveText Text to be displayed when object is in inactive state.
IncludeObject Not Meaningful to the User
IOU IOU number of object
LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LowLimit Low limit to be used in Basic Alarms (WS points only)
MinimumOffTime Point will be latched at inactive value for this time
MinimumOnTime Point will be latched at active value for this time
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS points
only)
OverrideValue Actual value of output as set by person overriding it
Owner Owner of the object
Polarity Polarity (NO vs NC)
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
RelinquishDefault The priority value the BinaryOuput is set to when all command
priorities have been relinquished.
ReportID Not Meaningful to the USer

C-22 Schneider Electric


BinaryOutput Attributes

BinaryOutput Attribute Description


Attributes Table ScheduleEvents Not viewable by user
continued SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic
log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeDelay The time delay used in evaluating Basic Alarms (WS points
only)
TimeLocked The time the object was last opened
TimeofActiveTimeR
eset Time stamp of most recent time that the active state was reset
TimeofStateCountRe
set Time stamp of most recent time that the state counter was reset
Type The type of the object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C-23


BinaryValue Attributes

BinaryValue The following list provides you with the attributes and meanings for
Attributes Table a BinaryValue object.

Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
ActiveText Text to be displayed when object is in active state.
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ChangeofStateCount Number of times discrete object has changed state.
ChangeofStateTime Time of last change of state.
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not meaningful to user
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElapsedActiveTime Amount of time point has been in the active state
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS
points only)

C-24 Schneider Electric


BinaryValue Attributes

BinaryValue Attribute Description


Attributes Table FollowUpRule Not meaningful to the user
continued Graphics Not meaningful to the user
IconID Not meaningful to the user
ID SQL Object ID - Not Meaningful to the User
InactiveText Text to be displayed when object is in inactive state.
IncludeObject Not meaningful to the user
LastChangeBy Name of the user making the last change
LockedBy Not currently implemented
LockingWorkstation Not currently implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
MinimumOffTime Point will be latched at inactive value for this time
MinimumOnTime Point will be latched at active value for this time
Name Name of the object
NetworkNumber Not meaningful to the user
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS
points only)
Owner Owner of object
Properties Not meaningful to the user
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not meaningful to the user
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic
log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this
template object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates

Andover Plain English™ Language Reference C-25


BinaryValue Attributes

BinaryValue Attribute Description


Attributes Table TimeDelay The time delay used in evaluating Basic Alarms (WS points
continued only)
TimeLocked The time the object was last opened
TimeofActiveTimeReset Time stamp of most recent time that the active state was
reset
TimeofStateCountReset Time stamp of most recent time that the state counter was
reset
Type The type of the object
Value The value of this object after any conversions that may be
required

C-26 Schneider Electric


Calander Attributes

Calander The following list provides you with the attributes and meanings for a
Attributes Calander object.
Table
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 The following list provides you with the attributes and meanings for a
Attributes ClassName object.
Table
Attribute Description
ObjectTypeID Not meaningful to the user
ObjectTypeName Not meaningful to the user

C-28 Schneider Electric


CommPort Attributes

CommPort The following list provides you with the attributes and meanings for a
Attributes Table CommPort object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
CommStatus Not Meaningful to the user for this object - always reads online
CreatedBy Name of user who created object
CreateTime Time of object creation
CTS Clear To Send
CurrCommDir Not Meaningful to the User
CurrentUser When configured as a user port, indictates the current user of
that port
CXD Carrier Detect
DataLength Length in bits that data will be sent and received
DefaultBaud Default baud rate
DefaultMode The mode that the port will revert to when closed.
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DialPrefix String to be sent to the built - in Continuum modem before
dialing the number on a dial command
DialSuffix String to be sent to the built - in Continuum modem after
dialing the number on a dial command
DirectConnect Indicates that the port will be hard wired to a terminal device
DistPending Indicates that distribution is pending for this object

Andover Plain English™ Language Reference C-29


CommPort Attributes

CommPort Attribute Description


Attributes Table DSR Data Send Ready
continued DTR Data Terminal Ready
EditLock Indicates if object has been locked to additional Edits
FlowControl Type of flow control that will be used by the port
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
HangUpCmd String to be sent to the built-in Continuum modem when a
hangup command is issued
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
Learn Set to true when the user attempts to gather information on all
Infinet devices attached to a port configured as Infinet
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
MaxPrintCols
MaxPrintRows
MenuBar
Messages Indicates if there are currently messages in the message
window corresponding to the comm port
Mode Current operating mode of the comm port
ModemInit String to be sent to built-in Continuum modem on power-up.
Name Name of the object
NetworkNumber Not Meaningful to the User
NotChangeable Not Meaningful to the User
Owner Not Meaningful to the User
ParamLabels XDriver configuration value
Parity Parity setting of the port
PortNum SVC number corresponding to the port
PrintDone Indicates that the previous print instruction to the port is
complete
ProgramAttached Not Meaningful to the User
Properties Not Meaningful to the User
Reconfigs Indicates the number of bus reconfigurations that have occurred
- Meaningful only for Infinet ports
ReferencePoint1… Alarm Referenece Point
ReferencePoint4

C-30 Schneider Electric


CommPort Attributes

CommPort Attribute Description


Attributes Table RefTemplate Name and path of template from which object was created
continued ReportID Not Meaningful to the USer
RequestedMode Not Meaningful to the User
Resume Not Meaningful to the User
RI Ring Indicator
RTS Ready to Send
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
StartCharacter Character that will cause a window response when port is set to
autoset
State Indicates if an object has been enabled or disabled
StatusBar The bar at the bottom of the screen when the port is configured
as autoset
StopBits Number of stop bit for port
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TerminalType The type of terminal emulation to be used when port is set to
autoset
TimedOut Indicates that the port has timed out of its previous instruction
TimeLocked The time the object was last opened
TimeOutValue Value to be assumed after the time out
TrackCXD Disconnect port and revert to default mode upon loss of carrier
TransmitCount Number of transmissions
Type The type of the object
Windows
XDriverErrCount Number of errors encountered in communication via an Xdriver
to a third party device
XdriverError Type of error encountered in communication via an Xdriver to
a third party device
XdriverErrTime Time of error encountered in communication via an Xdriver to
a third party device
XdriverFile File to be used when reloading to install Xdriver
XdriverStatus Status of Xdriver communication

Andover Plain English™ Language Reference C-31


ControllerUser Attributes

ControllerUser The following list provides you with the attributes and meanings for
Attributes Table a ControllerUser object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Not meaningful to user
ClassSortID Not meaningful to user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FullName Full Name of User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not currently implemented

C-32 Schneider Electric


ControllerUser Attributes

ControllerUser Attribute Description


Attributes Table LoginProgram InfinityProgram to be run at controller when user logs in
continued LogOutProgram InfinityProgram to be run at controller when user logs out
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Not Meaningful to the User
Preemption Not Meaningful to the User
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
VirtualFlag Not Meaningful to the User

Andover Plain English™ Language Reference C-33


DateTime Attributes

DateTime The following list provides you with the attributes and meanings for
Attributes Table a DateTime object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DateValue Date portion of the date time object
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
HighLimit High Limit to be used in Basic Alarm (WS points only)

C-34 Schneider Electric


DateTime Attributes

DateTime Attribute Description


Attributes Table IconID Not Meaningful to the User
continued ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Not Currently Implemented
LogValue Not Currently Implemented
LowLimit Low limit to be used in Basic Alarms (WS points only)
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS
points only)
Owner Owner of object
Properties Not meaningful to user
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic
log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this
template object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeLocked The time the object was last opened
TimeValue Time portion of the date time object
Type The type of the object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C-35


Device Attributes

Device The following list provides you with the attributes and meanings for
Attributes Table a Device object.

Attribute Description
AccessEventViewer Maximum number of entries allowed in the access viewer for
MaxEntries this workstation
AcknowledgeEmail Default location of this type of format file
FormatFile
AcknowledgePager Default location of this type of format file
FormatFile
AcknowledgePrinter Default location of this type of format file
FormatFile
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmCount Number of alarms currently in alarm viewer
AlarmEmailFormat Default location of this type of format file
File
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmPagerFormat Default location of this type of format file
File
AlarmPrinterFormat Default location of this type of format file
File
AlarmPrinterPath Full path to the printer for alarm printing
AlarmViewerMax Maximum number of entries allowed in the alarm viewer for
Entries this workstation
Alias Alias of the object
APDUSegTimeout Time in milliseconds between retransmission of an APDU
(Application Protocol Data Unit) segment

C-36 Schneider Electric


Device Attributes

Device Attribute Description


Attributes Table APDUTimeout Time in milliseconds between retransmission of an APDU
continued segment that requires ack but that has not been received.
ApplSoftwareVer Application software version
BackupFailureTimeout Device being backed up or restored must wait before ending
the backup or restore procedure.
BasdgeFormatFile Default location of this type of format file
Location
BaseLink Meaningless to the user
CommandlinePrompt Prompt to be used on the command line
CommStatus Communication status of device
ConfigurationFileList File objects contained in the Configuration File List property
for that device
CreatedBy Name of user who created object
CreateTime Time of object creation
DaylightSavings States if device is currently under DST
Status
DefaultBadgeFormat Format file to be used when printing badges
DefaultFolder Folder into which all new objects will be placed when
created.
DefaultImageCropping True/False as to the use of the default image cropping
DefaultReportViewer Program to use for the viewing of report files
DefaultRouter IP address of the default router
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FirmwareRev Not meaningful to user
FolderType Not Meaningful to the User.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IAMBroadcastIntvl Not Currently Implemented
IAMBroadcastScope Not Currently Implemented
IAMRemoteNetwork Not Currently Implemented
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IncrementReportFile If true subsequent reports by the same name will be appended
to existing report file

Andover Plain English™ Language Reference C-37


Device Attributes

Device Attribute Description


Attributes Table IPAddress IP address of the device
continued 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 Object classes that are supported
Support
ProtocolServicesSupport Services that are supported
ProtocolVersion Version of BACNet protocol supported - Not implemented
at this time
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer

C-38 Schneider Electric


Device Attributes

Device Attribute Description


Attributes Table ScheduleADL Indicates if device is set to autodownload schedules
continued 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 The following list provides you with the attributes and meanings for a
Attributes Table DistributionBatch object.

Attribute Description
DelayOffset Not Meaningful to the User
DelayTime Not Meaningful to the User
DelayType Not Meaningful to the User
ID Not Meaningful to the User
ReferenceCount Not Meaningful to the User
StartTime Not Meaningful to the User
UserID Not Meaningful to the User
WrkStatID Not Meaningful to the User

C-40 Schneider Electric


DistributionObject Attributes

DistributionObject The following list provides you with the attributes and meanings for a
Attributes Table DistributionObject object.

Attribute Description
BatchID Not Meaningful to the User
ClassFilter Not Meaningful to the User
CreateTime Time that the distribution activity was created
DistOpts Distribution Options
DistTime Time for next scheduled distribution of this object
EditTime Time of last editing of distribution "job"
EditUser The user who invoked the distribution
ExtraData1 Not Meaningful to the User
ExtraData2 Not Meaningful to the User
ExtraID1 Not Meaningful to the User
ExtraID2 Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
NotifyOpts Byte Code - Not Meaningful to the User
Operation Type of distribution (schedule download, etc.)
OperationOpts Not Meaningful to the User
SourceID Object requiring distribution
Status Status of the distribution (pending, failed, etc.)
StringParam XDriver configuration value
TargetID Not Meaningful to the User
UserID User intitiating distribution
WrkStatID Workstation accomplishing distribution

Andover Plain English™ Language Reference C-41


Door Object Attributes

Door Object The following list provides you with the attributes and meanings for a
Attributes Table Door object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
ADAChannel Terminal number into which this object is wired
ADADoorAjarTime Time required for door to be considered ajar
ADAOutputTime Time duration of relay activation on door open command
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmChannel Terminal number into which this object is wired
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
ArmCode Not Implemented at this time
ArmMode Not Implemented at this time
BaseLink Meaningless to the user
BondChannel Terminal number into which this object is wired
BondFailure true/false depending on status of bond sensor supervised input
BondSensor Value of bond sensor input
BondType Wiring type - NOSeries, etc.
CardFormats Format of the access cards to be used
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object

C-42 Schneider Electric


Door Attributes

Door Attributes Attribute Description


Table continued DoorAjar Indicates that the door has been left open too long
DoorAjarTime Time required for door to be considered ajar
DoorChannel Terminal number into which this object is wired
DoorFault True/false depending on status of supervised input
DoorSchedule Name of the schedule attached to this door
DoorStrikeTime Time duration of relay activation on door open command
DoorSwitch Indicates if a door switch input is used
DoorSwitchChan Terminal number into which this object is wired
DoorSwitchType Wiring type - NOSeries, etc.
Duress Indicates if duress notification is to be used
EditLock Indicates if object has been locked to additional Edits
EntEgrViol Indicates if there is an entry/egress violation
EntryNormMode Indicates if entry took place in normal mode
EntryNotReentry Indicates if entry took place with no reentry permitted
EntryPinDuress Indicates if entry via pin was duress
EntryRvrsCrdDur Indicates if entry via reverse card was duress
EntrySchedule Schedule attached to the entry reader
EntryZone Zone entered through entry reader
ExitAntiPassTime Time required for passback through this door to be permitted
ExitArea Area entered from exit reader
ExitChannel Terminal number into which this object is wired
ExitCount Number of people who have exited
ExitEntEgr
ExitEntrAntiPass
ExitEntrEntEgr
ExitEntrRvrsCrd Allow entry through exit door on reverse card
ExitIOU IOU number of object
ExitKyPdChan Terminal number into which this object is wired
ExitLastCard Last card number have valid access through exit reader
ExitLastSite Site code of last card number have valid access through exit
reader
ExitMode Mode of Exit reader
ExitNoCommMode Exit reader in nocomm mode
ExitNoDataMode Exit reader in no data mode - no communication with access
server
ExitNoRentry Indicates if exit took place with no reentry

Andover Plain English™ Language Reference C-43


Door Attributes

Door Attributes Attribute Description


Table continued ExitNormMode Indicates exit in normal mode
ExitPinDuress Indicates exit with pin duress
ExitRequest Indicates the presence of PIR or some form exit request sensor
ExitRequestChan Terminal number into which this object is wired
ExitRequestType Wiring type - NOSeries, etc.
ExitRvrsCrdDur Indicates exit via a reverse card duress signal
ExitSchedule Schedule attached to the exit reader
ExitZone Zone entered when going through the exit reader
Export Indicates that the object value has been tagged for export.
FollowUpRule Not Meaningful to the User
ForcedEntry Indicates that the door has been forced open
GeneralCode
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
ExitEntrRvrsCrd Allow entry through exit door on reverse card
IncludeObject Not Meaningful to the User
InvalidAttempt Indicates an invalid card was used
InvalidEntryTime Indicates an attempt to enter before proper antipassback time
has elapsed
InvalidExitTime Indicates an attempt to exit before proper antipassback time has
elapsed
Invert Revers Polarity
LastChangeBy Name of the user making the last change
LastDepEtrdPnt
LastDepExitdPnt
LastInvalidEntry Last invalid card swiped at entry reader
LastInvalidExit Last invalid card swiped at exit reader
LastPersonEntrd Last cardholder entering door
LastPersonEntrdDep Department number of last person entered
LastPersonExitd Last person with valid swipe at the exit reader
LastPersonExitdDep Department number of the last person with valid swipe at the
exit reader
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented

C-44 Schneider Electric


Door Attributes

Door Attributes Attribute Description


Table continued LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
OpenOnExitRequest Indicates that door to be opened upon sensing exit request on
exit request input
OperatingMode Current operating mode of the door
Override Indicates if the door has been overridden in the field
OverrideValue Indicates the true value of the door when it has been overridden
in the field
Owner Object that owns this door object
Param1…Param6 XDriver configuration value
Port Comm port associated with Xdriver
Properties Not Meaningful to the User
RecordDrAjarHist Keep access event history for door ajar
RecordExitRqHist Keep access event history for exit requests
RecordForcedHist Keep access event history for forced entries
RecordInvalHist Keep access event history for invalid attempts
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
RelockOnClose Relock as soon as sensor indicates closed, do not wait for strike
time to elapse
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Site1…Site4 Site code that can be used by readers
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeEntered Last time a swip occurred on exit reader
TimeExited Last time a swip occurred on entry reader
TimeLocked The time the object was last opened

Andover Plain English™ Language Reference C-45


Door Attributes

Door Attributes Attribute Description


Table continued Type The type of the object
UnlockSchedule Schedule attached to unlock door
ValidAccess Indicates a valid access through door
Value The value of this object after any conversions that may be
required

C-46 Schneider Electric


DoorList Attributes

DoorList The following list provides you with the attributes and meanings for a
Attributes Table DoorList object.

Attribute Description
AreaID Name and path of area
DeviceID name and path of controller
DoorID Name and path of door
ID SQL Object ID - Not Meaningful to the User
NetworkID Name of Network

Andover Plain English™ Language Reference C-47


ElevatorInfo Attributes

ElevatorInfo The following list provides you with the attributes and meanings for a
Attributes Table ElevatorInfo object.

Attribute Description
AreaID Not Implemented at this time
DoorID Not Implemented at this time
ID Not Implemented at this time
InputChannel Not Implemented at this time
InputIOU Not Implemented at this time
OutputChannel Not Implemented at this time
OutputIOU Not Implemented at this time
State Not Implemented at this time

C-48 Schneider Electric


ErrorEvent Attributes

ErrorEvent The following list provides you with the attributes and meanings for a
Attributes Table ErrorEvent object.

Attribute Description
Description Description of Object
ErrorCode Code to correspond to error - Not meaningful to User
EventObjectID Name of object involved in error condition
ID SQL Object ID - Not Meaningful to the User
TimeStamp Time of error
UserID User initiating error
WrkStatID Workstation from which error condition occurred.

Andover Plain English™ Language Reference C-49


EventEnrollment Attributes

EventEnrollment The following list provides you with the attributes and meanings for a
Attributes Table EventEnrollment object.

Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmReference Alarm name
AlarmType Type of alarm
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User

C-50 Schneider Electric


EventEnrollment Attributes

EventEnrollment Attribute Description


Attributes Table IssueConfirmedNotif
continued ication Not Currently Implemented
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OldRefBitString Not Meaningful to the User
OldRefValue Not Meaningful to the User
Owner Owner of object
Priority Not Meaningful to the User
ProcessIdentifier Not Meaningful to the User
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C-51


EventLogControl Attributes

EventLogControl The following list provides you with the attributes and meanings for a
Attributes Table EventLogControl object.

Attribute Description
ArchiveFrequency Not Meaningful to the User
ArchiveName Not Meaningful to the User
ArchivePath Not Meaningful to the User
ArchiveStartTime Not Meaningful to the User
ArchiveStatus Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
LastArchived Not Meaningful to the User
LogClassID Not Meaningful to the User
MaxAge Not Meaningful to the User
MaxRecords Not Meaningful to the User
PrimaryArchiver Not Meaningful to the User
SecondaryArchiver Not Meaningful to the User
TruncateOnly Not Meaningful to the User

C-52 Schneider Electric


EventNotification Attributes

EventNotification The following list provides you with the attributes and meanings for a
Attributes Table EventNotification object.

Attribute Description
AcknowledgementRu Determines if acknowledgement is for all instances or only
les selected
AckRequired Not currently implemented
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmFont Font to be used when displaying alarm message
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmOptions Various items that are to be done when alarm occurs
Alias Alias of the object
AudioFileFault Path and name of wav file to play on fault
AudioFileNormal Path and name of wav file to play on RTN
AudioFileOffNormal Path and name of wav file to play on Alarm
BackGroundCOlor Background color to be used when displaying the alarm
message
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DeactivateCriteria Determination of what makes the alarm removed from the
alarm viewer
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object

Andover Plain English™ Language Reference C-53


EventNotification Attributes

EventNotification Attribute Description


Attributes Table EditLock Indicates if object has been locked to additional Edits
continued
EventNotificationID SQL Object ID - Not Meaningful to the User
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
InPlaceAlarm Not currently implemented
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
NetworkNumber Not Meaningful to the User
Owner Owner of object
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
SendToAll Not currently implemented
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TextColor Color to be used on displaying the text of the alarm message
TimeLocked The time the object was last opened
ToFaultBGColor Background color to use when transitioning to a condition of
fault
ToFaultFGColor Foreground color to use when transitioning to a condition of
fault
ToFaultFont Font to use when transitioning to a condition of fault
ToRTNBGColor Background color to use when transitioning to a return
ToRTNFGColor Foreground color to use when transitioning to a return
ToRTNFont Fontr to use when transitioning to a return
Type The type of the object

C-54 Schneider Electric


EventView Attributes

EventView The following list provides you with the attributes and meanings for a
Attributes Table EventView object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventMaximum Maximum number of events permitted in view
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object

Andover Plain English™ Language Reference C-55


EventView Attributes

EventView Attribute Description


Attributes Table NetworkNumber Not Meaningful to the User
continued Owner Owner of object
PrimarySortDirection Sort order - ascending or descending
PrimarySortKey Item on which to sort
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
Reserved1…
Reserved4 Not Currently Implemented
ScheduleEvents Not viewable by user
SecondarySortDirecti
on Sort order - ascending or descending
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TernarySortDirection Sort order - ascending or descending
TernarySortKey Item on which to sort
TimeLocked The time the object was last opened
Type The type of the object

C-56 Schneider Electric


File Attributes

File Attributes The following list provides you with the attributes and meanings for a
Table 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 object’s 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 The following list provides you with the attributes and meanings for a
Table Filter object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
Duration Meaningless to the user
EditLock Indicates if object has been locked to additional Edits
EndDateTime Meaningless to the user
EndTime Meaningless to the user
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented

C-58 Schneider Electric


Filter Attributes

FilterAttributes Attribute Description


Table continued LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the object
PreCreatedFlags Indicates that the filter is a system created filter
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Relative Time Not Meaningful to the USer
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name of any security level attached to object
Template When true, indicates that object was made from a template
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this
TemplateName template object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
WeekdaysArray Not Meaningful to the User

Andover Plain English™ Language Reference C-59


Folder Attributes

Folder The following list provides you with the attributes and meanings for a
Attributes Table Folder object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ContainerCreateRule Not currently implemented
CreatedBy Name of user who created object
CreateTime Time of object creation
DefaultDevice Default device on which to create any object that is created in
this folder
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FolderType Not Meaningful to the User.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change

C-60 Schneider Electric


Folder Attributes

Folder Attribute Description


Attributes Table LockedBy Not Currently Implemented
continued LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of object
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this
TemplateName template object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this
template object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C-61


Function Attributes

Function The following list provides you with the attributes and meanings for a
Attributes Table Function object.

Attribute Description
Binary bitmap that corresponds to the alarm number that has
AckTranstoFault made a transition from normal to Fault
Binary bitmap that corresponds to the alarm number that has
AckTranstoNorm made a transition back to Normal
Binary bitmap that corresponds to the alarm number that has
AckTranstoOffNorm made a transition from normal to Alarm
Equals "on" if alarm attached in this position is in alarm else
Alarm1…Alarm8 equals "off"
Binary bitmap that corresponds to which of the eight alarm
AlarmEnable positions are enabled
Reflect fault status of any alarm link attached - not currently
AlarmFaults implemented
Bitmap of which alarms are active (as with alarmvalue) - not
AlarmFlags currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
ArgumentList Not viewable by user
BaseLink Not Meaningful to the User
ByteCode Not readable by user
CommandLine Indicates if function can be called from the command line
CreatedBy Name of user who created object
CreateTime Time of object creation
CurrentObject Not viewable by user
DbgStatus Not Meaningful to the User
Description Description of Object
DescriptionOfHalt Not Meaningful to the User
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ErrorCode Type of error that occurred
FileAccess Not Meaningful to the User
FileSize Number of bytes in function
FileSize Number of bytes in function

C-62 Schneider Electric


Function Attributes

Function Attribute Description


Attributes Table FollowUpRule Not Meaningful to the User
continued Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
InstanceOf Not Meaningful to the User
LastChangeBy Name of the user making the last change
LocalVarData Not Meaningful to the User
LocalVarList Not Meaningful to the User
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
OutOfService Service state of a object (similar to enable/disable-WS points only)
Owner Owner of the object
ProgEntry Not Meaningful to the User
ProgInfo Not Meaningful to the User
ProgOffset Not Meaningful to the User
Properties Not Meaningful to the User
ReasonForHalt Information on runtime errors
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created

Reliability Statement of the reliability of the obect's value - not currently


implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C-63


Graphics Attributes

Graphics The following list provides you with the attributes and meanings for a
Attributes Table Graphics object.

Attribute Description
Not Meaningful to Binary bitmap that corresponds to the alarm number that has
the User made a transition from normal to Fault
Binary bitmap that corresponds to the alarm number that has
AckTranstoNorm made a transition back to Normal
Binary bitmap that corresponds to the alarm number that has
AckTranstoOffNorm made a transition from normal to Alarm
Equals "on" if alarm attached in this position is in alarm else
Alarm1…Alarm8 equals "off"
Binary bitmap that corresponds to which of the eight alarm
AlarmEnable positions are enabled
Reflect fault status of any alarm link attached - not currently
AlarmFaults implemented
Bitmap of which alarms are active (as with alarmvalue) - not
AlarmFlags currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
GraphicsFileName Name of graphic (PIN) file
HighLimit High Limit to be used in Basic Alarm (WS points only)
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented

C-64 Schneider Electric


Graphics Attributes

Graphics Attribute Description


Attributes Table Name Name of the object
continued NetworkNumber Not Meaningful to the User
ObjectList List of objects that are animated on the graphic
Owner Owner of object
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not currently implemented
ScreenHeight Height of the graphic screen to be displayed
ScreenWidth Width of the graphic screem to be displayed
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TimeLocked The time the object was last opened
Type The type of the object
WindowHeight Not meaningful to user
WindowState Not meaningful to user
WindowWidth Not meaningful to user
WindowXPos Not meaningful to user
WindowXScrollPos Not meaningful to user
WindowYPos Not meaningful to user
WindowYScrollPos Not meaningful to user

Andover Plain English™ Language Reference C - 65


Group Attributes

Group The following list provides you with the attributes and meanings for a
Attributes Group object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DefaultView View to be presented when group firs opened - member list,
history or graph
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Format Format to be used in displaying object value
Graphics Not Meaningful to the User
GroupFlags Not Meaningful to the User
HistoryInterval Time between rows in history view
HistoryPage Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User

C-66 Schneider Electric


Group Attributes

Group Attribute Description


Attributes Table IncludeObject Not Meaningful to the User
continued LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of object
PadType Method used to interpolate values between actual data
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefreshRate Time period after which to get live data on the objects in the
member list
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScaleStep Steps between ticks in graphical view - Not yet implemented
ScaleType Type of scaling to be used - Not yet implemented
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
Alias that will be used when creating objects from this template
TemplateAlias object – meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
TimeView Default time range for graph view
Type The type of the object
Units The engineering units to be used for this object

Andover Plain English™ Language Reference C - 67


GroupMember Attributes

GroupMember The following list provides you with the attributes and meanings for a
Attributes GroupMember object.
Table
Attribute Description
ClassID Not Meaningful to the User
GroupMemberBos Bottom Scale for the member
GroupMemberColor Color of Pen for the member
GroupMemberController Not Meaningful to the User
GroupMemberFlag Not Meaningful to the User
GroupMemberOwned Name and path of the member
GroupMemberOwner Name and path of the owning group
GroupMemberSite Not Meaningful to the User
GroupMemberTos Top of Scale for the member
HistoryInterval Time interval between entries in history view
ID SQL Object ID - Not Meaningful to the User
PadType Type of interpolation to be used
ScalesStep Number of steps in scale
ClassID Not Meaningful to the User

C-68 Schneider Electric


ImExportRef Attributes

ImExportRef The following list provides you with the attributes and meanings for an
Attributes ImExportRef object.
Table
Attribute Description
AlarmFlag Not Meaningful to the User
ExportMast1…
ExportMast8 Not Meaningful to the User
Handle Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
ImportFlag Not Meaningful to the User
InfExportMast Not Meaningful to the User
NetAddress Not Meaningful to the User
Site Not Meaningful to the User

Andover Plain English™ Language Reference C - 69


InfinityController Attributes

InfinityController The following list provides you with the attributes and meanings for an
Attributes Table InfinityController object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CommStatus Communication status of controller
CommStatus Communication status of controller
ControllerOptions Read only listing of options available in controller
CreatedBy Name of user who created object
CreateTime Time of object creation
DefaultFolder Folder into which all new objects will be placed when created.
DefaultRouter IP address of default router
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EthernetID MAC address of controller
FolderType Not Meaningful to the User.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User

C-70 Schneider Electric


InfinityController Attributes

InfinityController Attribute Description


Attributes Table ID SQL Object ID - Not Meaningful to the User
continued
IncludeObject Not Meaningful to the User
IOU1Model… IOU model that is installed - meaningful only forAEclipse
IOU8Model controllers (CX9400)
IPAddress IP address of controller
LastChangeBy Name of the user making the last change
Location String that can be entered to indicate physical location
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Maximum time that can pass before a response is tobe received
MaxResponseTime and after which a retransmission will occur
Model Model of controller
Name Name of the object
NetworkID BACNet network number - Not currently implemented
NetworkNumber Not Meaningful to the User
Owner Owner of the object
PPPIPAddress PPP IP address
PPPSubnetMask PPP Subnet setting
ProbeTime Frequency in seconds for requesting communication status of
other devices on the controller's network
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by the user
SecurityLevel Name and path of any security level attached to the object
SerialNum Serial number of the controller
SubnetMask Subnet mask setting
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
VersionNum Software version number

Andover Plain English™ Language Reference C - 71


InfinityDateTime Attributes

InfinityDateTime The following list provides you with the attributes and meanings for an
Attributes Table InfinityDateTime object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Export Indicates that the object value has been tagged for export.
ExtLogInterval Log Interval to be used with extended logs.
ExtLogSize Number of elements to be stored in the extended log for this
object.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IODirection Directional configuration for specific IO module points.

C-72 Schneider Electric


InfinityDateTime Attributes

InfinityDateTime Attribute Description


Attributes Table IOU IOU number of object
continued
LastChangeBy Name of the user making the last change
LastExtLogTime Time stamp of the most recent entry in an object's extended log
LastLogTime Time stamp of an object's last entry in the local automatic array.
LCDState Where applicable, indicates whether or not a point can be
displayed on the local display.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Param1… XDriver configuration value
Param6
Port Xdriver comm port
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Setpoint Indicates if point is to be used as a setpoint. Allows its value and
manual array to be restored at reload.
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C - 73


InfinityFunction Attributes

InfinityFunction The following list provides you with the attributes and meanings for an
Attributes InfinityFunction object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ByteCode Byte code of function - Not viewable by user
CommandLine Indicates if function can be called from command line
CreatedBy Name of user who created object
CreateTime Time of object creation
DbgStatus Not Meaningful to the User
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FileSize Bytes in file
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User

C-74 Schneider Electric


InfinityFunction Attributes

InfinityFunction Attribute Description


Attributes Table IncludeObject Not Meaningful to the User
continued LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
State Indicates if an object has been enabled or disabled
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this template
TemplateName object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C - 75


InfinityInfinetCtrl Attributes

InfinityInfinetCtrl The following list provides you with the attributes and meanings for an
Attributes Table InfinityInfinetCtrl object.

Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CommStatus Communication status of controller
CreatedBy Name of user who created object
CreateTime Time of object creation
DefaultFolder Folder into which all new objects will be placed when created.
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FolderType Not Meaningful to the User.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
Handle Numerical identifier
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
InfinetError Type of error occuring on Infinet device

C-76 Schneider Electric


InfinityInfinetCtrl Attributes

InfinityInfinetCtrl Attribute Description


Attributes Table InfinetErrorCount Number of errors since the last clearing
continued
InfinetErrTime Time of the last error
InfinetID ID number of Infinet device
LastChangeBy Name of the user making the last change
Location String that can be entered to show the physical location of the
device
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Model Model number of the controller
Name Name of the object
NetworkID The ACCNetID of the parent CX controller
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Port Comm port that "owns" this infinet controller
PortNum The numerical svc corresponding to the Comm port that "owns"
this infinet controller
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
SerialNum Serial number of the infinet controller
Template When true, indicates that object was made from a template
Alias that will be used when creating objects from this template
TemplateAlias object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this template
TemplateName object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
VersionNum Software version

Andover Plain English™ Language Reference C - 77


InfinityInput Attributes

InfinityInput The following list provides you with the attributes and meanings for an
Attributes InfinityInnput object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmVlaue Binary bitmap that corresponds to the alarms that may be active
on this point
Alias Alias of the object
BaseLink Meaningless to the user
Button1…Button6 References the buttons on a smart sensor - Attribute is only
meaningful for smart sensor inputs
Channel Terminal number into which this object is wired
Conversion Equation with which the elec. value should be converted into
engineering units
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DigitalFilter Indicates if automatic digital filtering will be implemented
DisplayMsg Used in the programming of the smart sensor input
DisplaySelect Used in the programming of the smart sensor input
DisplayValue Used in the programming of the smart sensor input
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits

C-78 Schneider Electric


InfinityInput Attributes

InfinityInput Attribute Description


Attributes Table ElecScaleBot The bottom electrical value that corresponds to the bottom value
continued in Engineering Units
ElecScaleTop The top electrical value that corresponds to the top value in
Engineering Units
ElecType Object's electrical type (voltage, current, digital, etc.)
ElecValue Object's actual electrical value
EngScaleBot The bottom value in Engineering Units that corresponds to the
bottom electrical value
EngScaleTop The top value in Engineering Units that corresponds to the top
electrical value
ExtLogInterval Log Interval to be used with extended logs.
ExtLogSize Number of elements to be stored in the extended log for this
object.
FollowUpRule Not Meaningful to the User
Format Format to be used in displaying object value
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
Invert Revers polarity (NO vs NC)
IOU IOU number of object
LastChangeBy Name of the user making the last change
LastExtLogTime Time stamp of the most recent entry in an object's extended log
LastLogTime Time stamp of an object's last entry in the local automatic array.
Where applicable, indicates whether or not a point can be
LCDState displayed on the local display.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
LowerFluidLevel Float reading when input is configured as tank monitoring probe
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Param1…Param6 XDriver configuration value
Port Comm port used for Xdriver
Properties Not Meaningful to the User

Andover Plain English™ Language Reference C - 79


InfinityInput Attributes

InfinityInput Attribute Description


Attributes Table ReferencePoint1… Alarm Referenece Point
continued ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ResistorType Wiring type when input is configured as supervised
RTD1…RTD6 RTD reading when input is configured as tank monitoring probe
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
Threshold The amount, in engineering units, that the value must change
before it will update
TimeLocked The time the object was last opened
Type The type of the object
Units The engineering units to be used for this object
Value The value of this object after any conversions that may be
required

C-80 Schneider Electric


InfinityNumeric Attributes

InfinityNumeric The following list provides you with the attributes and meanings for an
Attributes InfinityNumeric object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmVlaue Binary bitmap that corresponds to the alarms that may be active
on this point
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Export Indicates that the object value has been tagged for export.
ExtLogInterval Log Interval to be used with extended logs.
Number of elements to be stored in the extended log for this
ExtLogSize object.
FollowUpRule Not Meaningful to the User
Format Format to be used in displaying object value
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User

Andover Plain English™ Language Reference C - 81


InfinityNumeric Attributes

InfinityNumeric Attribute Description


Attributes Table IncludeObject Not Meaningful to the User
continued IODirection Directional configuration for specific IO module points.
IOU IOU number of object
LastChangeBy Name of the user making the last change
LastExtLogTime Time stamp of the most recent entry in an object's extended log
LastLogTime Time stamp of an object's last entry in the local automatic array.
LCDState Where applicable, indicates whether or not a point can be
displayed on the local display.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Param1…Param6 XDriver configuration value
Port Comm port used by Xdriver
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Setpoint Indicates if point is to be used as a setpoint. Allows its value and
manual array to be restored at reload.
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Units The engineering units to be used for this object
Value The value of this object after any conversions that may be required

C-82 Schneider Electric


InfinityOutput Attributes

InfinityOutput The following list provides you with the attributes and meanings for an
Attributes InfinityOutput object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmVlaue Binary bitmap that corresponds to the alarms that may be active
on this point
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
Conversion Equation with which the elec. value should be converted into
engineering units
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElecScaleBot The bottom electrical value that corresponds to the bottom value
in Engineering Units
ElecScaleTop The top electrical value that corresponds to the top value in
Engineering Units
ElecType Object's electrical type (voltage, current, digital, etc.)
ElecValue Object's actual electrical value

Andover Plain English™ Language Reference C - 83


InfinityOutput Attributes

InfinityOutput Attribute Description


Attributes Table EngScaleBot The bottom value in Engineering Units that corresponds to the
continued bottom electrical value
EngScaleTop The top value in Engineering Units that corresponds to the top
electrical value
Export Indicates that the object value has been tagged for export.
ExtLogInterval Log Interval to be used with extended logs.
ExtLogSize Number of elements to be stored in the extended log for this
object.
FollowUpRule Not Meaningful to the User
Format Format to be used in displaying object value
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
Invert Reverse Polarity (NO vs NC)
IOU IOU number of object
LastChangeBy Name of the user making the last change
LastExtLogTime Time stamp of the most recent entry in an object's extended log
LastLogTime Time stamp of an object's last entry in the local automatic array.
LCDState Where applicable, indicates whether or not a point can be
displayed on the local display.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
Override Indicates if the output has placed in manual control in the field
OverrideValue Actual state of the output when it has been placed on manual
control in the field
Owner Owner of the Object.
Param1…Param6 XDriver configuration value
Port Comm port used by the Xdriver
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created

C-84 Schneider Electric


InfinityOutput Attributes

InfinityOutput Attribute Description


Attributes Table ReportID Not Meaningful to the USer
continued ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Units The engineering units to be used for this object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C - 85


InfinityProgram Attributes

InfinityProgram The following list provides you with the attributes and meanings for an
Attributes InfinityProgram object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
AutoStart Indicates that the program will start immediately upon compiling
to the controller
BaseLink Meaningless to the user
CommandLine Indicates that the program can be started directly from the
command line
CreatedBy Name of user who created object
CreateTime Time of object creation
CurrentLine Holds the name of the line that is currently being processed
DefaultPort The port to which any communication or print instructions will
be issued unless a different port is explicitly declared
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ErrorCode Numerical representation of a runtime error
ExecTimeOut Not Meaningful to the User
FileAccess Not Meaningful to the User
FileSize Size of the file in bytes

C-86 Schneider Electric


InfinityProgram Attributes

InfinityProgram Attribute Description


Attributes Table FlowType Specify program flow to be either looping of fall through
continued FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
CurrentLine Holds the name of the line that is currently being processed
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LineStartTime Initial time of processing of current line
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
ProgPending Not Meaningful to the User
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
State Indicates if an object has been enabled or disabled
TD Amount of time that program has been processing the currentline
in days
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TH Amount of time that program has been processing the currentline
in hours
TimeLocked The time the object was last opened
TM Amount of time that program has been processing the currentline
in minutes
TS Amount of time that program has been processing the currentline
in seconds
Type The type of the object

Andover Plain English™ Language Reference C - 87


InfinityString Attributes

InfinityString The following list provides you with the attributes and meanings for an
Attributes InfinityString object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Export Indicates that the object value has been tagged for export.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IODirection Directional configuration for specific IO module points.
IOU IOU number of object
LastChangeBy Name of the user making the last change

C-88 Schneider Electric


InfinityString Attributes

InfinityString Attribute Description


Attributes Table LastLogTime Time stamp of an object's last entry in the local automatic array.
continued LockedBy Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Param1…Param6 XDriver configuration value
Port Comm port used by Xdriver
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Setpoint Indicates if point is to be used as a setpoint. Allows its value and
manual array to be restored at reload.
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
StringSize Number of characters in string
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
The value of this object after any conversions that may be
Value required

Andover Plain English™ Language Reference C - 89


InfinitySystemVariable Attributes

InfinitySystem The following list provides you with the attributes and meanings for
Variable an InfinitySystemVariable object.
Attributes Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Export Indicates that the object value has been tagged for export.
ExtLogInterval Log Interval to be used with extended logs.
ExtLogSize Number of elements to be stored in the extended log for this
object.
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LastExtLogTime Time stamp of the most recent entry in an object's extended log

C-90 Schneider Electric


InfinitySystemVariable Attributes

InfinitySystem Attribute Description


Variable LastLogTime Time stamp of an object's last entry in the local automatic array.
Attributes Table LCDState Where applicable, indicates whether or not a point can be
continued displayed on the local display.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
Refresh Rebroadcasts current value of point
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
State Indicates if an object has been enabled or disabled
SVType Data type - Not meaningful to user
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C - 91


IOUModule Attributes

IOUModule The following list provides you with the attributes and meanings for an
Attributes IOUModule object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CommStatus Communication status of module
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IOU IOU number of object
LastChangeBy Name of the user making the last change
This is a command that invokes a learn. No data is stored.
Learn NOT PE settable
LockedBy Not Currently Implemented

C-92 Schneider Electric


IOUModule Attributes

IOUModule Attribute Description


Attributes Table LockingWorkstation Not Currently Implemented
continued ModelName Module type
ModuleID Module identiying number
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
ProgramID Version of IO firmware
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name of any security level attached to object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
Name that will be used when creating objects from this template
TemplateName object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object
Wink Test communication status , causes LED to flash on module

Andover Plain English™ Language Reference C - 93


ListView Attributes

ListView The following list provides you with the attributes and meanings for a
Attributes ListView object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DBQualifier Database qualifying condition to limit entries in view
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Filter Time range by which to filter view
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
HighlightBKColor Background color of highlighted rows
HighlightFGColor Foreground color of highlighted rows
HighlightQualifier Reason to highlight row
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User

C-94 Schneider Electric


ListView Attributes

ListView Attribute Description


Attributes Table LastChangeBy Name of the user making the last change
continued ListClass Class from which to select list
ListTemplate Template of a list
LiveDataonDemand Force list to go out to the field to gather live data when the list is
first viewed
LiveDataRefreshRate Frequency with which to updat the live values in the list
LiveQualifier Live condition criteria by which to restrict the list
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
PathType Path designation upon which list is to be run
PromptFlag Not Meaningful to the User
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
ReportTemplate Template within which report should be built when list is printed
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Shortcuts Not Meaningful to the User
ShowGridLines Determines if lines should be drawn around list fields when list is
printed
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C - 95


Loop Attributes

Loop The following list provides you with the attributes and meanings for a
Attributes Loop object.
Table
Attribute Description
AckedTransitions This string records the last alarms that were acked, in order.
Action Determines whether the Loop is Direct or Reverse acting.
Bias The amount added to the output of the PID algorithm before it’s
written to Value of the Loop.
ControlledVariableUnits The units for the controlled variable reference.
ControlledVariableValue This is the value of the ControlledVariableReference.
COVIncrement This is the maximum change of value of the loop that is allowed
before the loop issues an alarm.
Description The description of the Loop object.
DerivativeConstant The derivative portion of the PID algorithm.
DerivativeConstantUnits The units for the Derivative constant.
ErrorLimit This is the size that the error can grow before the Loop issues an
alarm.
EventEnable These flags determine whether the Loop should alarm on Alarm,
Return To Normal and Fault.
EventNotificationClassId This is the object identifier of the notification class that is used to
determine the recipients of an alarm.
EventState This is the state the Loop is in with regard to intrinsic alarming.
IntegralConstant The integral portion of the PID algorithm.
IntegralConstantUnits The units of the integral constant.
MaximumOutput The maximum possible value of the Loop.
MinimumOutput The minimum possible value for the Loop.
NotifyType The type of notification that is sent..
OutOfService True when the Loop is out of service. The Value can only be
written when the Loop is out of service.
OutputUnits The output units for the Loop.
Priority The priority of the Loop (1 is highest, 16 is lowest).
ProportionalConstant The proportional parameter of the PID algorithm.
ProportionalConstantUnits The units for the proportional constant.
Reliability This status line details whether the Loop is working reliably or
not.
Setpoint This is either the value of the SetpoinntReference, or the value
that the Loop uses as its setpoint if the SetpointReference is not
set.
StatusFlags A series of flags that detail the status of the Loop.
TimeDelay The amount of time that the Loop waits until it issues an alarm…
UpdateInterval The time in milliseconds that the PID algorithm sleeps before it
updates its output value.
Value This is the value that the Loop is writing to the
ManipulatedVariableReference.

C-96 Schneider Electric


MultiStateInput Attributes

MultiStateInput The following list provides you with the attributes and meanings for a
Attributes MultiStateInput object.
Table
Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not Meaningful to the User
DigitalFilter Indicate if digital filtering is to be used.
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElecType Object's electrical type (voltage, current, digital, etc.)
ElecValue Object's actual electrical value
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)

Andover Plain English™ Language Reference C - 97


MultiStateInput Attributes

MultiStateInput Attribute Description


Attributes Table EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
continued only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IOU IOU number of object
LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
NumberofStates Determines how many different states a multistate IO point can
have
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user

C-98 Schneider Electric


MultiStateInput Attributes

MultiStateInput Attribute Description


Attributes Table TemplateName Name that will be used when creating objects from this template
continued object - meaningful only for templates
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked The time the object was last opened
TriggerThreshold The amount, in engineering units, that the value must change
before it will update
Type The type of the object
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C - 99


MultiStateOutput Attributes

MultiStateOutput The following list provides you with the attributes and meanings for a
Attributes Table MultiStateOutput object.

Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
Channel Terminal number into which this object is wired
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DeviceType Not Meaningful to the User
DigitalFilter Indicate if digital filtering is to be used.
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ElecType Object's electrical type (voltage, current, digital, etc.)
ElecValue Object's actual electrical value
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)

C-100 Schneider Electric


MultiStateOutput Attributes

MultiStateOutput Attribute Description


Attributes Table EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
continued only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
IOU IOU number of object
LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
NumberofStates Determines how many different states a multistate IO point can
have
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
RelinquishDefault
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates

Andover Plain English™ Language Reference C - 101


MultiStateOutput Attributes

MultiStateOutput Attribute Description


Attributes Table TemplateCreateRule Not meaningful to user
continued
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked The time the object was last opened
TriggerThreshold The amount, in engineering units, that the value must change
before it will update
Type The type of the object
Value The value of this object after any conversions that may be
required

C-102 Schneider Electric


MultiStateValue Attributes

MultiStateValue The following list provides you with the attributes and meanings for a
Attributes MultiStateValue object.
Table
Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User

Andover Plain English™ Language Reference C - 103


MultiStateValue Attributes

MultiStateValue Attribute Description


Attributes Table IncludeObject Not Meaningful to the User
continued LastChangeBy Name of the user making the last change
LCDSettable Capable of being set from the LCD
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)
TimeLocked The time the object was last opened
TriggerThreshold The amount, in engineering units, that the value must change
before it will update
Type The type of the object
Value The value of this object after any conversions that may be
required

C-104 Schneider Electric


Network Attributes

Network The following list provides you with the attributes and meanings for a
Attributes Network object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
AlarmReferencePointf If remote site, this point will be examined for change (when
orUpdates connected) and alarm updates occur when point changes
AlarmUpdateIntvl Set period of time after which a remote site will have its alarms
updated
Alias Alias of the object
BaseLink Meaningless to the user
CarrierWait Number of seconds to wait for a carrier indication
CommID Not meaningful to user
ConnectScript Script to be processed when connection is required
ConnectWaitTime Amount of time to wait, in seconds, before connection is
established
CreatedBy Name of user who created object
CreateTime Time of object creation
DefaultFolder Folder into which all new objects will be placed when created.
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DialWait Number of seconds to wait before a dial instruction is to be
processed
DisableUpdate Indicates if automatic updating has been halted by the user

Andover Plain English™ Language Reference C - 105


Network Attributes

Network Attribute Description


Attributes Table DisconnectScript Script to be processed when a disconnect is requested
continued DisconnectWaitTime Amount of time to wait before a disconnect is to be complete
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventRefPoint If remote site, this point will be examined for change (when
connected) and event updates occur when point changes
EventUpdatInterval Set period of time after which a remote site will have its events
updated
FolderType Not Meaningful to the User.
FollowUpRule Not Meaningful to the User
GraceInterval Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastALarmUpdate Time of last alarm update
LastChangeBy Name of the user making the last change
LastEventUpdate Time of last event update
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
MaxResponseTime Maximum time that can pass before a response is tobe received
and after which a retransmission will occur
Name Name of the object
NetworkNumber Not Meaningful to the User
NetworkProtocol Protocol used by Network
NetworkType Not meaningful to user
NetworkUTCOffset Universal Time Constant offset to be used by entire network
Owner Owner of the Object.
PhoneNumber Phone number to be dialed for connection to remote network
PortNum Not meaningful to user
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
RemovePersonSynch Distribute to all networks on person deletion
ReportID Not Meaningful to the USer

C-106 Schneider Electric


Network Attributes

Network Attribute Description


Attributes Table SafetyInterval Amount of time after which no activity will result in a disconnect
continued ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
SendtoACX Not viewable by user
SendtoCX Not viewable by user
SynchDB Turns on database synchronizatio
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeDifference Not meaningful to user
TimeLocked The time the object was last opened
Type The type of the object
UniquePins Not currently implemented

Andover Plain English™ Language Reference C - 107


NetworkDialUp Attributes

NetworkDialUp The following list provides you with the attributes and meanings for a
Attributes NetworkDialUp object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
ActiveAlarmSync Indicates if all alarm infromation will be extracted on dial up
ActiveEventSync Indicates if all event infromation will be extracted on dial up
Alarmgraphicpage Not currently implemented
AlarmPollInterval Amount of time in minutes that will pass between dial ups to poll
for alarms
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DisconnectIdleTime The amount of time with no activity that will result in a
disconnect
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventPollInterval Amount of time in minutes that will pass between dial ups to poll
for events
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User

C-108 Schneider Electric


NetworkDialUp Attributes

NetworkDialUp Attribute Description


Attributes Table IncludeObject Not Meaningful to the User
continued LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
PhoneBookEntry Individual telphone number used to dial network
PhoneFile Text file that is used to store the telephone numbers
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
RemoteNetwork Indicates if network requires dial out
ReportID Not Meaningful to the USer
RouterCX Name of the CX that is to serve as a router for all communication
to the remote site
ScheduleEvents Not viewable by user
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C - 109


Numeric Attributes

Numeric The following list provides you with the attributes and meanings for a
Attributes Numeric object.
Table
Attribute Description
AckedTransitions Not meaningful to user - Currently not supported
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DeadBand Amount that the value must differ from low or hi limit in Basic
Alarm (WS points only)
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EventEnable Lists which of the 3 basic alarms are enabled - Alarm, RTN,
Fault (WS points only)
EventNotificationID Lists Event Notification associated with Basic Alarms (WS
points only)
EventState Lists current basic alarm State - Alarm, RTN, Fault (WS points
only)
FollowUpRule Not Meaningful to the User
Format Format to be used in displaying object value
Graphics Not Meaningful to the User

C-110 Schneider Electric


Numeric Attributes

Numeric Attribute Description


Attributes Table HighLimit High Limit to be used in Basic Alarm (WS points only)
continued IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LimitEnable Not Meaningful to the User
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.
LowLimit Low limit to be used in Basic Alarms (WS points only)
Name Name of the object
NetworkNumber Not Meaningful to the User
NotifyType Type of notification to be used
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
RelinquishDefault
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StatusFlags Not Meaningful to the User
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
Threshold The amount, in engineering units, that the value must change
before it will update
TimeDelay The time delay used in evaluating Basic Alarms (WS points only)

Andover Plain English™ Language Reference C - 111


Numeric Attributes

Numeric Attribute Description


Attributes Table TimeLocked The time the object was last opened
continued Type The type of the object
Units The engineering units to be used for this object
Value The value of this object after any conversions that may be
required

C-112 Schneider Electric


ParamInfo Attributes

ParamInfo The following list provides you with the attributes and meanings for a
Attributes ParamInfo object.
Table
Attribute Description
ID SQL Object ID - Not Meaningful to the User
Param1…Param6 XDriver configuration value
Identifies the comport number that the Xdriver is on. NOT PE
Port settable.
ID SQL Object ID - Not Meaningful to the User

Andover Plain English™ Language Reference C - 113


Personnel Attributes

Personnel The following list provides you with the attributes and meanings for a
Attributes Personnel object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has made a
transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has made a
transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has made a
transition from normal to Alarm
ActivationDate Date that person's access card is to become active
ADA Using ADA configuration
Address Address
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm positions are
enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not currently
implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of object
AllowEntEntRgr Allows entry in spite of passback restrictions
BaseLink Meaningless to the user
Blood Field to be used for storage of this or any other individual feature.
CardNumber Card number of access card
CardType Type of card format (Weigand, Infinity37, etc.)
City Field to be used for storage of this or any other individual feature.
Displayed and settable within the Personnel Editor. Not intended to be
ClearanceLevel used within Plain English.
Country Field to be used for storage of this or any other individual feature.
CreatedBy Name of user who created object
CreateTime Time of object creation
CustomControl1 Custom attribute
CustomControl2 Custom attribute
CustomControl3 Custom attribute
Accessible in the Personnel Object Editor, and is also accessible through
DefaultClearanceLevel Plain English.
DateOfBirth Field to be used for storage of this or any other individual feature.
DeletPending Indicates that delete action is pending for this object
Department Field to be used for storage of this or any other individual feature.

C-114 Schneider Electric


Personnel Attributes

Personnel Attribute Description


Attributes Table DepartmentCode Field to be used for storage of this or any other individual feature.
continued DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistFailed Most recent distribution of this person failed
DistPending Indicates that distribution is pending for this object
Duress Last swipe indicated a duress condition
EditLock Indicates if object has been locked to additional Edits
EmergencyCOntact Field to be used for storage of this or any other individual feature.
EmergencyPhone Field to be used for storage of this or any other individual feature.
EmpNumber Field to be used for storage of this or any other individual feature.
EntryEgress
Accessible in the Personnel Object Editor, and is also accessible
ExecutivePrivilege through Plain English.
ExpirationDate Date after which person's card will become invalid
EyeColor Field to be used for storage of this or any other individual feature.
FirstName Field to be used for storage of this or any other individual feature.
FollowUpRule Not Meaningful to the User
FullName Full Name as built by combining last,first middle
Graphics Not Meaningful to the User
HairColor Field to be used for storage of this or any other individual feature.
Height Field to be used for storage of this or any other individual feature.
HomePhone Field to be used for storage of this or any other individual feature.
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
InactiveDisableDays Number of days that are card can be made to be active before
automatically becoming disabled
IncludeObject Not Meaningful to the User
Info1…Info6 String field that can be used for free form entry
JobTitle Field to be used for storage of this or any other individual feature.
LastChangeBy Name of the user making the last change
LastDoorEntered Last door at which this person had a valid access event
LastEvent Last event associated with this person
LastEventTime Time of last event associated with this person
LastName Last Name
LastZone Last Zone entered by this person
LicenseNumber Field to be used for storage of this or any other individual feature.
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented

Andover Plain English™ Language Reference C - 115


Personnel Attributes

Personnel Attribute Description


Attributes Table LostCard Indicates if the person's regular card has been tagged as lost
continued MiddleName Middle name
Name Name of the object
NetworkNumber Not Meaningful to the User
NonABACardNumber Access card number for cards that are not ABA
OfficeLocation Field to be used for storage of this or any other individual feature.
Owner Owner of the Object.
ParkingSticker Field to be used for storage of this or any other individual feature.
PhotoFile File that contains the person's image
PIN Personal Identification Number
Properties Not Meaningful to the User
ReferencePoint1 Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
SavedActivationDate Previously recorded activation date
SavedCardNumber Previously recorded card number
SavedCardType Previously recorded card type
SavedExpirationDate Previously recorded card expiration date
SavedPIN Previously recorded PIN
SAvedSiteCode Previously recorded card site code
SavedState Previously recorded card state
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Sex Field to be used for storage of this or any other individual feature.
Signature File that contains an image of the person's signature
SiteCode Site code associated with this person's card
SocSecNo Field to be used for storage of this or any other individual feature.
StartDate Date after which person's card will become valid
State Indicates if an object has been enabled or disabled
StatOfResidence Field to be used for storage of this or any other individual feature.
Supervisor Field to be used for storage of this or any other individual feature.
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user

C-116 Schneider Electric


Personnel Attributes

Personnel Attribute Description


Attributes Table TemplateName Name that will be used when creating objects from this template
continued object - meaningful only for templates
TimeEntered Time of last valid access
TimeLocked The time the object was last opened
Type The type of the object
Value The value of this object after any conversions that may be
required
VehicleInfo Field to be used for storage of this or any other individual feature.
Visitor Field to be used for storage of this or any other individual feature.
Weight Field to be used for storage of this or any other individual feature.

Andover Plain English™ Language Reference C - 117


Program Attributes

Program The following list provides you with the attributes and meanings for a
Attributes Program object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
ByteCode Not viewable by user
CommandLine Indicates that program can be run from the command line
CreatedBy Name of user who created object
CreateTime Time of object creation
CurrentLine Line that is currently being processed
CurrentObject Not Meaningful to the User
DbgStatus Not Meaningful to the User
Description Description of Object
DescriptionOfHalt Not Meaningful to the User
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
ErrorCode Type of error that occurred
FileAccess Not Meaningful to the User
FileSize Number of bytes in function
FlowType Not Meaningful to the User
FollowUpRule Not Meaningful to the User

C-118 Schneider Electric


Program Attributes

Program Attribute Description


Attributes Table Graphics Not Meaningful to the User
continued IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
InstanceOf Not Meaningful to the User
LabelList Not viewable by user
LastChangeBy Name of the user making the last change
LineStartTime Time when current line began processing
LocalVarList Not viewable by user
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
NextFiringOrder Not Meaningful to the User
OutputType Not Meaningful to the User
Owner Owner of the Object.
PrevFiringOrder Not Meaningful to the User
PreviousLine Line that was processed inmmediately before the currentline
PrintDestination Target device for any print instructions
PrintOutputFileName File name to be used when printing to file
ProgError Run time error
ProgInfo Not Meaningful to the User
ProgOffset Not Meaningful to the User
ProgStartTime Time when program was last started
Properties Not Meaningful to the User
ReasonForHalt Not Meaningful to the User
ReferencePoint1… Not Meaningful to the User
ReferencePoint4
RefTemplate Name and path of template from which object was created
Reliability Statement of the reliability of the obect's value - not currently
implemented
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
ShareFlag Not Meaningful to the User
State Indicates if an object has been enabled or disabled

Andover Plain English™ Language Reference C - 119


Program Attributes

Program Attribute Description


Attributes Table Status Indicates if a program is currently active
continued StatusChange Not Meaningful to the User
StatusFlags Not Meaningful to the User
TD Amount of time that program has been processing the currentline
in days
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TH Amount of time that program has been processing the currentline
in hours
TimeLocked The time the object was last opened
TM Amount of time that program has been processing the currentline
in minutes
TS Amount of time that program has been processing the currentline
in seconds
Type The type of the object
WinFileHandle Not Meaningful to the User

C-120 Schneider Electric


Report Attributes

Report The following list provides you with the attributes and meanings for a
Attributes Report object.
Table
Attribute Description
ChartSubType ChartSubType for Report like XML or HTML.
ChartType ChartType for Report like Bar, Pie or Polar etc
ColumnList Columns that should be included in the report.
DataSource DataSource for Report
Description Description
Email Address Email Address
Email the Report Email the Report Output
Output
File Path File Path to save the file report
FirstMemberList First Memberlist of the report. The report is generated for these
object
IsFixedScale IsFixedScale true or false?
Is Report LogFilter Is Report LogFilter turned on or off if turn on specify the log
filter else specify time range
Number of plots One plot for all or one plot per member
OrderBy Column order in Report
PathId PathId for browsing members
ReportEndDate The end date and time of the report time interval
ReportFilter The time range of the report will be specified through this filter
ReportFootnote The footnote of the report
ReportFormat Report Format
ReportHeading The heading of the report
ReportMax The maximum value set in a report
Report Output to File Report output to File
ReportStartDate The start date and time of the report time interval
ReportSubheading The subheading of the report
ReportType Report Type
ReportXCaption The X caption of the report
ReportYCaption The Y caption of the report
ScaleFrom Scale starts from this number.
Scale To Scale ends to this number
SecondMemberList Second Memberlist of the report.
UseFullPath Use full path is the report output
Z Caption The Z caption of the report

Andover Plain English™ Language Reference C - 121


RootClass Attributes

RootClass The following list provides you with the attributes and meanings for a
Attributes RootClass object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.
Properties Not Meaningful to the User

C-122 Schneider Electric


RootClass Attributes

RootClass Attribute Description


Attributes Table ReferencePoint1… Alarm Referenece Point
continued ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name of any security level attached to object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C - 123


Schedule Attributes

Schedule The following list provides you with the attributes and meanings for a
Attributes Schedule object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of object
AutoSendFlag Inidcates that schedule is to be downloaded automatically
AutoSendTime Time at which schedule is to be downloaded
BaseLink Not Meaningful to the User
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
Download Indicates that schedule should be sent to the controller
EditLock Indicates if object has been locked to additional Edits
Time when the schedule’s value is next scheduled to change
FollowingTransitionTime after the time indicated by Next_Transition
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change

C-124 Schneider Electric


Schedule Attributes

Schedule Attribute Description


Attributes Table LastDownloadTime Time that the schedule was last downloaded to the controller
continued LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Time when the schedule’s value is next scheduled to change
NextTransitionTime after the time indicated by Next_Transition
Note An area that allows a user to type in notes that are associated
with schedule events. Not viewable from a list
OccTimePoint Datetime point to be used to store next occupied time
OccupancyFlag Numeric to be turned on/off by schedule
OccupancyTime Time of occupancy
OutofService A Boolean value that indicates whether or not the internal
calculations of the schedule object are used to determine the
value of the Value propert.
Owner Owner of the Object.
Time when the schedule’s present value most recently
PreviousTransitionTime changed.
Priority Not Meaningful to the User
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
Binary bitmap that indicates if the schedule object is in a
Reliability consistent state
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
Binary bitmap that indicates the general “Health” of the
StatusFlags schedule 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
UnOccTimePoint Datetime point to be used to store next unoccupied time
UnoccupancyTime Time occupancy ends
Value The value of this object after any conversions that may be
required

Andover Plain English™ Language Reference C - 125


SecurityLevel Attributes

SecurityLevel The following list provides you with the attributes and meanings for a
Attributes SecurityLevel object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User

C-126 Schneider Electric


SecurityLevel Attributes

SecurityLevel Attribute Description


Attributes Table Owner Owner of the Object.
continued Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

Andover Plain English™ Language Reference C - 127


SecurityLink Attributes

SecurityLink The following list provides you with the attributes and meanings for a
Attributes SecurityLink object.
Table
Attribute Description
Action Related to maintenance of security bitmap - Not meaningful to
the User
ID Related to maintenance of security bitmap - Not meaningful to
the User
Locks1…Locks4 Related to maintenance of security bitmap - Not meaningful to
the User
SecLevelObject Related to maintenance of security bitmap - Not meaningful to
the User
SecurityLinkClass Related to maintenance of security bitmap - Not meaningful to
the User

C-128 Schneider Electric


ShortCut Attributes

ShortCut The following list provides you with the attributes and meanings for a
Attributes ShortCut object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Not meaningful to user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
FollowUpRule Not Meaningful to the User
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
Name Name of the object
NetworkNumber Not Meaningful to the User
Owner Owner of the Object.

Andover Plain English™ Language Reference C - 129


ShortCut Attributes

ShortCut Attribute Description


Attributes Table Properties Not Meaningful to the User
continued ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name of any security level attached to object
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TimeLocked The time the object was last opened
Type The type of the object

C-130 Schneider Electric


String Attributes

String The following list provides you with the attributes and meanings for a
Attributes String object.
Table
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarmgraphicpage Not currently implemented
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
AlarmInfo Indicates if alarms (advanced only on ws) are attached
Alias Alias of the object
BaseLink Meaningless to the user
BaseLink Meaningless to the user
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
Graphics Not Meaningful to the User
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LockedBy Not Currently Implemented
LockingWorkstation Not Currently Implemented
LogIntervalSecs Number of seconds between entries in an automatic log
LogType Type of automatic log - instantaneous, average, etc.

Andover Plain English™ Language Reference C - 131


String Attributes

String Attribute Description


Attributes Table Name Name of the object
continued NetworkNumber Not Meaningful to the User
OutOfService Service state of an object (similar to enable/disable - WS points
only)
Owner Owner of the Object.
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the USer
ScheduleEvents Not viewable by user
SecurityLevel Name and path of any security level attached to the object
Size Number of elements in an object's manual array or automatic log
StringSize Number of characters permitted in the string
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
Type The type of the object
Value The value of this object after any conversions that may be
required

C-132 Schneider Electric


TemplateInfo Attributes

TemplateInfo The following list provides you with the attributes and meanings for a
Attributes TemplateInfo object.
Table
Attribute Description
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates
TemplateObj Name of the template

Andover Plain English™ Language Reference C - 133


TrendLog Attributes

TrendLog The following list provides you with the attributes and meanings for a
Attributes TrendLog object.
Table
Attribute Description
AckedTransitions Represents acknowledgements received for the notification
events. (For intrinsic reporting.)
BufferSize Specifies the maximum number of records the buffer may
hold. If this is writable, it cannot be written when LogEnable
is true (must disable logging before changing the buffer size).
COVResubscriptionInterval Specifies the amount of time between COV resubscriptions,
provided that COV is being used. If this property is not
present, COV subscription should not be attempted.
Description Standard description field.
EventEnable If intrinsic reporting is used, this attribute value must contain
the TO-NORMAL flag in order to receive notifications.
EventNotificationClassId If intrinsic reporting is supported, this indicates the
Notification Class object that will be used for notifications.
EventState The Trend Log’s active event state. If the object supports
intrinsic reporting, this can be either NORMAL or FAULT. If
the object does not support intrinsic reporting, this will be
NORMAL.
LastNotifyRecord Represents the SequenceNumber of the most recently
collected record whose collection triggered a notification.
(For intrinsic reporting.)
LogEnable Indicates and controls whether logging is enabled.
LogInterval Specifies the periodic interval in hundredths of seconds for
which the referenced property is to be logged. If this is zero,
COV will be used instead of polling.
NotificationThreshold If intrinsic reporting is used, this specifies the number of
records collected before a new notification is generated.
NotifyType Specifies if the notifications should be Events or Alarms. (For
intrinsic reporting.)
RecordCount Represents the number of records currently in the log buffer.
RecordsSinceNotification Represents the number of records collected since the previous
notification (if intrinsic reporting is used/supported).
StartTime Specifies the start time for logging- can contain wildcard
characters, which means the start time is not specified.
StopTime Specifies the stop time for logging- can contain wildcard
characters, which means the stop time is not specified.
StopWhenFull If this property is true, logging will stop when the buffer fills
up.
TotalRecordCount Represents the total number of records collected by the Trend
Log object since creation. It will wrap back to 1 after reaching
its maximum value of 2^32 – 1.

C-134 Schneider Electric


User Attributes

User Attributes The following list provides you with the attributes and meanings for a
Table User object.
Attribute Description
AckTranstoFault Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Fault
AckTranstoNorm Binary bitmap that corresponds to the alarm number that has
made a transition back to Normal
AckTranstoOffNorm Binary bitmap that corresponds to the alarm number that has
made a transition from normal to Alarm
Alarm1…Alarm8 Equals "on" if alarm attached in this position is in alarm else
equals "off"
AlarmEnable Binary bitmap that corresponds to which of the eight alarm
positions are enabled
AlarmFaults Reflect fault status of any alarm link attached - not currently
implemented
AlarmFlags Bitmap of which alarms are active (as with alarmvalue) - not
currently implemented
Alarmgraphicpage Not currently implemented
Alias Alias of the object
BaseLink Not meaningful to user
CardNumber Not currently implemented
CommandPriority Not currently implemented
CreatedBy Name of user who created object
CreateTime Time of object creation
Description Description of Object
DeviceID Name of the device owning the object
DeviceModel Not Currently Implemented
DistPending Indicates that distribution is pending for this object
EditLock Indicates if object has been locked to additional Edits
EmpNumber Field to be used as storage for this or other information
ExpirationDate Not currently implemented
FollowUpRule Not Meaningful to the User
FullName Field to be used as storage for this or other information
Graphics Not Meaningful to the User
HomePhone Field to be used as storage for this or other information
IconID Not Meaningful to the User
ID SQL Object ID - Not Meaningful to the User
Number of minutes of inactivity after which this user will be
InactivityTimer logged off

Andover Plain English™ Language Reference C - 135


User Attributes

User Attributes Attribute Description


Table continued IncludeObject Not Meaningful to the User
LastChangeBy Name of the user making the last change
LastChangePassword
Date Time of last password change
LastLoggedOnDate Time of last logon
LockedBy Not Currently Implemented
LockingWorkstation Not currently implemented
LoginProgram Program to be run upon user log in
LogOutProgram Program to be run upon user log off
Name Name of the object
NetworkNumber Not Meaningful to the User
OperatorTextLogEnab Forces operator to get sign off on all sytem changes - requires
le CFR setting
Owner Owner of the Object.
PasswordChangeNext Indicates if the user is required to change password at their next
Login log in
PersonnelRecord Not currently implemented
Preemption Not Meaningful to the USer
Properties Not Meaningful to the User
ReferencePoint1… Alarm Referenece Point
ReferencePoint4
RefTemplate Name and path of template from which object was created
ReportID Not Meaningful to the User
RequireAlarmAckOpe Forces operator to get sign off on all alarm acknowledgements -
ratorText requires CFR setting
ScheduleEvents Not viewable by user
SecurityKey Not Meaningful to the USer
SecurityLevel Name and path of any security level attached to the object
SSN Field to be used as storage for this or other information
StartDate Not currently implemented
StartUpFile Not currently implemented
State Indicates if an object has been enabled or disabled
Template When true, indicates that object was made from a template
TemplateAlias Alias that will be used when creating objects from this template
object - meaningful only for templates
TemplateCreateRule Not meaningful to user
TemplateName Name that will be used when creating objects from this template
object - meaningful only for templates

C-136 Schneider Electric


User Attributes

User Attributes Attribute Description


Table continued TimeLocked The time the object was last opened
Title Field to be used as storage for this or other information
Type The type of the object
UserLevel Not currently implemented
UserReport Not currently implemented
WorkPhone Field to be used as storage for this or other information

Andover Plain English™ Language Reference C - 137


C-138 Schneider Electric
Appendix D
Programming the DCX 250
Display Unit
The DCX 250-Display Unit has a touch-sensitive, 4.9 x 4.2-inch liquid crystal display
(LCD) screen. The screen is divided into 64 numbered squares, beginning in the upper
left-hand corner and ending in the lower right-hand corner (see below).
Text and graphics are positioned on the 250-display screen with line points (dots). There
are 320 line points horizontally across the screen (left-to-right) and 200 vertically (bottom-
to-top).
200
1 2 3 4 5 6 7 8

9 10 11 12 13 14 15 16

17 18 19 20 21 22 23 24

25 26 27 28 29 30 31 32

33 34 35 36 37 38 39 40

41 42 43 44 45 46 47 48

49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64

1 320

Touch Cell Grid and Line Points on


the 250 Display Unit
Understanding Pre-designed Graphic Controls

Predrawn You can program the 250-display unit to display predrawn graphic
Control controls (see below) that respond to an operator touching the screen.
Graphics The control graphic represents a single point or point attribute.
There are 13 pre-designed graphic controls you can select with the
CONTROL keyword.

Title

1 Title 2 Title 3

6 Title
4 Title 5 Title

7 Title

8 Title 9 Title

####.##

###.##

10 Title 11 Title

####.##

12 Title 13 Title

###•##•#### ##:##:##

Pre-designed Controls for the 250 Display Unit

D-2 Schneider Electric


Understanding Pre-designed Graphic Controls

Predrawn Each of the controls is identified by a unique style number, which


Control appears to the left or above each control.
Graphics
Some include a title. Where you see the word Title, the title that you
continued
designate appears in the control.
If you do not resize the control, it takes up most of the screen. You
can, however, resize most controls so that you can have multiple
controls display at one time.
Each control can have a frame around it that you choose by selecting
one of the four frame styles available.

Title
2 Title Title
1 Title 3 4

Frame styles for the predrawn controls.

Andover Plain English™ Language Reference D-3


Placing a Pre-designed Graphic Control on the 250 Screen

Preliminary Before you place the control, always be sure to carry out these steps:
Steps
y Connect to the 250 through the Connect menu.
y Open a file and set its FlowType attribute to FallThru.
y Begin the program by using the CLEARSCREEN keyword to
erase any graphic or text already on the screen.
y Turn on the background light with the BackLight keyword. If you
do not turn on the background light, the control never appears.
Once you display any graphic control, graphic, or text, it remains on
the screen until you erase it from a program. If you display a second
control without erasing the first, both appear.

Basic Prior to placing a control graphic on the 250 screen you will need to
Considerations know the following information about the control:
y Style Number
y Location
y Whether or not the operator should be able to change the point
value using the control.
y Name and path to the point or attribute

Additional In addition to the above required features of the control, the following
Considerations optional considerations may apply:
y A title
y Frame style
y Direction (sliders only)
y Top and bottom of scale
y Tick marks (knobs and gauges)
y Number of settings the control can be set to (called steps)
y Format (for the numbers on the tick marks)

D-4 Schneider Electric


Placing a Pre-designed Graphic Control on the 250 Screen

The CONTROL You use the CONTROL keyword to place a pre-drawn graphic control
Keyword on the 250 display unit screen. It is a function keyword and its
arguments provide all the details covered in the above two
paragraphs to develop and activate any one of the 13 styles of
controls.
The CONTROL keyword format is as follows:

CONTROL (style, left, bottom, right, top, user_change,


point_or_attribute_path, title, frame, direction, bot_scale,
top_scale, tickmarks, steps, format)
The items shown in bold italics are required arguments and those
shown in italics are optional arguments.

Andover Plain English™ Language Reference D-5


Placing a Pre-designed Graphic Control on the 250 Screen

The Arguments The arguments applicable to the CONTROL function are listed below.

Argument Replace With

Integer that indicates which of the 13 control styles to


style
display.

Number of line points (dots) across the screen (from left


to right) that locates the horizontal position of the lower
left
left-hand corner of the control. Can be an integer from 1
to 320, or a name or expression that gives one.

Number of dots up from the bottom of the screen that


locates the vertical position of the lower left-hand corner
bottom
of the control. Can be an integer from 1 to 200, or a
name or expression that gives one.
Number of dots across the screen (from the to right) that
locates the horizontal position of the upper right-hand
right corner of the control. Can be an integer from 1 to 320, or
a name or expression that gives one. Should be greater
than the integer you give for left.

Number of dots up from the bottom of the screen that


locates the vertical position of the upper right-hand
top corner of the control. Can be an integer from 1 to 200,
or a name or expression that gives one. Should be
greater than the integer you give for bottom.

TRUE or FALSE. TRUE if you want operators to be able


user_change
to change the setting of the control, FALSE if not.

Full path to the point or point attribute the control


point_or_attribute_path
represents.

Optional. Title, in quotation marks, you want to appear


title in the title bar of the control. An empty string ("")
indicates no title.
Optional. Frame style (1 to 4) to surround the control.
Zero (0) for no frame. If you do not give a frame number,
frame the control system software automatically sets it to 0 and
no frame appears, except for Control Styles 1 and 2
(buttons) which automatically include their own frames.

Optional. Horizontal or Vertical. Applies to rectangular


slider controls (Control Styles 11 & 12) only. Circular
direction controls (Control Style 6, 7, 8) always turn clockwise, so
you do not need to indicate a direction for circular
controls.

D-6 Schneider Electric


Placing a Pre-designed Graphic Control on the 250 Screen

The Arguments continued


Argument Replace With
Bottom of scale for control (usually same as for point).
bot_scale Required for all controls except digital controls, where
the bottom of scale is automatically equal to OFF.
Top of scale for control (usually same as for point).
top_scale Required for all controls except digital controls, where
the top of scale is automatically equal to ON.
Optional. Number of tick marks to display on the
control's scale. Does not apply to knobs or switches.
tickmarks Automatically set to 2 tick marks if you do not give a
number. Those two tick marks appear at top and bottom
of scale.
Optional. Not applicable to buttons and switches. Zero
(0) means the control is analog.
If you do not give a number, automatically sets to 1 step
for Control Styles 9 and 10. The one step is the step
from the initial setting (bottom of scale) to the alternative
position (top of scale).
The Control Styles 6, 7, and 8 are circular and
semicircular controls. Unless you give a number of
steps, they automatically set to one step for each degree
in the arc of the circle⎯for example, 180 degrees in the
Steps semicircular controls, or 180 steps. The maximum
number of degrees is 240, not a full circle, but two-thirds
of one. The control system software automatically places
the 240 steps around the knob control if you do not give
another number of steps.
Control Styles 11 and 12 both include a linear scale. If
you do not give a number of steps, they automatically
set to one step for each screen dot along the length of
the scale. For instance, if you place a scale horizontally
at 10, 50, 60, 80, it has from the 10th dot across to the
60th dot across, or 50 dots; so it has 50 steps along that
scale.
Optional. Format (as described under the PRINT
keyword) for the numbers to be displayed in the control's
scale. If you do not give a format, no numbers appear,
format but the control system software leaves enough space for
four digits ("###") and when you size the control, the
space for the numbers is included in the area you
designate.

Andover Plain English™ Language Reference D-7


Placing a Pre-designed Graphic Control on the 250 Screen

CONTROL As an example, we will use a vertically positioned rotational needle


Keyword gauge (Control Style 7) to illustrate how to place a graphic control on
Example the 250 screen. That style of control was chosen because it uses
most of the optional arguments for its design.

Setting Up the To display a vertically positioned rotational needle gauge (Control


Software Style 7) on the screen, you would enter the following:
CLEARSCREEN
TURN ON BACKLIGHT
CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,,
50, 250, 5, 8, "###"

AirFlow

50

100

150

200

250

Display of Rotational Needle Gauge (Control Style 7)

D-8 Schneider Electric


Placing a Pre-designed Graphic Control on the 250 Screen

Format The format of the CONTROL function keyword statement showing its
arguments is illustrated below.

Building1 Floor1 Display1 AirFlowGauge

Top and
When TRUE, Operator Bottom Format
Control Style Can Change Setting of Scale

CONTROL 7, 50, 50, 280, 180, TRUE, ROOM6 AirFlow, "AirFlow", 4,, 50, 250, 5, 8, "###"

Controller Tick
and Point Frame Style Marks
Location Steps
on Screen Name
Comma Means
Skipping Argument

Rotational Needle Gauge Control Program Statement

Argument The left, bottom, right, and top values position the frame so its lower
Descriptions left corner is at 50, 50 and its upper right at 280, 180. The control
appears sized and centered within the frame (Frame Style 4).
TRUE allows the operator to set the value of the control.
ROOM6 AirFlow is the path to the point.
"AirFlow" is the title of the control.
The 4 is the frame style.
The extra comma after the 4 indicates you are leaving out an
argument—the direction that does not apply to gauges. The gauge
always turns clockwise.
The 50 is the bottom of the scale and the 250 is the top.

Andover Plain English™ Language Reference D-9


Placing a Pre-designed Graphic Control on the 250 Screen

Argument If you did not specify a bottom and top of scale, the control would
Descriptions automatically be a digital gauge. The bottom of scale would become
continued Off and the top of scale On.
"###" defines the numbers format and indicates that up to three digits
can appear in the numbers around the gauge scale.

Steps and Tick If you did not specify a number of steps, you would never see the
Marks gauge setting change, because it would automatically have 180
settings (one for each degree around the portion of the circle the
gauge is composed of).
To specify a particular number of steps, set 5 as the number of tick
marks and 8 as the number of steps. Normally the control would
have 4 steps with 5 tick marks. Because the control has 8 steps, it
has an extra step between each pair of tick marks.
The unnumbered steps (settings) would be 75, 125, 175, and 225.
You can set the needle to one of those values.

Positioning the Notice that the gauge control has two arrows. You press these arrows
Control to raise or lower the setting of the point or attribute.
The arrows must be the size of at least two cells (see Figure D-1),
rather than one. You should position this control so that the two
arrows are each on top of separate cells. This rule applies as long as
you want the operator to have the option of setting the control. If you
set the user_point argument to False, the arrows do not appear.

D-10 Schneider Electric


Setting the Control Size

Switches and When you specify the left, bottom, right, and top, the software
Knobs Cannot automatically sizes the control to fit into the area you designate
be Resized unless it is Control Style 3, 4, or 5 (switches), or Control Style 6
(knob).
You cannot resize Control Styles 3, 4, 5, or 6. However, when you
give the location for any of the switches (Control Styles 3, 4, and 5),
the center of the control must be at least 21 line points from any edge
of the screen. The center of a knob (Control Style 6) must be at least
30 line points from any edge of the screen.

Gauge Controls While rectangular shaped controls (such as Control Styles 1 and 2)
Retain Their stretch to fit tall/wide areas and shrink to fit short/narrow areas, gauge
Shape controls such as Control Styles 7 and 8 retain their shape.
If you designate a tall narrow area for a gauge control, its width fits
the area and its height becomes proportional to the width.
As shown below, the gauge control is then vertically centered within
the space you have defined (crosshatches (+) show the locations of
the left-bottom and right-top).

Gauge Control (Control Style 7) Centered on Screen

Andover Plain English™ Language Reference D-11


Setting the Control Size

Gauge Controls On the other hand, if you designate a short wide area for a circular
Retain Their control, its height fits the area and its width becomes proportional to
Shape the height. The control is then horizontally centered within the space
you have defined.
In either case, the gauge retains its semicircular shape.

Minimum Any control style that you can resize never displays unless it is at
Control Size least the size of one cell on the 250 screen—approximately 0.5 inch
square. What are cells? The 250 screen has an underlying grid of 64
squares (see Figure D-1), approximately 0.6 x 0.5-inch. The blocks
are called “cells” or “touch cells.”
The software can sense when you have touched one of these cells.
You must position the control so that it can use these cells.
If a control is a button or switch, it can be as small as one cell;
approximately 40 line points wide and 25 line points high. Any other
control style must be at least two cells wide, 80 line points wide if
horizontally positioned or 50 line points high if vertically positioned.
(To be sure about the minimum size for any particular control, refer to
"Graphic Control Style Specifications" beginning on the next page).

If the Control If the control cannot display in the space you give, the software
Doesn't Appear disables the file; you can then find the error message in the File
Configuration window. Any time the control does not appear, check
the size of the area you designated

D-12 Schneider Electric


Graphic Control Style 1 Specifications

Type Raised Button

Title

Details y Resizing—You may resize. Fits any size area, as long as all
coordinates are on the screen. The minimum size in line points is
40 wide by 25 high.
y frame—Do not specify. Automatically placed around control.
y direction—Not applicable.
y bot_scale—Optional. Automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.
y top_scale—Optional. Automatically set to ON or one of the two
values of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.

Andover Plain English™ Language Reference D-13


Graphic Control Style 2 Specifications

Type Flat Button

Title

Details y Resizing—You may resize. Fits any size area, as long as all
coordinates are on the screen. The minimum size in line points is
40 wide by 25 high.
y frame—Do not specify. Automatically placed around control.
y direction—Not applicable.
y bot_scale—Optional. Automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.
y top_scale—Optional. Automatically set to ON or one of the two
values of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.

D-14 Schneider Electric


Graphic Control Style 3 Specifications

Type Light Switch

Title

Details y Resizing—Cannot resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Be careful—if the coordinates you give force the control
off the screen, it does not appear. The center of the control must
be at least 21 line points from any edge of the screen.
y frame—If you do not specify a frame, the switch appears without
the frame around it.
y direction—Not applicable.
y bot_scale—Optional. Automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.
y top_scale—Optional. Automatically set to ON or one of the two
values of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.

Andover Plain English™ Language Reference D-15


Graphic Control Style 4 Specifications

Type Toggle Switch

Title

Details y Resizing—Cannot resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Be careful—if the coordinates you give force the control
off the screen, it does not appear. The center of the control must
be at least 21 line points from any edge of the screen.
y frame—If you do not specify a frame, the toggle switch appears
without the frame around it.
y direction—Not applicable.
y bot_scale—Optional. Automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.
y top_scale—Optional. Automatically set to ON or one of the two
values of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.

D-16 Schneider Electric


Graphic Control Style 5 Specifications

Type Sliding Switch

Title

Details y Resizing—Cannot resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Be careful—if the coordinates you give force the control
off the screen, it does not appear. The center of the control must
be at least 21 line points from any edge of the screen.
y frame—If you do not specify a frame, the sliding switch appears
without the frame around it.
y direction—Not applicable.
y bot_scale—Optional. Automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.
y top_scale—Optional. Automatically set to ON or one of the two
values of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.

Andover Plain English™ Language Reference D-17


Graphic Control Style 6 Specifications

Type Knob

Title

Details y Resizing—Cannot resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Be careful—if the coordinates you give force the control
off the screen, it does not appear. The center of the control must
be at least 30 line points from any edge of the screen.
y user_change—If you do not allow the user to change the setting
of the knob (i.e., using the FALSE argument), the arrows do not
appear.
y frame—Optional.
y direction—Not applicable. Values always increase in clockwise
direction.
y bot_scale—Required if it is not a digital knob. Automatically set to
OFF or one of the two values of a digital attribute, such as
DISABLED for STATE.

D-18 Schneider Electric


Graphic Control Style 6 Specifications

Details y top_scale—Required if it is not a digital knob. Automatically set


continued to ON or one of the two values of a digital attribute, such as
ENABLED for STATE.
y tickmarks—Optional. You do not have to display tick marks, but
you may.
y steps—Automatically sets to the number of degrees in the arc of
the circle from the first tick mark shown to the last (approximately
2/3 of a circle), for a total of 240 degrees—240 steps you can set
the knob to. You may set the number of steps to a smaller
number. If you set it to 0, the knob becomes analog.
y format—Optional. If you do not specify a format for the numbers
that label the positions on the knob, the software does not display
the number but leaves adequate space to display four digits—
####.

Andover Plain English™ Language Reference D-19


Graphic Control Style 7 Specifications

Type Rotational Needle Gauge, Vertical Position

Title

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Retains its basic shape even if you put it in a tall narrow
area or a short wide area. Fits to the smaller of the two
dimensions and the other dimension becomes proportional. Size
also automatically allows for a four-digit number to appear to the
right of each tick mark, even if you do not specify a format. The
numbers take up space within the area you specify. The minimum
size in line points is 80 wide if arrows are horizontal and 50 wide
if vertical.
y user_change—If you do not allow the user to change the setting
of the gauge (i.e., using the FALSE argument), the arrows do not
appear.
y frame—Optional.

D-20 Schneider Electric


Graphic Control Style 7 Specifications

Details y direction—Not applicable. Values always increase in clockwise


continued direction.
y bot_scale—Required if it is not a digital gauge. Automatically set
to OFF or one of the two values of a digital attribute, such as
DISABLED for STATE.
y top_scale—Required if it is not a digital gauge. Automatically set
to ON or one of the two values of a digital attribute, such as
ENABLED for STATE.
y tickmarks—Optional. You do not have to display tick marks, but
you may.
y steps—Automatically sets to the number of degrees in the arc of
the circle from the first tick mark shown to the last (1/2 of a circle),
for a total of 180 degrees—180 steps you can set the gauge to.
You may set the number of steps to a smaller number. If you set
it to 0, the gauge becomes analog.
y format—Optional. If you do not specify a format for the numbers
that label the positions on the gauge, the software does not
display the number but leaves adequate space to display four
digits—####.

Andover Plain English™ Language Reference D-21


Graphic Control Style 8 Specifications

Type Rotational Needle Gauge, Horizontal Position

Title

###.##

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Retains its basic shape even if you put it in a tall narrow
area or a short wide area. Fits to the smaller of the two
dimensions and the other dimension becomes proportional. Size
also automatically allows for a four-digit number to appear to the
right of each tick mark, even if you do not specify a format. The
numbers take up space within the area you specify. The minimum
size in line points is 80 wide if arrows are horizontal and 50 wide
if vertical.
y user_change—If you do not allow the user to change the setting
of the gauge (i.e., using the FALSE argument), the arrows do not
appear.
y frame—Optional.

D-22 Schneider Electric


Graphic Control Style 8 Specifications

Details y direction—Not applicable. Values always increase in clockwise


continued direction.
y bot_scale—Required if it is not a digital gauge. Automatically set
to OFF or one of the two values of a digital attribute, such as
DISABLED for STATE.
y top_scale—Required if it is not a digital gauge. Automatically set
to ON or one of the two values of a digital attribute, such as
ENABLED for STATE.
y tickmarks—Optional. You do not have to display tick marks, but
you may.
y steps—Automatically sets to the number of degrees in the arc of
the circle from the first tick mark shown to the last (1/2 of a circle),
for a total of 180 degrees—180 steps you can set the gauge to.
You may set the number of steps to a smaller number. If you set
it to 0, the gauge becomes analog.
y format—Optional. If you do not specify a format for the numbers
that label the positions on the gauge, the software does not
display the number but leaves adequate space to display four
digits—####.

Andover Plain English™ Language Reference D-23


Graphic Control Style 9 Specifications

Type Value Bar with Arrow Buttons

Title

####.##

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the screen
and those coordinates position the arrow buttons each on
separate cells. Shapes to a tall narrow area or a short wide area.
Must be at least 80 line points wide and 50 line points high.
y user_change—If you do not allow the user to change the setting
of the value (i.e., using the FALSE argument), the arrows do not
appear, so you see only the value in a box.
y frame—Optional.
y direction—Not applicable.
y bot_scale—Required if it is not a digital control. If it is for a digital
point or attribute, automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.

D-24 Schneider Electric


Graphic Control Style 9 Specifications

Details y top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Required. If you do not give a number of steps, the
number defaults to 1, the correct number for a digital point or
attribute.
y format—Not applicable.
y The value that appears in the box automatically appears in the
format for the point that the control represents.

Andover Plain English™ Language Reference D-25


Graphic Control Style 10 Specifications

Type Value Bar

Title

####.##

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Shapes to a tall narrow area or a short wide area. Must
be at least 80 line points wide and 50 line points high.
y user_change—If you do not allow the user to change the setting
(i.e., using the FALSE argument), the arrows do not appear.
y frame—Optional.
y direction—Not applicable.
y bot_scale—Required if it is not a digital control. If it is for a digital
point or attribute, automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.

D-26 Schneider Electric


Graphic Control Style 10 Specifications

Details y top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
y tickmarks—Not applicable.
y steps—Required. If you do not give a number of steps, the
number defaults to 1, the correct number for a digital point or
attribute.
y format—Not applicable.
The value that appears in the box automatically appears in the format
for the point that the control represents.

Andover Plain English™ Language Reference D-27


Graphic Control Style 11 Specifications

Type Level Fill with Scale

Title

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Shapes to a tall narrow area or a short wide area. Must
be at least 80 line points wide and 50 line points high.
y user_change—If you do not allow the user to change the setting
(i.e., using the FALSE argument), the arrows do not appear.
y frame—Optional.
y direction—Required. Set to horizontal or vertical to determine the
direction the bar moves to show a change in value. If you do not
set, it is automatically horizontal.
y bot_scale—Required if it is not a digital control. If it is for a digital
point or attribute, automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.

D-28 Schneider Electric


Graphic Control Style 11 Specifications

Details y top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
y tickmarks—Optional. You do not have to display tick marks, but
you may.
y steps—Required. If you do not give a number of steps, the
number defaults to the number of dots on the screen along the
length of the scale.
y format—Optional. If you do not specify a format for the numbers
that label the positions on the knob, the software does not
display the number but leaves adequate space to display four
digits—####.

Andover Plain English™ Language Reference D-29


Graphic Control Style 12 Specifications

Type Slider Pointer and Scale

Title

Details y Resizing—You may resize. Positions itself in the center of the


coordinates you give, as long as all coordinates are on the
screen. Shape to a tall narrow area or a short wide area. Must be
at least 80 line points wide and 50 line points high.
y user_change—If you do not allow the user to change the setting
(i.e., using the FALSE argument), the arrows do not appear.
y frame—Optional.
y direction—Required. Set to horizontal or vertical to determine the
direction the pointer moves to show a change in value. If you do
not set, it is automatically horizontal.
y bot_scale—Required if it is not a digital control. If it is for a digital
point or attribute, automatically set to OFF or one of the two
values of a digital attribute, such as DISABLED for STATE.

D-30 Schneider Electric


Graphic Control Style 12 Specifications

Details y top_scale—Required if it is not a digital control. If it is for a digital


continued point or attribute, automatically set to ON or one of the two values
of a digital attribute, such as ENABLED for STATE.
y tickmarks—Optional. You do not have to display tick marks, but
you may.
y steps—Required. If you do not give a number of steps, the
number defaults to the number of dots on the screen along the
length of the scale.
y format—Optional. If you do not specify a format for the numbers
that label the positions on the knob, the software does not
display the number but leaves adequate space to display four
digits—####.

Andover Plain English™ Language Reference D-31


Graphic Control Style 13 Specifications

Type Date Time Display Bar

Title

###•##•#### ##:##:##

Details y Resizing—You may not resize. Positions itself in the center of


the coordinates you give, as long as the center of the control is at
least 95 line points from any screen edge. The control
automatically positions itself in the single row of cells nearest the
coordinates you give. Must be at least 80 line points wide and 50
line points high.
y user_change—If you do not allow the user to change the setting
(i.e., using the FALSE argument), the arrows do not appear.
y frame—Optional.
y direction—Not applicable.

D-32 Schneider Electric


Graphic Control Style 13 Specifications

Details y bot_scale—Not applicable.


continued
y top_scale—Not applicable.
y tickmarks—Not applicable.
y steps—Not applicable.
y format—Not applicable.
You must specify a datetime point or the control does not appear.

Andover Plain English™ Language Reference D-33


D-34 Schneider Electric
Appendix E
BACnet Properties and Plain
English
When you create an Infinity object in a BACnet controller it automatically becomes a
certain type of BACnet object. The first table on the next page lists the Infinity object
class and indicates its BACnet object equivalent.

Following the first table are multiple tables that are arranged by BACnet Object Type. The
tables map each BACnet object’s properties to the equivalent Plain English name. You
would use the Plain English name in a Plain English program.

Any properties not listed in the following tables are properties that are not supported in
Plain English. The “READ/WRITE” column indicates whether these properties can be
changed (W) or just read (R) by Plain English.

The Restrictions column indicates any Andover Continuum specific restriction on the
property. Our restrictions do not necessarily coincide with those of a third party device.
BACnet PICS:
As the Andover Continuum BACnet product line expands, some of the information
contained in the tables that follow may change. For up-to-date information on properties
supported and any restrictions placed on their use, refer to the Continuum Product
Implementation Conformance Statement (PICS) for the particular controller you are
using. These may be obtained through your dealer or through the Schneider Electric
website.

INFINITY CLASS BACnet OBJECT TYPE


Input (ElecType: ACCTemp(DegC)) Analog Input
Input (ElecType: ACCTemp(DegF)) Analog Input
Input (ElecType: InputCurrent) Analog Input
Input (ElecType: Voltage) Analog Input
Input (ElecType: Counter) Analog Input
Input (ElecType: Digital) Binary Input
Input (ElecType: Supervised) Multi-State Input

Output (ElecType: Current) Analog Output


Output (ElecType: Voltage) Analog Output
Output (ElecType: Digital) Binary Output
Output (ElecType: Tristate) Multi-State Output

Numeric Binary Value


Numeric Analog Value
Numeric Multi-State Value

Program Program

Schedule Schedule

Calendar Calendar

Device Device

EventEnrollment Event Enrollment

EventNotification Notification Class

File File

Loop Loop

TrendLog TrendLog

E-2 Schneider Electric


ANALOG INPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
COV Increment COVIncrement W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R Constant based upon the class
Out_Of_Service OutOfService W Cannot be set false if channel not
configured
Present_Value Value W
Units Units W

BINARY INPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W Cannot be set false if channel not
configured
Polarity Polarity W
Present_Value Value W

MULTISTATE INPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Number_Of_States NumberOfStates R 3
Object_Name Name R
Object_Type Type R
Out_Of_Service State W Cannot be set false if channel not
configured
Present_Value Value W

Andover Plain English™ Language Reference E-3


ANALOG OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
COV Increment COVIncrement W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W Cannot be set false if channel not
configured
Present_Value Value W
Relinquish_Default RelinquishDefault W
Units Units W

BINARY OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W Cannot be set false if channel not
configured
Polarity Polarity W
Present_Value Value W
Relinquish_Default RelinquishDefault W

MULTISTATE OUTPUT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Number_Of_States NumberOfStates R 3
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W Cannot be set false if channel not
configured
Present_Value Value W
Relinquish_Default RelinquishDefault W 1..3

E-4 Schneider Electric


The following tables are for objects that do not have an ElecType. When you create the
Infinity Numeric object indicated on the left of the table, you must select a BACnet Object
Type from a drop down list within the editor. See note regarding numerics on the
following page.

ANALOG VALUE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
COV Increment COVIncrement W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W
Present_Value Value W
Relinquish_Default RelinquishDefault W
Units Units W

BINARY VALUE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W
Present_Value Value W
Relinquish_Default RelinquishDefault W

MULTISTATE VALUE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R Always Normal
Number_Of_States NumberOfStates R 255*
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W
Present_Value Value W
Relinquish_Default RelinquishDefault W 0..255

* 255 or a variable based on standard Continuum enumerations.

Andover Plain English™ Language Reference E-5


PROGRAM
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Object_Name Name R
Object_Type Type R
Out_Of_Service OutOfService W
Program_Change StatusChange W
Program_State Status R Inactive = Idle
Active & Disabled = Halted
Active & Enabled = Running

SCHEDULE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Object_Name Name R
Object_Type Type R
Present_Value Value R
Priority_For_Writing Priority W Defaults to, but is not
restricted to, a value of 10.

CALANDER
BACnet Plain English READ/WRITE
Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Object_Name Name R
Object_Type Type R
Present_Value Value R

E-6 Schneider Electric


DEVICE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
APDU_Segment_Timeout APDUSegTimeout W
ADPU_Timeout ADPUTimeout W
Application_Software_version ApplSoftwareVersion R
Backup_Failure_Timeouut BackupFailureTimeout W
Configuration_Files ConfigurationFileList R
Daylight_Savings_Status DaylightSavingsStatus W
Firmware_Revision FirmwareRevision R
Last_Restore_Time LastRestoreTime R
Local_Date LocalDate R
Local_Time LocalTime R
Max_ADPU_Length_Accepted MaxAPDUAccepted R
Model_Name ModelName R
Number_Of_ADPU_Retries NumberAPDURetries W 0-255
Object_Name Name R
Object_Type Type R
Protocol_Conformance_Class ProtocolConfClass R
Protocol_Version ProtocolVersion R
Segmentation_Supported SegmentationSupport R
System_Status System_Status R
UTC_Offset UTCOffset W
Vendor_Identifier VendorIdentifier R
Vendor_Name VendorName R

Andover Plain English™ Language Reference E-7


EVENT ENROLLMENT
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Event_State EventState R
Event_Type EventType W * see below
Notify_Type NotifyType W
Object_Name Name R
Object_Type Type R

* Limited to Change_Of_State, Change_Of_Value, Floating_Limit, Out_Of_Range

NOTIFICATION CLASS
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Description Description W Limited to 32 characters
Object_Name Name R
Object_Type Type R

FILE
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Object_Name Name R
Object_Type Type R
Description Description W
File_type FileType R
File_Size Size R
Archive Archive R
Read_Only ReadOnly R
File_Access_Method AccessMethod R

E-8 Schneider Electric


LOOP
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Action Action W

Bias Bias W

Controlled_Variable_Units ControlledVariableUnits W

Controlled_Variable_Value ControlledVariableValue R

Derivative_Constant DerivativeConstant W

Derivative_Constant_Units DerivativeConstantUnits W

Description Description W

Event_State EventState R

Integral_Constant IntegralConstant W

Integral_Constant_Units IntegralConstantUnits W

Maximum_Output MaximumOutput W

Minimum_Output MinimumOutput W

Object_Name Name R

Out_Of_Service OutOfService W

Output_Units OutputUnits W

Present_Value Value W

Priority_For_Writing Priority W

Proportional_Constant ProportionalConstant W

Proportional_Constant_Units ProportionalConstantUnits W

Reliability Reliability R

Setpoint Setpoint W

Update_Interval UpdateInterval W

Andover Plain English™ Language Reference E-9


TRENDLOG
BACnet Plain English READ/WRITE Restrictions
Property Name R/W
Buffer_Size BufferSize W

COV_Resubscription_Interval COVResubscriptionInterval R

Description Description W

Event_State EventState R

Log_Enable LogEnable W

Log_Interval LogInterval W

Object_Name Name R

Object_Type Type R

Record_Count RecordCount W Can write 0, only

Stop_When_Full StopWhenFull W

Total_Record_Count TotalRecordCount R

E-10 Schneider Electric


Appendix F
Alarm Functions

This appendix describes how you can write your own Plain English alarm
functions. It also describes the Plain English PopAlarm and AckAlarm functions.
USER – DEFINED ALARM FUNCTIONS

Format PEFunctionName (Arg1, Arg2, …, Arg15)

Purpose As an option, you may write your own Plain English “alarm” functions
that run at workstations when one of the following conditions occurs:

An alarm occurs
An alarm is acknowledged
A return-to-normal condition occurs

For example, you would use the user-defined Plain English alarm
functions with an alarm video-monitoring system, to play video clips
when alarms occur.

In the event that all available video controllers are busy playing video
clips, a video control needs to be freed. Meanwhile, if alarms occur
while all video controls are busy, their corresponding user-defined
alarm function calls are stacked (placed in a buffer) and processed, or
“popped,” at a later time. For more information regarding “popping,”
refer to the Plain English PopAlarm function later in this appendix.

At times, it may also be necessary to acknowledge alarms


automatically (or via script within the Pinpoint graphic application). For
more information regarding acknowledging alarms, refer to the Plain
English AckAlarm function later in the appendix.

Returns SUCCESS or FAILURE.

Remarks Note: An alarm function is not intended to be used in a program or at


the command line, even though it would run if appropriately called.

If there are incoming alarms, their corresponding functions are either


called immediately or buffered.

If the buffer is empty, then the calls are immediate. If the buffer is not
empty, the calls in the buffer are processed first. Any incoming calls
are buffered.

The number of maximum alarm calls to buffer is specified by the


registry entry, PEMaxBufferedAlarms.
F-2 Schneider Electric
The return value defaults to Failure and will push the alarm onto the
stack. You must add the “Return Success” statement.

An execution failure of the function creates an error log entry and


drops the alarm.

If returned SUCCESS – Alarm is successfully processed


If returned FAILURE – Alarm is not successfully processed.
CyberStation buffers the alarm function call.

Each alarm function that you write must correspond to one of the three
conditions listed above. Therefore, in the registry you must define the
following keys for all three types of Plain English user-defined alarm
functions:

PEAlmFunction (when an alarm occurs)


PEAckFuntion (when an alarm is acknowledged)
PERtnFunction (when a return-to-normal condition occurs)

To create the required AlmFunction, AckFunction, RtnFunction,


MaxBufferedAlarm, and PopAlarm keys, perform the following steps.

1. Open the registry, using the Windows application, regedit.


2. Each key should be create in the registry at the following
location:

HKEY_LOCAL_MACHINE\Software\Andover
Controls\Settings

3. Create the keys with the following charactertistics:

Name Data Type Value


PEAlmFunction String User-defined name for
the workstation function
PEAckFuntion String User-defined name for
the workstation function
PERtnFunction String User-defined name for
the workstation functions
PEMaxBufferedAlarms DWORD 50 (hex), 80(dec)
PEPopAlarm DWORD 0

All three types of user-defined functions behave in the same way.


They are all called with the same number of arguments.

Argument Description
Arg1 Network Alias Name (a 16-byte string)
Arg2 Controller Alias Name (a 16-byte string)

Andover Plain English™ Language Reference F-3


Arg3 Infinet Controller Alias Name (a 16-byte string)
Arg4 Object Name (a string)
Arg5 Object Alias Name (a 16-byte string)
Arg6 Object Description (a string)
Arg7 Object Value (numeric value)
Arg8 Alarm State (a 3-byte string : ALM, RTN, or ACK)
Arg9 Graphic Object Alias Name (a 16-byte string)
Arg10 AlarmEnrollment Alarm Message (a string)
Arg11 AlarmEnrollment Alias Name (a 16-byte string)
Arg12 EventNotification Alias Name (a 16-byte string)
Arg13 EventNotification Priority (a numeric value
between 1 and 255 inclusive)
Arg14 Time Stamp (a 16-byte string)
Arg15 Logging Flag (Indicated if this is the logging
workstation. Can be a value of 0 and 1.)

Example Example: Processing Alarms

Function: AlmProcess

Based on the incoming alarm’s source object, the AlmProcess function


invokes the AlarmReader application, and pops up the VideoMon
application to play the corresponding video.

Arg 1 AlmNetwork
Arg 2 AlmController
Arg 3 AlmInfinet
Arg 4 AlmObjName
Arg 5 AlmObjAlias
Arg 6 AlmObjDesc
Arg 7 AlmObjValue
Arg 8 AlmState
Arg 9 AlmPanel
Arg 10 AlmMessage
Arg 11 AlmEnrollment
Arg 12 AlmEvent
Arg 13 Alm Priority

String 132 ObjPath, AlmMessageStr


String 33 ObjId

If VideoInstalled is Off then Return Success

If AlmInfinet = “ “ then ~
ObjPath = AlmNetwork; “\” ; AlmController ; “\” ; ~
AlmObjAlias
Else

F-4 Schneider Electric


ObjPath = AlmNetwork; “\” ; AlmController ; “\” ; ~
AlmInfinet ; “\” ; AlmObjAlias
Endif

Print getname(ObjPath ; “Id”) to ObjId

AlmMessageStr = right (AlmMessage,


(length(AlamMessage)- ~ search(AlmMessage, “-“)))

Shell
“c:\Proga~1\ContinuumUtilities\AlarmRecorder.exe”; ~
“15, 15,” ; ObjId ; “,” ; AlmMessageStr

If AlarmVideo is On then
Shell “c:\Program~1\ContinuumUtilities\VideoMon.exe
“ ; ~ ObjId ; “,” ; AlmMessageStr
Endif

Return Success

Products Workstation Only


Supported

Modes A workstation automatically calls the function if the corresponding


Available condition occurs.

Andover Plain English™ Language Reference F-5


PopAlarm Function

Format PopAlarm ( )

Purpose Allows you to re-execute user-defined Plain English functions that


have failed to execute and have been pushed into a call stack
(buffer).
Returns SUCCESS or FAILURE.

Remarks Typically, in the event all available video controls are busy playing
video clips, a guard needs to free a video control. If alarms occur
while all video controls are busy, their corresponding user-defined
alarm function calls are stacked. The PopAlarm function allows you
to process or “pop” each of these stacked alarms at a later time.

Alarms are popped based on their corresponding event notification


priority – highest priority first.

If returned SUCCESS – An alarm was popped and a call was made


to its corresponding user-defined Plain English function.
If returned FAILURE – No alarm was popped (empty buffer case).

Example 1 Command Line

Simply Type:

PopAlarm

F-6 Schneider Electric


Example 2 Create a button within a graphic, and attach a Plain English script to it
(by clicking the button in Design mode, via Object Properties).

In the script edit field provided in the Plain English Script tab of the
Active Button Object dialog and Active Animated Button dialog,
simply type:

PopAlarm

Save the graphic and switch to Run mode, or open your graphic at a
later time. In Run mode, simply click the button and the PopAlarm
function is called.

Note: Remember to make sure the workstation on which you are


running the graphic is properly configured to call alarm functions.

Products Workstation Only


Supported

Modes Command lines and programs.


Available

Andover Plain English™ Language Reference F-7


AckAlarm Function

Format AckAlarm (Arg1, Arg2, …, Arg11)

Purpose Allows you to acknowledge alarms automatically, or via scripts within


the Pinpoint graphics application.

Remarks
Argument Description
Arg1 Timestamp (a 16-byte string)
Arg2 Network Alias Name (a 16-byte string)
Arg3 Controller Alias Name (a 16-byte string)
Arg4 Infinet Controller Alias Name (a 16-byte string)
Arg5 Object Name (a string)
Arg6 AlarmEnrollment Alias (a 16-byte string)
Arg7 State (a 3-byte string: ALM, RTN, or ACK)
Arg8 Acked By User (a 64-byte string)
Arg9 User Actions Text (a 64-byte string)
Arg10 Operator Text (a 255-byte string)
Arg11 Logging Workstation (a string)

In the table above, Arg1 through Arg6 identify the alarm, based on the
Plain English alarm function. Arg7 through Arg11 provide
acknowledgment information.

Example 1 Acknowledging an alarm from the command line or program.

Command Line or program

P AckAlarm(“11/14/06 9:51:26”, “”, “”, “”,~


“MyWS\MyPoint”, “”, “”, “acc”,~
“some user actions”, “some operator text”,~
“MyWS”)

In this example, the arguments are filled by the caller directly.

F-8 Schneider Electric


Example 2 Acknowledging an alarm from the command line or program.

Command Line or program

p AckAlarm("12/11/2006 9:52:09 AM", "Net1",~


"Controller1", "", "TestPoint", "AlmEnrol1",~
"ALM", "ACC", "", "", "Workstation1")

In this example, the arguments are filled by the caller directly.

Example 3 Acknowledging an alarm from an alarm function.

Alarm Function

AckAlarm(Arg[14], Arg[1], Arg[2], Arg[3], Arg[4],~


Arg[11], “”, “acc”, “some user actions”,~
“some operator text”, “MyWS”)

In this example, the arguments referenced are the arguments from an


instance of a previously called user-defined Plain English alarm
function (PEAlmFunction).

Products Workstation Only


Supported

Modes Command line and programs


Available

Andover Plain English™ Language Reference F-9


F-10 Schneider Electric
Appendix G
Area Lock Down Features

This appendix described the area lock down feature, ForceLock, which you can use in
Plain English program statements to lock down areas and doors. It also describes how to
define your own functions to lock down areas and doors. For more information on using
area lockdown in CyberStation, please see the CyberStation online help.
ForceLock

Format ForceLock

Purpose Allows you to lock down (i.e. ForceLock) Areas and Doors

Example 1 To lock down an Area, for example the Engineering_Lab, write the
following Plain English statement:

Engineering_Lab ForceLock = true

All the Doors allowing access to the Engineering_Lab Area will be


“Force Locked.”

To reverse that operation, write the following statement:

Engineering_Lab ForceLock = false

Note: If the PE statement is acting on Areas, it needs to be in a


CyberStation program. However, if the statement is acting on Doors, it
can be in either a CyberStation program or the controller.

Example 2 To LockDown a Door, for example Door1, write the following Plain
English statement:

Door1 ForceLock = true

To remove the ForceLock, write the following statement:

Door1 ForceLock = false

In this example, if the Area that Door1 belongs to is already in lock


down (i.e. “Force Locked”), then the ForceLock will not be removed, and
Door1 will remain in lock down.

However, if the Area is not in lock down and the user sets Door1’s
ForceLock to “true”, then Door1 will lock down.

G-2 Schneider Electric


Plain English Control

Format UserDefinedFunctionName (Arg1, Arg2, …, Arg15)

Purpose Issues a command to lock down a list of one or more Areas or Doors.

Remarks Arg1 is a flag indicating the ForceLock value.

True means LockDown; false means otherwise.

Arg2 through Arg15 are the list of Areas and Doors

Example 1 A sample Plain English function can look like this:

‘ User Defined Function: LockDownAreas

Arg 1 ForceLockValue ‘Either true (lock down) or false (remove


lock down)

Numeric i

For i = 2 to 15
If passed(i) then Arg[i] ForceLock = ForceLockValue
Next i

Return Success

Note: If the PE statement is acting on Areas, it needs to be in a


CyberStation program. However, if the statement is acting on
Doors, it can be in either a CyberStation program or the
controller.

Example 2 For example, suppose you have defined a function named


LockDownArea.

To LockDown Area1 and Area2, call the LockDownAreas function as


follows:

LockDownAreas (true, Area1, Area2)

Andover Plain English™ Language Reference G-3


Example 3 To LockDown Area1, Area2, and Area4, call the LockDownAreas
function as follows:

LockDownAreas (true, Area1, Area1, , Area4)

Example 4 To remove the ForceLock for Area1 thru Area5, call the
LockDownAreas function as follows:

LockDownAreas (false, Area1, Area2, Area3, Area4, Area5)

G-4 Schneider Electric


Andover Plain English™ Language Reference
Andover Plain English™ Language Reference
Document Number 30-3001-872
Revision F
CyberStation Version 1.9

30-3001-872 Andover Plain English™ Language Reference

You might also like