Professional Documents
Culture Documents
Table of Contents
How to Use This Manual.......................................................................VII
Introduction .......................................................................................VII
Manual Organization .......................................................................VIII
Manual Conventions..........................................................................IX
Syntax Page Example ........................................................................X
Compatibility bar .........................................................................XI
Syntax ........................................................................................XII
Use .............................................................................................XII
Notes (if applicable) ..................................................................XIII
See also (if applicable)..............................................................XIII
Where To Send Comments .............................................................XIII
Chapter 1Program Methodology ......................................................1-1
Overview..........................................................................................1-1
Introduction to PPCL .......................................................................1-3
PPCL Rules .....................................................................................1-4
General PPCL Rules.................................................................1-4
Defining Points in a PPCL Program..........................................1-6
Rules for Naming Points ...........................................................1-6
Rules for Naming a PPCL Program ..........................................1-7
PPCL Program Design Guidelines ..................................................1-8
Designing a Program that is Easy to Maintain..........................1-8
Designing a Program that Operates Efficiently.........................1-9
Relational Operators......................................................................1-10
Equal to (.EQ.) .......................................................................1-11
Greater than or equal to (.GE.) ...............................................1-12
Greater than (.GT.)..................................................................1-13
Less than or equal to (.LE.).....................................................1-14
Less than (.LT.) .......................................................................1-15
Not equal to (.NE.) ..................................................................1-16
Logical Operators ..........................................................................1-17
And (.AND.).............................................................................1-18
Not And (.NAND.)....................................................................1-19
Or (.OR.) .................................................................................1-20
Exclusive Or (.XOR.)...............................................................1-21
Arithmetic Operators......................................................................1-22
Addition ...................................................................................1-23
Assignment .............................................................................1-24
Division....................................................................................1-25
Siemens Building Technologies, Inc.
II
Table of Contents
PPCL (@NONE) .....................................................................1-73
Operator (@OPER).................................................................1-74
Peak Demand Limiting (@PDL)..............................................1-75
Smoke (@SMOKE) .................................................................1-76
Point Status Indicators...................................................................1-77
Failed Point Values .................................................................1-77
Determining Point Status ........................................................1-77
Commanding and evaluating the HAND status ......................1-78
Point Status Indicators Supported ..........................................1-80
Alarm (ALARM) .......................................................................1-82
Alarm acknowledge (ALMACK) ..............................................1-83
Auto (AUTO) ...........................................................................1-85
Battery statusdischarged (DEAD) .......................................1-86
Battery statusalmost discharged (LOW) .............................1-87
Battery statuscharged (OK).................................................1-88
Day mode (DAYMOD).............................................................1-89
Failed (FAILED) ......................................................................1-90
Fast (FAST).............................................................................1-91
Manual override (HAND).........................................................1-92
Night mode (NGTMOD) ..........................................................1-93
Off (OFF) .................................................................................1-94
On (ON)...................................................................................1-95
Proof on (PRFON)...................................................................1-96
Slow (SLOW) ..........................................................................1-97
Converting a Sequence of Operation into Program Code.............1-98
Guidelines ...............................................................................1-98
Designing Programs Using a Modular Structure ....................1-99
Subroutine Commands .........................................................1-102
Multiple Programs versus Subroutines .................................1-103
Program Testing....................................................................1-104
Program Documentation .......................................................1-105
IV
III
Table of Contents
VI
Manual Organization
Introduction
VII
VIII
Manual Conventions
Example
DISALM
ON
OATEMP
610
Unitary
pre-APOGEE
APOGEE
BACnet
Section 1
Compatibility Bar
Section 2
Syntax
Syntax
DISALM(pt1,...,pt16)
pt1 through pt16
Names of the points that should have alarm reporting
disabled.
610
Section 3
Use
Use
This command disables the alarm printing capabilities for
specified points. Up to 16 points can be enabled for alarm
reporting by one command. The point status changes to
*PDSB* after it has been DISALMed.
Example
50
Notes
Section 4
Notes (if applicable)
This command cannot be used for points that do not reside in
the device in which the control program is written. DISALM
cannot be used to directly disable alarm reporting over the
network.
Section 5
See Also (if
applicable)
IX
See also
ALARM, ENALM, HLIMIT, LLIMIT, NORMAL
Syntax
Compatibility bar
The Syntax section provides the command format. Youll also find a
description for each parameter in the command, as well as the valid
inputs and any calculations you may need.
Use
The Use section describes what function the command performs.
Examples of program code are provided to show you how
parameters and values are defined.
Truth Tables
Truth tables help explain conditional and comparison logic. Inputs
are defined in the truth table, and then they are logically compared to
produce outputs (results). See following example to better
understand the concept of truth tables.
pre-APOGEE
APOGEE
BACnet
Example
To use a truth table, first identify the objects you want to compare. In
this example, a comparison will be made between an object selected
with youre the your left and an object selected with your right hand.
Types of Firmware
Imagine that you have a barrel of apples and oranges. You reach
into the barrel and randomly select one piece of fruit with each hand.
Table 1 shows the possible conclusions you can reach.
The main differences between these types of firmware are how point
priority indicators and point status indicators are used. For more
information, see Chapter 2 Control Option Comparisons.
XI
Right hand
orange
Right hand
apple
Same
Different
Different
Same
Lets say you are holding an orange in your left hand and an apple in
your right hand. Locate the first input, Left hand orange, in the
heading along the left side of the table. Locate the second input,
Right hand apple, in the heading across the top of the table. The box
where the vertical and horizontal rows intersect is the output (result)
of the comparison. In this case, the objects in your left hand and right
hand are different.
Items
XII
Even though truth tables compare more complex items than apples
and oranges, the method for determining the result is always the
same.
XIII
XIV
Resident Points
Local Variables
Overview
Introduction to PPCL
PPCL Rules
Guidelines
Subroutine Commands
Program Testing
Program Documentation
1-1
1-2
Introduction to PPCL
PPCL Rules
Just as grammatical rules are used for the spoken language, PPCL
uses rules to create commands and instructions. Each PPCL
program must conform to these rules; otherwise, the computer will
not understand what you are trying to say.
Program lines are executed in ascending order according to their
line numbers, unless directed otherwise.
1-3
1-4
Point names that begin with numbers must be prefixed with the at
(@) character.
Point names that are greater than 6 characters must be enclosed
in double quotes.
Pre-APOGEE Firmware
When entering program lines through a pre-APOGEE field panel
MMI port, the maximum number of characters per line is 72.
If you need to enter more characters, enter an ampersand (&) at
the end of the line and continue entering characters on the next
line.
Point names that use characters other than A-Z or 0-9 must be
enclosed in double quotes.
Example
560
ON(B2SFN,BUILDING1.AHU01.SFAN)
Only use a colon (:) in a point name when working with subpoints.
APOGEE Firmware
BACnet Firmware
Valid names are from 1 to 30 characters.
1-5
1-6
BACnet Firmware
Valid names are from 1 to 30 characters.
Acceptable characters include: A-Z, a-z, 0-9, spaces ( ), periods
(.), commas (,), dashes (-), underlines (_), and apostrophes (').
1-7
1-8
Relational Operators
Both relational operators and logical operators compare two values
and produce a result that is called a condition. With relational
operators, a related action is taken only if the condition is true. No
action is taken if the condition is false. For information on the order in
which relational operators are evaluated, see the Order of
Precedence section in this chapter.
The number of FLN devices connected to the field panel has the
greatest influence on program code evaluation speed.
Example
You are reading the newspaper one morning and find that it is
going to be a beautiful day. You say to yourself, "If it gets
warmer than 80F, I will go to the beach. If not, then I will stay
home."
1-9
1-10
Equal to (.EQ.)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (value1.EQ.value2) then...
value1,
value2
if (value1.GE.value2) then...
value1,
value2
Use
Use
Example
Example
500
510
520
530
700
710
720
730
740
Notes
Check the point format and number of decimal places used before
comparing values with this relational operator. Certain points
(primarily analog input) may contain precise values. When
comparing a point value to a whole number, the result will be false if
the values are not identical.
1-11
1-12
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (value1.GT.value2) then...
if (value1.LE.value2) then...
value1,
value2
value1,
value2
Use
Use
Example
Example
250
260
270
280
300
310
320
330
340
1-13
1-14
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (value1.LT.value2) then...
if (value1.NE.value2) then...
value1,
value2
value1,
value2
Use
Use
Example
Example
900
910
920
930
600
610
620
630
1-15
1-16
Logical Operators
And (.AND.)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
if (cond1.AND.cond2) then...
cond1,
cond2
Use
Example
You are reading the newspaper one morning and find that it is
going to be a beautiful day. You say to yourself, "If it gets
warmer than 80F and I do not have to work, then I will go to the
beach."
You have just used a logical operator to define two conditions. Your
first condition is that the temperature must be greater than 80F.
Your second condition tests if you have to work. Both conditions
must be true in order for you to go to the beach. If one condition is
not true, then you will not go to the beach.
See Table 1-1 for a comparison of conditions used with the .AND.
logical operator:
Table1-1. Truth Table for .AND. Logical Operator.
Condition 1 False
Condition 1 True
Condition 2 False
Result is False
Result is False
Condition 2 True
Result is False
Result is True
Example
Or (.OR.)
200
Exclusive Or (.XOR.)
Each logical operator is described in more detail on the following
pages.
1-17
1-18
Or (.OR.)
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (cond1.NAND.cond2) then...
if (cond1.OR.cond2) then...
cond1,
cond2
cond1,
cond2
Use
Use
Used to compare two logical conditions.
Example
See Table 1-2 for a comparison of conditions used with the .OR.
logical operator:
100
LDO2 State
LDO3 State
NAND Result
Condition 1 True
Condition 2 False
Result is False
Result is True
Condition 2 True
Result is True
Result is True
OFF
OFF
ON
TRUE
OFF
ON
ON
TRUE
ON
OFF
ON
TRUE
Example
ON
ON
OFF
FALSE
200
Notes
For APOGEE Firmware Revision 2.3 and earlier, AND statements
should be used instead of NAND. In this case, the above example
would be written as:
100
1-19
1-20
Arithmetic Operators
Exclusive Or (.XOR.)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
if (cond1.XOR.cond2) then...
cond1,
cond2
NOTE:
Use
Addition (+)
Assignment (=)
Multiplication (*)
Division (/)
Subtraction (-)
See Table 1-3 for a comparison of conditions used with the .XOR.
logical operator:
Condition 1 True
Condition 2 False
Result is False
Result is True
Condition 2 True
Result is True
Result is False
Example
200
1-21
1-22
Addition
Assignment
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
pt1 = value1
pt1
pt1
value1,
value2
value1
Use
Use
Adds two or more values and stores the sum in a defined location as
pt1.
Example
560
560
Notes
Do not to assign values to reserved words. See the Reserved Word
List in Appendix A.
Example
500
C = OATEMP
The code in this example would fail due to the C being used like a
variable, when instead the field panel interprets the line as a
comment.
1-23
1-24
Division
Multiplication
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
pt1
pt1
value1
value1,
value2
value2
Use
Multiplies two or more values (value1 and value2) and stores the
product in a defined location (pt1).
Use
Divides two values (value1 by value2) and stores the quotient in a
defined location (pt1).
Example
300
Example
890
1-25
1-26
Arithmetic Functions
Subtraction
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
pt1 = value1 - value2
pt1
value1,
value2
Use
Subtracts a value (value2) from another value (value1) and stores
the difference in a defined location (pt1).
Example
Root (.ROOT.)
300
Sine (SIN)
Square Root (SQRT)
Tangent (TAN)
Each arithmetic operator is described in more detail on the following
pages.
1-27
1-28
Arc-Tangent (ATN)
Unitary
Complement (COM)
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
pt1 = ATN(value1)
pt1 = COM(value1)
pt1
pt1
value1
value1
Use
Use
Example
Example
500
500
LLSTAT = COM(PROF01)
THETA = ATN(VALUE1)
1-29
1-30
Cosine (COS)
Unitary
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
pt1 = COS(value1)
pt1 = EXP(value1)
pt1
pt1
value1
value1
Use
Use
Calculates the natural antilog of a point (value1) and stores the result
of the calculation in a defined location (pt1).
Example
860
NATANT = EXP(VALUE1)
Example
700
701
702
703
704
706
C
C THIS FORMULA COMPUTES REAL POWER
C WHEN VOLTS, AMPS, AND PHASE ANGLE
C ARE KNOWN.
C
PWR = V * I * COS(THETA)
1-31
1-32
Root (.ROOT.)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
pt1 = LOG(value1)
pt1 = (value1.ROOT.value2)
pt1
pt1
value1
value1,
value2
Use
Use
Calculates the natural log of a point (value1) and stores the result of
the calculation in a defined location (pt1).
This function calculates the root of the defined points by raising the
value of value1 to the inverse power of value2. The result of the
calculation is then stored in a defined location (pt1). The
mathematical notation for the root is represented as follows:
Example
200
ENTH = LOG(VALUE1)
TEMP
1-33
1-34
RVAL = (TEMP.ROOT.3.0)
Sine (SIN)
Unitary
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
pt1 = SIN(value1)
pt1 = SQRT(value1)
pt1
pt1
value1
value1
Use
Use
A trigonometric function that derives the sine of a value (value1). The
result of the calculation is then stored in a defined location (pt1).
Example
180
SRPT1 = SQRT(PT1)
Example
180
VAR = SIN(THETA)
1-35
1-36
Special Functions
Tangent (TAN)
Unitary
pre-APOGEE
APOGEE
BACnet
pt1 = TAN(value1)
pt1
NOTE:
value1
Syntax
Use
TANPT1 = TAN(PT1)
1-37
1-38
pre-APOGEE
APOGEE
BACnet
ALMPRI Value
BACnet
Notification Class
0-31
32-63
64-95
96-127
128-191
192-255
Syntax
ALMPRI(pt1)
pt1
Use
Accesses the alarm priority level of a point defined in an enhanced
alarming control strategy. The value of ALMPRI can range from 1
through 6. Besides testing ALMPRI for a specific value, you can also
assign the value of ALMPRI to another point.
Example 1
230
232
234
236
240
C
C THIS LINE TESTS IF THE POINT CALLED
C RMTEMP IS AT ALARM PRIORITY LEVEL 1.
C
IF (ALMPRI(RMTEMP).EQ.1) THEN ON (OPBELL)
Example 2
330
332
334
336
340
C
C THIS LINE ASSIGNS THE ALARM PRIORITY LEVEL
C OF RMTEMP TO THE POINT CALLED TMPPRI.
C
TMPPRI = ALMPRI(RMTEMP)
Notes
ALMPRI must reside in the same field panel as the point on which
the function is being performed.
For BACnet firmware, the ALMPRI value corresponds to a priority in
the Notification class for the points current alarm state. Table 1-4
outlines the BACnet Notification classes and shows how they relate
to the APOGEE ALMPRI values.
1-39
1-40
Order of Precedence
pre-APOGEE
APOGEE
BACnet
Syntax
TOTAL(pt1)
pt1
Use
Allows you to access the totalized value of a point.
Example 1
Example 1
800
801
802
803
804
805
810
10 - 5 + 2 * 3 = x
C
C THIS LINE COMPARES THE TOTALIZED VALUE OF FAN1
C TO DETERMINE IF IT IS GREATER THAN 500.
C IF THE CONDITION IS TRUE, FAN1 WILL BE PLACED
C INTO ALARM.
C
IF(TOTAL(FAN1).GT.500.0)THEN ALARM(FAN1)
Example 2
800
801
802
803
810
After the first level of operators has been evaluated, the equation
appears as follows:
C
C THIS LINE ASSIGNS THE TOTALIZED VALUE
C OF FAN1 TO THE POINT CALLED FANRUN.
C
FANRUN = TOTAL(FAN1)
10 - 5 + 6 = x
2. Since the remaining operators have the same precedence level,
operators are now evaluated from left to right. The last step in
evaluating the equation is as follows:
Notes
10 - 5 = 5
TOTAL must reside in the same field panel as the point on which the
function is being performed.
5 + 6 = 11
3. The solution to this equation is 11.
See also
See Table 1-5 for a complete list of precedence levels for PPCL
operators.
INITTO
1-41
1-42
Example 2
Example
10 - 5 + 2 * 3 = x
(condition1 = true)
(condition2 = true)
After the first level of operators has been evaluated, the equation
now looks like the following:
(10 - 5 + 2) * 3 = x
(10 - 5 + 2) = 7
1-43
1-44
Resident Points
Command
Syntax
1 (Highest)
Parentheses
(expression or value)
Alarm priority
ALMPRI(pt1)
Arc-tangent
ATN(value1)
Complement
COM(value1)
Cosine
COS(value1)
Natural antilog
EXP(value1)
Natural log
LOG(value1)
Sine
SIN(value1)
NOTE:
Square root
SQRT(value1)
Tangent
TAN(value1)
Totalized value
TOTAL(pt1)
Root
(value1.ROOT.value2)
Multiplication
value1 * value2
Division
value1 / value2
Addition
value1 + value2
Subtraction
value1 - value2
Day (DAY)
Equal to
.EQ.
Not equal to
.NE.
Greater than
.GT.
.GE.
Month (MONTH)
Less than
.LT.
.LE.
And
.AND.
Not and
.NAND.
Or
.OR.
Exclusive Or
.XOR.
8 (Lowest)
1-45
1-46
pre-APOGEE
APOGEE
BACnet
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
ALMCNT
ALMCT2
Use
The value of ALMCNT represents the number of points within a field
panel or unitary controller that are currently in the ALARM state.
Use
This resident point is similar to the ALMCNT point. ALMCT2
specifies if the second alarm counter should be incremented when a
point enters the ALARM state.
When a point enters the ALARM state, the computer adds one (1) to
the value of ALMCNT. When a point returns to the NORMAL state,
the computer subtracts one (1) from the value of ALMCNT.
When a point enters the ALARM state, the computer adds one (1) to
both the value of ALMCNT and ALMCT2. When a point returns to
the NORMAL state, the computer subtracts one (1) from both values.
Example
340
Example
300
310
320
330
Notes
A point must be defined as alarmable in order to be counted
when that point enters the ALARM state.
In all revisions of field panel firmware, the ALMCNT and ALMCT2
counters work the same with enhanced alarms as they do with
regular alarms.
Notes
A point must be defined as alarmable and enabled for ALMCT2 in
order to be counted when that point enters the ALARM state.*
See also
See also
ALMCNT, ENALM, DISALM
Siemens Building Technologies, Inc.
1-47
1-48
pre-APOGEE
APOGEE
BACnet
Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
$BATT
CRTIME
Use
Use
This resident point is used with field panels that can monitor the
strength of their backup battery. Either a numeric value or the
backup battery status indicators indicate the current status of
$BATT.
This resident point maintains the current time and stores the value in
a decimal format. The following examples show how CRTIME stores
values:
Example
500
501
502
503
504
510
100
Example 1
200
VTIME = CRTIME
Notes
CRTIME is updated every second.
Example 2
210
C
C THIS CODE DEFINES A TIME PERIOD
C FROM 6:45 A.M. TO 5:30 P.M. FOR
C SFAN TO OPERATE.
C
IF (CRTIME.GE.6.75.AND.CRTIME.LE.17.50)
THEN ON(SFAN)ELSE OFF(SFAN)
See also
LOW, DEAD, OK
Siemens Building Technologies, Inc.
1-49
1-50
Day (DAY)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
DAY
DAYOFM
Use
Use
This resident point specifies the current day of the week. The values
used for the DAY point are as follows:
Number
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Example
160
162
164
166
180
Notes
This point is helpful when you have to perform certain operations on
a specific day (for example, generating a report on the first day in the
month).
Example
300
Notes
These values are not related to the modes used in the TODMOD
statement.
1-51
1-52
Month (MONTH)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
LINK
MONTH
Use
Use
This resident point specifies the current month. The values used for
the MONTH point are as follows:
Number
Month
If the LINK value is 0, the node where the LINK point resides is
not communicating with the network.
January
February
If the LINK value is 1, the node where the LINK point resides is
actively communicating with the network.
March
April
Example
May
300
June
July
August
September
10
October
11
November
12
December
See also
Node Number (NODEn)
Example
950
1-53
1-54
IF (MONTH.GE.4.AND.MONTH.LE.10) THEN
SEASON = 1 ELSE SEASON = 0
pre-APOGEE
APOGEE
RS-485
APOGEE
Ethernet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
$PDL
NODEn
n
Use
Use
This resident point allows the program to check the status of a node
on the network. All devices or CPUs on the network occupy a node
corresponding to its address. This point is generally used to test for
normal operation of nodes for control strategies that depend on
network communication.
Example
350
KWH = $PDL
Example
600
Notes
NODE resident points cannot be used in field panels on an Ethernet
Automation Level Network (ALN). To use PPCL to monitor the failure
status of an Ethernet field panel, use the ADDRESS subpoint of the
field panel and equate it to FAILED.
Example
300
IF (!EthernetMBC1:ADDRESS.EQ.FAILED)
THEN ON(ALARM)
See also
Communications Link (LINK)
1-55
1-56
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
SECNDS
SECNDn
n
Use
This resident point counts real time seconds and can be used as a
timer. The computer adds one (1) to the SECNDS variable for every
one second of real time that passes.
Use
These seven resident points count real time seconds and can be
used as timers. The computer adds one (1) to the SECNDn variable
for every one second of real time that passes.
Example
890
Notes
Example
600
Notes
For APOGEE field panels, each program has unique SECNDSn
points. These points can also be viewed in the interface using the
program name, system delimiter (:)SECNDSn format.
1-57
1-58
Local Variables
pre-APOGEE
APOGEE
BACnet
Syntax
TIME
Use
This resident point maintains the current time and stores the value in
military time. The TIME value can contain a value from 0:00 to 23:59.
The following examples show how TIME stores values follows:
C
C THIS CODE DEFINES A TIME PERIOD
C FROM 6:45 A.M. TO 5:30 P.M. FOR
C SFAN TO OPERATE.
C
IF(TIME.GE.6:45.AND.TIME.LE.17:30)THEN
ON(SFAN)ELSE OFF(SFAN)
For APOGEE field panels, each program has unique $ARG and
$LOC variables. $LOC points can also be viewed and commanded
through the interface using the program name, system delimiter (:),
local variable name format.
Each local variable is described in more detail on the following
pages.
Notes
The time is updated every second. TIME cannot be used to assign a
value to a virtual point since its value is not in a standard decimal
form. CRTIME should be used for this purpose. TIME can be used in
PPCL for comparison in the IF/THEN/ELSE statement.
1-59
1-60
pre-APOGEE
APOGEE
BACnet
Syntax
See also
$ARGn
n
GOSUB
Use
A $ARGn variable represents an actual point name used in a
subroutine. Instead of defining actual point names in a subroutine,
values are transferred to $ARGn variables. The $ARGn variables
represent their corresponding points as functions and calculations
are performed in the subroutine.
When the value of a $ARGn variable changes, the value of the
corresponding point is also updated.
When a $ARGn variable is encountered in the subroutine section of
the program, the computer checks the calling GOSUB command for
an available point name.
Example
1000
...
2000
2010
2020
1-61
1-62
pre-APOGEE
APOGEE
BACnet
Syntax
$LOCn
n
Use
These points are used to store the results of calculations.
NOTE:
Example 1
200
MIN ($LOC1,PT1,PT2,PT3)
Example 2
100
Notes
Local points in APOGEE field panels can store values greater than
32,767 (up to 10,000,000).
See also
LOCAL
1-63
1-64
OPER
(Operator)
SMOKE
EMER
(Emergency)
Lowest
Priority
Description
NOTE:
PDL
(Peak
Demand
Limiting)
NONE
Table 1-6 explains the BACnet command priorities and shows how
they relate to the APOGEE point priority levels.
1-65
1-66
BACnet Name
BN01
BN02
BN03
Available
BN04
Available
BN05
BN06
Minimum On/Off
BN07
Available
BN08
Manual Operator
BN09
Available
BN10
Available
BN11
Available
BN12
Available
BN13
Available
BN14
Available
BN15
Available
BN16
Available
NONE
Relinquish Default
OPER (Operator)
SMOK (Smoke)
EMER (Emergency)
* The TEC Tool can command Priority slot 16 only if it is not being commanded by PPCL.
1-67
1-68
Priority syntax
Operator
@OPER
Smoke
@SMOKE
Emergency
@EMER
@PDL
No priority (PPCL)
@NONE
300
Example
120
RELEAS(@EMER,FAN1,FAN2)
OFF(@OPER,SFAN,RFAN)
When this command is executed, SFAN and RFAN are shut OFF
and their priorities are changed to OPER. An operator interface
command (such as OIP) is not needed to change the point priority.
If the point
specified is at
this priority
Using this
pre-APOGEE
command
OPER
RELEAS(@OPER )
NONE
EMER
NONE
NONE
OPER
RELEAS(@SMOKE )
OPER
SMOKE
or
RELEASE(@EMER )
NONE
EMER
NONE
SMOKE
PDL
Pre-APOGEE Firmware
Changes the
priority to
NONE
PDL
OPER
NONE
RELEAS(@PDL )
OPER
SMOKE
SMOKE
EMER
EMER
PDL
NONE
The first option allows you to release points to the NONE priority. In
the following example, the points FAN1 and FAN2 are released to
NONE priority.
160
RELEAS(FAN1,FAN2)
1-69
1-70
Emergency (@EMER)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Emergency (@EMER)
@EMER
Use
PPCL (@NONE)
ON(@EMER,SFAN)
RELEAS(@EMER,SFAN)
1-71
1-72
PPCL (@NONE)
Unitary
Operator (@OPER)
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
@NONE
@OPER
Use
Use
Example
300
Notes
500
For BACnet firmware, the field panel uses the slot corresponding to
the program's "Priority for Writing". The value of the point is set
based on the highest slot in the Command Priority Array; relinquish
default is used if the Command Priority Array is now empty.
ON(@OPER,SFAN)
RELEAS(@OPER,SFAN)
Notes
For APOGEE and pre-APOGEE firmware, the @ priority indicator
must be used to release points in any priority to NONE.
For BACnet firmware, the field panel releases the slot
corresponding to OPER in the Command Priority Table. The
value of the point is set based on the highest slot in the
Command Priority Array; relinquish default is used if the
Command Priority Array is now empty.
1-73
1-74
Smoke (@SMOKE)
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
@PDL
@SMOKE
Use
Use
300
300
RELEAS(@PDL,SFAN)
700
RELEAS(@SMOKE,SFAN)
Notes
1-75
1-76
740
CAUTION:
The HOA override switch is not to be used as a
safety device when performing maintenance. If the
HOA switch is used as a safety device, it can result
in serious injury to personnel or cause damage to
property or equipment. Always follow safety
procedures when performing maintenance.
MIN(RMMIN,RM1TMP,RM2TMP,RM3TMP)
If RM1TMP is a physical point that fails when it has the lowest value
of the three RMTMP points, the MIN statement will set RMMIN to the
last known value for RM1TMP.
The HAND status appears as part of the overall point status. This
status indicates that an HOA override switch is controlling a piece of
equipment. The equipment cannot be controlled through the operator
interface or PPCL until the HOA override is switched back to the
AUTO position.
1-77
1-78
See Table 1-9 for a comparison of the point status while using the
HOA override switch.
Point is being
controlled by
HOA switch
HOA switch
AUTO
Operator interface
or PPCL
Failed (FAILED)
Fast (FAST)
Manual override (HAND)
Night mode (NGTMOD)
Off (OFF)
CAUTION:
On (ON)
Proof on (PRFON)
Slow (SLOW)
Each point status indicator is described in more detail on the
following pages.
Pre-APOGEE Firmware Revisions 12.5/1.5 and 12.51/1.51
Pre-APOGEE Firmware Revisions 12.5/1.5 and 12.51/1.51 support
the following status indicators:
ALARM
AUTO
DAYMOD
1-79
1-80
Alarm (ALARM)
FAILED
Unitary
pre-APOGEE
APOGEE
BACnet
FAST
HAND
Syntax
LOW
if (pt1.eq.ALARM) then...
NGTMOD
pt1
OFF
OK
Use
ON
PRFON
SLOW
Example
The three status indicators OK, LOW, and DEAD are used
specifically to support the $BATT resident point.
1-81
1-82
Action
pre-APOGEE
APOGEE
BACnet
System Response
FAN is commanded ON
Alarm
pt1 turns ON
Syntax
if (pt1.eq.ALMACK) then...
pt1
Notes
For BACnet firmware, the ALMACK is true if any alarm event has
been acknowledged; that is, OFFNORMAL, NORMAL, or FAULT.
Use
This status indicator determines the status of an alarm
acknowledgement. This comparison is true if the point alarm state
has been acknowledged.
Example 1
In the following statement, FAN is an alarmable point with Normal
Acknowledge Required by Operator Enabled.
200
System Response
FAN is commanded ON
Alarm
pt1 turns ON
p1 turns ON
Example 2
In the following statement, FAN is an alarmable point with Normal
Acknowledge Required by Operator Disabled.
200
1-83
1-84
Auto (AUTO)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
APOGEE
BACnet
Syntax
if (pt1.eq.AUTO) then...
pt1
pre-APOGEE
if ($BATT.eq.DEAD) then...
Use
This status indicator compares the value of the $BATT resident point
to determine if the backup battery is discharged. This comparison is
true if the battery is discharged.
Use
This status indicator determines if a point (pt1) is in the AUTO state.
This comparison is true if the point status is AUTO.
Example
Example
600
600
Notes
This function can only be used in field panels that have the ability to
monitor the strength of their backup battery.
See also
LOW, OK
1-85
1-86
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
if ($BATT.eq.LOW) then...
if ($BATT.eq.OK) then...
Use
Use
This status indicator compares the value of the $BATT resident point
to determine if the backup battery is about to discharge. This
comparison is true if the battery is close to discharging.
This status indicator compares the value of the $BATT resident point
to determine if the backup battery is operational. This comparison is
true if the battery is charged.
Example
Example
600
600
600
Notes
Notes
This function can only be used in field panels that have the ability to
monitor the strength of their backup battery.
See also
This function can only be used in field panels that have the ability to
monitor the strength of their backup battery.
See also
DEAD, OK
DEAD, LOW
1-87
1-88
Failed (FAILED)
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
if (pt1.eq.DAYMOD) then...
if (pt1.eq.FAILED) then...
pt1
pt1
Use
This status indicator determines if a point (pt1) is in the FAILED
state. This comparison is true if the point status is FAILED.
Use
This status indicator determines if an equipment controller is in DAY
mode.
Example
200
Notes
This command is only valid for equipment controllers.
For APOGEE firmware, the application name can correspond to a
TEC, LTEC, or UC.
For pre-APOGEE firmware, LCTLR and LTCU point types must
be used.
1-89
1-90
Fast (FAST)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
if (pt1.eq.FAST) then...
if (pt1.eq.HAND) then...
pt1
pt1
Use
Use
This status indicator determines if a point (pt1) is in the FAST state.
This comparison is true if the point status is FAST.
Example
Example
200
200
Notes
Points must be terminated on a Point Termination Module (PTM) or
field panel with a manual override switch.
1-91
1-92
Off (OFF)
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (pt1.eq.NGTMOD) then...
if (pt1.eq.OFF) then...
pt1
pt1
Use
Use
Example
200
Example
200
Notes
This point is only valid for equipment controllers and is only valid
when used with the LCTLR point type or LTCU (pre-APOGEE only)
point type.
1-93
1-94
On (ON)
Proof on (PRFON)
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
if (pt1.eq.ON) then...
if (pt1.eq.PRFON) then...
pt1
pt1
Use
Use
Example
200
Example
200
1-95
1-96
Slow (SLOW)
Unitary
pre-APOGEE
APOGEE
BACnet
Before you begin writing a program, determine the order in which the
PPCL statements are executed. Consider that you will most likely
make modifications during the life of a program, such as:
Syntax
if (pt1.eq.SLOW) then...
pt1
Guidelines
Use
This status indicator determines if a point (pt1) is in the SLOW state.
This comparison is true if the point status is SLOW.
Example
200
Organize the flow of the program logic from top to bottom so that
errors are easier to trace.
Use comment lines to document the functions performed by
specific groups of statements.
Use a subroutine (also called a module) for a group of statements
that perform a specific task more than once during each pass of
the program.
Make sure routing commands (GOTO) are used correctly. See
Subroutine Commands in this chapter for more information.
With APOGEE firmware, it is best to create a separate program in
the same field panel rather than duplicate the control strategy
within a single program.
1-97
1-98
1-99
1-100
Subroutine Commands
1 Line
2 Lines
3 Lines
Using GOTO
4 Lines
or more
1 Call
No
No
No
No
2 Calls
No
No
Even
Yes
3 Calls
No
No
Yes
Yes
4 Calls or more
No
Yes
Yes
Yes
If the result is "NO," then it is more efficient to use straightline program code.
The GOTO command in the last line of the program is the only
command that transfers control to the top of the program.
If no other program lines need to be read during a pass, transfer
program control to the GOTO command in the last line of the
program
Use GOSUB and RETURN to transfer program control to and
from subroutines. Do not use the GOTO command.
Using GOSUB
1-101
1-102
Program Testing
To ensure that a program is working properly, it should be tested.
Testing verifies that the program code works properly under
normal operating conditions.
Testing checks the durability of the program by providing a wide
variety of operating conditions that the program must evaluate.
Modular programming practices make it less time consuming to
completely test a program. Programs with a modular design are
easier to test because there are fewer variables and lines of code to
test.
What Should be Tested?
Tests can be developed for individual modules or the complete
program. When the complete program is tested, the data used
should adequately test all conditions that may be encountered.
Testing conditions should include values that the program does not
expect to encounter. For example, you might include the following
conditions:
Enter an input value of 40F for an input that is defined to accept
values from 50F to 70F.
If the program turns a point ON, find out what happens when you
turn it OFF.
Simulate a sensor or fan motor failure and see how the program
reacts.
The precautions taken in programming and testing will show you
how the program processes errors and help prevent downtime when
the system encounters unusual operating conditions.
1-103
1-104
Program Documentation
Programs should have documentation that identifies the program
functions and the equipment being controlled. Fortunately, the
modular programming method makes an easier task of
documentation.
Decision tables
Internal documentation
Pseudocode
External documentation
Decision tables
Internal documentation
Internal documentation refers to information written into the program
using comment lines.
Inputs for a decision table are the types of equipment and all
possible modes of operation.
You must enter the letter C after the line number to prevent the
program from interpreting your comments as program commands.
For example:
200
210
220
230
C
C
C
C
NOTE:
Equipment type
Modes of Operation
1-105
Shutdown
Day mode
Smoke
Warm-up
Supply Fan
Off
On
On
On
Return Fan
Off
On
On
On
CC Valve
Closed
Modulate
Modulate
Closed
Mixing Dampers
Closed
Modulate
Modulate
Closed
Modulate
Modulate
Open
Modulate
Modulate
Modulate
Open
Modulate
1-106
Pseudocode
4. Start/stop fans
From this list, you would begin writing program code to accomplish
these functions.
"Calculate..."
1-107
1-108
6. Create program modules and start writing code for each mode of
operation.
Start with one mode and code the solution.
Comment the program where appropriate.
If you have experience writing programs, you might write two
or three modes before continuing.
See Chapter 3Syntax for help with PPCL statements.
7. Type each program module into the computer.
Define any points that are used in the database.
Include comment lines in each module.
Execute and Test the Program Code
Through testing, you may discover an easier method for
accomplishing a particular control strategy.
1. Before you actually use a PPCL program, run the program and
verify that it works.
Depending on your experience writing PPCL programs, you may
not write an error-free program every time. Getting programs to
work properly takes time and patience.
2. Simulate conditions that the program will encounter.
3. Test the program by entering information outside the defined
limits of the program.
4. Simulate an equipment failure and see how the program
responds.
Document the Program
1. Verify that your comment lines clearly describe the functions
being performed in each module.
2. Keep the notes you created while developing the sequence of
operation.
1-109
1-110
Overview
CAUTION:
Be careful when designing your programs so that
functions do not conflict. If points used for DC are
also commanded by another application, such as
Time-of-Day (TOD), one program may interfere with
the operation of the other if both functions are trying
to control a point during the same time period.
Example
The following example uses duty cycling in a school building to
control a hall fan, called HFAN.
In order to conserve energy, the fan will run only during the times
when students are in the hall.
In this school, classes start on the hour and last for 50 minutes.
Students are in the hall during a 10-minute period before the next
class.
Since the hall that HFAN serves has good ventilation, the fan
should run for the last 15 minutes of the hour and for the first five
minutes of the next hour.
The rest of the time the fan is shut off.
2-1
2-2
The DC Command
The DC command turns points ON and OFF according to a
defined schedule.
ExampleEconomizer Comparison
The cooling coil needs to drop the energy of the air to 23.2 Btu/lb
before it enters the room. With a conventional economizer, the
control system compares the 77F return temperature and the 85F
outside air temperature and closes the outside air dampers to
minimum. This results in each pound of recycled air requiring the
removal of 8.4 Btu of energy.
2-3
2-4
2-5
2-6
NOTE:
Each field panel is responsible for shedding and restoring the loads
defined in it. If network communication is lost, the field panel
continues to limit demand according to its last assigned target.
2-7
2-8
The equipment start and stop times are based on the outside and
inside temperatures of the building. Each time the value of the indoor
or outdoor air temperature changes, SSTO recalculates the optimal
values for system operation.
NOTE:
Example
2-9
2-10
Defining SSTO
Three PPCL commands are defined in the field panel for SSTO. They
must be specified in the following order:
1. TODMOD Defines the specific mode for each day of the week.
This command is shared with the Time-Of-Day group of
statements and is necessary for SSTO to work.
The variables ast and asp may change to help tune the times. If
allowed to reach a high number, it is possible for the following to
occur:
ast may adjust the calculated start time (cst) past the earliest start
time (est) or latest start time (lst).
asp may adjust the calculated stop time (csp) past the latest start
time (lst) or latest stop time (lsp).
This means that the equipment always starts or stops at the earliest
or latest start or stop time.
Each day, the SSTO statement uses the heating auto-tune
coefficient (hceof4) and the cooling auto-tune coefficient (ccoef4)
defined in the SSTOCO statement to adjust the calculated start time
(cst) and the calculated stop time (csp).
CAUTION:
Be careful when designing your programs so that
functions do not conflict. If points used for SSTO are
also commanded by another application, such as
Duty Cycling (DC), one program may interfere with
the operation of the other if both functions are trying
to control a point during the same time period.
ast
ccoef4
csp
cst
est
hceof4
lst
2-11
2-12
SSTO Formulas
The following formulas, used for calculating the optimal start and stop
times during the heating and cooling seasons, are outlined on the
following pages:
Where:
LB
OB - (d * CC) - (d * f * (CT/10)) + AB
Where:
OB
CC
NOTE:
CT
AB
2-13
2-14
OE + ((10 * CR * d)/f) + AE
Where:
Where:
OE
OB
CR
HC
HT
AE
AB
Where:
LE
Where:
LB
2-15
2-16
Where:
LE
AB = AB - CA
=
Where:
AB
CA
OE + ((25 * HR * d) / f) + AE
Where:
If the indoor temperature is less than the desired temperature minus one
degree, then:
OE
HR
Where:
AB = AB + CA
AB
CA
AE
2-17
2-18
AE = AE + CA
AB = AB + HA
Where:
Where:
AE
AB
CA
HA
If the indoor temperature is less than the desired temperature minus one
degree, then:
If the indoor temperature is less than desired the temperature minus one
degree, then:
AB = AB - HA
AE = AE - CA
Where:
Where:
AE
CA
2-19
AB
HA
2-20
Time-of-Day (TOD)
The Time-Of-Day (TOD) function is the software equivalent of the
time clock. TOD starts and stops equipment according to a defined
schedule.
AE = AE - HA
Where:
AE
HA
If the indoor temperature is less than the desired temperature minus one
degree, then:
AE = AE + HA
Where:
AE
HA
Defining Time-Of-Day
The following PPCL commands are defined in the field panel for the
TOD function:
TODMOD Defines the types of schedules (normal, weekend,
etc.) for each day of the week. The TODMOD statement must be
defined first.
HOLIDA Used in conjunction with the TOD function to set
schedules for equipment during holidays. The HOLIDA command
must be placed before any TOD or TODSET commands.
TOD Commands up to 16 digital points ON or OFF at specified
times.
TODSET Sets the values of up to ten analog points at specified
start and stop times during the day.
The TOD and TODSET commands do not have to be defined in a
specific order.
2-21
2-22
NOTE:
Holiday
08-Sep-1994
Holiday
03-May-1994
HOLIDA(5,3,9,8)
100
TODMOD(1,1,1,1,1,1,1)
110
TOD(1,1,18:00,07:00,LITE1)
120
TOD(1,1,18:00,19:00,FAN1)
130
TOD(16,1,17:00,10:30,LITE1)
Monday Sunday
07:00:00
OFF
LITE1
18:00:00
ON
FAN1
18:00:00
ON
LITE1
19:00:00
OFF
FAN1
10:30:00
OFF
LITE1
17:00:00
ON
LITE1
Holiday
NOTE:
2-23
2-24
IF/THEN/ELSE Time-Of-Day
Monday Sunday
07:00:00
OFF
LITE1
18:00:00
ON
FAN1
18:00:00
ON
LITE1
19:00:00
OFF
FAN1
10:30:00
OFF
LITE1
17:00:00
ON
LITE1
Holiday
The lights must be ON from 7:00 p.m. until 5:00 A.M. The
IF/THEN/ELSE statement for this schedule might look like the
following:
100
102
104
110
HOLIDA(4,1,6,14)
Holiday
08-Sep-1994
Holiday
2-25
2-26
2-27
2-28
Duty Cycling
DC .............................................................................................. 29
DCR............................................................................................ 31
Enthalpy Optimization
Overview
GOSUB ...................................................................................... 50
RETURN .................................................................................... 94
GOTO Statement
GOTO......................................................................................... 57
Local Variables
LOCAL........................................................................................ 65
Point Commands
Conditional Control
ON .............................................................................................. 78
OFF ............................................................................................ 73
STATE......................................................................................105
AUTO ......................................................................................... 25
FAST .......................................................................................... 49
SLOW......................................................................................... 98
SET ............................................................................................ 96
DAY ............................................................................................ 26
NIGHT ........................................................................................ 71
COV Control
DISCOV...................................................................................... 37
ENCOV....................................................................................... 47
Emergency Control
EMON......................................................................................... 42
EMOFF....................................................................................... 41
EMFAST..................................................................................... 40
EMSLOW ................................................................................... 44
EMAUTO .................................................................................... 39
EMSET ....................................................................................... 43
Point Control
INITTO........................................................................................ 63
MAX............................................................................................ 69
MIN............................................................................................. 70
TIMAVG....................................................................................108
WAIT ........................................................................................116
3-1
3-2
Command Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
ACT(line1,...,line16)
Program Control
line1
through
line16
DEFINE ...................................................................................... 34
ONPWRT ................................................................................... 79
SAMPLE..................................................................................... 95
TABLE ......................................................................................106
Release Statement
RELEAS ..................................................................................... 92
Use
Activates lines of PPCL code so they can be examined and
executed.
The ACT command only affects the lines of PPCL program for
the device where the program resides.
Telephone ID Numbers
ACT only enables PPCL lines that are specifically defined in the
command.
DPHONE.................................................................................... 38
EPHONE .................................................................................... 48
Time of Day
HOLIDA ...................................................................................... 59
TOD..........................................................................................110
TODMOD .................................................................................112
TODSET...................................................................................114
Example
100
IF (TIME.GT.8:00.AND.TIME.LT.17:00) THEN
ACT(120) ELSE DEACT(120)
Notes
The ACT and ENABLE commands can be used interchangeably.
See also
DEACT, DISABL, ENABLE
3-3
3-4
Command Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
ADAPTM(pv,cv,sp,matctl,mam,st,kc,tcd,tch,tcc,her,dbr,der,err)
pv
cv
1
st Tc
3
Where:
st is the Sample Time, and
sp
matctl
mam
3-5
kc
Control gain.
tcd
The Sample Time must be less than or equal to onethird of the smallest Time Constant. That is,
3-6
Command Syntax
L / sair max
CFM max
= 0.15
GPM max
L / shot water max
Where:
CFMmax = Maximum or design airflow rate in cubic feet per
minute
30 seconds)
Example
The AHU has mixed air dampers, a heating coil, and a cooling
coil.
l/s air max = Maximum or design air flow rate in liters per second
l/s hot water max = Maximum or design hot water flow rate in liters
per second
5 seconds
20
30
seconds).
Damper actuator:
30
Example
Total
85 seconds
3-7
3-8
Command Syntax
Example
An AHU has a design CFM of 15000 and the design flow
through the cooling coil is 258 gpm. The cooling coil valve has
a 30 second electric actuator. Downstream of the cooling coil,
there is a heating coil with a time constant (alone) of 15
seconds. The time constant of the cooling coil alone is:
CFM max
15000
Tcooling coil = 0.25
= 0.25
= 14.5 seconds ( round to 15 sec onds )
GPM max
258
tch = 2 + 33 + 30 + 30 = 95 seconds
tcc
CFM max
GPM max
= 2 .0
tcc = 15 + 15 + 30 + 30 = 90 seconds
L / sair max
L / schilled water max
Where:
CFMmax = Maximum or design airflow rate in cubic feet per
minute
GPMmax = Maximum or design chilled water flow rate in gallons
per minute
L/s air max = Maximum or design air flow rate in liters per second
her
L/s chilled water max = Maximum or design chilled water flow rate in
liters per second
Siemens Building Technologies, Inc.
3-9
3-10
Command Syntax
Typically, the value for dbr will be the same as the third
parameter for the TABLE statement controlling the mixed air
damper. For example, as shown below in the line of code
below, this value is 50.
5050
If other PPCL code is used, dbr must still be the value of the
output of ADAPTM at which mixed air dampers begin to open
from minimum position.
Typically, the value for her will be the same as the second to
the last parameter for the TABLE statement controlling the
heating coil. For example, as shown in the line of code below,
this value is 45.
05030
If the value of dbr varies slightly due to the path taken in the
code, choose a nominal value for dbr. ADAPTM can handle
minor variations in the value of dbr.
TABLE (%X%VRT,%X%HCO,0,100,45,0)
der
If the value of her varies slightly due to the path taken in the
code, choose a nominal value for her. ADAPTM can handle
minor variations in the value of her.
dbr
TABLE (%X%VRT,$MADCTL,50,%X%MAM,65,100)
3-11
3-12
Command Syntax
Typically, the value for der will be the same as the third
parameter for the TABLE statement controlling the cooling coil.
If there are two cooling coil TABLE statements because there is
an Economizer, choose the one for Economizer ON. For
example, as shown in the line of code below, this value is 65.
2060
ADAPTM(%X%SAT,%X%VRT,%X%SAS,$MATCTL,
%X%MAM,5,%X%KC1,%X%TD1,%X%TH1,%X%TC1,
45.0,50.0,65.0,%X%ER1)
C HEATING COIL SIGNAL
TABLE (%X%VRT,%X%HCO,0,100,45,0)
C DAMPER RAMP
TABLE ($MADRMP,$MADRCT,0,0,10,%X%MAM, 180,100)
C DAMPER CONTROL SIGNAL
TABLE (%X%VRT,$MADCTL,50,%X%MAM,65,100)
C MIXED AIR TEMPERATURE CONTROL LOOP
IF($MADRCT.LT.$MATCTL) THEN GOTO 2056
ADAPTS(%X%MAT,$MATCTL,%X%MLS,10,%X%KC2,
%X%TM2,0,30.0,130.0,0.0,100.0,0.0,0.0,%X%ER2)
C ECONOMIZER CONTROL
IF (%X%ECM .EQ. OFF) THEN GOTO 2072
C COOLING COIL SIGNAL (ECON=ON)
TABLE (%X%VRT,%X%CCO,65,0,100,100)
C FINAL DAMPER SIGNAL
MIN (%X%MAO,$MADRCT,$MADCTL,$MATCTL)
GOTO 2074
C COOLING COIL SIGNAL (ECON=OFF)
TABLE (%X%VRT,%X%CCO,55,0,100,100)
2054
2056
2058
2060
2062
2064
2068
2070
2072
2074
CAUTION:
Each ADAPTM PPCL line of code must have its
own unique error point. Do not share one error
point among multiple ADAPTM lines.
ADAPTM Example
The following example also includes an ADAPTS command for
mixed air temperature.
C
C
C
C
C
C
2034
2036
2038
2040
2042
2044
2046
2048
2050
2052
If the value of der varies slightly due to the path taken in the
code, choose a nominal value for der. ADAPTM can handle
minor variations in the value of der.
2000
2002
2004
2006
2008
2010
C
C
C
C
C
C
C
C
C
C
C
TABLE (%X%VRT,%X%CCO,65,0,100,100)
If other PPCL code is used, der must still be the value of the
output of ADAPTM at which mixed air dampers are fully open
and the cooling coil valve is just beginning to open.
err
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2032
Use
3-14
Command Syntax
Either the ADAPTM or ADAPTS control statement can be
implemented as a one-line replacement for an existing LOOP
statement in PPCL.
APOGEE
BACnet
Syntax
ADAPTS(pv,cv,sp,st,kc,tc,ra,llpv,hlpv,llcv,hlcv,edb,npv,err)
pv
cv
sp
st
The Sample Time must be less than or equal to onethird of the Time Constant. That is,
pre-APOGEE
1
st tc
3
See also
ADAPTS, LOOP
Where:
st is the Sample Time, and
tc is the Time Constant.
3-15
3-16
Command Syntax
L/s chilled water max = Maximum or design chilled water rate in liters
per second.
Humidity Loops
Heating Coils
1 or 2 seconds
kc
tc
Control gain.
+ T sensor
+ T hc actuator
Where:
tc = ADAPTS heating time constant parameter entry (in
seconds).
CFMmax = Maximum or design airflow rate in cubic feet per
minute.
L/s air max = Maximum or design airflow rate in liters per second.
GPMmax = Maximum or design hot water flow rate in gallons per
minute.
l/s hot water max = Maximum or design hot water rate in liters per
second.
Cooling Coils
Tsensor = time constant of the supply air sensor; typically about 30
seconds.
CFM max
GPM
max
L / s air max
+ T sensor
or 2 . 0
L / s chilled
water
+ T cc actuator
max
Where:
tc = ADAPTS cooling time constant parameter entry (in
seconds).
tc = T ma
+ T damper
actuator
Where:
tc = ADAPTS mixed air temperature time constant parameter
entry (in seconds); typically 40 seconds.
L/s air max = Maximum or design airflow rate in liters per second.
sensor
3-18
Command Syntax
Example 1
Example 2
For supply air temperature control with mixed air dampers, use
30F or 0C. The mixed air dampers should prevent any lower
temperatures from entering the supply duct even if the heating
coil is not operating or hot water is absent.
Airflow Control
hlpv
Example 1
For static pressure control, enter the highest pressure that will
occur in the supply duct. The highest pressures occur on startup
and when there are large upsets.
Example 2
For supply air temperature control, use 130F or 55C.
* A full room should have a longer time constant than an empty room.
ra
llpv
3-19
3-20
llcv
Low limit of control variable. The llcv represents the low limit of
the ADAPTS output.
hlcv
High limit of control variable. The hlcv represents the high limit of
the ADAPTS output.
Command Syntax
edb
err
CAUTION:
Each ADAPTS PPCL line of code must have its
own unique error point. Do not share one error
point among multiple ADAPTS lines.
ADAPTS Example
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
2022
2024
2026
2028
2030
2034
2036
2038
3-21
3-22
Command Syntax
Use
Adaptive control technology is a closed loop control application,
which automatically adjusts the field panel operating parameters to
compensate for changes that continuously occur during the normal
building control process. With adaptive control technology, tuning
and retuning are not required.
pre-APOGEE
APOGEE
BACnet
Syntax
Either the ADAPTM or ADAPTS control statement can be
implemented as a one-line replacement for an existing LOOP
statement in PPCL.
ALARM(pt1,...,pt16)
pt1
through
pt16
Use
Forces the specified points into the ALARM state.
Example
100
NOTE:
Notes
See also
ADAPTM, LOOP
Siemens Building Technologies, Inc.
3-23
3-24
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
AUTO(pt1,...,pt16)
DAY(pt1,...,pt16)
pt1
through
pt16
pt1
through
pt16
Use
Use
Example
Example
100
100
AUTO(EFAN1,EFAN2,EFAN3)
IF (TIME.LT.7:00.OR.TIME.GT.18:00) THEN
NIGHT(LCTLR2) ELSE DAY(LCTLR2)
See also
Notes
3-25
3-26
Command Syntax
pre-APOGEE
APOGEE
BACnet
Example 1
200
DBSWIT(1,RMTEMP,LDBAND,HDBAND,SFAN,RFAN)
Example 2
Syntax
200
DBSWIT(1,RMTEMP,55,58,SFAN,RFAN)
DBSWIT(type,input,low,high,pt1,...,pt12)
type
input
low
high
pt1
through
pt12
Use
Provides the ON/OFF switching action of an output point. This is the
software equivalent of a thermostat.
A maximum of 12 points can be controlled with one DBSWIT
command.
Siemens Building Technologies, Inc.
3-27
3-28
Command Syntax
DC (Duty cycle)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
A maximum of 8 points can be controlled with one DC command.
DC(pt1,pat1,...,pt8,pat8)
pt1
through
pt8
pat1
through
pat8
Each digit represents the on/off pattern for one 15minute segment of an hour. Table 3-1 lists the
numeric codes and their ON/OFF patterns.
4. After the patterns are defined, enter the code numbers in reverse
order. The right-most digit defines the first 15-minute segment of
the hour. The left-most digit defines the last 15-minute segment
of the hour.
Example
Second 5
minutes
Third 5
minutes
OFF
OFF
OFF
ON
OFF
OFF
OFF
ON
OFF
ON
ON
OFF
OFF
OFF
ON
ON
OFF
ON
OFF
ON
ON
ON
ON
ON
1000
1010
1020
1030
1040
1050
1060
1070
1100
Notes
The DC command has a priority of NONE. Therefore, the PPCL
program must be structured with IF/THEN/ELSE commands to
prevent conflicts between DC and other commands with the same
priority.
See also
DCR
3-29
3-30
Command Syntax
pre-APOGEE
APOGEE
BACnet
200
210
220
230
240
250
Syntax
DCR(pt1,temp1,high1,low1,...,pt4,temp4,high4,low4)
pt1
through
pt4
temp1
through
temp4
high1
through
high4
low1
through
low4
C
THIS COMMAND WILL TURN ON IF
C
SFAN'S VALUE FALLS BELOW 68 OR
C
RISES ABOVE 78. THE POINT SFAN01
C
WILL REMAIN ON/OFF FOR AT LEAST 5
C
MINUTES ON EACH CYCLE.
DCR(SFAN01,RM109,78.0,68.0)
Notes
The DCR command has a priority of NONE. Therefore, the PPCL
program must be structured with IF/THEN/ELSE commands to
prevent conflicts between DCR and other commands with the same
priority.
See also
DC
Use
Duty cycles an output point to keep a corresponding temperature
within the low and high values of a dead band.
Makes an ON/OFF decision every 5 minutes according to the
value of the parameters.
The output point is commanded ON when the temperature
point value is above the high limit or below the low limit.
The output point is commanded OFF when the temperature
point value is within the range of the high and low limits.
For each point, a space temperature, high temperature, and low
temperature parameter must be defined.
A maximum of 4 points can be controlled with one DCR
command.
Siemens Building Technologies, Inc.
3-31
3-32
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
DEACT(line1,...,line16)
DEFINE(abbrev,string)
line1
through
line16
abbrev
string
Use
Disables lines of PPCL code to prevent them from being examined
or executed.
Use
Creates an abbreviated notation for a long point name. DEFINE
allows program logic to be easily duplicated provided your facility
uses a structured naming convention for point names.
The DEACT command only affects the lines of PPCL program for
the device where the program resides.
Example
10
20
DEFINE(AHU,BUILDING1.AHU01.)
ON(%AHU%SFAN)
Example
If DEFINE is not used, this same line of code looks like the following:
100
20
IF (TIME.GT.8:00.AND.TIME.LE.17:00) THEN
ACT(120,130) ELSE DEACT(120,130)
ON(BUILDING1.AHU01.SFAN)
Notes
Notes
This statement is executed when added to the field panel and does
not require enabling or execution in the normal program flow.
3-33
3-34
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
DISABL(line1,...,line16)
DISALM(pt1,...,pt16)
line1
through
line16
pt1
through
pt16
Use
Disables alarm reporting for the specified points.
Use
Disables lines of PPCL code to prevent them from being examined
or executed.
The DISABL command only affects the lines of PPCL program for
the device where the program resides.
Example
Notes
Example
100
IF (TIME.GT.8:00.AND.TIME.LE.17:00) THEN
ENABLE(120,130) ELSE DISABL (120,130)
For BACnet firmware, all three alarm events are disabled; that is,
OFFNORMAL, NORMAL, and FAULT.
Notes
The DEACT and DISABL commands can be used interchangeably.
See also
See also
3-35
3-36
Command Syntax
pre-APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
2.1 only
BACnet
Syntax
DISCOV(pt1,...,pt16)
DPHONE(pn#1,...,pn#16)
pt1
through
pt16
pn#1
through
pn#16
Use
Use
532
DPHONE(1,2,3,5,6)
Notes
Notes
See also
EPHONE
Example
50
See also
ENCOV
3-37
3-38
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
EMAUTO(pt1,...,pt16)
EMFAST(pt1,...,pt16)
pt1
through
pt16
pt1
through
pt16
Use
Use
See also
See also
3-39
3-40
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
EMOFF(pt1,...,pt16)
EMON(pt1,...,pt16)
pt1
through
pt16
pt1
through
pt16
Use
Use
See also
3-41
3-42
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
EMSET(value,pt1,...,pt15)
EMSLOW(pt1,...,pt16)
value
pt1
through
pt16
pt1
through
pt15
Use
Changes the operational status of a FAST/SLOW/ STOP point to
SLOW with emergency priority.
Use
See also
EMAUTO, EMFAST, EMOFF, EMON, EMSET
See also
EMAUTO, EMFAST, EMOFF, EMON, EMSLOW
3-43
3-44
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
ENABLE(line1,...,line16)
ENALM(pt1,...,pt16)
line1
through
line16
pt1
through
pt16
Use
Enables alarm reporting for the specified points.
Use
Example
50
Notes
Example
Points must be set up for alarming and have the ability to report
alarms.
100
IF (TIME.GT.8:00.AND.TIME.LT.17:00) THEN
ENABLE(120) ELSE DISABL(120)
Notes
For BACnet firmware, all three alarm events are enabled; that is,
OFFNORMAL, NORMAL, and FAULT.
See also
3-45
3-46
Command Syntax
pre-APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
2.1 only
BACnet
Syntax
ENCOV(pt1,...,pt16)
EPHONE(pn#1,...,pn#16)
pt1
through
pt16
pn#1
through
pn#16
Use
Use
530
Notes
Example
See also
50
EPHONE(1,2,3,5,6)
DPHONE
See also
DISCOV
3-47
3-48
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
FAST(pt1,...,pt16)
pt1
through
pt16
FAST(@prior, pt1,...,pt15)
@prior
pt1
through
pt15
line#
pt1
through
pt15
Use
Changes the operational status of a FAST/SLOW/STOP point to
FAST.
Use
Subroutines are particularly useful for programs in which the same
calculation is carried out several times using different values.
See also
AUTO, OFF, ON, SLOW
Multiple-Level Subroutines
A multiple-level subroutine is a block of program code that is called
from within another subroutine. Each call made within a subroutine
constitutes a level. You are limited to a total of eight levels.
3-49
3-50
Command Syntax
PT2 = 20
3. The program continues to sequentially evaluate program lines
until it encounters the GOSUB command at line 300. The
program branches to line 2010. This command also defines two
values that are passed (PT1 and PT2).
Any new points declared in that level must be placed after the
$ARGn variables. For example, in the third level of a multi-level
subroutine, $ARG1 and $ARG2 would be redefined before the
defining the new value of PT3.
After one pass of the program, the values of the points after
being updated by the $ARGn variables, will be as follows:
PT1 = 11
PT2 = 21
3-51
3-52
Command Syntax
100
110
112
120
130
Multiple-Level Subroutines
The following example demonstrates the use of $ARGn variables
and point declarations used in multiple-level subroutines.
GOSUB 1010
...
...
...
GOSUB 2010 PT1, PT2
...
...
...
GOTO 3000
300
400
1000
1001
1002
1004
1008
1010
1020
1030
C
--SUBROUTINE 1
C
THIS SUBROUTINE ASSIGNS NUMBERS
C
TO PT1 AND PT2. IT THEN RETURNS
C
CONTROL TO THE MAIN PROGRAM.
C
PT1 = 10
PT2 = 20
RETURN
2000
2001
2002
2003
2004
2005
2006
2010
2020
2030
C
--SUBROUTINE 2
C
THIS SUBROUTINE PASSES THE VALUE OF
C
PT1 AND PT2 TO THEIR RESPECTIVE $ARG
C
POINTS. IT THEN ADDS ONE TO BOTH $ARG
C
POINTS AND RETURNS THE NEW VALUES TO
C
PT1 AND PT2.
C
$ARG1 = $ARG1 + 1
$ARG2 = $ARG2 + 1
RETURN
3000
3002
3004
3-53
3-54
Note that $ARG1 and $ARG2 are placed in the same order
in which they were originally defined.
Line 3200 also defines a new point called PT3. Note that
PT3 is placed after the two $ARGn variables.
Siemens Building Technologies, Inc.
Command Syntax
1000
1010
1020
1030
1040
1050
1100
1200
1300
1350
1360
1370
1380
1500
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2500
2510
C
C SUBROUTINE #1
C
...
...
C IN ORDER TO PRESERVE THE VALUE LOCATED
C IN $ARG1, YOU MUST DEFINE $ARG1 IN THE
C SECOND SUBROUTINE'S CALLING GOSUB. THE
C PROGRAM ALSO PASSES A SECOND POINT
C VALUE NAMED PT2.
C
GOSUB 3030 $ARG1,PT2
RETURN
3000
3010
3020
3030
3040
3050
3060
3070
3080
3090
C
C SUBROUTINE #2
C
...
...
C IN ORDER TO PRESERVE THE VALUES
C LOCATED IN $ARG1 AND $ARG2, YOU MUST
C DEFINE BOTH POINTS IN THE THIRD
C SUBROUTINE'S CALLING GOSUB. THE
C PROGRAM ALSO PASSES A THIRD POINT
3100
3200
3210
4000
4010
4020
4030
4040
C SUBROUTINE #3
C
...
...
RETURN
3-55
3-56
Command Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
GOTO line#
HLIMIT(value,pt1,...,pt15)
line#
value
pt1
through
pt15
Use
This command is used to control program execution by branching to
a different section of the program.
Use
Example
10
Notes
A maximum of 15 points can be set to the same high limit with one
HLIMIT command.
Example
100
Notes
See also
See also
GOSUB, RETURN
3-57
3-58
Command Syntax
HOLIDA (Holiday)
Unitary
pre-APOGEE
APOGEE
BACnet
See also
TOD, TODMOD, TODSET
Syntax
HOLIDA(month1,day1,...,month8,day8)
month1
through
month8
day1
through
day8
Day of the month for the designated holiday. The first day
of the month is entered as 1.
Use
Defines the dates of holidays up to a year in advance.
A maximum of eight holidays can be specified with a single HOLIDA
command. If more than eight holiday definitions are needed, multiple
HOLIDA commands can be used.
Example
630
HOLIDA(12,24,12,25,12,26,12,27)
Notes
The HOLIDA and TODMOD commands must precede any TOD
or TODSET commands in order for the program to operate
correctly.
A HOLIDA or TODMOD command in a device will only affect
TOD, TODSET and SSTO commands in that device.
When a holiday date occurs in a HOLIDA command, the mode
number for that day in the TODMOD command is set to 16.
If holidays are defined using both the HOLIDA command and the
TOD calendar, make sure that the holidays are defined as the
same day in both places. Otherwise, the equipment commanded
will operate in holiday mode on both the days defined in the
Siemens Building Technologies, Inc.
3-59
3-60
Command Syntax
Example 1
110
Unitary
pre-APOGEE
APOGEE
BACnet
Example 2
310
IF (TIME.GT.8:00.AND.TIME.LT.16:00) THEN
ON(@NONE,SFAN) ELSE ON(@OPER, SFAN)
Syntax
Notes
IF(exp) THEN x
or
Use
This conditional logic command is used to provide customized
decision logic.
When the IF expression is true, the THEN command is executed.
When the IF expression is false, the ELSE command (if defined)
is executed.
If the IF expression is false and no ELSE command is defined,
execution continues with the next line of code.
3-61
3-62
Command Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
INITTO(value,pt1,...,pt15)
LLIMIT(value,pt1,...,pt15)
value
The new value which replaces the current totalized values for
all specified points.
value
pt1
through
pt15
pt1
through
pt15
Use
Use
Example
Example
10
100
Notes
Notes
See also
ALARM, DISALM, ENALM, HLIMIT, NORMAL
3-63
3-64
Command Syntax
pre-APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
LOCAL(pt1,... ,pt16)
LOOP(type,pv,cv,sp,pg,ig,dg,st,bias,lo,hi,0)
pt1
through
pt16
type
pv
cv
sp
pg
Use
Creates virtual points for the program.
The program can reference these points as $pt1 through $pt16.
Other programs can reference these points by referencing the
program name, followed by the system delimiter (:), followed by
the local point name.
Example 1
The following is an example of commanding a local point contained
within a program:
100
200
LOCAL(FANPT)
ON($FANPT)
Example 2
The following is an example of a program using the value of a local
point in a different program (where PROG1 is the program name):
300
IF(PROG1:FANPT.EQ.ON)THEN ...
3-65
3-66
1000
Command Syntax
ig
dg
st
bias
Low limit of the loop output. The low limit should be set to
match the low end range of the controlled device.
hi
High limit of the loop output. The high limit should be set to
match the high end range of the controlled device.
Example
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
Use
This command performs closed loop control by using any
combination of proportional, integral, and derivative control actions in
either direct or reverse acting modes.
lo
See also
ADAPTM, ADAPTS
3-67
3-68
Command Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
MAX(result,pt1,...,pt15)
MIN(result,pt1,...,pt15)
result
result
pt1
through
pt15
pt1
through
pt15
Use
Use
Example
Example
10
10
MAX(HOTZON,ZONE1,ZONE2,ZONE3, 9.0)
See also
See also
MIN
MIN(COOLZN,ZONE1,ZONE2,ZONE3,9.0)
MAX
3-69
3-70
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
pre-APOGEE
APOGEE
BACnet
Syntax
NIGHT(pt1,...,pt16)
NORMAL(pt1,...,pt16)
pt1
through
pt16
pt1
through
pt16
Use
Use
Example
100
IF (TIME.LT.7:00.OR.TIME.GT.18:00) THEN
NIGHT(LCTLR2) ELSE DAY(LCTLR2)
Example
100
Notes
For some equipment controllers, NIGHT mode is also referred to as
UNOCC (unoccupied) mode. If an equipment controller is in UNOCC
mode, PPCL recognizes this status as NIGHT.
Notes
Points must reside in the same device as the program.
See also
See also
DAY
3-71
3-72
Command Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
OFF(pt1,...,pt16)
pt1 through
pt16
OFF(@prior,pt1,...,pt15)
@prior
pt1 through
pt15
NOTE:
Use
Changes the operational status of an ON/OFF/AUTO point to OFF.
Acceptable point types are: LDI, LDO, L2SL, L2SP, LOOAL,
LOOAP, LFSSL, and LFSSP.
A maximum of 16 points can be changed with one OFF
command.
A maximum of 15 points can be defined with one OFF(@prior)
command.
Example
20
Notes
FAST/SLOW/STOP points (LFSSL, LFSSP) use the OFF command
for STOP.
3-73
3-74
Command Syntax
pre-APOGEE
APOGEE
BACnet
100
102
104
106
108
110
112
114
116
118
120
122
124
130
150
Syntax
OIP(trigger, ''seq'')
trigger
seq
C
C OIP COMMAND INFORMATION:
C OPERATOR SEQUENCE
C
C - POINT
C - DISPLAY
C - PRINTER
C - YES
C - VALUE
C - ANY
C - NAME
C - ALL NAMES
C
C TRIGGER POINT - RPT7AM
OIP(RPT7AM,"P/D/P/Y/V/A/N/*")
Use
Allows most operator functions to be executed from within a PPCL
program. This command is generally used for the following functions:
Notes
Generating reports
3-75
Command Syntax
After the OIP command has been executed, the trigger point
must be reset (commanded back to its original state) before the
OIP command can be executed again.
When using an OIP command with an LDO type subpoint, you
must command the point ON/OFF with the number 1 or 0. Using
any text other than 1 or 0 will cause the statement to fail.
ON (On status)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
If the trigger point name begins with a number, then the point
name should be preceded by an @ sign. If a variable in the
keystroke sequence begins with a number, then the point name
should not be preceded by an @ sign.
ON(pt1,...,pt16)
pt1
through
pt16
Correct
100
ON(@prior,pt1,...,pt15)
OIP(TRIG,"P/T/D/H///FAN/1FAN//60/")
Incorrect
100
OIP(TRIG,"P/T/D/H///FAN/@1FAN//60/")
@prior
pt1
through
pt15
Use
Example
100
IF (OATEMP.LT.60.0)THEN ON(@NONE,
PUMP1,PUMP2)
See also
AUTO, FAST, OFF, SLOW
3-77
3-78
Command Syntax
pre-APOGEE
APOGEE
BACnet
Unitary
Syntax
APOGEE
BACnet
Syntax
ONPWRT(line#)
PDL(area,totkw,target,g1s,g1e,sh1,...,g4s,g4e,sh4)
line#
area
totkw
Use
This command is similar to a GOTO command and allows you to
select the first program line that is executed when power has
returned. The ONPWRT command is only executed once and is then
ignored as long as power stays ON.
Example
10
pre-APOGEE
ONPWRT(1800)
Notes
The ONPWRT command should be the first command in a PPCL
program since program execution returns to the first line of a
PPCL program after a power failure.
target
g1s
g1e
sh1
If the database for a field panel is lost due to a power failure, the
ONPWRT command is not executed when power is restored.
3-79
3-80
Command Syntax
g4s
g4e
sh4
Example
100
PDL(1,TOTKW1,TGT1,100,199,0,200,299,1,
300,399,0,400,499,0)
Notes
PDL must control 10-20% of the building demand to be effective.
When points are controlled by the PDL command, they are
placed into PDL priority. Group 1 is shed first, while Group 4 is
shed last.
Use
Maintains a defined level of kilowatt use (or target) for a group of
loads.
NOTE:
The PDL statement fails if more than four shedding groups are
defined.
Do one of the following if all four shedding groups are not used:
3-81
3-82
Command Syntax
pre-APOGEE
APOGEE
BACnet
100
102
104
106
108
110
112
114
116
118
Syntax
PDLDAT(ptname,minon,minoff,maxoff,kwval)
ptname
minon
minoff
maxoff
kwval
C
C PDLDAT COMMAND INFORMATION:
C
C - CONTROLLED POINT - FAN17
C - MINIMUM ON TIME
- 10 MINUTES
C - MINIMUM OFF TIME - 5 MINUTES
C - MAXIMUM OFF TIME - 180 MINUTES
C - KILOWATT RATING
- 10KW
C
PDLDAT(FAN17,10,5,180,10)
Notes
In a network system, a load defined by a PDLDAT statement
must reside in the same field panel as the PDL statement.
A PDLDAT statement is referenced by only one PDL statement.
Using multiple references produces unpredictable results.
Minimum time (in minutes) that the load must remain OFF
before PDL can restore it.
Maximum time (in minutes) that PDL can keep the load off
after shedding it.
See also
PDL, PDLDPG, PDLMTR, PDLSET
Use
Defines the minimum on-time, minimum off-time, maximum off-time,
and kilowatt value for a specific load.
A group of PDLDAT commands in a load handling field panel are
controlled by a single PDL command that defines load parameters
and maintains a certain level of kilowatt use (or target) for a group of
loads.
3-83
3-84
Command Syntax
pre-APOGEE
APOGEE
BACnet
Use
Syntax
PDLDPG(area,kwtot1,target1,...,kwtot7,target7)
area
kwtot1
through
kwtot7
Example
100
PDLDPG(1,TOTKW1,TGT1,TOTKW2,TGT2)
See also
Sets the target value for each PDL command associated with a
meter area.
3-85
3-86
Command Syntax
mt1
through
mt5
def1
through
def5
The default values are used instead of the meter values (mt1
through mt5) when communication is lost or the meters
cannot be read.
pre-APOGEE
APOGEE
BACnet
Syntax
PDLMTR(area,hist,calc,window,plot,warning,mt1, def1,...,mt5,def5)
area
hist
calc
window
plot
Meter area.
Use
The PDLMTR command is responsible for the following actions:
3-87
3-88
Command Syntax
Example
200
202
204
206
208
210
212
214
216
218
220
222
224
226
228
230
250
C
C PDLMTR COMMAND INFORMATION:
C
C - HISTORICAL WEIGHTING FACTOR - 30%
C - CALCULATION INTERVAL - 1 MINUTE
C - PREDICTION WINDOW - 15 MINUTES
C - THE TIME VERSUS DEMAND SECTION OF
C
THE ACTIVITY REPORT PLOT HAS A
C
FULL SCALE OF 500 KILOWATTS.
C - WARNING MESSAGES ARE ENABLED TO
C
BE SENT TO ALARM DEVICES.
C - THE DEFAULT VALUES OF THE TWO
C
METER POINTS (METER1 AND
C
METER2) ARE 100 KILOWATTS AND
C
50 KILOWATTS RESPECTIVELY.
C
PDLMTR(1,30,1,15,500,1,METER1,100,
METER2,50)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
PDLSET(area,exceed,set1,time1,...,set7,time7)
Notes
Only one PDLMTR command can be defined per meter area.
For APOGEE field panels, one PDLMTR command can be
defined per program.
With pre-APOGEE firmware, one meter area can be defined in a
field panel.
If a LPACI point is used in a PDLMTR statement, then PDL
should be restarted for that meter area after the LPACI is reset.
area
Meter area.
exceed
set1
through
set7
time1
through
time7
Use
The PDLSET command designates the peak demand limiting (PDL)
levels and ensures that the PDL levels for a meter area are not
exceeded during the time those setpoints are in effect.
See also
PDL, PDLDAT, PDLDPG, PDLSET
3-89
3-90
Command Syntax
Example
100
101
102
103
104
105
106
107
108
109
110
111
120
RELEAS (Release)
C
C PDLSET COMMAND INFORMATION:
C
C - THIS COMMAND CONTROLS METER AREA 1.
C - THE VIRTUAL LDO POINT WHICH WILL
C
TOGGLE ON AND OFF AT THE END OF
C
THE SET POINT INTERVALS WHEN THE
C
SET POINT WAS EXCEEDED IS
C
CALLED PEAKEX.
C - PDLST1 SET POINT ENDS AT 11:00 A.M.
C - PDLST2 SET POINT ENDS AT 4:30 P.M.
C
PDLSET(1,PEAKEX,PDLST1,11:00,PDLST2,16:30)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
RELEAS(pt1,...,pt16)
pt1
through
pt16
Notes
RELEAS(@prior, pt1,...,pt15)
@prior
pt1
through
pt15
Use
Changes the operational status of a point to NONE priority.
A maximum of 16 points can be changed with one RELEAS
command.
A maximum of 15 points can be defined with one
RELEAS(@prior) command.
An LAO or LDO point that is used in a RELEAS statement can
generate multiple entries in the Trend Data Report if a command
statement such as SET, =, ON, or OFF is used on the same point at
the same time.
Example 1
110
IF(TEMP.NE.ALARM.AND.PT2.NE.@NONE)THEN
RELEAS(@EMER, PT2)
In this example, PT2 will only be released if its priority is not equal to
NONE and TEMP is not in alarm.
Siemens Building Technologies, Inc.
3-91
3-92
Command Syntax
Example 2
120
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Notes
With APOGEE and pre-APOGEE firmware, always use a priority
at least as high as the one that the point will be in to ensure
proper release. If the point has been commanded from the
keyboard, it will require an @OPER entry to release the priority of
the point to NONE.
RETURN
Use
Marks the end of a subroutine.
RETURN must be the last command of any GOSUB subroutine.
When a RETURN command is encountered, the program returns to
the line following the GOSUB command
Example
100 GOSUB 310
110 ...
120 ...
130 ...
290 ...GO TO 350
See also
GOSUB, GOTO
3-93
3-94
Command Syntax
Unitary
pre-APOGEE
APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
SAMPLE(sec) line
SET(value,pt1,...,pt15)
sec
value
line
Any PPCL statement that does not include its own timing
function. This includes: WAIT, PDL, TOD, TIMAVG, LOOP,
SSTO, or another SAMPLE command.
pt1
through
pt15
Use
@prior
value
pt1
through
pt14
Example
200
SAMPLE(600) ON(HALFAN)
Notes
The SAMPLE command executes immediately on a return from
power failure, after an ENABLE command, or during the first
execution of PPCL following a database load.
NOTE:
Use
Changes output points to a new value.
Acceptable point types are: LAO or LDO, L2SL, L2SP, LOOAL,
LOOAP, LFSSL, LFSSP, and LPACI.
A maximum of 15 points can be changed with one SET
command.
A maximum of 14 points can be changed with one
SET(@ prior) command.
3-95
3-96
Command Syntax
Example 1
450
SET(75.0,RMSET1,RMSET2,RMSET3)
Unitary
Example 2
550
pre-APOGEE
APOGEE
BACnet
SET(@EMER,75.0,RMSET1,RMSET2,RMSET3)
Notes
Syntax
SLOW(pt1,...,pt16)
pt1
through
pt16
SLOW(@prior, pt1,...,pt15)
@prior
pt1
through
pt15
Use
Changes the operational status of a FAST/SLOW/STOP point to
SLOW.
Acceptable point types are: LFSSL or LFSSP.
A maximum of 16 points can be changed with one SLOW
command.
A maximum of 15 points can be defined with one
SLOW(@prior) command.
Example
20
See also
AUTO, FAST, OFF, ON
3-97
3-98
Command Syntax
pre-APOGEE
APOGEE
BACnet
esp
lsp
osp
ast
asp
Syntax
SSTO(zone,mode,cst,csp,est,lst,ost,esp,lsp,osp,ast,asp)
NOTE:
zone
mode
Mode number.
cst
csp
est
lst
ost
Mode
1
2
4
8
16*
Schedule
Normal schedule
Extended schedule
Shortened schedule
Weekend schedule
Holiday schedule
*Mode number 16 (Holiday) should only be used with the HOLIDA command.
Use
The SSTO command calculates the optimal start and stop times for
each zone based on information derived from the SSTOCO
command (outside air temperature, zone temperature, desired zone
temperature, etc.) as well as parameters for earliest, latest, and
occupancy start times provided in the SSTO command.
3-100
Command Syntax
when errors between actual temperatures and desired temperatures
occur.
Example
60
SSTO(1,1,ONTIM,OFTIM,6:30,7:45,8:00,15:30,
16:45,17:00,0.0,0.0)
APOGEE
BACnet
Syntax
Notes
The SSTO command only calculates the optimal start and stop
times. TOD and TODSET commands are needed to command
the point.
When ast or asp is defined as zero, the current adjustment value
is displayed each time the command is displayed. If a virtual LAO
point name is entered, the operator can specify (command) an
initial value for ast or asp.
SSTOCO(zone,season,intemp,outemp,ctemp,ccoef1,ccoef2,
ccoef3,ccoef4,htemp,hcoef1,hcoef2,hcoef3,hcoef4)
NOTE:
season
Heat = 2
Cool = 1
Disable SSTO = 0
intemp
outemp
ctemp
ccoef1
ccoef2
3-101
zone
See also
pre-APOGEE
3-102
Command Syntax
ccoef3
SSTOCO(1,1,ROOM10,OATEMP,75.0, 0.01,0.3,
0.05,0.083,72.0,0.1,0.1,0.2,0.083)
See also
ccoef4
htemp
hcoef1
hcoef2
hcoef3
hcoef4
Use
This command defines the thermal characteristics of a zone based
on the season, indoor temperature, outdoor temperature, and a
variety of heating and/or cooling coefficients that are necessary to
calculate optimal start and stop times.
Siemens Building Technologies, Inc.
3-103
3-104
Command Syntax
pre-APOGEE
BACnet
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
Syntax
STATE(statetext,pt1...pt15)
TABLE(input,output,x1,y1,...,x7,y7)
pt1
through
pt15
input
output
x1,y1
through
x7,y7
STATE(@pri,statetext,pt1...pt14)
@pri
statetext
State text that can be found in the associated state text table.
pt1
through
pt14
Use
Use
Example
500
For inputs larger than the last x used, the output will equal the
last y value entered.
STATE(NIGHT,TEC1,TEC2,TEC3,TEC4)
3-105
3-106
Command Syntax
Example
500
502
504
506
508
510
512
514
520
C
C TABLE COMMAND INFORMATION:
C
C OATEMP (X)
HWSP (Y)
C ------------------C
0 DEG F
180 DEG F
C 60 DEG F
100 DEG F
C
TABLE(OATEMP,HWSP,0,180,60,100)
Unitary
pre-APOGEE
APOGEE
BACnet
Syntax
TIMAVG(result,st,samples,input)
result
st
samples
input
The hot water setpoint will remain at 180F when the outside
temperature is below 0F. The hot water setpoint will remain at 100
F when the outside temperature is above 60F.
Notes
Use
3-107
3-108
Command Syntax
10
20
30
40
50
60
pre-APOGEE
APOGEE
BACnet
Syntax
Notes
On a return from power failure, after an ENABLE command, or
during the first execution of PPCL following a database load, the
TIMAVG command begins executing with one sample. The value of
the result will equal the current value of input.
TOD(mode,recomd,time1,time2,pt1,...,pt12)
NOTE:
mode
recomd
3-109
time1
time2
pt1
through
pt12
3-110
Command Syntax
Schedule
Unitary
Normal schedule
Extended schedule
Shortened schedule
Weekend schedule
Holiday schedule
pre-APOGEE
APOGEE
BACnet
Syntax
TODMOD(momode,tumode,wemode,thmode,frmode,samode,
sumode)
*Mode number 16 (Holiday) should only be used with the HOLIDA command.
Use
NOTE:
TOD(1,1,17:00,07:00,OLITE1,OLITE2)
The command time can also be a relative time point that is assigned
a value of time. When you calculate a value of time to be used in a
TOD command and assign it to the relative time point, make sure
that the calculated time is greater later than or equal to the current
time. The TOD command will not execute properly if the relative time
point is commanded to a time that precedes or is equal to the current
time.
momode
tumode
wemode
thmode
frmode
samode
sumode
See also
HOLIDAY, SSTO, TODMOD, TODSET
Schedule
Normal schedule
Extended schedule
Shortened schedule
Weekend schedule
Holiday schedule
*Mode number 16 (Holiday) should only be used with the HOLIDA command.
3-111
3-112
Command Syntax
Use
This command defines specific modes (normal, weekend, etc.) for
each day of the week. Days that have the same schedule are
assigned the same mode.
The mode assigned to a specific day of the week is used in
conjunction with the TOD and TODSET commands to command
points on that day.
Example
110
recomd
See also
3-113
Mode number.
mode
BACnet
TODSET(mode,recomd,time1,val1,time2,val2,pt1,..., pt10)
Notes
The HOLIDA and TODMOD commands must precede any TOD
or TODSET commands in order for the program to operate
correctly.
APOGEE
Syntax
NOTE:
TODMOD(1,1,1,1,2,4,8)
pre-APOGEE
time1
val1
3-114
Command Syntax
time2
val2
pt1
through
pt10
Syntax
1
2
4
8
16*
Unitary
pre-APOGEE
APOGEE
BACnet
WAIT(time,pt1,pt2,mode)
NOTE:
time
pt1
pt2
mode
Schedule
Normal schedule
Extended schedule
Shortened schedule
Weekend schedule
Holiday schedule
*Mode number 16 (Holiday) should only be used with the HOLIDA command.
Use
This command is the counterpart of the TOD command for analog
points. It commands analog output points based on the day of the
week and the time of day.
11
Turns ON
pt2 turns ON
Example
10
Turns ON
550
01
Turns OFF
pt2 turns ON
00
Turns OFF
Mode
TODSET(1,1,9:00,72.0,17:00,55.0, SPTEMP)
See also
HOLIDAY, TOD, TODMOD
3-115
3-116
Command Syntax
Use
The WAIT command turns a point ON or OFF based on the trigger
point switching ON or OFF. Selection of trigger/result action is based
on the mode you enter.
Example
70
72
74
75
76
Notes
The position of the WAIT statement in a program affects its
operation. The WAIT statement only works if it sees a change of
value (COV) through both states for the trigger point.
On a return from power failure or when the WAIT command is
enabled, the trigger point must be toggled before the command
executes regardless of the current state of either pt1 or pt2.
The command to pt2 is only issued once during the normal
operation of the program until triggered again.
3-117
3-118
command
Glossary
APOGEE firmware
Firmware used in APOGEE field panels; Firmware Revision 2.x and
later.
argument
comment line
Information that is written into the program but is not interpreted as a
program command. The compiler skips over the comment line during
compilation. Comment lines allow you to enter text information
describing the functionality of a specific section of code. Comment
lines are especially helpful for describing subroutines and areas of
program code that are difficult to understand.
condition
debugging
Process by which the logic of the program is tested for errors. A
program is said to have bugs when it fails to function properly.
arithmetic function
Function that performs mathematical calculations on a value
(number). When used in PPCL, the value derived from the
calculation is usually assigned to a point name for future reference.
device
In PPCL, a device represents any field panel or equipment controller
that can execute PPCL statements.
arithmetic operator
Mathematically related functions that are performed on two or more
operands (numbers). When used in PPCL, the value of the
calculation is determined and assigned to a point name or local
variable for future reference.
Glossary-1
execute
To carry out the instruction of an expression or program.
expression
Statement that describes a set of variables, constants, or values
combined with arithmetic, logical, or relational operators.
firmware
Portion of software used in a controller that is stored in non-volatile
memory. See APOGEE, pre-APOGEE, or Unitary firmware.
Glossary-2
Glossary
integer
pseudocode
line
relational operators
local variable
Points in a program of a field panel that can be used in place of userdefined points to store temporary values ($LOC1 through $LOC15).
resident point
Predefined logical point that permanently resides in the PPCL
program in the field panel.
logical operators
Operator that compares two conditions. The result of a comparison
between the two conditions is called a condition. If the result of the
condition is true, then a specific action is taken. If the result is false,
then an alternative action is performed.
modular programming
routing
Method for altering the flow of a program to transfer control to a line
of the program other than the next sequential line number.
special function
order of precedence
Order in which operators (mathematical, relational, logical, and
special function) are evaluated in a command statement. Operators
that have a higher precedence are evaluated before operators that
have a lower precedence. If all the operators in the statement have
equivalent precedence levels, then the operators are evaluated from
left to right.
pre-APOGEE firmware
statement
Collection of instructions to the computer in order to perform an
operation. A statement can also be considered a line of PPCL code.
subroutine
Firmware Revision 1.5 and earlier, and Revision 12.x and earlier.
program
Collection of instructions combined in a logical order to accomplish a
specific task.
Siemens Building Technologies, Inc.
Glossary-3
Glossary-4
Glossary
Unitary firmware
Firmware for Unitary Controllers that uses a subset of the PPCL
commands found in pre-APOGEE firmware.
Glossary-5
Glossary-6
ATN
AUTO
C (comment)
COM
COS
CRTIME
DAY
DAYMOD
DAYOFM
DBSWIT
DC
DCR
DEACT
DEAD
DEFINE
DISABL
DISALM
DISCOV
$BATT
DPHONE
ELSE
$PDL
EMAUTO
EMER
.AND.
.EQ.
EMFAST
EMOFF
.GE.
.GT.
EMON
EMSET
.LE.
.LT.
EMSLOW
ENABLE
.NAND.
.NE.
ENALM
ENCOV
.OR.
.ROOT.
EPHONE
EQ
.XOR.
@EMER
EQUAL
EXP
@NONE
@OPER
FAILED
FAST
@PDL
@SMOKE
GE
GOSUB
ACT
ALARM
GOTO
GT
ALMACK
ALMCNT
HAND
HLIMIT
ALMCT2
ALMPRI
HOLIDA
IF
AND
INITTO
LE
LINK
LLIMIT
LOCAL
A-1
A-2
LOG
LOW
TIME
TOD
LOOP
LT
TODMOD
TODSET
MAX
MIN
TOTAL
WAIT
MONTH
NAND
XOR
NE
NGTMOD
NIGHT
NONE
NOR
NORMAL
OFF
OIP
OK
ON
ONPWRT
OPER
OR
PDL
PDLDAT
PDLDPG
PDLMTR
PDLSET
PRFON
RELEAS
RETURN
ROOT
SAMPLE
SECND1 through
SECND7
SECNDS
SET
SIN
SLOW
SMOKE
SQRT
SSTO
SSTOCO
STATE
TABLE
TAN
THEN
TIMAVG
A-3
A-4
Index
$
DISALM........................................................................................ 3-36
ENALM......................................................................................... 3-46
NORMAL...................................................................................... 3-72
@
@EMER (priority status indicator)....................................................... 1-72
@NONE (PPCL, priority status indicator) ........................................... 1-73
ALARM
command......................................................................................... 3-24
point status indicator........................................................................ 1-82
A
abbreviating point names .................................................................... 3-34
ACT (command).....................................................................................3-4
activate/deactivate PPCL lines
ACT.....................................................................................................3-4
DEACT............................................................................................. 3-33
DISABL ............................................................................................ 3-35
ENABLE........................................................................................... 3-45
adaptive control............................................................................ 3-5, 3-16
ADAPTM (command) .............................................................................3-5
ADAPTS (command)........................................................................... 3-16
addition (arithmetic operator) .............................................................. 1-23
Index1
Index2
Index
arithmetic functions ............................................................................. 1-28
arc-tangent ...................................................................................... 1-29
complement ..................................................................................... 1-30
cosine .............................................................................................. 1-31
natural antilog .................................................................................. 1-32
natural log........................................................................................ 1-33
root................................................................................................... 1-34
sine .................................................................................................. 1-35
square root ...................................................................................... 1-36
tangent............................................................................................. 1-37
arithmetic operators ............................................................................ 1-22
addition ............................................................................................ 1-23
assignment (equals) ........................................................................ 1-24
division............................................................................................. 1-25
multiplication.................................................................................... 1-26
subtraction ....................................................................................... 1-27
assignment (arithmetic operator) ........................................................ 1-24
at (@) priority status indicators ........................................................... 1-68
EMER .............................................................................................. 1-72
OPER............................................................................................... 1-74
PDL.................................................................................................. 1-75
PPCL @NONE ................................................................................ 1-73
SMOKE............................................................................................ 1-76
ATN (arithmetic function) .................................................................... 1-29
AUTO
command......................................................................................... 3-25
point status indicator........................................................................ 1-85
B
BACnet firmware
@NONE status ................................................................................ 1-73
ALMACK .......................................................................................... 1-84
ALMPRI values................................................................................ 1-39
DISALM ........................................................................................... 3-36
Siemens Building Technologies, Inc.
Index3
Index
COV control
DISCOV ........................................................................................... 3-37
ENCOV ............................................................................................ 3-47
DAY
command......................................................................................... 3-26
resident point ................................................................................... 1-51
Index5
Index
EMSLOW......................................................................................... 3-44
firmware types......................................................................................... XI
G
GE (relational operator)....................................................................... 1-12
global storage variable ........................................................................ 1-63
GOSUB
command......................................................................................... 3-50
program methodology ................................................................... 1-102
used with $ARGn............................................................................. 1-61
GOTO
command......................................................................................... 3-57
guidelines ...................................................................................... 1-102
greater than (relational operator) ........................................................ 1-13
greater than or equal to (relational operator) ...................................... 1-12
GT (relational operator)....................................................................... 1-13
Index7
H
HAND (point status indicator) ............................................................. 1-92
HMLIMIT (command) .......................................................................... 3-58
HOLIDA (command)............................................................................ 3-59
Index8
Index
I
IF/THEN .............................................................................................. 3-61
IF/THEN/ELSE .................................................................................... 3-61
INITTO (command) ............................................................................. 3-63
module................................................................................................. 1-99
monitoring point status ........................................................................ 1-77
MONTH (resident point) ...................................................................... 1-54
multiple programs vs. subroutines .................................................... 1-103
multiplication (arithmetic operator)...................................................... 1-26
N
naming a program ..................................................................................1-7
naming points, rules ...............................................................................1-6
NAND (logical operator) ...................................................................... 1-19
NE (relational operator)....................................................................... 1-16
nested subroutines.............................................................................. 3-54
NGTMOD (point status indicator)........................................................ 1-93
NIGHT (command).............................................................................. 3-71
night mode (point status indicator)...................................................... 1-93
node number (resident point).............................................................. 1-55
NODEn (resident points) ..................................................................... 1-55
Index9
Index10
Index
PDL
command......................................................................................... 3-80
control option ......................................................................................2-6
distributed peak demand limiting........................................................2-8
monitor (resident point) ................................................................... 1-56
target peak demand limiting (TPDL)...................................................2-7
OFF
command......................................................................................... 3-73
point status indicator........................................................................ 1-94
OIP (command)................................................................................... 3-75
dialing out to a modem .................................................................... 3-76
OK (point status indicator) .................................................................. 1-88
ON
command......................................................................................... 3-78
point status indicator........................................................................ 1-95
ONPWRT (command) ......................................................................... 3-79
operator (priority status indicator) ....................................................... 1-74
Operator Interface Program (OIP) ...................................................... 3-75
optimizing system performance
DC.................................................................................................... 3-29
DCR ................................................................................................. 3-31
GOSUB............................................................................................ 3-50
GOTO .............................................................................................. 3-57
PDL.................................................................................................. 3-80
PDLDAT .......................................................................................... 3-83
PDLDPG .......................................................................................... 3-85
PDLMTR .......................................................................................... 3-87
PDLSET........................................................................................... 3-90
RETURN.......................................................................................... 3-94
SSTO ............................................................................................... 3-99
SSTOCO ....................................................................................... 3-102
OR (logical operator)........................................................................... 1-20
order of precedence ............................................................................ 1-42
changing with parentheses.............................................................. 1-43
Index11
Index
ENALM ............................................................................................ 3-46
HLIMIT ............................................................................................. 3-58
INITTO ............................................................................................. 3-63
LLIMIT.............................................................................................. 3-64
MAX ................................................................................................. 3-69
MIN .................................................................................................. 3-70
NORMAL ......................................................................................... 3-72
TIMAVG ......................................................................................... 3-108
WAIT.............................................................................................. 3-116
point names
abbreviating ..................................................................................... 3-34
rules ....................................................................................................1-6
structured......................................................................................... 3-34
point priority......................................................................................... 1-64
APOGEE and pre-APOGEE firmware............................................. 1-64
BACnet firmware ............................................................................. 1-66
point status indicators ......................................................................... 1-77
ALARM ............................................................................................ 1-82
ALMACK .......................................................................................... 1-83
AUTO............................................................................................... 1-85
DAYMOD ......................................................................................... 1-89
DEAD............................................................................................... 1-86
FAILED ............................................................................................ 1-90
FAST................................................................................................ 1-91
HAND............................................................................................... 1-92
LOW................................................................................................. 1-87
NGTMOD......................................................................................... 1-93
OFF.................................................................................................. 1-94
OK.................................................................................................... 1-88
ON ................................................................................................... 1-95
PRFON ............................................................................................ 1-96
SLOW .............................................................................................. 1-97
Powers Process Control Language ............................ See PPCL program
Siemens Building Technologies, Inc.
Index13
Index
program control
DEFINE............................................................................................ 3-34
ONPWRT......................................................................................... 3-79
SAMPLE .......................................................................................... 3-95
TABLE ........................................................................................... 3-106
scheduling
HOLIDA ........................................................................................... 3-59
TOD ............................................................................................... 3-110
TODMOD....................................................................................... 3-112
TODSET ........................................................................................ 3-114
SLOW
point status indicator........................................................................ 1-97
Index15
Index
syntax
compatibility bar................................................................................... XI
notes .................................................................................................. XIII
use ...................................................................................................... XII
status indicators
ALARM ............................................................................................ 1-82
ALMACK .......................................................................................... 1-83
AUTO............................................................................................... 1-85
DAYMOD ......................................................................................... 1-89
DEAD............................................................................................... 1-86
FAILED ............................................................................................ 1-90
FAST................................................................................................ 1-91
HAND............................................................................................... 1-92
LOW................................................................................................. 1-87
NGTMOD......................................................................................... 1-93
OFF.................................................................................................. 1-94
OK.................................................................................................... 1-88
ON ................................................................................................... 1-95
PRFON ............................................................................................ 1-96
SLOW .............................................................................................. 1-97
Index17
Index
Index19
Index20