APOGEE Powers Process Control Language (PPCL) User’s Manual 125-1896 Rev.
Rev. 6, May, 2006 Notice Document information is subject to change without notice and should not be construed as a commitment by Siemens Building Technologies, Inc. Companies, names, and various data used in examples are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Siemens Building Technologies, Inc.
APOGEE PPCL User’s Manual Multiplication ...........................................................................1-26 Subtraction ..............................................................................1-27 Arithmetic Functions ......................................................................1-28 Arc-Tangent (ATN)..................................................................1-29 Complement (COM) ................................................................1-30 Cosine (COS)..............
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 ...........................................
Table of Contents APOGEE PPCL User’s Manual IF/THEN and IF/THEN/ELSE (Conditional control) ................3-61 INITTO (Initialize totalized value)............................................3-63 LLIMIT (Low limit)....................................................................3-64 LOCAL (Local variable)...........................................................3-65 LOOP (Loop control) ...............................................................3-66 MAX (Maximum value)..............................
APOGEE PPCL User’s Manual Manual Organization How to Use This Manual The PPCL User's Manual contains the following chapters: Introduction • Chapter 1 – Programming Methodology gives a complete overview of the PPCL environment. This chapter includes discussions about relational, logical, and arithmetic operators, as well as information about precedence levels, resident points, special functions, point priority, point status, and modular programming.
How to Use This Manual Manual Conventions APOGEE PPCL User’s Manual Syntax Page Example The following table lists text conventions used in this manual. Convention The following example of the DISALM command illustrates the five sections of each syntax page. Example Syntax commands are in uppercase and bolded DISALM ON Point names are in uppercase and italics OATEMP User-defined parameters are in lowercase and italics. This indicates parameters that you must specify depending on your job.
How to Use This Manual APOGEE PPCL User’s Manual Syntax Compatibility bar The Syntax section provides the command format. You’ll also find a description for each parameter in the command, as well as the valid inputs and any calculations you may need. The compatibility bar indicates if the command can be used with a specific type of firmware. • The symbol indicates that the command is available in all supported revisions of that type of firmware.
How to Use This Manual APOGEE PPCL User’s Manual Even though truth tables compare more complex items than apples and oranges, the method for determining the result is always the same. Notes (if applicable) The Notes section contains helpful hints that relate to how the command operates, as well as specific details for commonly missed items and subsequent errors in the program.
APOGEE PPCL User’s Manual • Using Resident Points and Storage Locations for Data Chapter 1–Program Methodology — Resident Points — Local Variables Overview • Understanding the Relationship Between Point Priority and Status Chapter 1 contains information related to the design, coding, and implementation of a program.
Program Methodology—Introduction to PPCL Introduction to PPCL APOGEE PPCL User’s Manual PPCL Rules Imagine trying to control the environment of a 40-story building without the use of a computer. Suddenly, a large number of daily functions that are controlled by computers would have to be controlled by hand. For example, to prepare the building for daily occupancy, you would have to go to every floor and manually adjust the setpoint for each control device.
Program Methodology—PPCL Rules • If you need to enter more characters, enter an ampersand (&) at the end of the line and continue entering characters on the next line. APOGEE PPCL User’s Manual Defining Points in a PPCL Program • All physical and virtual points used in the program must be defined in the point database. • The maximum number of characters allowed on a total of three lines of code is 198 characters (including the ampersands and line numbers).
Program Methodology—PPCL Rules Pre-APOGEE Firmware APOGEE PPCL User’s Manual PPCL Program Design Guidelines • Valid names are limited to 6 characters. These guidelines will help you avoid common programming errors and write programs that run faster and are easier to maintain. The PPCL guidelines are as follows: • Acceptable characters include: A-Z and 0-9.
Program Methodology—PPCL Program Design Guidelines • Whenever possible, re-use blocks of program code in other devices that require the same control. Reusing program code helps reduce testing time and minimizes the number of errors in program logic. NOTE: APOGEE PPCL User’s Manual 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.
Program Methodology—Relational Operators Equal to (.EQ.) APOGEE PPCL User’s Manual Greater than or equal to (.GE.) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax if (value1.EQ.value2) then... value1, value2 if (value1.GE.value2) then... These values are defined as analog or digital numbers, local variables, or point names. value1, value2 Use These values are defined as analog or digital numbers, local variables, or point names.
Program Methodology—Relational Operators Greater than (.GT.) APOGEE PPCL User’s Manual Less than or equal to (.LE.) 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 These values are defined as analog or digital numbers, local variables, or point names. Use These values are defined as analog or digital numbers, local variables, or point names.
Program Methodology—Relational Operators Less than (.LT.) APOGEE PPCL User’s Manual Not equal to (.NE.) 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 These values are defined as analog or digital numbers, local variables, or point names. Use These values are defined as analog or digital numbers, local variables, or point names.
Program Methodology—Logical Operators Logical Operators APOGEE PPCL User’s Manual And (.AND.) Both relational operators and logical operators compare two values and produce a result that is called a condition. With logical operators, there is a related action for each possible outcome of the condition. If the condition is true, then a specific action is taken. If the condition is false, then an alternate action is performed.
Program Methodology—Logical Operators Not And (.NAND.) Unitary APOGEE PPCL User’s Manual Or (.OR.) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet 2.4 and later Syntax Syntax if (cond1.NAND.cond2) then... if (cond1.OR.cond2) then... cond1, cond2 cond1, cond2 Defines a condition that is the result of a comparison between two values. Defines a condition that is the result of a comparison between two values. Use Use • Used to compare two logical conditions.
Program Methodology—Logical Operators APOGEE PPCL User’s Manual Arithmetic Operators Exclusive Or (.XOR.) Unitary pre-APOGEE APOGEE BACnet Arithmetic operators are mathematic functions that are performed on two or more numbers (operands). When used in PPCL, the result of a calculation is determined and assigned to a point name or local variable for future reference.
Program Methodology—Arithmetic Operators Addition APOGEE PPCL User’s Manual Assignment Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax pt1 = value1 + value2 pt1 = value1 pt1 A point name or local variable that receives the value of the calculation. pt1 The point name or local variable that receives the value from value1. value1, value2 Point names, local variables, expressions, or numbers that are used in the calculation.
Program Methodology—Arithmetic Operators Division APOGEE PPCL User’s Manual Multiplication Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax pt1 = value1 / value2 pt1 = value1 * value2 pt1 A point name or local variable that receives the value of the calculation. pt1 A point name or local variable that receives the value of the calculation. value1 A point name, local variable, expression, or number used in the calculation.
Program Methodology—Arithmetic Operators APOGEE PPCL User’s Manual Arithmetic Functions Subtraction Unitary pre-APOGEE APOGEE BACnet Arithmetic functions perform mathematical calculations on a number (value). When used in PPCL, the result of a calculation is usually assigned to a point name for future reference. For information on the order in which arithmetic functions are evaluated, see the Order of Precedence section in this chapter.
Program Methodology—Arithmetic Functions Arc-Tangent (ATN) Unitary APOGEE PPCL User’s Manual Complement (COM) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax pt1 = ATN(value1) pt1 = COM(value1) pt1 A point name or local variable that receives the value of the calculation. pt1 A point name or local variable that receives the value of the calculation.
Program Methodology—Arithmetic Functions Cosine (COS) Unitary APOGEE PPCL User’s Manual Natural Antilog (EXP) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax pt1 = COS(value1) pt1 = EXP(value1) pt1 A point name or local variable that receives the value of the calculation. pt1 A point name or local variable that receives the value of the calculation. value1 A point name, local variable, or number from which the value of the cosine is calculated.
Program Methodology—Arithmetic Functions Natural Log (LOG) APOGEE PPCL User’s Manual Root (.ROOT.) Unitary pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax pt1 = LOG(value1) pt1 = (value1.ROOT.value2) pt1 A point name or local variable that receives the value of the calculation. pt1 A point name or local variable that receives the value of the calculation.
Program Methodology—Arithmetic Functions Sine (SIN) Unitary APOGEE PPCL User’s Manual Square Root (SQRT) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax pt1 = SIN(value1) pt1 = SQRT(value1) pt1 A point name or local variable that receives the value of the calculation. pt1 A point name or local variable that receives the value of the calculation. value1 A point name, local variable, or number from which the value of the sine is calculated.
Program Methodology—Arithmetic Functions Special Functions Tangent (TAN) Unitary APOGEE PPCL User’s Manual pre-APOGEE APOGEE BACnet pt1 = TAN(value1) Special functions are used to access a specific value that is unique to a point. The value of the point can then be tested or assigned to other points. Since special functions are maintained by the system, they cannot be manually commanded to a different value.
Program Methodology—Special Functions APOGEE PPCL User’s Manual Table 1-4. APOGEE to BACnet Notification Class Reference. Alarm priority (ALMPRI) Unitary pre-APOGEE APOGEE BACnet ALMPRI Value BACnet Notification Class 1 0-31 2 32-63 3 64-95 4 96-127 5 128-191 6 192-255 Syntax ALMPRI(pt1) pt1 A point name for which the current alarm priority is taken. Use Accesses the alarm priority level of a point defined in an enhanced alarming control strategy.
Program Methodology—Special Functions APOGEE PPCL User’s Manual Order of Precedence Totalized value (TOTAL) Unitary pre-APOGEE APOGEE BACnet The order of precedence is the order in which operators (relational, logical, mathematical, and special function) are evaluated. • Operators that have a higher precedence are evaluated before operators that have a lower precedence.
Program Methodology—Order of Precedence APOGEE PPCL User’s Manual When the computer evaluates multiple pairs of parentheses, each pair is evaluated according to how it is positioned in the formula. Multiple parentheses are evaluated as follows: Statements containing relational and logical operators are also assigned a precedence level. Note that in problems comparing values using relational operators (.EQ. and .NE.), the result of the comparison can change the output of the statement.
Program Methodology—Order of Precedence Resident Points Table 1-5. Order of Precedence for PPCL Operators. Precedence Level Command APOGEE PPCL User’s Manual Syntax Resident points provide time-based and system status information. These points are used to determine the time, date, month, and day of the month, or to monitor alarms, modes of operation (DAY or NIGHT), and communication between nodes.
Program Methodology—Resident Points Alarm count (ALMCNT) Unitary pre-APOGEE APOGEE BACnet APOGEE PPCL User’s Manual Alarm count 2 (ALMCT2) Unitary 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.
Program Methodology—Resident Points Battery condition ($BATT) Unitary pre-APOGEE APOGEE BACnet APOGEE PPCL User’s Manual Decimal time (CRTIME) 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.
Program Methodology—Resident Points Day (DAY) APOGEE PPCL User’s Manual Day of the month (DAYOFM) 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 This resident point specifies a particular day of any month. Valid values for DAYOFM are 1 through 31.
Program Methodology—Resident Points Communications link (LINK) APOGEE PPCL User’s Manual Month (MONTH) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax LINK MONTH Use Use This resident point indicates the condition of communications. This resident point specifies the current month. The values used for the MONTH point are as follows: Depending on the status of the communications link, a point contains the value 0 or 1.
Program Methodology—Resident Points Node number (NODE0 through NODE99) Unitary pre-APOGEE APOGEE RS-485 APOGEE Ethernet APOGEE PPCL User’s Manual PDL monitor ($PDL) BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax $PDL NODEn n Use Represents the number of a NODE. • This resident point takes on the current value of the demand prediction for each calculated interval made by the PDLMTR statement. The point can be assigned to a virtual LAO point, displayed, and trended.
Program Methodology—Resident Points Seconds counter (SECNDS) APOGEE PPCL User’s Manual Seconds counters (SECND1 through SECND7) 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. • Valid values for SECNDn are 1 through 7.
Program Methodology—Resident Points APOGEE PPCL User’s Manual Local Variables Military time (TIME) Unitary pre-APOGEE APOGEE BACnet Local variables are storage locations for data. Local variables function like virtual points except that they require less memory, are predefined, and cannot be directly displayed. Syntax • Local variables can contain analog or digital values. TIME • Each set of local variables is designed for a specific task.
Program Methodology—Local Variables APOGEE PPCL User’s Manual The value of RMTEMP = $ARG2 $ARG1 through $ARG15 Unitary pre-APOGEE APOGEE BACnet The value of SETPT = $ARG3 Notes $ARGn points can only be used in subroutines. Syntax See also $ARGn n GOSUB The number that describes what $ARGn point is referenced. • Valid values are 1 through 15. Use A $ARGn variable represents an actual point name used in a subroutine.
Program Methodology—Local Variables APOGEE PPCL User’s Manual Point Priority Overview $LOC1 through $LOC15 Unitary pre-APOGEE APOGEE BACnet APOGEE and pre-APOGEE firmware use a point priority to identify the level at which a point is commanded. Point priority also determines if an operator or a particular control program is responsible for controlling a point. Syntax BACnet firmware uses a priority array to perform the same function as the APOGEE point priority.
Program Methodology—Point Priority Overview Table 1-6. APOGEE and pre-APOGEE Point Priorities. Command Highest Priority OPER (Operator) SMOKE EMER (Emergency) Lowest Priority APOGEE PPCL User’s Manual BACnet Priority Array Description APOGEE BACnet firmware uses the Priority Array to determine the command order for a point. The array contains sixteen slots plus a Relinquish Default slot. BN01 is the highest position in the array, and Relinquish Default is the lowest. The highest priority level.
Program Methodology—Point Priority Overview At (@) Priority Status Indicators Table 1-7. APOGEE to BACnet Point Priority Reference. BACnet Priority Slot APOGEE Point Priority APOGEE PPCL User’s Manual At (@) priority indicators are used to monitor the priority status on points defined in a device. They can also be used to test if a point is at a specific priority or to command a point to a specific priority.
Program Methodology—At (@) Priority Status Indicators Releasing the Point from a Specific Priority to NONE Priority Table 1-8. System Variables for Priority Monitoring. Priority APOGEE PPCL User’s Manual The second option allows you to release points at a specific priority to the NONE priority.
Program Methodology—At (@) Priority Status Indicators At (@) Priority Status Indicators Supported APOGEE PPCL User’s Manual Emergency (@EMER) Unitary PPCL supports the following @ priority indicators: • Operator (@OPER) • Smoke (@SMOKE) pre-APOGEE APOGEE BACnet Syntax • Emergency (@EMER) @EMER • Peak Demand Limiting (@PDL) Use • PPCL (@NONE) This command identifies the emergency priority level indicator.
Program Methodology—At (@) Priority Status Indicators PPCL (@NONE) Unitary APOGEE PPCL User’s Manual Operator (@OPER) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax @NONE @OPER Use Use This command identifies the PPCL priority level indicator. The @NONE command can be used to test if a point currently is at PPCL priority. This command identifies the operator priority level indicator.
Program Methodology—At (@) Priority Status Indicators Peak Demand Limiting (@PDL) Unitary APOGEE PPCL User’s Manual Smoke (@SMOKE) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax @PDL @SMOKE Use Use This command identifies the peak demand limiting priority level indicator. The @PDL command is typically used in one of the following situations: This command identifies the smoke control priority level indicator.
Program Methodology—Point Status Indicators APOGEE PPCL User’s Manual To verify that the lights are ON in the conference room, you could use the following test: Point Status Indicators 740 Point status indicators are used to monitor the current status of points defined in the device. Point status indicators can be used to test if a point is at a specific status, and then act accordingly. Firmware uses syntactical words (ON, OFF, AUTO...) to indicate the status of a point.
Program Methodology—Point Status Indicators When a point is at HAND status, PPCL continues to issue commands to that point. Since the HOA override switch is controlling the point, the PPCL commands do not take effect. When the HOA override is switched back to the AUTO position, the last command issued to that point, while in HAND status, is executed.
Program Methodology—Point Status Indicators • DEAD APOGEE PPCL User’s Manual Alarm (ALARM) • FAILED Unitary pre-APOGEE APOGEE BACnet • FAST • HAND Syntax • LOW if (pt1.eq.ALARM) then... • NGTMOD pt1 • OFF A point name whose operational status is compared to the status indicator. • • OK This parameter can be a digital, analog, logical controller, or pulsed accumulator point type. Use • ON This status indicator determines if a point (pt1) is in the ALARM state.
Program Methodology—Point Status Indicators APOGEE PPCL User’s Manual Action Alarm acknowledge (ALMACK) Unitary pre-APOGEE APOGEE BACnet System Response FAN is commanded ON Alarm Alarm state is acknowledged pt1 turns ON FAN is commanded OFF pt1 remains ON (Fan is OFF and Normal. The Return to Normal has been acknowledged internally) Syntax if (pt1.eq.ALMACK) then...
Program Methodology—Point Status Indicators Auto (AUTO) APOGEE PPCL User’s Manual Battery status—discharged (DEAD) Unitary pre-APOGEE APOGEE BACnet Unitary Syntax APOGEE BACnet Syntax if (pt1.eq.AUTO) then... pt1 pre-APOGEE if ($BATT.eq.DEAD) then... A point name whose operational status is compared to the status indicator. • Use This status indicator compares the value of the $BATT resident point to determine if the backup battery is discharged.
Program Methodology—Point Status Indicators Battery status—almost discharged (LOW) Unitary APOGEE PPCL User’s Manual Battery status—charged (OK) 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.
Program Methodology—Point Status Indicators Day mode (DAYMOD) Unitary APOGEE PPCL User’s Manual 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 A point name whose operational status is compared to the status indicator. • For APOGEE firmware, use the TEC application name. • For pre-APOGEE firmware, define the point as an LCTLR point type.
Program Methodology—Point Status Indicators Fast (FAST) APOGEE PPCL User’s Manual Manual override (HAND) Unitary pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax if (pt1.eq.FAST) then... if (pt1.eq.HAND) then... pt1 pt1 A point name whose operational status is compared to the status indicator. • A point name whose operational status is compared to the status indicator. This parameter must be defined as an LFSSL or LFSSP point type.
Program Methodology—Point Status Indicators Night mode (NGTMOD) Unitary APOGEE PPCL User’s Manual 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 A point name whose operational status is compared to the status indicator. • A point name whose operational status is compared to the status indicator. • This parameter must be defined as an LCTLR point type.
Program Methodology—Point Status Indicators On (ON) APOGEE PPCL User’s Manual 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 A point name whose operational status is compared to the status indicator. • A point name whose operational status is compared to the status indicator.
Program Methodology—Point Status Indicators Converting a Sequence of Operation into Program Code Slow (SLOW) Unitary pre-APOGEE APOGEE BACnet APOGEE PPCL User’s Manual 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 • Changing the setpoint of a control loop.
Program Methodology—Converting a Sequence of Operation into Program Code Designing Programs Using a Modular Structure APOGEE PPCL User’s Manual Benefits of Using Subroutines Modular programming is a style of programming that logically organizes code into common functions. This style of programming can be applied to a single program, or to multiple programs running on the network or in one field panel.
Program Methodology—Converting a Sequence of Operation into Program Code Table 1-10. Efficient Use of Subroutines.
Program Methodology—Converting a Sequence of Operation into Program Code Multiple Programs versus Subroutines For APOGEE field panels, individual PPCL programs can be used to replace subroutines. In some cases, time-based statements should not be used in subroutines, and therefore require an individual program. Example Five Air Handling Units (AHUs) use the same control strategy. Two possible options for PPCL programming are as follows: 1.
Program Methodology—Converting a Sequence of Operation into Program Code APOGEE PPCL User’s Manual External documentation 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. External documentation refers to physical control diagrams, layouts, and information written about the program.
Program Methodology—Converting a Sequence of Operation into Program Code APOGEE PPCL User’s Manual Pseudocode Developing a Sequence of Operation Pseudocode is information written in a non-syntactical manner to document program code. Programmers often use pseudocode to quickly organize their ideas before writing the code. After the code is written, the pseudocode becomes a reference that describes the functionality of the program. 1.
Program Methodology—Converting a Sequence of Operation into Program Code APOGEE PPCL User’s Manual 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 3–Syntax for help with PPCL statements. 7. Type each program module into the computer. • Define any points that are used in the database.
APOGEE PPCL User’s Manual Duty Cycling (DC) Chapter 2–Control Option Comparisons Most building control systems are designed to meet the expected maximum system demand. However, the maximum demand is usually required only a few times per year for short periods of time. As a result, the system is oversized for the normal load so that it can meet this exceptional demand.
Control Option Comparisons—Duty Cycling (DC) The code for duty cycling HFAN is as follows: 1000 1010 1020 1030 1040 1050 1060 1070 1100 APOGEE PPCL User’s Manual Enthalpy and Dry Bulb Economizer Control C THIS DC COMMAND DUTY CYCLES HFAN C ACCORDING TO THE FOLLOWING SCHEDULE: C C FIRST 15 MINUTES – ON, OFF, OFF (1) C SECOND 15 MINUTES – OFF, OFF, OFF (0) C THIRD 15 MINUTES – OFF, OFF, OFF (0) C FOURTH 15 MINUTES – ON, ON, ON (7) C DC(HFAN,7001) Enthalpy is the total amount of heat energy contained with
Control Option Comparisons—Enthalpy and Dry Bulb Economizer Control Enthalpy Economizer Calculations APOGEE PPCL User’s Manual Peak Demand Limiting (PDL) Enthalpy economizer control uses a subroutine to perform the enthalpy calculation. The following calculations can be added to a PPCL program: Peak Demand Limiting (PDL) helps companies manage their electrical consumption during periods of peak demand.
Control Option Comparisons—Peak Demand Limiting (PDL) APOGEE PPCL User’s Manual Distributed Peak Demand Limiting Why Use PDL Instead of Duty Cycling? With Distributed PDL, a field panel on the network monitors meter readings, forecasts the demand, and assigns shed targets to the other field panels on the network. Although duty cycling (DC) can also be used to reduce electrical demand, duty cycling only controls loads according to a time schedule.
Control Option Comparisons—Peak Demand Limiting (PDL) Defining Distributed PDL Distributed PDL uses five PPCL commands that must be defined in the following order: APOGEE PPCL User’s Manual Start/Stop Time Optimization (SSTO) The Start/Stop Time Optimization (SSTO) feature adjusts the equipment start and stop based on calculations that optimize use of the system. 1.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) APOGEE PPCL User’s Manual An adjusted start time (ast) and adjusted stop time (asp) are added to or subtracted from the times calculated by SSTO. If the ast or asp value reaches a certain limit, SSTO is forced to start or stop at the earliest (est) or latest (lst) time. Defining SSTO Three PPCL commands are defined in the field panel for SSTO. They must be specified in the following order: 1.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) 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: APOGEE PPCL User’s Manual Cooling Season—Optimum Start Time If the indoor temperature is less than the desired temperature, then the optimum start time is LB.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) Cooling Season—Optimum Stop Time If the indoor temperature is less than the desired temperature, then the optimum stop time is: APOGEE PPCL User’s Manual Heating Season—Optimum Start Time If the indoor temperature is less than the desired temperature, then the optimum start time is: OE + ((10 * CR * d)/f) + AE OB + (d x HC) - ((d * f * HT) / 25) + AB Where: Where: OE = Occupancy end time from SSTO command.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) Heating Season—Optimum Stop Time If the indoor temperature is less than the desired temperature, then the optimum stop time is LE: APOGEE PPCL User’s Manual Cooling Mode at Occupancy Begin If the indoor temperature is greater than the desired temperature plus one degree, then: Where: LE AB = AB - CA = Latest end time from SSTO command.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) Cooling Mode at Occupancy End If the indoor temperature is greater than the desired temperature plus one degree, then: APOGEE PPCL User’s Manual Heating Mode at Occupancy Begin If the indoor temperature is greater than the desired temperature plus one degree, then: AE = AE + CA AB = AB + HA Where: Where: AE = Adjust end time from SSTO command. AB = Adjust begin time from SSTO command.
Control Option Comparisons—Start/Stop Time Optimization (SSTO) Heating Mode at Occupancy End If the indoor temperature is greater than the desired temperature plus one degree, then: APOGEE PPCL User’s Manual 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 = Adjust end time from SSTO command. HA = Heating auto-tune coefficient (hcoef4) from SSTOCO command.
Control Option Comparisons—Time-of-Day (TOD) NOTE: Schedules can also be created using the Time-of-Day (TOD) calendar that offers a menu-driven interface. For complete information on defining and maintaining daily operating schedules using the TOD calendar, see the APOGEE Field Panel User’s Manual (125-3000) or the Field Panel User’s Manual (125-1895) for pre-APOGEE field panels.
Control Option Comparisons—Time-of-Day (TOD) APOGEE PPCL User’s Manual The following TOD commands are defined in the TOD database: 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 Although Time-Of-Day uses actual commands dedicated to performing TOD functions, time scheduling can be accomplished using the IF/THEN/ELSE command.
Control Option Comparisons—Time-of-Day (TOD) APOGEE PPCL User’s Manual APOGEE Interaction with PPCL TOD APOGEE field panels contain an equipment scheduling application, which replaces TOD in PPCL. Some portions of TOD programming are shared by equipment scheduling, specifically the system calendar. • Equipment scheduling uses replacement days and special days. • The R1 replacement day in equipment scheduling corresponds to the Holiday Schedule in the TODMOD command. Siemens Building Technologies, Inc.
APOGEE PPCL User’s Manual Duty Cycling Chapter 3–Command Syntax DC .............................................................................................. 29 DCR............................................................................................ 31 Enthalpy Optimization Overview GOSUB ...................................................................................... 50 RETURN ....................................................................................
Command Syntax Point Control and Characteristics ALARM ....................................................................................... 24 DISALM ...................................................................................... 36 ENALM ....................................................................................... 46 HLIMIT........................................................................................ 58 LLIMIT ..................................................................
Command Syntax APOGEE PPCL User’s Manual st ADAPTM (Adaptive control, multiple) Unitary pre-APOGEE APOGEE BACnet Syntax ADAPTM(pv,cv,sp,matctl,mam,st,kc,tcd,tch,tcc,her,dbr,der,err) pv cv Point name of the process variable being controlled. • This parameter is usually an LAI point, but it can be an LAO point or a local variable that represents supply air temperature. • This value should be between -50.0 and 150.0.
Command Syntax APOGEE PPCL User’s Manual tch The ADAPTM damper time constant parameter entry (in seconds) is calculated using this formula: tcd = Tdownstream coils + Tsensor + Tdamper actuator Where: tcd = ADAPTM damper time constant parameter entry (in seconds) Heating time constant (seconds). • This parameter can be a point name, local variable name, or decimal number. • This value must be greater than or equal to 3 times the st value.
Command Syntax APOGEE PPCL User’s Manual a 30 second electric actuator. Downstream of the heating coil, there is a cooling coil with a time constant (alone) of 33 seconds. The time constant of the heating coil alone is: CFM max 50000 Theating coil = 0.02 = 0.02 = 2.
Command Syntax APOGEE PPCL User’s Manual name, or decimal number. • • This value must be: Equal to or greater than 0, and Less than or equal to dbr. For applications with dampers and cooling only (no heating), set her to 0. The following figure shows the relationship of her to the operation of the heating, dampers and cooling outputs. Typically, the value for dbr will be the same as the third parameter for the TABLE statement controlling the mixed air damper.
Command Syntax APOGEE PPCL User’s Manual 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 Error reporting point. ADAPTM writes to this point. A zero means no error. A non-zero means an error.
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 PPCL User’s Manual ADAPTS (Adaptive control, single) Unitary ADAPTM is specifically designed for supply air temperature control in which two or three output devices are controlled in sequence without overlap. APOGEE BACnet Syntax The output of ADAPTM is direct acting–it rises in value as the process variable rises.
Command Syntax APOGEE PPCL User’s Manual Suggested Sample Times L/s chilled water max = Maximum or design chilled water rate in liters per second. Temperature Loops (single input, single output) • 5 seconds for fast loops; • 10 seconds for slow loops. Tsensor = time constant of the supply air sensor; typically about 30 seconds. Humidity Loops • 5 to 10 seconds for return air or space loop; • 1 or 2 seconds for a discharge air loop.
Command Syntax APOGEE PPCL User’s Manual Example 1 Tdamper actuator = stroke time of the mixed air damper actuator; typically 30 seconds. For static pressure control, enter a small negative value (-0.1) to cover the possibility of a miscalibrated sensor or small negative air pressures when the fan is off. Duct Static Pressure • • • 6 seconds for small size systems, 10 seconds for medium size systems, and 20 seconds for large size systems.
Command Syntax edb APOGEE PPCL User’s Manual Error deadband. This parameter determines how much error (process variable minus setpoint) must exist before ADAPTS recalculates its output signal (control variable). err Noisy process variable signals can cause much actuator movement. Setting edb to a value equal to that of the noise will eliminate unnecessary actuator movement. Thus, actuator repositioning, and actuator life, can be affected by the use of this parameter.
Command Syntax APOGEE PPCL User’s Manual 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.
Command Syntax AUTO (Auto status) Unitary APOGEE PPCL User’s Manual DAY (Day mode) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax AUTO(pt1,...,pt16) DAY(pt1,...,pt16) pt1 through pt16 pt1 through pt16 Name of a point to be set to AUTO status. • This parameter must be a LOOAL or LOOAP point type. Use Name of a point to be set to DAY mode. • This parameter must be a logical controller (LCTLR) point type.
Command Syntax APOGEE PPCL User’s Manual • The operational status of the point is regulated by an analog point using a predefined dead band. DBSWIT (Dead band switch) Unitary 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 The type of dead band switch action. • Valid values are 0 and 1. 0 = All output points (pt1,...
Command Syntax APOGEE PPCL User’s Manual Use DC (Duty cycle) Unitary pre-APOGEE APOGEE BACnet Coordinates the operation of all available equipment to compensate for additional equipment capacity that is not normally needed. During normal system operation, some equipment is cycled off for short periods of time to distribute equipment wear and reduce operating costs. Syntax A maximum of 8 points can be controlled with one DC command. DC(pt1,pat1,...
Command Syntax APOGEE PPCL User’s Manual Example DCR (Duty cycle routine) Unitary pre-APOGEE APOGEE BACnet 200 210 220 230 240 250 Syntax DCR(pt1,temp1,high1,low1,...,pt4,temp4,high4,low4) pt1 through pt4 Point names of the output points to be duty cycled. • This parameter can be an LDO, logical, physical, or virtual point type. temp1 through temp4 Point names of the space temperature points. high1 through high4 High temperature limits of the space points.
Command Syntax DEACT (Deactivate lines) Unitary APOGEE PPCL User’s Manual DEFINE (Define abbreviation) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax DEACT(line1,...,line16) DEFINE(abbrev,string) line1 through line16 abbrev Abbreviation used in other PPCL statements. Represents the string parameter. string Actual text string that will be substituted where the abbreviation is used.
Command Syntax DISABL (Disable lines) Unitary APOGEE PPCL User’s Manual DISALM (Disable alarm) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax DISABL(line1,...,line16) DISALM(pt1,...,pt16) line1 through line16 pt1 through pt16 Valid PPCL line numbers. • Line numbers must be entered as integers ranging from 1 to 32767. • A range of PPCL lines cannot be defined using the DISABL command. Point name that should not report alarms.
Command Syntax DISCOV (Disable COV) Unitary pre-APOGEE APOGEE PPCL User’s Manual DPHONE (Disable phone) 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 Point name that should not report updated changes-of-value (COV). Use Telephone ID numbers that are defined in the device. Use Stops devices from reporting updated values (COVs) to the Insight workstation.
Command Syntax EMAUTO (Emergency, Auto status) Unitary APOGEE PPCL User’s Manual EMFAST (Emergency, Fast status) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax EMAUTO(pt1,...,pt16) EMFAST(pt1,...,pt16) pt1 through pt16 pt1 through pt16 Point name to be set to AUTO status with emergency priority. • This parameter can be a LOOAL or LOOAP point. Use Point name to be set to FAST status with emergency priority.
Command Syntax EMOFF (Emergency, Off status) Unitary APOGEE PPCL User’s Manual EMON (Emergency, On status) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax EMOFF(pt1,...,pt16) EMON(pt1,...,pt16) pt1 through pt16 pt1 through pt16 Point name to be set to OFF status with emergency priority. • This parameter can be a LDI, LDO, LFSSL, LFSSP, LOOAL, LOOAP, L2SL, or L2SP point. Use Point name to be set to ON status with emergency priority.
Command Syntax EMSET (Emergency, set value) Unitary APOGEE PPCL User’s Manual EMSLOW (Emergency, Slow status) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax EMSET(value,pt1,...,pt15) EMSLOW(pt1,...,pt16) value Value to which points are commanded. • This value can be a decimal, integer, point name, or local variable. pt1 through pt16 pt1 through pt15 Point name to be set to the specified value with emergency priority.
Command Syntax ENABLE (Enable lines) Unitary APOGEE PPCL User’s Manual ENALM (Enable alarm) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax ENABLE(line1,...,line16) ENALM(pt1,...,pt16) line1 through line16 pt1 through pt16 Valid PPCL line numbers. • Line numbers must be entered as integers ranging from 1 to 32767. • A range of PPCL lines cannot be defined using the ENABLE command. • Each PPCL line must be specified separately.
Command Syntax ENCOV (Enable COV) Unitary pre-APOGEE APOGEE PPCL User’s Manual EPHONE (Enable phone) 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 Point name that is enabled to report updated changes-ofvalue (COV). Use Telephone ID numbers that are defined in the device. Use Enables devices to report change-of-value (COV) information to other nodes.
Command Syntax FAST (Fast status) Unitary APOGEE PPCL User’s Manual GOSUB (Go to subroutine) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax FAST(pt1,...,pt16) GOSUB line# (pt1,...,pt15) pt1 through pt16 or parentheses are optional Point name to be set to FAST status. • This parameter can be a LFSSL or LFSSP point. GOSUB line# pt1,...,pt15 FAST(@prior, pt1,...,pt15) @prior Defines a specific point priority.
Command Syntax APOGEE PPCL User’s Manual When using multi-level subroutines, the rules that govern $ARGn variables and point name declarations for GOSUB commands change as follows: The program flow through one complete pass is as follows: • $ARGn variables used in multi-level subroutines cannot be shared between subroutine levels. That is, you cannot assign the value of PT1 to $ARG1 in the call to level one and then assign the value of PT2 to $ARG1 in the call to level two. 2.
Command Syntax 100 110 112 120 130 APOGEE PPCL User’s Manual C MAINLINE PROGRAM FOR LOGICAL FIRMWARE C LEARNING HOW TO USE GOSUB, RETURN, AND C $ARG COMMANDS.*** 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.
Command Syntax • APOGEE PPCL User’s Manual As the program branches from the second subroutine to the third subroutine, $ARG1 and $ARG2 continue to represent PT1 and PT2 respectively. 1000 1010 1020 1030 1040 1050 1100 1200 1300 1350 1360 1370 1380 1500 C MAINLINE PROGRAM FOR LOGICAL FIRMWARE C C THIS PROGRAM TEACHES HOW GOSUBS AND C $ARG POINTS WORK IN MULTIPLE C LEVEL SUBROUTINES. C ... ... ... C THIS GOSUB CALLS THE FIRST SUBROUTINE C AND PASSES THE VALUE DEFINED IN PT1 TO C TO $ARG1.
Command Syntax GOTO (Go to line) APOGEE PPCL User’s Manual HLIMIT (High limit) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax GOTO line# HLIMIT(value,pt1,...,pt15) line# value New value to which the high limit is set. • This value can be a decimal, a point name, or a local variable. • Integers are not allowed. pt1 through pt15 Logical names of analog points whose high limits are changed to the new value.
Command Syntax APOGEE PPCL User’s Manual PPCL HOLIDA statement and the days defined in the TOD calendar. HOLIDA (Holiday) Unitary pre-APOGEE APOGEE BACnet See also TOD, TODMOD, TODSET Syntax HOLIDA(month1,day1,...,month8,day8) month1 through month8 Month of the designated holiday. (January = 1, June = 6, December = 12, etc.) 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.
Command Syntax APOGEE PPCL User’s Manual Example 1 IF/THEN and IF/THEN/ELSE (Conditional control) 110 Unitary pre-APOGEE APOGEE BACnet IF (OATEMP.GT.70.0) THEN OADPR = 80.0 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 • GOSUB commands should not be used for the x or y parameters. or • Time-based commands such as WAIT and TODMOD should not be directly used for the x or y parameters.
Command Syntax INITTO (Initialize totalized value) APOGEE PPCL User’s Manual LLIMIT (Low limit) 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. • This value can be a decimal, point name, or local variable. Integers are not allowed. value New value to which the low limit is set.
Command Syntax LOCAL (Local variable) Unitary pre-APOGEE APOGEE PPCL User’s Manual LOOP (Loop control) 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 Designates the type of control action. • Valid values are 0 and 128. 0 = direct acting. 128 = reverse acting. pv Point name of the process variable which is being controlled or regulated.
Command Syntax ig APOGEE PPCL User’s Manual Integral gain. The contribution of integral control action to the total control action of the loop. Integral action minimizes offset (the difference between the process variable and the setpoint). Adding integral gain can increase the time required to tune the loop. When using integral gain, be sure to reduce the proportional gain so that the total gain of the loop is not high enough to cause instability and cycling.
Command Syntax MAX (Maximum value) APOGEE PPCL User’s Manual MIN (Minimum value) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax MAX(result,pt1,...,pt15) MIN(result,pt1,...,pt15) result Point name where the largest value is stored. • This parameter can be a virtual point name or a local variable. result Point name where the lowest value is stored. • This parameter can be a virtual point name or local variable.
Command Syntax NIGHT (Night mode) Unitary APOGEE PPCL User’s Manual NORMAL (Normal operating mode) pre-APOGEE APOGEE BACnet Unitary Syntax pre-APOGEE APOGEE BACnet Syntax NIGHT(pt1,...,pt16) NORMAL(pt1,...,pt16) pt1 through pt16 pt1 through pt16 Name of a point to be set to NIGHT mode. • This parameter must be a logical controller (LCTLR) point type. Name of a point to be removed from the alarm-by-command state.
Command Syntax APOGEE PPCL User’s Manual See also OFF (Off status) AUTO, FAST, ON, SLOW Unitary pre-APOGEE APOGEE BACnet Syntax OFF(pt1,...,pt16) pt1 through pt16 Point names that are commanded to OFF. OFF(@prior,pt1,...,pt15) @prior Defines a specific point priority. pt1 through pt15 Point names of LDI, LDO, L2SL, L2SP, LOOAL, LOOAP, LFSSL, or LFSSP points. NOTE: The OFF(@prior) command is not available in Unitary firmware.
Command Syntax APOGEE PPCL User’s Manual Example OIP (Operator interface program) Unitary 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 The trigger for the operator interface sequence. • This parameter can be an LDO or LDI point name or a local variable. This variable represents the sequence of keystrokes you would enter if you were using a terminal.
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.
Command Syntax ONPWRT (On after power return) Unitary APOGEE PPCL User’s Manual PDL (Peak demand limiting) pre-APOGEE APOGEE BACnet Unitary Syntax APOGEE BACnet Syntax ONPWRT(line#) PDL(area,totkw,target,g1s,g1e,sh1,...,g4s,g4e,sh4) Line number at which execution begins in the control program after returning from power failure. • Line numbers must be entered as integers ranging from 1 to 32767. • If the line number is invalid, this command is ignored.
Command Syntax g4s APOGEE PPCL User’s Manual Start line for the group 4 load definition in the corresponding PDLDAT commands. This is the last group to shed when demand exceeds the setpoint. g4e End line for the group 4 load definition. sh4 Shedding sequence for group 4. • Valid values are 0 and 1. 0 = Fixed shedding 1 = Round robin shedding 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.
Command Syntax APOGEE PPCL User’s Manual Example PDLDAT (PDL, define load attributes) Unitary pre-APOGEE APOGEE BACnet 100 102 104 106 108 110 112 114 116 118 Syntax PDLDAT(ptname,minon,minoff,maxoff,kwval) ptname Point name of the load. minon Minimum time (in minutes) that the load must remain ON after PDL has restored it. • This parameter must be less than 546 and can be defined as a decimal, integer, point name, or a local variable.
Command Syntax APOGEE PPCL User’s Manual • PDLDPG (PDL, digital point group) Unitary pre-APOGEE APOGEE BACnet Each of these kwtot parameters must be the same virtual LAO point that is specified as the kwtot parameter for the corresponding PDL and PDLDPG statements. The value of the parameter is assigned by the PDL statement in which it is defined.
Command Syntax APOGEE PPCL User’s Manual warning Determines if warning messages are issued as predicted demand nears or exceeds the setpoint. • Valid values are 0 and 1. 0 = Warning messages disabled 1 = Warning messages enabled mt1 through mt5 Logical point names for demand consumption meters. • This parameter can be an LPACI or analog point. When an LPACI points is used, the engineering units are kWH. When an analog point is used, the engineering units are kW.
Command Syntax APOGEE PPCL User’s Manual Example 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 250 PDLSET (PDL, setpoints) 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.
Command Syntax APOGEE PPCL User’s Manual 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.
Command Syntax APOGEE PPCL User’s Manual Example 2 120 RETURN (Return/end subroutine) RELEAS(@SMOKE, PT1, PT2, PT3) In this example, all three points will be released to NONE priority if they currently have a priority of SMOKE, EMER, or PDL. If any point is in OPER priority, it will not be released. 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.
Command Syntax SAMPLE (Sample a statement) APOGEE PPCL User’s Manual SET (Set point value) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax SAMPLE(sec) line SET(value,pt1,...,pt15) sec Interval in seconds between evaluations of state. • This value must be entered as an integer ranging from 1 to 32,767. value Value to which points are commanded. • This value can be a decimal, a logical point, or a local variable.
Command Syntax APOGEE PPCL User’s Manual Example 1 450 SLOW (Slow status) SET(75.0,RMSET1,RMSET2,RMSET3) Unitary Example 2 550 pre-APOGEE APOGEE BACnet SET(@EMER,75.0,RMSET1,RMSET2,RMSET3) Notes Syntax Do not use resident points in either the SET or the TABLE command. With both the SET and TABLE commands, the following should be used for resident points: SLOW(pt1,...
Command Syntax SSTO (Start/stop time optimization) Unitary pre-APOGEE APOGEE BACnet APOGEE PPCL User’s Manual esp Earliest stop time. • This parameter can be a military time (7:30 p.m. = 19:30), a decimal time (7:30 p.m. = 19.50), a logical point name, or a local variable. lsp Latest stop time. • This parameter can be a military time (7:30 p.m. = 19:30), a decimal time (7:30 p.m. = 19.50), a logical point name, or a local variable. osp Occupancy stop time.
Command Syntax when errors between actual temperatures and desired temperatures occur. APOGEE PPCL User’s Manual SSTOCO (SSTO coefficients) Unitary 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.
Command Syntax ccoef3 Cooling transfer coefficient. The time, in hours, required to lower the zone temperature one degree with outside air dampers closed and the outside temperature 10 degrees higher than the desired zone temperature for the cooling season. • This value must be entered in fractions of an hour. APOGEE PPCL User’s Manual Example 100 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 Cooling auto-tune coefficient.
Command Syntax STATE (State text command) Unitary pre-APOGEE APOGEE PPCL User’s Manual TABLE (Table of coordinates) APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Syntax Syntax STATE(statetext,pt1...pt15) TABLE(input,output,x1,y1,...,x7,y7) pt1 through pt15 input Point name of the input (x) variable. • This parameter can be a local variable or virtual LAI point type. output Point name of the output (y) variable.
Command Syntax Example 500 502 504 506 508 510 512 514 520 APOGEE PPCL User’s Manual TIMAVG (Average over time) 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 A point name used to store the result of the average value. • This parameter can be a point name or a local variable. st Sample time.
Command Syntax 10 20 30 40 50 60 C SIX SAMPLES WILL BE TAKEN TO C CALCULATE THE RMAVG. C THE INTERVAL BETWEEN EACH SAMPLE C WILL BE 10 MINUTES. RMTEMP WILL C BE AVERAGED EVERY 60 MINUTES. TIMAVG(RMAVG,600,6,RMTEMP) APOGEE PPCL User’s Manual TOD (Time of day, digital points) Unitary 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.
Command Syntax Valid TOD Mode Values. Mode 1 2 4 8 16* TODMOD (TOD modes) 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: This command changes digital output point ON and OFF based on the day of the week and the time of day.
Command Syntax APOGEE PPCL User’s Manual 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.
Command Syntax time2 val2 pt1 through pt10 Time at which the output points (pt1 through pt10) are commanded to val2. • This parameter can be a military time (7:30 p.m. = 19:30), a decimal time (7:30 p.m. = 19.50), a logical point name, or a local variable. WAIT (Wait time) Analog value which the output points (pt1 through pt10) assume at time2. • This parameter can be a military time (7:30 p.m. = 19:30), a decimal time (7:30 p.m. = 19.50), a logical point name, or a local variable.
Command Syntax APOGEE PPCL User’s Manual 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 C WHEN CNPUMP IS TURNED ON, C THE FIELD PANEL WAITS 60 SECONDS C BEFORE TURNING CHPUMP ON. WAIT(60,CNPUMP,CHPUMP,11) ON(CNPUMP) Notes • The position of the WAIT statement in a program affects its operation.
APOGEE PPCL User’s Manual command Glossary Instruction evaluated by the computer. The glossary contains programming terminology you will encounter in this manual. 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.
Glossary integer APOGEE PPCL User’s Manual pseudocode Whole number (non-decimal number). Non-syntactical description of program logic. line relational operators Statement of program code assigned to a unique line number. 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). Relational operators compare two values.
Glossary APOGEE PPCL User’s Manual Unitary firmware Firmware for Unitary Controllers that uses a subset of the PPCL commands found in pre-APOGEE firmware. Siemens Building Technologies, Inc. Glossary-5 Glossary-6 Siemens Building Technologies, Inc.
APOGEE PPCL User’s Manual Appendix A—PPCL Reserved Word List ATN AUTO C (comment) COM COS CRTIME Appendix A contains the PPCL Reserved Word List. The words, letters, and groups of letters placed on this list are used by the PPCL compiler. If you use any of the entries on the word list in a way other than the way they are designed (for example, defining a reserved word as a point name), your PPCL program will not operate properly.
Appendix A—PPCL Reserved Word List APOGEE PPCL User’s Manual LOG LOW TIME TOD LOOP LT TODMOD TODSET MAX MIN TOTAL WAIT MONTH NAND XOR NE NGTMOD NIGHT NODE1 through NODE99 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 Siemens Building Technologies, Inc. A-3 A-4 Siemens Building Technologies, Inc.
APOGEE PPCL User’s Manual alarm acknowledge (point status indicator)............................................... 1-83 commands ALARM......................................................................................... 3-24 Index $ DISALM........................................................................................ 3-36 $ARG1 through $ARG15 (local variable)............................................ 1-61 ENALM..............................................................................
Index arithmetic functions ............................................................................. 1-28 arc-tangent ...................................................................................... 1-29 complement ..................................................................................... 1-30 cosine .............................................................................................. 1-31 natural antilog .........................................................................
Index APOGEE PPCL User’s Manual cosine (arithmetic function) ................................................................. 1-31 designing a program ......................................................................... 1-107 COV control DISCOV ........................................................................................... 3-37 ENCOV ............................................................................................ 3-47 determining point status ..............................
Index APOGEE PPCL User’s Manual EMSLOW......................................................................................... 3-44 syntax page .......................................................................................... X truth tables.......................................................................................... XII EMFAST (command) .......................................................................... 3-40 EMOFF (command) ..................................................
Index I IF/THEN .............................................................................................. 3-61 IF/THEN/ELSE .................................................................................... 3-61 INITTO (command) ............................................................................. 3-63 APOGEE PPCL User’s Manual maximum number of characters per comment line ................................................................................1-5 per program line ...................
Index APOGEE PPCL User’s Manual O P Occupied mode (OCC) ................................................................See DAY PDL command......................................................................................... 3-80 control option ......................................................................................2-6 distributed peak demand limiting........................................................2-8 monitor (resident point) ...................................................
Index ENALM ............................................................................................ 3-46 HLIMIT ............................................................................................. 3-58 INITTO ............................................................................................. 3-63 LLIMIT.............................................................................................. 3-64 MAX ................................................................................
Index program control DEFINE............................................................................................ 3-34 ONPWRT......................................................................................... 3-79 SAMPLE .......................................................................................... 3-95 TABLE ........................................................................................... 3-106 APOGEE PPCL User’s Manual TIME ..............................................
Index APOGEE PPCL User’s Manual SSTOCO (command)........................................................................ 3-102 subtraction (arithmetic operator) ......................................................... 1-27 start/stop time optimization SSTO ............................................................................................... 3-99 SSTOCO ....................................................................................... 3-102 syntax compatibility bar.......................
Index APOGEE PPCL User’s Manual truth tables.............................................................................................. XII U unitary firmware point status indicators...................................................................... 1-81 Unoccupied mode (UNOCC) ................................................... See NIGHT using subroutines .............................................................................. 1-100 V variables, local .........................................