PPCL User Guide

March 26, 2018 | Author: Guilherme Roza | Category: Subroutine, Trigonometric Functions, Computer Engineering, Computer Programming, Technology


Comments



Description

APOGEE Powers ProcessControl Language (PPCL) User’s Manual 125-1896 Rev. 6, May, 2006 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. All software described in this document is furnished under a license agreement and may be used or copied only in accordance with license terms. For further information, contact your nearest Siemens Building Technologies, Inc. representative. Copyright 2006 Siemens Building Technologies, Inc. Credits APOGEE and Insight are registered trademarks of Siemens Building Technologies, Inc. Other product or company names mentioned herein may be the trademarks of their respective owners. Printed in U.S.A. Comments Your feedback is important to us. If you have comments about this manual, please submit them to [email protected]. 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)..........................................................................1-31 Natural Antilog (EXP) ..............................................................1-32 Natural Log (LOG)...................................................................1-33 Root (.ROOT.).........................................................................1-34 Sine (SIN)................................................................................1-35 Square Root (SQRT)...............................................................1-36 Tangent (TAN) ........................................................................1-37 Special Functions ..........................................................................1-38 Alarm priority (ALMPRI) ..........................................................1-39 Totalized value (TOTAL) .........................................................1-41 Order of Precedence .....................................................................1-42 Changing Precedence Levels with Parentheses ....................1-43 Resident Points..............................................................................1-46 Alarm count (ALMCNT)...........................................................1-47 Alarm count 2 (ALMCT2) ........................................................1-48 Battery condition ($BATT).......................................................1-49 Decimal time (CRTIME) ..........................................................1-50 Day (DAY) ...............................................................................1-51 Day of the month (DAYOFM)..................................................1-52 Communications link (LINK) ...................................................1-53 Month (MONTH)......................................................................1-54 Node number (NODE0 through NODE99)..............................1-55 PDL monitor ($PDL)................................................................1-56 Seconds counter (SECNDS)...................................................1-57 Seconds counters (SECND1 through SECND7) ....................1-58 Military time (TIME) .................................................................1-59 Local Variables ..............................................................................1-60 $ARG1 through $ARG15 ........................................................1-61 $LOC1 through $LOC15 .........................................................1-63 Point Priority Overview ..................................................................1-64 APOGEE and pre-APOGEE Point Priority Levels ..................1-64 BACnet Priority Array ..............................................................1-66 At (@) Priority Status Indicators ....................................................1-68 Testing Point Priorities ............................................................1-68 Commanding Points to a Specific Priority...............................1-68 Pre-APOGEE Firmware ..........................................................1-69 At (@) Priority Status Indicators Supported............................1-71 Emergency (@EMER) ............................................................1-72 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 1–Program 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. I II Siemens Building Technologies, Inc. ...............................................2-26 APOGEE Interaction with PPCL TOD......................................................................................................................1-91 Manual override (HAND)..............................................1-80 Alarm (ALARM) .........2-27 Chapter 2–Control Option Comparisons ...........................................1-88 Day mode (DAYMOD).........................1-73 Operator (@OPER)................ Slow status) .........3-49 GOSUB (Go to subroutine) ........................................................................................................................3-42 EMSET (Emergency..........................................................................................................................................................................................................................1-85 Battery status—discharged (DEAD) ..........................................2-11 SSTO Formulas ..............3-16 ALARM (Alarm state) ............................................................................... Auto status) .......................................1-86 Battery status—almost discharged (LOW) ..3-58 HOLIDA (Holiday) .............................................................................................................2-6 Why Use PDL Instead of Duty Cycling? ......................... ...............................................................1-102 Multiple Programs versus Subroutines .........................1-76 Point Status Indicators.2-3 Enthalpy and Dry Bulb Economizer Control ....................................................................................................................1-87 Battery status—charged (OK)..........1-98 Guidelines ...................................................3-46 ENCOV (Enable COV) ........2-22 IF/THEN/ELSE Time-Of-Day ...............1-92 Night mode (NGTMOD) ....................3-57 HLIMIT (High limit) .1-96 Slow (SLOW) .........................2-13 Time-of-Day (TOD).................................................. IV III Siemens Building Technologies...................................1-104 Program Documentation .........................................................................................................................................3-24 AUTO (Auto status)..............................................................3-37 DPHONE (Disable phone) .....3-38 EMAUTO (Emergency........................................................2-7 PDL Application Programs......................................3-44 ENABLE (Enable lines) ...................................................................................... Inc............................................................................1-77 Determining Point Status ......................................................3-31 DEACT (Deactivate lines) ...........................................................1-93 Off (OFF) ..................2-7 Chapter 3–Command Syntax ...........3-48 FAST (Fast status) ........3-47 EPHONE (Enable phone) ........................................................................................................................................ Inc.................. multiple) ...................................................................................................................................Table of Contents PPCL (@NONE) .........................3-27 DC (Duty cycle) ...............1-75 Smoke (@SMOKE) .......................................................................2-1 Overview........1-98 Designing Programs Using a Modular Structure ...3-40 EMOFF (Emergency....... Fast status) ...........................................................1-99 Subroutine Commands ...............................................................................1-90 Fast (FAST).......................3-1 Overview...............................................2-22 Defining Time-Of-Day ......................................................................3-36 DISCOV (Disable COV) ...............3-25 DAY (Day mode) ..............3-35 DISALM (Disable alarm) ...........................................................................................................................................................................................1-94 On (ON)..........................................1-82 Alarm acknowledge (ALMACK) ........................................2-11 How SSTO Adjusts the Start and Stop Times ............2-6 Why Use PDL?............1-77 Failed Point Values ................ On status) ..........3-33 DEFINE (Define abbreviation) ................3-1 ACT (Activate lines) ....................................................2-2 Duty Cycling Commands .3-39 EMFAST (Emergency........................3-45 ENALM (Enable alarm) .............................................................................................................................................1-105 APOGEE PPCL User’s Manual Start/Stop Time Optimization (SSTO) .........................................................2-5 Peak Demand Limiting (PDL) ..........................3-29 DCR (Duty cycle routine) ...............................................................................................................................3-50 GOTO (Go to line)..........................................................................................................................................................................2-22 Where to Use TOD......1-78 Point Status Indicators Supported ............1-97 Converting a Sequence of Operation into Program Code..............2-4 Example—Economizer Comparison ............................................................................................................................................................................................................3-26 DBSWIT (Dead band switch) .............................................3-43 EMSLOW (Emergency........2-1 Duty Cycling (DC) ........................... Off status) .................................1-77 Commanding and evaluating the HAND status .................................................................................2-4 Enthalpy Economizer Calculations .........1-83 Auto (AUTO) .....................................................3-5 ADAPTS (Adaptive control.................3-59 Siemens Building Technologies........................... single) ......................3-4 ADAPTM (Adaptive control...............1-103 Program Testing......................3-34 DISABL (Disable lines) ............................................................2-10 Where to Use SSTO ......................................................................................3-41 EMON (Emergency..................1-95 Proof on (PRFON)....................................... set value)..............................................1-89 Failed (FAILED) ......................................................................................................................2-10 Defining SSTO ........................................1-74 Peak Demand Limiting (@PDL).................................................................................................... ......................................3-108 TOD (Time of day....................................................................3-69 MIN (Minimum value) ............................................3-83 PDLDPG (PDL...........................................3-106 TIMAVG (Average over time)........... analog points).................................3-95 SET (Set point value) ................................................................................................ setpoints) ...........................................................................................................3-105 TABLE (Table of coordinates)........................3-94 SAMPLE (Sample a statement) ............3-64 LOCAL (Local variable).....................................................................Table of Contents APOGEE PPCL User’s Manual IF/THEN and IF/THEN/ELSE (Conditional control) ............................................................................................................................... V VI Siemens Building Technologies........ Index-1 Siemens Building Technologies.......................................................... A-1 Index .........................................................3-72 OFF (Off status) ...............3-92 RETURN (Return/end subroutine) ..........................3-90 RELEAS (Release) ...................................3-87 PDLSET (PDL......3-85 PDLMTR (PDL............................................................................................................................................. digital points) .................................................3-63 LLIMIT (Low limit).....................3-65 LOOP (Loop control) .......3-70 NIGHT (Night mode) ................................................................... Inc...................................................................3-102 STATE (State text command) ......................3-99 SSTOCO (SSTO coefficients).................................3-112 TODSET (Time of day...........................................3-96 SLOW (Slow status).......................................... ....................3-75 ON (On status) ........................................................................................3-78 ONPWRT (On after power return) .......... meter monitor).........................3-73 OIP (Operator interface program) ..........3-80 PDLDAT (PDL..... digital point group) ...................3-61 INITTO (Initialize totalized value)..........................................................................3-79 PDL (Peak demand limiting) . Inc............................................3-116 Glossary ........... define load attributes) ..........................................3-110 TODMOD (TOD modes) . Glossary-1 Appendix A—PPCL Reserved Word List ....................3-98 SSTO (Start/stop time optimization) ...............................3-71 NORMAL (Normal operating mode) .....3-114 WAIT (Wait time).3-66 MAX (Maximum value)........................................................................................ as well as information about precedence levels. point status. VII VIII Siemens Building Technologies. functionality.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. you should be familiar with the equipment controlled by the PPCL programming language. logical. • Siemens Building Technologies. • An Index is provided to help you locate information presented in this manual. the task of learning the programming language becomes easier. Training Classes • Hands-on experience • Chapter 3 – Syntax lists all control commands. and how their PPCL commands should be organized. • The Glossary describes the terms and acronyms used in this manual. This chapter describes the syntax. and arithmetic operators. point priority. . • Reading user documentation for the APOGEE Automation System If you have knowledge or experience with HVAC equipment. and modular programming. as well as related commands. • Appendix A lists the PPCL reserved word list. special functions. Inc. how they should be used. Inc. Siemens Building Technologies. Inc. and special exceptions for each command. To effectively use this manual. Some of the ways you can become familiar with APOGEE products are as follows: • Chapter 2 – Control Option Comparisons describes different control applications. resident points. This chapter includes discussions about relational. 1] with 32 bytes of data. Inc. Pinging APOGEEPC [10. The point status changes to *PDSB* after it has been DISALMed. Inc.. NORMAL Siemens Building Technologies. DISALM cannot be used to directly disable alarm reporting over the network. 610 Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Section 1 Compatibility Bar Section 2 Syntax Syntax DISALM(pt1.0) THEN .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. Use This command disables the alarm printing capabilities for specified points..0.0. LLIMIT. IF (FANDO1. 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.. pt3) Error messages and computer code are displayed in Courier New font.OFF) THEN DISALM(ROOM1) ELSE ENALM(ROOM1) 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.EQ. .. This indicates parameters that you must specify depending on your job.EQ. Up to 16 points can be enabled for alarm reporting by one command. If you are having problems with the computer. 610 Section 3 Use IF (FANDO1.. This convention is used to prevent programming examples from becoming cluttered. the following message displays. HLIMIT.1. Three periods placed after program code denotes a continuation of program code. pt2.pt16) pt1 through pt16 Names of the points that should have alarm reporting disabled. IX X See also ALARM.. Example 50 IF (SFAN..0) THEN . Convention The following example of the DISALM command illustrates the five sections of each syntax page. ENALM.. Section 5 See Also (if applicable) Siemens Building Technologies.1. (pt1.EQ. Symbols Used in the Compatibility Bar. Use The Use section describes what function the command performs.5/1. XI Right hand orange Right hand apple Left hand orange Same Different Left hand apple Different Same Let’s say you are holding an orange in your left hand and an apple in your right hand. as well as all revisions of BACnet Firmware. The compatibility bar indicates if the command can be used with a specific type of firmware. In this example. The following types of firmware are currently available: • Unitary firmware uses a subset of PPCL commands found in pre-APOGEE firmware. . Table 1.4 and later. • BACnet firmware uses most of the PPCL commands found in APOGEE firmware. You reach into the barrel and randomly select one piece of fruit with each hand. Locate the second input. The command is not available in Unitary or pre-APOGEE firmware. Table 1 shows the possible conclusions you can reach. the objects in your left hand and right hand are different.51/1.51) are mainly used in Controller Modules and early revisions of Open Processors. Items XII Siemens Building Technologies. Siemens Building Technologies.5 and 12. see Chapter 2 – Control Option Comparisons. Locate the first input. first identify the objects you want to compare. Inputs are defined in the truth table. Inc. Types of Firmware Imagine that you have a barrel of apples and oranges. Left hand orange.How to Use This Manual APOGEE PPCL User’s Manual Syntax Compatibility bar The Syntax section provides the command format. • A firmware revision number indicates the earliest firmware revision that supports the command. in the heading across the top of the table. • APOGEE Firmware (Revision 2. In this case. • Pre-APOGEE Firmware (Revisions 12. Figure 1 shows the command can be used in APOGEE Firmware Revision 2. • No symbol or firmware revision number indicates the command is not available in any revision of that type of firmware. See following example to better understand the concept of truth tables.4 and later Ž Example To use a truth table. You’ll also find a description for each parameter in the command. • The symbol Ž indicates that the command is available in all supported revisions of that type of firmware. a comparison will be made between an object selected with you’re the your left and an object selected with your right hand. Examples of program code are provided to show you how parameters and values are defined.x) is used in APOGEE field panels. as well as the valid inputs and any calculations you may need. and then they are logically compared to produce outputs (results). Inc. The box where the vertical and horizontal rows intersect is the output (result) of the comparison. in the heading along the left side of the table. Right hand apple. Unitary pre-APOGEE APOGEE BACnet 2. The main differences between these types of firmware are how point priority indicators and point status indicators are used. Truth Tables Truth tables help explain conditional and comparison logic. Figure 1. Comparing Apples to Oranges. For more information. Notes (if applicable) The Notes section contains helpful hints that relate to how the command operates. please submit them to sbt_technical. Where To Send Comments Your feedback is important to us. or sections that are related to the command. operators. the method for determining the result is always the same.How to Use This Manual APOGEE PPCL User’s Manual Even though truth tables compare more complex items than apples and oranges. Inc.editor@siemens. See also (if applicable) The See also section directs you to other commands. . If you have comments about this manual. XIII XIV Siemens Building Technologies. as well as specific details for commonly missed items and subsequent errors in the program. Inc. Siemens Building Technologies.com. The following concepts are discussed in this chapter: — Point Priority Overview • Introduction to PPCL — Point Status Indicators — At (@) Priority Status Indicators • PPCL Rules • Converting a Sequence of Operation into Program Code — General PPCL Rules — Guidelines — Defining Points in a PPCL Program — Designing Programs Using a Modular Structure — Rules for Naming Points — Subroutine Commands — Rules for Naming a PPCL Program — Multiple Programs versus Subroutines • PPCL Program Design Guidelines — Program Testing — Designing a Program that is Easy to Maintain — Program Documentation — Designing a Program that Operates Efficiently • Making Comparisons — Relational Operators — Logical Operators — Arithmetic Operators • Performing Mathematical Functions and Calculations — Arithmetic Functions — Special Functions • Order of Precedence — Changing Precedence Levels with Parentheses Siemens Building Technologies. and implementation of a program. coding. Inc. 1-1 1-2 Siemens Building Technologies. . Inc.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. but still perform the same function. they need instructions in order to process information correctly. a large number of daily functions that are controlled by computers would have to be controlled by hand. the last line of the program must be executed on every pass of the program. you must use the RETURN command. it uses a text-based programming structure like BASIC. • Programs should be logically thought out and their processes understood before writing program code. • The maximum number of program lines a device can contain is limited to the amount of free memory of that device. • Program lines are executed in ascending order according to their line numbers. For Unitary and pre-APOGEE firmware. the computer will not understand what you are trying to say.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. • When the last line of the program is reached. Each PPCL program must conform to these rules. no one program is the best solution. otherwise. you would have to go to every floor and manually adjust the setpoint for each control device. . • For APOGEE firmware only. • Programs can be organized differently. Inc. the last line of the program does not need to be executed on every pass of the program. 1-3 1-4 Siemens Building Technologies. and Air Conditioning (HVAC) equipment. Even though computers are very powerful devices.767. • Each PPCL statement must be assigned a unique line number. Ventilating. Just as grammatical rules are used for the spoken language. PPCL uses rules to create commands and instructions. • For APOGEE firmware only. Suddenly. The instructions that the computer uses are in the form of a programming language. • Although certain programming techniques can work better than others. For example. unless directed otherwise. General PPCL Rules The general rules for PPCL are as follows: • Each PPCL program contains one or more PPCL statements. the computer automatically returns to the first line of the program and continues processing. Siemens Building Technologies. PPCL is a high-level language developed specifically to control Heating. Valid program line numbers are 1 through 32. The programming language used with the APOGEE Automation System is called Powers Process Control Language (PPCL). Maximum Number of Characters per Program Line APOGEE and BACnet Firmware When entering program lines through an APOGEE field panel HMI or MMI port. • When transferring program control from a subroutine. each field panel running PPCL contains one or more separate programs. Inc. There is much more to writing a PPCL program than putting instructions and commands together. to prepare the building for daily occupancy. the maximum number of characters per line is 66 (including the line number). a-z. 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. dashes (-).). or general notes. Since a PPCL program that contains only comment lines is not executed. enter an ampersand (&) at the end of the line and continue entering characters on the next line.SFAN) is greater than six characters and requires quotes. 0-9. periods (.SFAN”) • The first point (B2SFN) does not require quotes. Pre-APOGEE Firmware When entering program lines through a pre-APOGEE field panel MMI port.). commas (. • Point names that use characters other than A-Z or 0-9 must be enclosed in double quotes. • The maximum number of characters allowed on a total of three lines of code is 198 characters (including the ampersands and line numbers). Inc. . periods (. • The second point (BUILDING1. enter an ampersand (&) at the end of the line and continue entering characters on the next line. • Point names that begin with numbers must be prefixed with the at (@) character. • Acceptable characters include: A-Z. special instructions to follow-up personnel. the maximum number of characters per line is 72. dashes (-). • Point names that are greater than 6 characters must be enclosed in double quotes. underlines (_). it does not affect system performance. • Acceptable characters include: A-Z.Program Methodology—PPCL Rules • If you need to enter more characters. • Do not use the following characters in point names: & ? * { } % Siemens Building Technologies. Only field panels containing Firmware Revision 2. ON(B2SFN. • Do not use the following characters in point names: & ? * [ ] { } % • The program can be archived for historical purposes. NOTE: APOGEE Firmware BACnet Firmware • Valid names are from 1 to 30 characters. spaces ( ). Inc.6. • Valid names are from 1 to 30 characters. • If you need to enter more characters.”BUILDING1.). and apostrophes ('). 1-5 1-6 Siemens Building Technologies. Rules for Naming Points Use the following rules to establish a point naming convention that provides meaningful information. AHU01. Creating a Notepad at the Field Panel A PPCL program containing only comment lines can be used as a notepad for the field panel. modifications. This allows you to record information regarding activities. spaces ( ). a-z.6/2.1 and later support a notepad at the field panel with PPCL comment lines. Maximum Number of Characters per Comment Line When entering comment lines through an APOGEE field panel HMI or MMI port. underlines (_).). the maximum number of characters per line is 81 (not including the line number or operator C). Example 560 • The maximum number of characters allowed on both lines of code is 144 characters (including the ampersand). and apostrophes ('). • The comment lines can be added and viewed from any HMI/MMI or front-end device. commas (. 0-9. a to-do list.AHU01. • Only use a colon (:) in a point name when working with subpoints. and apostrophes ('). • A subroutine should only be used in situations where it is more beneficial to place a block of code in a subroutine instead of using straight-line code. Therefore. Rules for Naming a PPCL Program APOGEE PPCL programs use an assigned name. Inc. WAIT. These guidelines will help you avoid common programming errors and write programs that run faster and are easier to maintain. • If program execution is interrupted (for example. underlines (_). 0-9. • Do not use the following characters in program names: &?*[]{}% • Routing commands (such as GOTO) should transfer program control to a sequentially higher line number. BACnet Firmware • Valid names are from 1 to 30 characters. spaces ( ). Use the following rules to assign a program name: • Loop statements should not be closed across a network.).). LOOP. dashes (-). • Acceptable characters include: A-Z. a-z. • Do not use the following characters in point names: & ? * [ ] { } % • A program defined in one field panel should not be used to control points in a different field panel. The PPCL guidelines are as follows: • Acceptable characters include: A-Z and 0-9. 30) or more so that modifications can be made without renumbering the program. Designing a Program that is Easy to Maintain • Use comment lines to document program logic. 1-7 1-8 Siemens Building Technologies.). 0-9. Siemens Building Technologies. dashes (-). spaces ( ). This practice prevents programs from being caught in endless loops. Inc. • Do not use the following characters in program names: &?*{}% • Number program lines in multiples of ten (10. SAMPLE.) should be evaluated through every pass of the program for proper operation. 20. periods (. a-z. periods (. For example. the system always resumes processing at the first line of the program. • Time-based commands (for example. etc. • Acceptable characters include: A-Z. APOGEE and pre-APOGEE Firmware • Valid names are from 1 to 30 characters. commas (. • Use point names that are meaningful and describe the function for which they are being used.). a point name monitoring outside air temperature could be named OATEMP.Program Methodology—PPCL Rules Pre-APOGEE Firmware APOGEE PPCL User’s Manual PPCL Program Design Guidelines • Valid names are limited to 6 characters. . commas (. underlines (_). during a power failure). and apostrophes ('). the first line of the program should be executed through every pass of the program. TOD. LE. 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.) • Greater than (.NE. Your condition is the temperature. If the temperature is greater than 80°F (the condition is true). For example. If the temperature is 80°F or less (the condition is false).) For example." • When using time-based commands. a field panel contains two programs: one with 10 lines and the other with 50 lines. Since PPCL requires a unique point database. • Less than or equal to (.Program Methodology—PPCL Program Design Guidelines • Whenever possible. • When multiple PPCL programs are installed in an APOGEE field panel. then you will stay home.0 controller boards are capable of evaluating an average of 350 lines of program code per second.) Each relational operator is described in more detail on the following pages. • The number of FLN devices connected to the field panel has the greatest influence on program code evaluation speed.0 controller boards are capable of evaluating an average of 500 lines of program code per second. then you will go to the beach.) • Less than (. Designing a Program that Operates Efficiently The following example describes the function of the relational operator. You are reading the newspaper one morning and find that it is going to be a beautiful day. a related action is taken only if the condition is true. Version 3.EQ. You say to yourself. Inc. . Since the computer sequentially executes one line of each enabled program. PPCL supports the following relational operators: • Equal to (. the program with the fewest lines will be executed more often the program with the most lines. re-use blocks of program code in other devices that require the same control. Field panels using Version 4. The shorter program will be executed five times before the longer program is executed once. "If it gets warmer than 80°F. Siemens Building Technologies.) • Not equal to (. you must modify the point names in the reused program code to reflect the database for that device. With relational operators. You have just used a relational operator to determine your actions for the day. I will go to the beach. Inc.GE. No action is taken if the condition is false. Reusing program code helps reduce testing time and minimizes the number of errors in program logic. Example • The number of program lines defined in a device affects the line evaluation rate. 1-9 1-10 Siemens Building Technologies. For information on the order in which relational operators are evaluated. be aware that different versions of the same device may execute the same program code at different rates.) • Greater than or equal to (. If not. see the Order of Precedence section in this chapter. then I will stay home.GT. try to create programs that are roughly the same number of lines per program.LT. C IF (RMTEMP. . THEN SET THE SET C POINT TO 70 C IF (RMTEMP.0 C IF THE ROOM TEMP IS GREATER THAN C OR EQUAL TO 80.0 Notes Check the point format and number of decimal places used before comparing values with this relational operator. local variables. C THEN SET THE SET POINT TO 70.0) THEN RMSET = 70.EQ. Certain points (primarily analog input) may contain precise values. value1.value2) then.. Use Compares two values to determine if the first value (value1) is equal to the second value (value2).) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Ž Ž Ž Ž Syntax Syntax if (value1..80.GE. the result will be false if the values are not identical. These values are defined as analog or digital numbers.. The comparison is true if value1 is greater than or equal to value2.EQ.Program Methodology—Relational Operators Equal to (. Inc.0) THEN RMSET = 70.GE.value2) then. value2 if (value1.GE.EQ. The comparison is true if value1 is equal to value2. 1-11 1-12 Siemens Building Technologies. or point names. Compares two values to determine if the first value (value1) is greater than or equal to the second value (value2). Inc.80. local variables. or point names. value1. Siemens Building Technologies.) APOGEE PPCL User’s Manual Greater than or equal to (.. When comparing a point value to a whole number. Example Example 500 510 520 530 700 710 720 730 740 C IF THE ROOM TEMP IS EQUAL TO 80. value2 Use These values are defined as analog or digital numbers. if (value1.80.LE. 1-13 1-14 C IF THE ROOM TEMP IS LESS THAN OR C EQUAL TO 80.80.value2) then.. Use Compares two values to determine if the first value (value1) is greater than the second value (value2). value2 These values are defined as analog or digital numbers. The comparison is true if value1 is less than or equal to value2.0 Siemens Building Technologies.) APOGEE PPCL User’s Manual Less than or equal to (.Program Methodology—Relational Operators Greater than (.. or point names. Compares two values to determine if the first value (value1) is less than or equal to the second value (value2). value2 value1. Inc. THEN SET THE SET POINT C TO 70 C IF (RMTEMP. Inc. . THEN SET THE SET POINT TO 70 C IF (RMTEMP. The comparison is true if value1 is greater than value2. value1. Use These values are defined as analog or digital numbers.GT.GT. or point names.LE.LE.0 Siemens Building Technologies. Example Example 250 260 270 280 300 310 320 330 340 C IF THE ROOM TEMP IS GREATER THAN C 80.. local variables..GT.0) THEN RMSET = 70.0) THEN RMSET = 70.) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Ž Ž Ž Ž Syntax Syntax if (value1. local variables.value2) then. Example Example 900 910 920 930 600 610 620 630 C IF THE ROOM TEMP IS LESS THAN 80. Inc..) APOGEE PPCL User’s Manual Not equal to (.. 1-15 1-16 C IF THE ROOM TEMP IS NOT EQUAL TO C 80. .. C IF (RMTEMP. C IF (RMTEMP.LT.NE.LT. or point names. Inc. Use Compares two values to determine if the first value (value1) is less than the second value (value2).value2) then. local variables. local variables.) Unitary pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Ž Ž Ž Ž Syntax Syntax if (value1.NE.80. C THEN SET THE SET POINT TO 70.NE. value2 These values are defined as analog or digital numbers.80.0) THEN RMSET = 70.0) THEN RMSET = 70. THEN SET THE SET POINT TO 70..0 Siemens Building Technologies. The comparison is true if value1 is less than value2.Program Methodology—Relational Operators Less than (. or point names. Use These values are defined as analog or digital numbers. if (value1. value1. value2 value1. Compares two values to determine if the first value (value1) is not equal to the second value (value2).value2) then.LT. The comparison is true if value1 is not equal to value2.0 Siemens Building Technologies. ) Condition 1 True Condition 2 False Result is False Result is False Condition 2 True Result is False Result is True Example • Or (.) Both relational operators and logical operators compare two values and produce a result that is called a condition. Siemens Building Technologies.) Each logical operator is described in more detail on the following pages..5:00) THEN ON(LIGHTS) • Exclusive Or (.XOR. then an alternate action is performed.AND. there is a related action for each possible outcome of the condition.AND. logical operator: Table1-1.AND.cond2) then. If one condition is not true. "If it gets warmer than 80°F and I do not have to work.OR.GT. Logical Operator.TIME. Use Example • Used to compare two logical conditions.NAND.Program Methodology—Logical Operators Logical Operators APOGEE PPCL User’s Manual And (." • If both conditions are true. cond1.) • Not And (.LT.) 200 IF (TIME. Your first condition is that the temperature must be greater than 80°F. cond2 The following example describes the function of the logical operator. 1-17 1-18 Siemens Building Technologies.AND. Your second condition tests if you have to work. • A single statement can incorporate a combined total of 16 relational and logical operators. Truth Table for . With logical operators. You have just used a logical operator to define two conditions. see the Order of Precedence section in this chapter. If the condition is true. See Table 1-1 for a comparison of conditions used with the . Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Syntax if (cond1. then I will go to the beach. then a specific action is taken. the result of the comparison is true. Defines a condition that is the result of a comparison between two values. Both conditions must be true in order for you to go to the beach.AND..19:00. Condition 1 False PPCL supports the following logical operators: • And (. . Inc.AND. You say to yourself. You are reading the newspaper one morning and find that it is going to be a beautiful day. then you will not go to the beach. For information on the order in which logical operators are evaluated. If the condition is false. Inc. Defines a condition that is the result of a comparison between two values.. • If at least one of the conditions is true.LT. Logical Operator.EQ.) Unitary APOGEE PPCL User’s Manual Or (.. Example See Table 1-2 for a comparison of conditions used with the . • A single statement can incorporate a combined total of 16 relational and logical operators. AND statements should be used instead of NAND. • Used to compare two logical conditions.OR.Program Methodology—Logical Operators Not And (.EQ.cond2) then.LDO2. cond2 cond1.NAND.5:00.NAND.ON.LDO2. Use Use • Used to compare two logical conditions.ON) THEN OFF(LDO3) ELSE ON(LDO3) Siemens Building Technologies. logical operator: 100 IF (LDO1. 1-19 1-20 Siemens Building Technologies.ON) THEN ON(LDO3) ELSE OFF(LDO3) Table 1-2.. the above example would be written as: 100 IF (LDO1.GT. Inc.NAND. if (cond1. statement is false.) pre-APOGEE APOGEE BACnet Unitary pre-APOGEE APOGEE BACnet 2..3 and earlier. cond2 Defines a condition that is the result of a comparison between two values.EQ. then the result of the . Condition 1 False LDO1 State 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 IF (TIME. the result of the statement is true.cond2) then.EQ.ON. • A single statement can incorporate a combined total of 16 relational and logical operators. Truth Table for .OR.NAND. Inc. In this case.17:00) THEN ON(LIGHTS) Notes For APOGEE Firmware Revision 2.AND. • If both conditions are true.OR.TIME. .OR.OR.4 and later Ž Ž Ž Ž Ž Syntax Syntax if (cond1. cond1. EQ.ON.PMP2. Table 1-3. Syntax if (cond1. cond1. the result of the statement is true. Inc. cond2 Defines a condition that is the result of a comparison between two values. Truth Table for . 1-21 1-22 Siemens Building Technologies. Condition 1 False Condition 1 True Condition 2 False Result is False Result is True Condition 2 True Result is True Result is False Example 200 IF (PMP1. For information on the order in which arithmetic operators are evaluated. this statement is also true. logical operator: Each arithmetic operator is described in more detail on the following pages.XOR.EQ.ON) THEN NORMAL(PMPALM) Siemens Building Technologies. Logical Operator. NOTE: Use A maximum of 15 arithmetic operators can be used in one PPCL program line.Program Methodology—Logical Operators APOGEE PPCL User’s Manual Arithmetic Operators Exclusive Or (.XOR. • Addition (+) • If cond1 is true and cond2 is false.XOR.XOR. see the Order of Precedence section in this chapter. PPCL supports the following arithmetic operators: • Used to compare two logical conditions. When used in PPCL. If cond1 is false and cond2 is true. Inc. the result of a calculation is determined and assigned to a point name or local variable for future reference.cond2) then.) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Arithmetic operators are mathematic functions that are performed on two or more numbers (operands). .. • Multiplication (*) • Division (/) • Subtraction (-) See Table 1-3 for a comparison of conditions used with the . • Assignment (=) • A single statement can incorporate a combined total of 16 relational and logical operators..XOR. 0 Notes Do not to assign values to reserved words. local variable. or number that is assigned to pt1. expression.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. local variables. Siemens Building Technologies. value1.0 COUNT = COUNT + 1. Inc. 1-23 1-24 Siemens Building Technologies. Example 500 C = OATEMP The code in this example would fail due to the “C” being used like a variable. value1 A point name. . or numbers that are used in the calculation. expressions. Inc. Use Use Adds two or more values and stores the sum in a defined location as pt1. pt1 The point name or local variable that receives the value from value1. Example Example 560 560 COUNT = COUNT + 1. value2 Point names. Assigns the value of value1 to the value of pt1. when instead the field panel interprets the line as a comment. See the Reserved Word List in Appendix A. value1 represents the numerator. expression or number used in the calculation.0 Siemens Building Technologies. value2 A point name. local variables. 1-25 1-26 Siemens Building Technologies. local variable. In PPCL. value1 A point name.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. Inc. expression. Use Divides two values (value1 by value2) and stores the quotient in a defined location (pt1). local variable. expressions. or numbers used in the calculation. pt1 A point name or local variable that receives the value of the calculation. Use Multiplies two or more values (value1 and value2) and stores the product in a defined location (pt1).00438 Example 890 AVERAG = TOTAL / 5. value1. value2 represents the denominator. . In PPCL. Inc. or number used in the calculation. value2 Point names. Example 300 SETPT = TEMP * 0. ) 300 • Natural Log (LOG) COUNT = COUNT . Siemens Building Technologies. or numbers that are used in the calculation. see the Order of Precedence section in this chapter. Inc.0 • Sine (SIN) • Square Root (SQRT) • Tangent (TAN) Each arithmetic operator is described in more detail on the following pages. Syntax pt1 = value1 . value1. 1-27 1-28 Siemens Building Technologies. Inc. the result of a calculation is usually assigned to a point name for future reference. value2 Point names.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). • Natural Antilog (EXP) Example • Root (.ROOT. PPCL supports the following arithmetic functions: • Arc-Tangent (ATN) • Complement (COM) • Cosine (COS) Use Subtracts a value (value2) from another value (value1) and stores the difference in a defined location (pt1). expressions. For information on the order in which arithmetic functions are evaluated.value2 pt1 A point name or local variable that receives the value of the calculation. When used in PPCL. local variables. .1. Inc. pt1 A point name or local variable that receives the value of the calculation. 1-29 1-30 Siemens Building Technologies.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. All values used with this function are expressed in degrees. . or number from which the complement is calculated. or number from which the value of the arc-tangent is calculated. value1 A point name. A trigonometric function that calculates the arc-tangent of a value (value1). The result of the calculation is then stored in a defined location (pt1). Inc. The one's complement function converts digital values (0 or 1) to their opposite values. The result of the calculation is then stored in a defined location (pt1). local variable. value1 A point name. local variable. Example Example 500 500 LLSTAT = COM(PROF01) THETA = ATN(VALUE1) Siemens Building Technologies. Use Use A function that calculates a one's complement value for a point (value1). value1 A point name. value1 A point name. AMPS. local variable. A trigonometric function that calculates the cosine of a value (value1). 1-31 1-32 Siemens Building Technologies. . or number from which the value of the cosine is calculated. The result of the calculation is then stored in a defined location (pt1). Example All values used with this function are expressed in degrees. Inc. or number from which the value of the antilog is calculated. AND PHASE ANGLE C ARE KNOWN. Inc. pt1 A point name or local variable that receives the value of the calculation. C PWR = V * I * COS(THETA) Siemens Building Technologies.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. local variable. Use Use Calculates the natural antilog of a point (value1) and stores the result of the calculation in a defined location (pt1). 860 NATANT = EXP(VALUE1) Example 700 701 702 703 704 706 C C THIS FORMULA COMPUTES REAL POWER C WHEN VOLTS. 3. .Program Methodology—Arithmetic Functions Natural Log (LOG) APOGEE PPCL User’s Manual Root (. The result of the calculation is then stored in a defined location (pt1). Inc.0) Siemens Building Technologies. This function calculates the root of the defined points by raising the value of value1 to the inverse power of value2.ROOT. or number from which the value of the log is calculated. pt1 A point name or local variable that receives the value of the calculation. The mathematical notation for the root is represented as follows: Example 200 ENTH = LOG(VALUE1) 3 TEMP The following example demonstrates the same values defined as a line of PPCL program code: Example 310 Siemens Building Technologies.value2) pt1 A point name or local variable that receives the value of the calculation. Inc. value1. local variable.) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Unitary Syntax pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax pt1 = LOG(value1) pt1 = (value1. Use Use Calculates the natural log of a point (value1) and stores the result of the calculation in a defined location (pt1).ROOT.ROOT. local variables. 1-33 1-34 RVAL = (TEMP. value2 Point names. or numbers from which the value of the root is calculated. value1 A point name. . Example 180 SRPT1 = SQRT(PT1) Example 180 VAR = SIN(THETA) Siemens Building Technologies. All values used with this function are expressed in degrees. The result of the calculation is then stored in a defined location (pt1). value1 A point name. or number from which the value of the sine is calculated. Inc. Use Use A trigonometric function that derives the sine of a value (value1). or number from which the value of the square root is calculated. 1-35 1-36 Siemens Building Technologies. local variable. The result of the calculation is then stored in a defined location (pt1). value1 A point name. pt1 A point name or local variable that receives the value of the calculation. Inc. local variable. Derives the square root of a value.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. The value of the point can then be tested or assigned to other points. see the Order of Precedence section in this chapter. pt1 A point name or local variable that receives the value of the calculation. All values used with this function are expressed in degrees. 1-37 1-38 Siemens Building Technologies. Inc. Example 930 TANPT1 = TAN(PT1) Siemens Building Technologies. local variable. NOTE: value1 A point name. Each special function is described in more detail on the following pages. • Alarm priority (ALMPRI) Use • Totalized value (TOTAL) A trigonometric function that calculates the tangent of a value (value1). Since special functions are maintained by the system. they cannot be manually commanded to a different value. PPCL supports the following special functions: Syntax Special functions cannot be used over the network. . The result of the calculation is then stored in a defined location (pt1). or number from which the value of the tangent is calculated. Inc. For information on the order in which special functions are evaluated.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. Besides testing ALMPRI for a specific value.EQ. APOGEE to BACnet Notification Class Reference. For BACnet firmware. Siemens Building Technologies.Program Methodology—Special Functions APOGEE PPCL User’s Manual Table 1-4. Inc. Example 1 230 232 234 236 240 C C THIS LINE TESTS IF THE POINT CALLED C RMTEMP IS AT ALARM PRIORITY LEVEL 1. 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. you can also assign the value of ALMPRI to another point. Table 1-4 outlines the BACnet Notification classes and shows how they relate to the APOGEE ALMPRI values. The value of ALMPRI can range from 1 through 6. C TMPPRI = ALMPRI(RMTEMP) Notes ALMPRI must reside in the same field panel as the point on which the function is being performed. C IF (ALMPRI(RMTEMP).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. the ALMPRI value corresponds to a priority in the Notification class for the point’s current alarm state. Use Accesses the alarm priority level of a point defined in an enhanced alarming control strategy. Inc. . 1-39 1-40 Siemens Building Technologies. 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. operators are now evaluated from left to right.5 + 6 = x 2. logical.5 + 2 * 3 = x C C THIS LINE COMPARES THE TOTALIZED VALUE OF FAN1 C TO DETERMINE IF IT IS GREATER THAN 500. the equation appears as follows: C C THIS LINE ASSIGNS THE TOTALIZED VALUE C OF FAN1 TO THE POINT CALLED FANRUN. Syntax TOTAL(pt1) pt1 • If all the operators in the formula have equivalent precedence levels. 1-41 1-42 Siemens Building Technologies. The last step in evaluating the equation is as follows: Notes 10 . C FANRUN = TOTAL(FAN1) 10 .500. 5 + 6 = 11 3. mathematical. See also See Table 1-5 for a complete list of precedence levels for PPCL operators. Example 1 Example 1 800 801 802 803 804 805 810 10 . FAN1 WILL BE PLACED C INTO ALARM. Use Allows you to access the totalized value of a point. .5 = 5 TOTAL must reside in the same field panel as the point on which the function is being performed. Multiplication has the highest precedence level in this equation.0)THEN ALARM(FAN1) This equation is solved as follows: 1. • Operators that have a higher precedence are evaluated before operators that have a lower precedence. INITTO Siemens Building Technologies. A point name for which the totalized value is taken. Inc. and special function) are evaluated. C IF THE CONDITION IS TRUE. Inc.GT. then the operators are evaluated from left to right. Since the remaining operators have the same precedence level. The first step in evaluating the equation is as follows: 2*3=6 Example 2 800 801 802 803 810 After the first level of operators has been evaluated. C IF(TOTAL(FAN1). The solution to this equation is 11. The following example illustrates how precedence levels are applied to mathematical operators. and . Inc.NE. If all the operators within in the parentheses have equivalent precedence levels. the multiplication operator is evaluated and produces a solution of 21. and . .. condition2) then.). Following the order of precedence rules.. 1. each pair is evaluated according to how it is positioned in the formula. is then evaluated.Program Methodology—Order of Precedence APOGEE PPCL User’s Manual When the computer evaluates multiple pairs of parentheses. the same equation produces a different solution. then the operators are evaluated from left to right.. the solution to this equation is 11. Multiple parentheses are evaluated as follows: Statements containing relational and logical operators are also assigned a precedence level. Since these two operators have the same precedence level. the result of the comparison can change the output of the statement. Siemens Building Technologies.EQ.5 + 2 * 3 = x In this example. The logical operator .NE. value2 (condition1 = true) value1 . value1 . Since . When parentheses are inserted. The standard precedence rules now apply to the remaining operators..5 + 2) * 3 = x If (condition1 . value1 .NE. value3) then. 1-43 After the operators within parentheses have been evaluated. Inc. value3 (condition2 = true) This equation uses two levels of precedence: multiplication and addition/subtraction. Parentheses give the information within the set of parentheses the highest order of precedence. the equation appears as follows: 7 * 3 = 21 2. value2 . Changing Precedence Levels with Parentheses (10 .AND.EQ.EQ.AND. The equation is now solved as follows: 2.5 + 2) = 7 Parentheses can be used to override the normal order of precedence. the solution to this problem will also be true. each pair is evaluated from left to right. assume that both comparisons (condition1 and condition2) are true. the computer always evaluates the innermost set first. Example 10 . Example 2 • For parentheses defined as individual pairs. they are evaluated from left to right.AND. With only one operation left. • For a pair of parentheses defined within another pair of parentheses. 1-44 Siemens Building Technologies. Placing parentheses around specific values or operations gives the information within the set of parentheses the highest order of precedence. The first step in evaluating the equation is as follows: 3. 1.NE. If (value1 . requires both conditions to be true. Note that in problems comparing values using relational operators (. The operators within the parentheses are evaluated from left to right because they all have the same precedence. the equation now looks like the following: (10 .AND.) have the highest precedence level in the formula.EQ. After the first level of operators has been evaluated. This equation is solved as follows: The following example illustrates how parentheses change the way the computer evaluates equations. The relational operators (. OR.LT. Siemens Building Technologies.EQ. and day of the month. Order of Precedence for PPCL Operators. Precedence Level Command APOGEE PPCL User’s Manual Syntax Resident points provide time-based and system status information.value2 • Day (DAY) Equal to . Inc. and communication between nodes.XOR. Do not use resident points in TABLE commands. . PPCL supports the following resident points: • Communications link (LINK) • Peak Demand Limiting point ($PDL) Each resident point is described in more detail on the following pages. or to monitor alarms. These points are used to determine the time. Since each device maintains its own set of resident points. a resident point cannot be used across the network. Inc.GE. 1-45 1-46 Siemens Building Technologies. 1 (Highest) Parentheses (expression or value) 2 Alarm priority ALMPRI(pt1) Arc-tangent ATN(value1) Complement COM(value1) Cosine COS(value1) Natural antilog EXP(value1) Natural log LOG(value1) • Resident points are predefined and maintained by the device. • Month (MONTH) Less than .AND.Program Methodology—Order of Precedence Resident Points Table 1-5.value2) • Alarm count 2 (ALMCT2) 4 Multiplication value1 * value2 Division value1 / value2 • Battery status ($BATT) Addition value1 + value2 • Decimal time (CRTIME) Subtraction value1 . Greater than or equal to . Not and . • Node number (NODE0 through NODE99) Less than or equal to . modes of operation (DAY or NIGHT).NE. • Day of the month (DAYOFM) Not equal to . • Military time (TIME) 5 6 7 8 (Lowest) • The value of a resident point can be tested or assigned to other points. month.GT. Greater than .LE. And .ROOT. date.NAND. • Seconds counter (SECNDS) Or . Sine SIN(value1) NOTE: Square root SQRT(value1) Tangent TAN(value1) Totalized value TOTAL(pt1) • Alarm count (ALMCNT) 3 Root (value1. • Seconds counters (SECND1 through SECND7) Exclusive Or . the computer subtracts one (1) from both values. • If a point is disabled (*PDSB*) or operator disabled (*ODSB*). ALMCT2.5) THEN ON(ALARM8) Notes • A point must be defined as alarmable and enabled for ALMCT2 in order to be counted when that point enters the ALARM state. In other words. When a point enters the ALARM state. . Inc. • In all revisions of field panel firmware. the ALMCNT and ALMCT2 counters work the same with enhanced alarms as they do with regular alarms. Use This resident point is similar to the ALMCNT point. the computer subtracts one (1) from the value of ALMCNT.GT. COMMAND ON ALARM8 C IF (ALMCT2. DISALM Siemens Building Technologies. When a point returns to the NORMAL state.0) THEN ON(ALARM7) 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 other words. the counters do not increment again when an enhanced alarm point changes from one alarm level to another. these counters do not increment again when an enhanced alarm point changes from one alarm level to another. the computer adds one (1) to the value of ALMCNT. ALMCT2 specifies if the second alarm counter should be incremented when a point enters the ALARM state. ENALM. Example 340 IF (ALMCNT. See also *For pre-APOGEE. the ALMCNT and ALMCT2 counters work the same with enhanced alarms as with regular alarms. • The level of alarm does not affect ALMCNT and ALMCT2. When a point returns to the NORMAL state. ENALM.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. ALMCNT will still increment and decrement accordingly. C IF THE SECOND LEVEL ALARM COUNTER BECOMES C GREATER THAN 5. Inc.GT.* • The level of alarm does not affect ALMCNT and ALMCT2. DISALM See also ALMCNT. When a point enters the ALARM state. • In all revisions of field panel firmware. ALMCT2 can only be used with digital points. 1-47 1-48 Siemens Building Technologies. the computer adds one (1) to both the value of ALMCNT and ALMCT2. 6.CRTIME. This resident point maintains the current time and stores the value in a decimal format. then the battery has discharged and must be replaced.M.m. • A $BATT value of 50 indicates the battery is about to discharge and should be replaced to prevent any loss of data.LE. FOR C SFAN TO OPERATE. DEAD. Example 500 501 502 503 504 510 • A $BATT value of 100 indicates the battery does not need to be replaced. Either a numeric value or the backup battery status indicators indicate the current status of $BATT.m. then the battery does not need to be replaced. point log.0) THEN ALARM(P26BAT) VTIME = CRTIME Notes CRTIME is updated every second. 7:15 a. 50.17.50 The values for this point can range from 0.00 to 23. Inc. For example: • If $BATT status is OK. DEAD.AND. or OK. 1-49 1-50 Siemens Building Technologies. etc. C IF (CRTIME. The following examples show how CRTIME stores values: $BATT numeric values are 0.DEAD) THEN ALARM(P26BAT) See also LOW.EQ. . 7:30 p.75. OK Siemens Building Technologies. 100 Example 1 200 IF ($BATT. CRTIME can also be used to assign the current value of time to a virtual LAO type point which allows you to read the current time on a graphic.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. Example 2 210 C C THIS CODE DEFINES A TIME PERIOD C FROM 6:45 A. TO 5:30 P.50) THEN ON(SFAN)ELSE OFF(SFAN) IF ($BATT.M. = 7. or 100.GE.EQ. • If $BATT status is LOW or DEAD.999721. $BATT status indicators are LOW. Inc. = 19.25 • A $BATT value of 0 indicates the battery has discharged and must be replaced. EQ. Siemens Building Technologies. Day of the Week 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 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. The value corresponds to the numerical calendar day of a month. Inc.EQ. C IF SO. The values used for the DAY point are as follows: Number This resident point specifies a particular day of any month. 1-51 1-52 Siemens Building Technologies. Inc. C IF (DAYOFM. Valid values for DAYOFM are 1 through 31. Example 300 C THIS SECTION OF CODE DETERMINES IF C IT IS THE FIRST DAY OF THE MONTH.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. generating a report on the first day in the month).1) THEN TOTMON = 0 IF (DAY.1) THEN TOTRAN = 0 Notes These values are not related to the modes used in the TODMOD statement. . SET TOTMON TO 0. the node where the LINK point resides is not communicating with the network. 3 March 4 April Example 5 May 300 6 June 7 July 8 August 9 September 10 October 11 November 12 December IF (LINK.LE.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.4. The values used for the MONTH point are as follows: Depending on the status of the communications link.MONTH.10) THEN SEASON = 1 ELSE SEASON = 0 Siemens Building Technologies.0) THEN ON(ALARM) See also Node Number (NODEn) Example 950 Siemens Building Technologies. 1 January 2 February • If the LINK value is 1.GE. Inc. the node where the LINK point resides is actively communicating with the network. Number Month • If the LINK value is 0. Inc. This resident point specifies the current month. 1-53 1-54 IF (MONTH. . a point contains the value 0 or 1.AND.EQ. 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. Valid values for NODE are 0 through 99. use the ADDRESS subpoint of the field panel and equate it to FAILED. • This resident point takes on the current value of the demand prediction for each calculated interval made by the PDLMTR statement. Use This resident point allows the program to check the status of a node on the network. To use PPCL to monitor the failure status of an Ethernet field panel. and trended.EQ. This point is generally used to test for normal operation of nodes for control strategies that depend on network communication. 1-55 1-56 Siemens Building Technologies. The point can be assigned to a virtual LAO point.FAILED) THEN ON(ALARM) See also Communications Link (LINK) Siemens Building Technologies. Inc. Example 300 IF (“!EthernetMBC1:ADDRESS”.EQ. Inc. All devices or CPUs on the network occupy a node corresponding to its address. . Example 350 KWH = $PDL Example 600 IF (NODE22. displayed.FAILED) THEN ON(ALARM) Notes NODE resident points cannot be used in field panels on an Ethernet Automation Level Network (ALN). Example 890 The number that describes which SECNDn point is referenced.PRFON) THEN SECNDS = 0 • The maximum value a SECNDn point can be set to is 9. • The value of a SECNDn point can only be set by a PPCL command. • The initial value of the SECNDS point is set by a PPCL command. Notes Example For APOGEE field panels. This point can also be viewed in the interface using the program name. Inc. The computer adds one (1) to the SECNDn variable for every one second of real time that passes.999. each program has a unique SECNDS point. 1-57 1-58 Siemens Building Technologies. • The SECNDS point can be set to a maximum value of 9.NE. Use These seven resident points count real time seconds and can be used as timers. • Valid values for SECNDn are 1 through 7. 600 IF(SECND1.15) THEN ON(RF) ELSE OFF(RF) Notes For APOGEE field panels. The computer adds one (1) to the SECNDS variable for every one second of real time that passes.999.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. system delimiter (:)SECNDS format. IF (SFAN. These points can also be viewed in the interface using the program name. Siemens Building Technologies. system delimiter (:)SECNDSn format.GT. . each program has unique SECNDSn points. Inc. local variable name format. $LOC points can also be viewed and commanded through the interface using the program name. Syntax • Local variables can contain analog or digital values. which are used for subroutines. The TIME value can contain a value from 0:00 to 23:59. TIME can be used in PPCL for comparison in the IF/THEN/ELSE statement.17:30)THEN ON(SFAN)ELSE OFF(SFAN) For APOGEE field panels. and cannot be directly displayed.GE. TIME • Each set of local variables is designed for a specific task.TIME. are predefined. = 19:30 Example 500 501 502 503 502 510 C C THIS CODE DEFINES A TIME PERIOD C FROM 6:45 A. This resident point maintains the current time and stores the value in military time. • $LOC1 through $LOC15.M. Each local variable is described in more detail on the following pages. Inc.6:45.m. which are used to store the results of calculations. 1-59 1-60 Siemens Building Technologies. system delimiter (:). CRTIME should be used for this purpose.AND. Notes The time is updated every second. TO 5:30 P. Use • Local variables are divided into two categories: subroutine and global storage variables.LE. TIME cannot be used to assign a value to a virtual point since its value is not in a standard decimal form. • LOCAL (the definition of user-defined local variables in APOGEE field panels is discussed in Chapter 3 – Syntax ) 7:30 p. C IF(TIME. FOR C SFAN TO OPERATE.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. . Siemens Building Technologies. Local variables function like virtual points except that they require less memory. The following examples show how TIME stores values follows: PPCL supports the following local variables: 7:15 a.m. = 7:15 • $ARG1 through $ARG15.M. each program has unique $ARG and $LOC variables. Inc. . In this example. Inc. the values would be assigned as follows: The value of OATEMP = $ARG1 Siemens Building Technologies. • Valid values are 1 through 15. the value of the corresponding point is also updated. Instead of defining actual point names in a subroutine. it assigns the value of the next point defined in the GOSUB command (RMTEMP). the computer assigns the value of the first point name (OATEMP) to $ARG1. SETPT $ARG1 = $ARG1 + 1 $ARG2 = $ARG2 + 1 $ARG3 = $ARG3 + 1 The program branches to line number 2000. 2000 2010 2020 GOSUB 2000 OATEMP. Inc. When the computer encounters $ARG2. the computer checks the calling GOSUB command for an available point name. RMTEMP.. values are transferred to $ARGn variables. Example 1000 . When $ARG1 is encountered in line 2000. Use A $ARGn variable represents an actual point name used in a subroutine. The $ARGn variables represent their corresponding points as functions and calculations are performed in the subroutine.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. When a $ARGn variable is encountered in the subroutine section of the program. 1-61 1-62 Siemens Building Technologies. When the value of a $ARGn variable changes. . NOTE: • $LOCn variables can store an analog or digital value. The value of the point is set based on the highest slot in the Priority Array. • SMOKE (Smoke control) • EMER (Emergency) Example 1 200 • PDL (Peak Demand Limiting) MIN ($LOC1. listed from highest to lowest priority. • $LOCn variables can be used throughout the program. Inc. Inc. use a virtual LPACI or LAO point. See also LOCAL Siemens Building Technologies. Notes Local points in APOGEE field panels can store values greater than 32. • NONE (PPCL priority.000.767 (up to 10. a point in EMER priority can be commanded by an operation with OPER. the priority is mapped to one of 16 slots defined using the Command Priority Table. Only one slot in the Priority Array is set for the point when commanding points with the @priority operator. highest priority level) — If you are using APOGEE firmware. or EMER priority. APOGEE and pre-APOGEE Firmware Revisions 12.51/1.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.PT1. . Point priority also determines if an operator or a particular control program is responsible for controlling a point. $LOCn n The number that describes what $LOCn point is referenced.000).PT3) Example 2 100 Unitary firmware does not support the use of priority indicators and manual priority modifications. For BACnet firmware. Syntax BACnet firmware uses a priority array to perform the same function as the APOGEE point priority. • Valid values are 1 through 15. Table 1-5 describes the five APOGEE and pre-APOGEE point priorities in PPCL.0) * 2.5/1.5 and 12. 1-63 1-64 Siemens Building Technologies. lowest priority level) $LOC7 = (50/VALUE1+10. For example.0 A point can only be commanded by an operation with an equal or higher priority.51 support the following priority levels: — If you need to store higher values. APOGEE and pre-APOGEE Point Priority Levels • The maximum value a $LOC point can store is 32767. you might consider creating a local variable by using a LOCAL statement.PT2. • OPER (Operator. Use These points are used to store the results of calculations. SMOKE. SMOKE. APOGEE and pre-APOGEE Point Priorities. SMOKE. Siemens Building Technologies. BN01 is the highest position in the array. the Priority Array retains all commands made at lower priority slot levels. 1-65 1-66 Siemens Building Technologies. EMER. Points in EMER priority can be commanded by operations with OPER. For more information on BACnet point priorities. the command will not be executed. Inc. Any PPCL program or application can command the point. Unlike the APOGEE Point Priority. PDL (Peak Demand Limiting) A Peak Demand Limiting (PDL) program commands the point. A program that monitors smoke alarms is commanding the point. or PDL priority. After a download from the Insight workstation. If the Present Value of the point is at a higher priority slot. Any level in the priority can be commanded at any time. . NOTE: A program that controls the point during emergencies is commanding the point. When the Present Value drops to that slot level. 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. see the APOGEE Field Panel User’s Manual (125-3000). The highest priority level. NONE The lowest priority level. or EMER priority. Table 1-6 explains the BACnet command priorities and shows how they relate to the APOGEE point priority levels. This change in priority is called releasing the point. The Insight workstation does not save or restore the Priority Array. Inc. A point in OPER must be changed to a lower priority before PPCL can resume control of the point. Points in SMOKE priority can be commanded by operations with OPER or SMOKE priority. OPER priority indicates the PPCL program is overridden and an operator is responsible for commanding the point. Table 1-7 explains the BACnet command priorities and shows how they relate to the APOGEE point priority levels. Points in PDL priority can be commanded by operations with OPER. The array contains sixteen slots plus a Relinquish Default slot. the stored point command is executed.Program Methodology—Point Priority Overview Table 1-6. all points are at their Relinquish Default value. and Relinquish Default is the lowest. the @ priority indicator occupies the first parameter location. RFAN will be command ON. OFF. * The TEC Tool can command Priority slot 16 only if it is not being commanded by PPCL. Inc. • Statements such as ON. and SET allow you to define a total of 16 parameters in one statement. TEC tool* BN16 Available Initial value of the point. 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.@EMER) THEN ON(@EMER. If numerous tasks are being performed in the program.RFAN) This statement tests SFAN to determine if it's at EMER priority before turning ON RFAN. If SFAN is at EMER priority. Commanding Points to a Specific Priority Points can be commanded to a specific priority. BACnet Name BN01 Manual Life Safety BN02 Automatic Life Safety BN03 Available BN04 Available BN05 Critical Equipment Control BN06 Minimum On/Off BN07 Available • When using an @ priority indicator within PPCL statements. This decreases the total number of points you can define in a statement to 15. RELEAS. as well as a specific status. Example 200 IF (SFAN. BN09 Available BN10 Available BN11 Available BN12 Available BN13 Available BN14 Available BN15 Available Sched. .Program Methodology—Point Priority Overview At (@) Priority Status Indicators Table 1-7. Testing Point Priorities Programs sometimes fail because a command outside the operation being performed interferes with a point inside the operation. TEC Application NONE Relinquish Default OPER (Operator) SMOK (Smoke) EMER (Emergency) PDL (Peak Demand Limiting) • The priority level defined in a statement occupies one of the parameters. by placing the at (@) symbol before the priority syntax (see Table 1-8). Siemens Building Technologies. the default priority is EMER. 1-67 1-68 Siemens Building Technologies.EQ. Testing the priority of a point helps prevent this from happening. Inc. PPCL. BN08 Manual Operator • When the @ priority is not used. They can also be used to test if a point is at a specific priority or to command a point to a specific priority. testing point priority levels is one method of preventing those tasks from interfering with each other. APOGEE to BACnet Point Priority Reference. the points FAN1 and FAN2 are released to NONE priority. In the following example. The first option allows you to release points to the NONE priority. SMOKE SMOKE • Release the point from a specific priority to NONE priority EMER EMER PDL NONE Releasing the Point to NONE Priority For a complete description of the RELEAS command. see Chapter 3 – Syntax.Program Methodology—At (@) Priority Status Indicators Releasing the Point from a Specific Priority to NONE Priority Table 1-8. SFAN and RFAN are shut OFF and their priorities are changed to OPER. you have two options for changing point priorities with the RELEAS command: NONE SMOKE PDL Pre-APOGEE Firmware Changes the priority to… NONE PDL OPER NONE RELEAS(@PDL … ) OPER • Release the point to NONE priority.FAN2) Siemens Building Technologies.RFAN) When this command is executed. In other words: Example 120 RELEAS(@EMER. . will be released to the NONE priority: Priority syntax Operator @OPER Smoke @SMOKE Emergency @EMER Peak Demand Limiting @PDL No priority (PPCL) @NONE 300 Note that if the point specified is at an equal or lower priority than EMER. With pre-APOGEE firmware. 160 RELEAS(FAN1. In the following example. 1-69 1-70 Siemens Building Technologies. Inc. Inc.FAN2) OFF(@OPER. An operator interface command (such as OIP) is not needed to change the point priority.FAN1. 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. 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 The RELEAS command quickly changes the priority of a point or group of points. it will also be released to NONE.SFAN. any of the points included in the RELEAS command that have a priority of EMER or lower. relinquish default is used if the Command Priority Array is now empty. . Siemens Building Technologies. Inc. if the @ priority indicator is not used. • To test if a point is currently at emergency priority. an example of program code might look like the following: 700 RELEAS(@EMER. the field panel will release points from PDL or EMER priority to NONE.@EMER) THEN ON(HORN) • To command a point at emergency priority. the field panel releases the slot corresponding to EMER in the Command Priority Table. 1-71 1-72 Siemens Building Technologies. Notes • For APOGEE and pre-APOGEE firmware.SFAN) • To release a point in the device from emergency to PPCL priority. the program code might look like the following: 500 ON(@EMER. an IF/THEN/ELSE statement would look like the following: 300 IF (SFAN. • For BACnet firmware. Inc.EQ. The @EMER command is typically used in one of the following situations: Each @ priority indicator is described in more detail on the following pages.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. The value of the point is set based on the highest slot in the Command Priority Array.SFAN) NOTE: Using the @ priority indicator in this manner will not release the point if it has a higher priority (SMOKE or OPER). The @OPER command is typically used in one of the following situations: • To test if a point is currently at operator priority.SFAN) Notes • For APOGEE and pre-APOGEE firmware. Inc. The value of the point is set based on the highest slot in the Command Priority Array. Inc. an example of program code might look like the following: 700 RELEAS(@OPER. . an example of program code might look like the following: Notes 500 For BACnet firmware.SFAN) • To release a point from operator to PPCL priority. ON(@OPER. the field panel uses the slot corresponding to the program's "Priority for Writing". The @NONE command can be used to test if a point currently is at PPCL priority. an IF/THEN/ELSE statement would look like the following: Example 300 The IF/THEN/ELSE statement would look like the following: 300 IF (SFAN. relinquish default is used if the Command Priority Array is now empty. Siemens Building Technologies.@OPER) THEN ON(HORN) • To command a point to operator priority.EQ. the @ priority indicator must be used to release points in any priority to NONE.@NONE) THEN OFF(HORN) IF (SFAN. 1-73 1-74 Siemens Building Technologies. This command identifies the operator 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.EQ. relinquish default is used if the Command Priority Array is now empty. The value of the point is set based on the highest slot in the Command Priority Array. • For BACnet firmware. the field panel releases the slot corresponding to OPER in the Command Priority Table. the field panel will release points from PDL to NONE. SMOKE. the field panel releases the slot corresponding to PDL in the Command Priority Table. Inc. Inc. and PDL to NONE priority. an IF/THEN/ELSE statement would look like the following: • To test if a point is currently at smoke priority.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. • For BACnet firmware. the field panel releases the slot corresponding to SMOKE in the Command Priority Table. • For APOGEE and pre-APOGEE firmware.EQ.@SMOKE) THEN ON(HORN) • To release a point in the device from smoke to PPCL priority.SFAN) NOTE: Using the @ priority indicator in this manner will not release the point if it has a higher priority (OPER). .SFAN) 700 NOTE: Using the @ priority indicator in this manner will not release the point if it has a higher priority (EMER. The @SMOKE command is typically used in one of the following situations: • To test if a point is currently at PDL priority. • For BACnet firmware. RELEAS(@SMOKE. 1-75 1-76 Siemens Building Technologies. an example of program code might look like the following: RELEAS(@PDL. an IF/THEN/ELSE statement would look like the following: 300 IF (SFAN. EMER. The value of the point is set based on the highest slot in the Command Priority Array. The @PDL command is typically used in one of the following situations: This command identifies the smoke control priority level indicator. relinquish default is used if the Command Priority Array is now empty. It is not recommended to release points from PDL priority unless absolutely necessary. if the @ priority indicator is not used. relinquish default is used if the Command Priority Array is now empty. Notes Notes • For APOGEE and pre-APOGEE firmware. an example of program code might look like the following: 700 IF (SFAN. the @ priority indicator must be used to release points from SMOKE. The value of the point is set based on the highest slot in the Command Priority Array.@PDL) THEN ON(HORN) 300 • To release a point in the device from PDL to PPCL priority. Siemens Building Technologies. and OPER).EQ. Failed Point Values If a point in a PPCL statement fails. The configuration for an L2SL point uses two addresses: • The first address controls an ON/OFF switch. If the HOA switch is used as a safety device. MIN(RMMIN.. Inc. Siemens Building Technologies. Inc. Before attempting to command points that contain HOA override switches. Commanding and evaluating the HAND status Some Point Termination Modules (PTMs). Point status indicators can be used to test if a point is at a specific status. the MIN statement will set RMMIN to the last known value for RM1TMP. The point name is LIGHTS and its function is to control the lights for a large conference room.) to indicate the status of a point. AUTO.RM2TMP. a certain action is taken. the statement continues to use the point's last known value. NOTE: Since these points are related specifically to the functions of the device.. The HAND status appears as part of the overall point status. it can result in serious injury to personnel or cause damage to property or equipment. IF (LIGHTS. Point status indicators can be used with IF/THEN/ELSE commands to determine the status of a point. • Points cannot be commanded to or removed from HAND status by using program statements.Program Methodology—Point Status Indicators APOGEE PPCL User’s Manual To verify that the lights are ON in the conference room. and Point Expansion Modules (PXMs) have an optional HAND-OFF-AUTO (HOA) manual override switch that enables you to control equipment at the field panel. point status indicators cannot be used over the network. If the point status equals ON. Example • Points cannot be commanded to HAND by using an operator interface.RM3TMP) If RM1TMP is a physical point that fails when it has the lowest value of the three RMTMP points. The HOA override switch is only method you can use to control whether a point is placed into or taken out of HAND status. the status of LIGHTS is checked to see if it is ON. When this line of code is executed. For example: CAUTION: The HOA override switch is not to be used as a safety device when performing maintenance. Determining Point Status The HAND status identifies a point being controlled by an HOA manual override switch and not the system. Use of this address is optional. an alternate action occurs. This example uses an L2SL point to explain the methodology of testing point status.ON) THEN .RM1TMP. 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. Firmware uses syntactical words (ON. . This status indicates that an HOA override switch is controlling a piece of equipment. Always follow safety procedures when performing maintenance.EQ. If the point status does not equal ON.. • The second address monitors a proof condition. check the status of the PTM or MEC to ensure that the point can be commanded. When a point is at a specific status. and then act accordingly. OFF.. Modular Equipment Controllers (MECs). 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 Siemens Building Technologies. then a particular action occurs. you may need to perform other functions before normal operations can resume.discharged (DEAD) Result • Battery status .51/1. • Alarm acknowledge (ALMACK) • Auto (AUTO) Table 1-9. APOGEE PPCL User’s Manual Point Status Indicators Supported APOGEE Firmware supports the following point status indicators: • Alarm (ALARM) See Table 1-9 for a comparison of the point status while using the HOA override switch. • Failed (FAILED) • Fast (FAST) • Manual override (HAND) • Night mode (NGTMOD) • Off (OFF) CAUTION: • On (ON) Be aware of how your system will react before attempting to control equipment by using an HOA override switch.51/1.51 Pre-APOGEE Firmware Revisions 12. Since the HOA override switch is controlling the point. the last command issued to that point.charged (OK) Digital points: *ON* or *OFF* • Day mode (DAYMOD) Analog points: Value of the current HAND position. OFF HOA switch Equipment being controlled is OFF.5 and 12. while in HAND status.51 support the following status indicators: • ALARM • AUTO • DAYMOD Siemens Building Technologies.5 and 12.Program Methodology—Point Status Indicators When a point is at HAND status. Pre-APOGEE Firmware Revisions 12. • Proof on (PRFON) • Slow (SLOW) Each point status indicator is described in more detail on the following pages. Inc. HOA Switch Setting HAND Point is being controlled by… HOA switch • Battery status . .almost discharged (LOW) • Battery status . This value could differ from the last commanded value.5/1. 1-79 1-80 Siemens Building Technologies.5/1. AUTO Operator interface or PPCL Equipment is being controlled by operator interface or PPCL. is executed. Point Status with the HOA Override Switch. Inc. Manually controlling equipment can cause the system to react in an unstable manner. PPCL continues to issue commands to that point. When the HOA override is switched back to the AUTO position. Once control is returned to the system. the PPCL commands do not take effect. ALARM) then. logical controller. • • OK This parameter can be a digital. This comparison is true if the point status is ALARM.EQ. or pulsed accumulator point type...eq. and DEAD are used specifically to support the $BATT resident point. analog. Inc. LOW. Use • ON This status indicator determines if a point (pt1) is in the ALARM state. .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. Inc. Unitary Firmware Unitary firmware supports the following status indicators: • ALARM • DAYMOD • FAILED • NGTMOD • OFF • ON • PRFON Siemens Building Technologies. • PRFON • SLOW Example The three status indicators OK. 1-81 1-82 Siemens Building Technologies. • NGTMOD pt1 • OFF A point name whose operational status is compared to the status indicator.ALARM) THEN ON(FAN) The HAND status indicator is used to monitor points terminated on Point Termination Modules (PTMs) with an optional manual override switch. 200 IF (TEMP02. .EQ.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.eq. FAN is an alarmable point with Normal Acknowledge Required by Operator Enabled. Example 1 In the following statement. Inc. but requires acknowledgement) FAN Return to Normal state is acknowledged p1 turns ON Example 2 In the following statement. FAN is an alarmable point with Normal Acknowledge Required by Operator Disabled. 1-83 1-84 Siemens Building Technologies.ALMACK) then. This comparison is true if the point alarm state has been acknowledged. that is. Inc.EQ. pt1 Notes A point name that is alarmable For BACnet firmware. OFFNORMAL..ALMACK) THEN ON(PT1) ELSE OFF(PT1) Action System Response FAN is commanded ON Alarm Alarm state is acknowledged pt1 turns ON FAN is commanded OFF pt1 turns OFF (Fan is OFF and Normal. . Use This status indicator determines the status of an alarm acknowledgement. NORMAL. 200 IF (FAN. or FAULT.ALMACK) THEN ON(PT1) ELSE OFF(PT1) Siemens Building Technologies. The Return to Normal has been acknowledged internally) Syntax if (pt1. 200 IF (FAN. the ALMACK is true if any alarm event has been acknowledged. See also LOW.eq. .EQ. Example Example An alternate method to test the battery strength is to use the numeric value (0) of DEAD. OK Siemens Building Technologies..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. A point name whose operational status is compared to the status indicator. Inc. This comparison is true if the battery is discharged.eq..0) THEN ALARM(P26BAT) Notes This function can only be used in field panels that have the ability to monitor the strength of their backup battery. Use This status indicator determines if a point (pt1) is in the AUTO state.AUTO) then.DEAD) THEN ALARM(P26BAT) IF ($BATT. Inc. • Use This status indicator compares the value of the $BATT resident point to determine if the backup battery is discharged.EQ. This parameter must be a LOOAP or LOOAL point type..EQ. pt1 pre-APOGEE if ($BATT. This comparison is true if the point status is AUTO.DEAD) then.AUTO) THEN ON(LIGHT3) 600 IF ($BATT.. 600 200 IF (HOAFAN. 1-85 1-86 Siemens Building Technologies. 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. . See also DEAD.EQ. Inc. Inc.EQ. This status indicator compares the value of the $BATT resident point to determine if the backup battery is operational.OK) then. This comparison is true if the battery is close to discharging. if ($BATT. This comparison is true if the battery is charged..LOW) then.OK) THEN NORMAL(P26BAT) IF ($BATT..50) THEN ALARM(P26BAT) 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. OK Siemens Building Technologies. LOW 1-87 1-88 Siemens Building Technologies.. An alternate method to test the battery strength is to use the numeric value (100) of OK. IF ($BATT.eq.EQ. Example Example 600 600 IF ($BATT. Use Use This status indicator compares the value of the $BATT resident point to determine if the backup battery is about to discharge..100) THEN NORMAL (P26BAT) DEAD. 600 600 IF ($BATT.eq.LOW) THEN ALARM(P26BAT) An alternate method to test the battery strength is to use the numeric value (50) of LOW.EQ. or UC. LTEC.0 Notes This command is only valid for equipment controllers. LCTLR and LTCU point types must be used. • For APOGEE firmware. use the TEC application name.EQ. Example 200 IF (AHU2. • This parameter can be a digital..eq.FAILED) then. Use This status indicator determines if an equipment controller is in DAY mode. DAY mode is also referred to as OCC (occupied) mode. the application name can correspond to a TEC. Inc. 1-89 1-90 Siemens Building Technologies. • For pre-APOGEE firmware. if (pt1. Example 200 IF (CTLR1. Inc. logical controller.. .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. Siemens Building Technologies. • For APOGEE firmware. If an equipment controller is in occupied mode. pt1 pt1 A point name whose operational status is compared to the status indicator.DAYMOD) THEN DAYSP = 75. analog. • For pre-APOGEE firmware..EQ. A point name whose operational status is compared to the status indicator.eq. This comparison is true if the point status is FAILED. PPCL recognizes this status as DAYMOD. define the point as an LCTLR point type. Use This status indicator determines if a point (pt1) is in the FAILED state.DAYMOD) then.. or pulsed accumulator point type.FAILED) THEN ON(HORN) For some equipment controllers. 0 Notes Points must be terminated on a Point Termination Module (PTM) or field panel with a manual override switch.HAND) THEN OADAMP = 8. Use Use This status indicator determines if a point (pt1) is in the FAST state.EQ. Example Example 200 200 IF (FAN. Inc.HAND) then. This status indicator determines if a point (pt1) is in the HAND state. 1-91 1-92 Siemens Building Technologies.FAST) THEN DAMPER = 8. ... This parameter must be defined as an LFSSL or LFSSP point type. • A point name whose operational status is compared to the status indicator.FAST) then.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. This comparison is true if the point status is FAST.0 IF (FAN. if (pt1.EQ. pt1 pt1 A point name whose operational status is compared to the status indicator. This comparison is true if the point is currently being controlled through a manual override switch.eq.. Inc.eq. Siemens Building Technologies.. L2SP..0 Example 200 IF (CNTRL1. Inc.0 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. This status indicator determines if a point (pt1) is in the OFF state. This comparison is true if the point status is OFF.eq.NGTMOD) THEN NGTSP = 78.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. LDO. LOOAL. or LFSSP point type. This parameter must be defined as an LDI. PPCL recognizes this status as NGTMOD. Inc. LFSSL.OFF) then. . Siemens Building Technologies..OFF) THEN RTDAMP = 3. • A point name whose operational status is compared to the status indicator. LOOAP. • This parameter must be defined as an LCTLR point type. NIGHT mode is also referred to as UNOCC (unoccupied) mode. pt1 pt1 A point name whose operational status is compared to the status indicator. if (pt1. 1-93 1-94 Siemens Building Technologies. Example 200 IF (FAN. Use Use This status indicator determines if an equipment controller is in NIGHT mode.eq. If an equipment controller is in unoccupied mode. For some equipment controllers.EQ. L2SL. . LOOAL.0 200 Siemens Building Technologies. . Inc.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. • A point name whose operational status is compared to the status indicator. LDO.. L2SL. This status indicator compares the operational status of a point to the PRFON status indicator. Use This status indicator determines if a point (pt1) is in the ON state.eq. LOOAL. This comparison is true if the point status is ON. or LOOAP point type... • This point must be defined as any LDI. Inc.5 Siemens Building Technologies.PRFON) then.ON) then.EQ. if (pt1. pt1 pt1 A point name whose operational status is compared to the status indicator. L2SP. Example 200 Example IF (FAN. L2SL.ON) THEN RTDAMP = 3. or LOOAP point type. Use This point must be defined as any L2SP.eq.EQ. 1-95 1-96 IF (FAN.PRFON) THEN OADAMP = 8. This comparison is true if the proof for the point is in the ON state. See Subroutine Commands in this chapter for more information. • Modifying the control strategy. 1-97 1-98 Siemens Building Technologies. pt1 • Changing the setpoint of a control loop. Guidelines Use This status indicator determines if a point (pt1) is in the SLOW state. • Make sure routing commands (GOTO) are used correctly. This point must be defined as an LFSSL or LFSSP point type. The following guidelines will help you design a well-organized program that is easy to modify and maintain: Example • Use point names that describe the function of the point. it is best to create a separate program in the same field panel rather than duplicate the control strategy within a single program. Inc. • • Adding code for new equipment. Siemens Building Technologies.SLOW) THEN DAMPER = 13. A point name whose operational status is compared to the status indicator. • 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. Consider that you will most likely make modifications during the life of a program. • With APOGEE firmware. Inc.EQ. determine the order in which the PPCL statements are executed.eq.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. • Use comment lines to document the functions performed by specific groups of statements.SLOW) then. . such as: Syntax if (pt1... 200 IF (FAN.0 • Organize the flow of the program logic from top to bottom so that errors are easier to trace. This comparison is true if the point status is SLOW. There are times that straight-line program code will be the optimal solution. • When making a change to one segment. • This option reduces the amount of mainline program code. Inc. Objectives of Modular Programming The objectives of modular programming are to reduce program code and standardize program code. programs become faster to create. determine if the subroutine contains enough lines and is accessed enough times through one pass of the program to be of any benefit. For example. 2. procedures. The second option is to use a subroutine. you have two programming options. • This option adds five times as much program code. if a specific operation is performed five different times during one pass of the program. A subroutine used for one device can also be adapted for other devices. Inc. If you use an established block of code and do not change the line numbers. and formulas in subroutines. Standardizing Program Code By defining functions. Subroutines help set programming standards that define where functionality is placed in the program. Siemens Building Technologies. program control is transferred to the subroutine. Reducing Program Code If a section of code is used many times during one pass of the program. there is only one section of code to change. a subroutine containing four lines of program code becomes beneficial when it is called more than once. and require less time to test. you must remember to change all occurrences of that code. or to multiple programs running on the network or in one field panel. In this case. • A single line of program code placed in a subroutine will never be executed enough times to be of any benefit. easier to write. control is transferred to that part of the program. you would create more program code for a subroutine than you would by using straight-line program code • Conversely. then that subroutine will always be placed in the same location in the program. When to Use a Subroutine Before creating a subroutine.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. 1-99 1-100 Siemens Building Technologies. 1. This style of programming can be applied to a single program. that code can be defined as a subroutine (also called a module). . Every time the operation is needed. When that routine is needed. The first option is to duplicate the code in five different places in the program. • When making a change. Efficient Use of Subroutines. Inc. Siemens Building Technologies. 2. • Except for the last line of the program. Using GOSUB If the result is "YES. Use the following steps and Table 1-10 to determine when it becomes beneficial to use a subroutine: 1." then it is more efficient to use straightline program code." then it is more efficient to use a subroutine. Observe the following guidelines when using a GOTO command: • Make sure GOTO commands are routing control to a program line and not a comment line. The values in the $ARG points replace their respective point values. Determine how many times the subroutine will be called through one pass of the program. Determine how many program lines a subroutine will contain (excluding the RETURN command). Variable arguments can be passed to the subroutine from the mainline code using $ARG local variables (if applicable). Inc. all GOTO commands must transfer control to a sequentially higher line number. APOGEE PPCL User’s Manual Subroutine Commands Number of Program Lines Number of Calls per Program Pass 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 The GOTO command is commonly used to skip over subroutines or blocks of code and transfer control to another location in the program. 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. 1-101 1-102 Siemens Building Technologies. program control is transferred back to the GOSUB statement by the RETURN command. • If the result is "NO. The field panel then continues processing at the next sequential line number." then there is no benefit for using either method. For information on transferring control to a subroutine. • If no other program lines need to be read during a pass. • If the result is "EVEN.Program Methodology—Converting a Sequence of Operation into Program Code Table 1-10. When the subroutine processing is complete. • • The GOTO command in the last line of the program is the only command that transfers control to the top of the program. Do not use the GOTO command. . see GOSUB and RETURN in Chapter 3–Syntax. The GOSUB command transfers control to a subroutine. and therefore require an individual program. the data used should adequately test all conditions that may be encountered. 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. Programs with a modular design are easier to test because there are fewer variables and lines of code to test.AHU01”) ON (“%AHU%SFAN”) Since the DEFINE statement identifies the AHU that this program controls. • Simulate a sensor or fan motor failure and see how the program reacts. • If the program turns a point ON. Inc. “BUILDING1.. it should be tested. there is no need to change the point names throughout the block of code. Siemens Building Technologies. This block can be copied to each program with changes made only to the DEFINE statement. . Use five programs that duplicate one block of program code.. Inc. Use one PPCL program that contains five duplicate blocks of program code. Modular programming practices make it less time consuming to completely test a program. • Testing checks the durability of the program by providing a wide variety of operating conditions that the program must evaluate. A section of code might look like the following: 100 110 . APOGEE PPCL User’s Manual Program Testing To ensure that a program is working properly. • Testing verifies that the program code works properly under normal operating conditions. For more information. For example. the DEFINE statement can be added to each block of code to identify the unique portion of the point names. time-based statements should not be used in subroutines. find out what happens when you turn it OFF. 1-103 1-104 Siemens Building Technologies. 2. What Should be Tested? Tests can be developed for individual modules or the complete program. When the complete program is tested. individual PPCL programs can be used to replace subroutines. DEFINE (AHU. Two possible options for PPCL programming are as follows: 1. Example Five Air Handling Units (AHUs) use the same control strategy. Testing conditions should include values that the program does not expect to encounter. In some cases.Program Methodology—Converting a Sequence of Operation into Program Code Multiple Programs versus Subroutines For APOGEE field panels. you might include the following conditions: • Enter an input value of 40°F for an input that is defined to accept values from 50°F to 70°F. When using multiple programs. see DEFINE in Chapter 3–Syntax. Inc. the modular programming method makes an easier task of documentation. and information written about the program. For example: Table 1-11. see the user's manual for the device or software you are using. Table 1-11 provides an example of a decision table that defines six pieces of equipment and four modes of operation. • Inputs for a decision table are the types of equipment and all possible modes of operation. The following two methods are commonly used for external documentation: The following documentation methods are described in more detail on the following pages: • Decision tables • Internal documentation • Pseudocode • External documentation Decision tables One or more of these methods can be used to document program operation. This information can be used as a reference to learn about the functions of the control system. The device and software used to program PPCL determines how comment lines must be entered. • 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. SFAN01 WILL REMAIN ON/OFF FOR AT LEAST 5 MINUTES. 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 Supply Fan Vol Modulate Modulate Open Modulate Return Fan Vol Modulate Modulate Open Modulate 1-106 Siemens Building Technologies. you can use these documentation methods as planning tools when designing a PPCL program. You must enter the letter C after the line number to prevent the program from interpreting your comments as program commands. a piece of equipment is compared to each mode of operation to determine the status of that equipment during the mode. Siemens Building Technologies. Example of a Decision Table. In addition. . Like truth tables. Inc. External documentation refers to physical control diagrams. Decision tables provide a visual representation of how a specific piece of equipment interacts with other equipment during each mode of operation. For more information on using comment lines. Internal documentation Internal documentation refers to information written into the program using comment lines.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. a decision table defines inputs that are logically compared to produce outputs (results). 200 210 220 230 C C C C NOTE: Equipment type THIS COMMAND WILL TURN ON SFAN01 IF RMTEMP VALUE FALLS BELOW 68 OR RISES ABOVE 78. layouts. • In each row of the table. Fortunately. 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. Read through the problem to gain an understanding of what the sequence of operation is asking you to do. For example, when solving a programming problem, you might start by asking yourself questions about what is to be accomplished. As you define what must be accomplished, you can create a logical list of the steps the program should perform. You might create a pseudocode list with the following items: If you have a large sequence of operation, you may want to break it down into smaller, manageable sections. 2. Determine modes of operation that will be used during system operation. Examples of operational modes are: • Day mode • Night mode • Emergency mode 1. Check mixed air temperatures Defining the modes of operation helps you design the code in a highly organized manner. 2. Check outside air temperatures 3. Open/close dampers as needed 3. Identify specific controls and procedures that need program code. Look for key phrases, such as: 4. Start/stop fans From this list, you would begin writing program code to accomplish these functions. "This system must control..." "Will perform..." "Cycle..." Solving a Programming Problem "Calculate..." When you first start programming in PPCL, you should have a problem-solving method. The time you spend organizing your ideas in advance helps prevent program logic flaws. The following problem-solving example begins with the sequence of operation, continues through the testing, and ends with documenting the final program code. Each of these phrases becomes some type of control for which you will write PPCL code. 4. Classify each type of control as a mode of operation. 5. Use a decision table or pseudocode to determine the order in which the tasks should be performed. Either of these methods is acceptable, or you may find another method to organize the tasks. Use the method that is the easiest and most helpful for you. Siemens Building Technologies, Inc. 1-107 1-108 Siemens Building Technologies, Inc. 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. • 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. Siemens Building Technologies, Inc. 1-109 1-110 Siemens Building Technologies, Inc. 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. Overview The duty cycling (DC) function 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. Chapter 2 discusses the following topics: • Concepts behind some of the major control applications in the APOGEE Automation System, namely: — Duty Cycling (DC) Applications that can use ON/OFF switching in hourly patterns work best with a duty cycling program. — Enthalpy and Dry Bulb Economizer Control — Peak Demand Limiting (PDL) 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. • Procedures the system uses to schedule operations and optimize system use, namely: — Start/Stop Time Optimization (SSTO) — Time-of-Day (TOD) For specific information on using the PPCL commands identified in this chapter, see Chapter 3–Syntax. 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. Siemens Building Technologies, Inc. 2-1 2-2 Siemens Building Technologies, Inc. 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 within one pound of air. When a coil cools the air, it is cooling both the air and the water vapor contained in the air as humidity. The higher the humidity, the more water vapor is in the air. Since humid air takes more energy to cool than dry air, it would make sense to monitor both the temperature and the humidity of the outside air when we consider the economizer control. Duty Cycling Commands Duty cycling has two commands that can be used independently of each other: DC and DCR. The DC and DCR commands do not have to be defined in a specific order. Conventional economizer control uses only the temperatures of the outside air and return air to determine when to minimize the damper position. The total energy content of the return air may or may not be higher than the outside air. The DC Command • The DC command turns points ON and OFF according to a defined schedule. Example—Economizer 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 77°F return temperature and the 85°F 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. • This command is best applied in situations where the environment is constant or where there are minor deviations in temperature or humidity. For example, a storeroom, maintenance shop, building core, or service area. For more information, see DC in Chapter 3–Syntax. With an economizer that checks the enthalpy, the total enthalpies would be compared. In this case, the 28.8 Btu/lb would be compared to the 31.6 Btu/lb and the outside air dampers would be set to full open. The supply air now only needs to remove 5.6 Btu for each pound of air. The DCR Command • The DCR command turns points ON and OFF according to a temperature range defined with a dead band (DBSWIT). • DCR checks the temperature point value every five minutes. Using an enthalpy economizer for this situation has reduced the cooling energy demand by 50%. • This command is best used in situations where the environment fluctuates or where deviations in temperature or humidity are undesirable. For example, a classroom, meeting room, lobby area, or an area adjacent to an exterior wall. For more information, see DCR and DBSWIT in Chapter 3–Syntax. Siemens Building Technologies, Inc. 2-3 2-4 Siemens Building Technologies, Inc. Inc. Example PDL is monitoring an electrical meter that supplies power to three air handling units and some auxiliary equipment. Once the building is operating at a level where the electrical demand will stay within the setpoint. Two of the air handlers are currently ON while the third air handler is about to be turned ON. The contract often limits electrical use during periods of peak demand and sets a maximum use over a period of time. contact your Siemens Building Technologies representative. Why Use PDL? Companies often have a contracted rate with the utility company based on their expected electrical consumption throughout the year. If the company exceeds the contractual demand. PDL shuts OFF (sheds) the auxiliary loads that are not critical. the equipment remains OFF if restoring the load will exceed the setpoint. • Loads are restored (equipment is turned ON) when electrical demand falls below the setpoint. However. 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. Inc. 2-5 2-6 Siemens Building Technologies. Siemens Building Technologies. If all three air handlers and the auxiliary equipment are operating at one time. To keep electrical demand from exceeding the setpoint. • Enthalpy from dry bulb and dew point (Btu/lb or kJ/kg) For implementation of enthalpy and dry bulb economizer control. . the auxiliary equipment will be restored. the utility company can impose surcharges or charge higher rates.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. PDL predicts that electrical demand will exceed the peak setpoint of 500 kWh. • Enthalpy from dry bulb and relative humidity (Btu/lb or kJ/kg) • PDL reduces the electrical consumption of a building control system by shedding loads (turning OFF equipment) when the electrical demand exceeds a setpoint. a field panel on the network monitors meter readings.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. Inc. duty cycling only controls loads according to a time schedule. Defining Target PDL TPDL uses two PPCL commands that are defined in the loadhandling field panel. In addition to monitoring and predicting demand. . The Predictor Panel There are two types of PDL application programs: PPCL statements are entered in a specified field panel (called the predictor panel) to control all meter monitoring and demand forecasts for a meter area. and assigns shed targets to the other field panels on the network. Siemens Building Technologies. Although duty cycling (DC) can also be used to reduce electrical demand. the Insight workstation monitors meter readings. Inc. Each field panel is responsible for shedding and restoring the loads defined in it. forecasts the demand. PDLDAT – Defines the power consumption limit that is used by the PDL command. 2-7 2-8 Siemens Building Technologies. • Target Peak Demand Limiting (TPDL) • Distributed Peak Demand Limiting The predictor panel compares predicted demand to the demand limit setpoint and decides how many kilowatts of load must be shed for the meter area. forecasts the demand. The load-handling field panel maintains the demand target level by shedding and restoring the loads that it controls. These applications are described in more detail in the following paragraphs. All meter inputs from the field must be connected directly to the predictor panel. The shed target is based on the percentage of total loads that can be shed by the field panel. PDL – Maintains the target kilowatt consumption level by shedding and restoring loads as needed. NOTE: PDL Application Programs Distributed PDL can only work on Protocol 2 networks. With Target PDL (TPDL). If network communication is lost. the predictor panel is also responsible for keeping data for the reports. 2. The PDL function can monitor the total electrical demand and prevent the system from exceeding a demand setpoint. and assigns shed targets to each field panel. The Load-Handling Field Panels Each load-handling field panel receives a demand target from the predictor panel. The commands must be defined in the following order: 1. the field panel continues to limit demand according to its last assigned target. Target Peak Demand Limiting (TPDL) Each predictor panel can control a total of seven load-handling field panels. Where to Use SSTO 4.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.. 2-9 2-10 Siemens Building Technologies. SSTO programs should be used in areas with extreme outside zones. PDLSET. and PDLDPG commands defined in its PPCL program. SSTO calculates that the system needs 20 minutes to warm the lobby to 75°F by 8:00 A. the temperature must be 75°F. 5. This configuration assumes that the predictor field panel does not have any loads defined. The equipment start and stop times are based on the outside and inside temperatures of the building. SSTO is controlling the lobby of a building. SSTO recalculates the optimal values for system operation. Example Each load-handling field panel must have the PDL and PDLDAT statements defined in its PPCL program. predicts usage. 1. 2.M. Inc. PDLDPG – Distributes the difference between the PDL resident point and the setpoint. Each time the value of the indoor or outdoor air temperature changes. If the predictor field panel is also controlling loads. 3. On another day. PDLSET – Assigns various consumption limiting setpoints to specific time intervals. and restarts meters. the PDL and PDLDAT commands must also be defined in the PPCL program. or auxiliary sources of heating or cooling loads. When the lobby opens at 8:00 A. sunlight. maintains consumption reports. PDLDAT – Defines a power consuming load that will be controlled by a PDL command. issues warnings. . PDL – Maintains the target kilowatt consumption level by shedding and restoring loads as needed. SSTO starts the warm-up procedure for the lobby at 7:50 A. PDLMTR – Monitors consumption meters to determine power usage. unstable environments.M.. If the lobby temperature is 72°F at 7:30 A. Inc. • • NOTE: The predictor field panel must have the PDLMTR. the lobby temperature is 69°F..M. SSTO starts the warm-up procedure at 7:40 A. or zones where the space temperature is affected by elements like wind. SSTO calculates that the system needs 10 minutes to warm the lobby to 75°F by 8:00.M.M. Siemens Building Technologies. SSTOCO – Establishes the thermal characteristics of the building based on how the building reacts to changes in temperature. Each day. 2-11 2-12 Siemens Building Technologies. How SSTO Adjusts the Start and Stop Times If the ast or asp variables are continually incrementing or decrementing the calculated times. This command is shared with the Time-Of-Day group of statements and is necessary for SSTO to work. • asp may adjust the calculated stop time (csp) past the latest start time (lst) or latest stop time (lsp). 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). If allowed to reach a high number. these values typically stay below 5 times the variables hcoef4 or ccoef4. • ast may adjust the calculated start time (cst) past the earliest start time (est) or latest start time (lst). then check the SSTO setup and examine the SSTOCO coefficients. Inc. The variables ast and asp may change to help tune the times. SSTO is forced to start or stop at the earliest (est) or latest (lst) time. This means that the equipment always starts or stops at the earliest or latest start or stop time. 3. All optimization calculations and equipment control are performed in the field panel where the SSTO and SSTOCO commands are defined. . Each program within a field panel may also perform SSTO calculations for up to 5 zones. TODMOD – Defines the specific mode for each day of the week.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. 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. CAUTION: Be careful when designing your programs so that functions do not conflict. The following abbreviations are used in this section: asp Adjusted stop time ast Adjusted start time ccoef4 Cooling auto-tune coefficient csp Calculated stop time cst Calculated start time est Earliest start time hceof4 Heating auto-tune coefficient lst Latest start time Siemens Building Technologies. If points used for SSTO are also commanded by another application. They must be specified in the following order: 1. Ast and Asp Initial Settings Set the ast and asp variables to zero during initial setup of the SSTO statement. If the ast or asp value reaches a certain limit. If the SSTO statement has been set up properly. it is possible for the following to occur: 2. Defining SSTO Three PPCL commands are defined in the field panel for SSTO. Inc. SSTO – Calculates optimal start and stop times. d = Indoor temperature minus the desired temperature. • Cooling Season—Optimum Start Time Where: • Cooling Season—Optimum Stop Time LB • Heating Season—Optimum Start Time = Latest begin time defined in the SSTO command. Inc. • Heating Mode at Occupancy End CC = Cooling coefficient (ccoef1) from SSTOCO command. 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.(d * f * (CT/10)) + AB • Cooling Mode at Occupancy Begin Where: • Cooling Mode at Occupancy End OB = Occupancy begin time from SSTO command. 2-13 2-14 Siemens Building Technologies.(d * CC) . • Heating Mode at Occupancy Begin The example values for coefficients shown in this manual should not be used without first calculating what the number should be. . Siemens Building Technologies. then the optimum start time is LB. then the optimum start time is: • Heating Season—Optimum Stop Time OB . AB = Adjust begin time from SSTO command. If the indoor temperature is greater than or equal to the desired temperature. Inc. NOTE: f = Outdoor temperature minus the desired temperature. used for calculating the optimal start and stop times during the heating and cooling seasons.Control Option Comparisons—Start/Stop Time Optimization (SSTO) SSTO Formulas The following formulas. CT = Cooling transfer coefficient (ccoef3) from SSTOCO command. Inc. then the optimum stop time is LB: Where: LE = Where: Latest end time from SSTO command. HT = AE = Adjust end time from SSTO command. then the optimum start time is: OE + ((10 * CR * d)/f) + AE OB + (d x HC) . d = Indoor temperature minus the desired temperature. OB = Occupancy begin time from SSTO command. d = Indoor temperature minus the desired temperature. LB Siemens Building Technologies. f = Outdoor temperature minus the desired temperature.Control Option Comparisons—Start/Stop Time Optimization (SSTO) Cooling Season—Optimum Stop Time If the indoor temperature is less than the desired temperature. HC = Heating coefficient (hcoef1) from SSTOCO command. 2-15 2-16 = Latest begin time from SSTO command. If the indoor temperature is greater than or equal to the desired temperature. Inc. Siemens Building Technologies. . the optimum stop time is LE: If the indoor temperature is greater than or equal to the desired temperature. AB = Adjust begin time from SSTO command. Heating transfer coefficient (hcoef3) from SSTOCO command.((d * f * HT) / 25) + AB Where: Where: OE = Occupancy end time from SSTO command. 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. f = Outdoor temperature minus the desired temperature. CR = Cooling retention coefficient in hours (ccoef2) from SSTOCO command. Siemens Building Technologies. Where: AB = AB + CA d = Indoor temperature minus the desired temperature. 2-17 2-18 Siemens Building Technologies. Inc. HR = Heating retention coefficient (hcoef2) from SSTOCO command. CA = AE = Adjust end time from SSTO command. AB = Adjust begin time from SSTO command.CA = Latest end time from SSTO command. Cooling auto-tune coefficient (ccoef4) from SSTOCO command. OE + ((25 * HR * d) / f) + AE Where: If the indoor temperature is less than the desired temperature minus one degree. then the optimum stop time is: AB = Adjust begin time from SSTO command. then: Where: LE AB = AB . CA = Cooling auto-tune coefficient (ccoef4) from SSTOCO command. 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. Inc.Control Option Comparisons—Start/Stop Time Optimization (SSTO) Heating Season—Optimum Stop Time If the indoor temperature is less than the desired temperature. then: OE = Occupancy end time from SSTO command. Where: If the indoor temperature is greater than or equal to the desired temperature. f = Outdoor temperature minus the desired temperature. . 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. CA = Cooling auto-tune coefficient (ccoef4) from SSTOCO command. HA = Heating auto-tune coefficient (hcoef4) from SSTOCO command. 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 = Adjust end time from SSTO command. CA = Cooling auto-tune coefficient (ccoef4) from SSTOCO command. Siemens Building Technologies, Inc. 2-19 AB = Adjust begin time from SSTO command. HA = Heating auto-tune coefficient (hcoef4) from SSTOCO command. 2-20 Siemens Building Technologies, Inc. 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. Where to Use TOD TOD can be used for running equipment on a scheduled basis. For example, lights, doors (locking and unlocking), or exhaust fans. CAUTION: If the indoor temperature is less than the desired temperature minus one degree, then: Be careful when designing your programs so that functions do not conflict. If points used for TOD 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. AE = AE + HA Where: AE = Adjust end time from SSTO command. HA = Heating auto-tune coefficient (hcoef4) from SSTOCO command. 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. Siemens Building Technologies, Inc. 2-21 2-22 Siemens Building Technologies, Inc. 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. APOGEE PPCL User’s Manual Example 2: Holidays defined in TOD calendar, but not in PPCL The following example illustrates the results when defining holidays using the TOD Calendar. The TOD calendar has the following entries: Example 1: Holidays defined in PPCL, but not in the TOD calendar Holiday 08-Sep-1994 Holiday The program contains the following PPCL TOD commands: The following example illustrates the results when defining holidays using the PPCL HOLIDA command. 50 03-May-1994 HOLIDA(5,3,9,8) The following TOD commands are defined in the TOD database: 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 Based on this schedule, the following will occur: • Every day except May 3 or September 8, LITE1 will go ON at 18:00 and turn OFF at 07:00, and FAN1 will go ON at 18:00 and turn OFF at 19:00. • On May 3 and September 8, LITE1 will go ON at 17:00 and turn OFF at 10:30, while FAN1 will not be commanded. Holiday Example 3: Holidays defined in both PPCL HOLIDA and the TOD calendar The following example illustrates the results when defining holidays using both the PPCL HOLIDA statement and the TOD calendar. Based on this schedule, the following will occur: • Every day except May 3 and September 8, LITE1 will go ON at 18:00 and turn OFF at 07:00, and FAN1 will go ON at 18:00 and turn OFF at 19:00. NOTE: • On May 3 and September 8, LITE1 will go ON at 17:00 and turn OFF at 10:30, while FAN1 will not be commanded. Problems can occur if different holiday schedules are defined in the HOLIDA statement and in the TOD calendar, and then both methods are used at the same time. The equipment commanded by the PPCL TOD command will not only execute the holidays defined in the HOLIDA statement, but also those defined in the TOD calendar. If you choose to define a holiday using the PPCL HOLIDA statement and the TOD calendar, make sure that the holiday is defined the same in both places. Siemens Building Technologies, Inc. 2-23 2-24 Siemens Building Technologies, Inc. until 5:00 A. The IF/THEN/ELSE statement for this schedule might look like the following: The PPCL HOLIDA command defines the following holidays: 100 100 102 104 110 HOLIDA(4.AND. 2-25 2-26 Siemens Building Technologies.14) The TOD calendar defines the following holidays: 03-May-1994 Holiday 08-Sep-1994 Holiday C THIS LINE OF CODE TURNS THE LIGHTS C OFF AT 5:00 AM AND ON AT 7:00 PM. Siemens Building Technologies.6. C IF(TIME. Holiday The lights must be ON from 7:00 p.m. Example The following example illustrates TOD scheduling using the IF/THEN/ELSE command to control the outdoor parking lights for a building.5:00. Inc.19:00)THEN OFF(LITES)ELSE ON(LITES) Based on these schedules.TIME. time scheduling can be accomplished using the IF/THEN/ELSE command.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. Inc.M. . May 3.GT.LT. June 14. • This causes a problem if LITE1 should only operate on a holiday schedule of May 3 and September 8. the following will occur: • LITE1 operates according to the holiday schedule on four days: April 1. and September 8.1. specifically the system calendar. Inc. . which replaces TOD in PPCL. • Equipment scheduling uses replacement days and special days. Siemens Building Technologies. Inc.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. • The R1 replacement day in equipment scheduling corresponds to the Holiday Schedule in the TODMOD command. Some portions of TOD programming are shared by equipment scheduling. 2-27 2-28 Siemens Building Technologies. ...... 75 Peak Demand Limiting PDL .............................116 Dead Band Switching DBSWIT ...................... 27 Siemens Building Technologies............................................................................................................................................................................................................................................................................................................................................................................... 43 Point Control INITTO................................................................................................................................... 63 MAX.............................................................................................................................................................................. 65 Activate/Deactivate PPCL Lines ACT .................................................................................................................................................................................................... 98 SET ..... .................................................................................................. 47 Emergency Control EMON.................................. 90 Closed Loop Control ADAPTM ...... 45 Operator Interface Program OIP ....................................................................................... 70 TIMAVG.................................... 26 NIGHT ............................................................................................................................................................................................................................. 16 LOOP .......................................................................... 71 IF/THEN and IF/THEN/ELSE................ 60 COV Control DISCOV............................................................... This chapter is arranged alphabetically by command....... 73 STATE.......... 40 EMSLOW .................................... Inc...................... 50 RETURN ................................................. 42 EMOFF...................................................................................................................................... 83 PDLDPG ........................................................................................................................................................................ 34 ENABLE ............................................ 33 DISABL.................... 41 EMFAST...... and special exceptions for each command........................................................................................................................................................... 25 FAST ............................... 5 ADAPTS ......................... 78 OFF .............................................................. The following table of contents groups the commands by control function: GOTO Statement GOTO........ 66 Point Commands Conditional Control ON .....................................................................................................................108 WAIT ............................................................................................................................................................................................................................................................................................................ 49 SLOW.................................................... 57 Local Variables LOCAL......................................................................................................................... 94 Chapter 3 describes the syntax................................................................ functionality................................. 4 DEACT .......................................................................................... 29 DCR.. 96 DAY .................. 37 ENCOV...................................................................................... as well as related commands................ 3-1 3-2 Siemens Building Technologies............................ 69 MIN................................................................................................................................................................................................... 31 Enthalpy Optimization Overview GOSUB ........105 AUTO ............................................................................................... 39 EMSET ............................................... 80 PDLDAT ................................. 44 EMAUTO ...................................... Inc............................. 85 PDLMTR .......APOGEE PPCL User’s Manual Duty Cycling Chapter 3–Command Syntax DC ................................. 87 PDLSET ........ ....................112 TODSET.................line16) Program Control line1 through line16 DEFINE ................ 92 Valid PPCL line numbers................................... 48 • A maximum of 16 lines of PPCL code can be controlled with one ACT command..............................................LT.....................102 • The ACT command only affects the lines of PPCL program for the device where the program resides......................................................................................................................................8:00. 79 SAMPLE......TIME..................................................................................................... • Line numbers must be entered as integers ranging from 1 to 32767............ 95 TABLE ..106 Release Statement RELEAS ............................................................................ • A range of PPCL lines cannot be defined using the ACT command....................................................................................................................... 64 NORMAL .. 34 ONPWRT ........................ Inc........................................................................................................ ENABLE Siemens Building Technologies............................ 58 LLIMIT ......................... Start/Stop Time Optimization SSTO............................................. Time of Day HOLIDA . 46 HLIMIT..................................110 TODMOD ............ 59 TOD...........114 Example 100 IF (TIME...................... Use Activates lines of PPCL code so they can be examined and executed...........AND................................................................................................................................................................................. 3-3 3-4 Siemens Building Technologies........ 38 EPHONE .... 24 DISALM ......................GT.. See also DEACT.................................................. DISABL................Command Syntax Point Control and Characteristics ALARM .........................17:00) THEN ACT(120) ELSE DEACT(120) Notes The ACT and ENABLE commands can be used interchangeably............................. 36 ENALM ................................................................................................... 99 SSTOCO ..................... DPHONE.......................................................................................................................................... Inc.......... 71 APOGEE PPCL User’s Manual ACT (Activate lines) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Syntax ACT(line1.... Telephone ID Numbers • ACT only enables PPCL lines that are specifically defined in the command..................................................................... .................................................... • This parameter can be a point name. . and Controlled variable (output signal). mam 3-5 kc Control gain. • This parameter can be a point name.0. • For a system with smaller size coils.0 and 100. Tc is the smallest of tcd. matctl Represents the output of the mixed air temperature control loop (usually an ADAPTS loop). tcd Damper time constant (in seconds). • This value must be greater than 0. Inc. • For English units set kc to 3. or decimal number. very small in value–typically equal to that of the supply air temperature sensor and the damper actuator stroke time. between two successive starts of execution of the ADAPTM algorithm. • This parameter can be a point name.0. • The Sample Time must be less than or equal to onethird of the smallest Time Constant. That is. or local variable name. and is intended to go to TABLE statements–one for each output actuator point (for example.err) pv cv Point name of the process variable being controlled. Siemens Building Technologies. the cv output will not rise above the her value. Sample time (in seconds).st. 1 st ≤ Tc 3 Where: st is the Sample Time. Mixed air damper minimum position. • For applications without dampers (heating and cooling only).0. itself. point name. • For applications without dampers or without mixed air temperature override of the dampers. local variable name. • This value must be between 0.0 and 100. local variable name.dbr.der.0. and tcc. • For a system with larger size coils. Inc.0 and 150. • This parameter can be a point name. and should be in the same engineering units as pv.0. • This value must be greater than or equal to 3 times the st value.0. When the value of matctl is equal to or drops below the value of mam.0.0 percent. typically set st to 10 seconds. multiple) Unitary pre-APOGEE APOGEE BACnet Ž Ž Syntax ADAPTM(pv.mam.0.matctl. set tcd to the value of tcc. • This parameter can be a point name or local variable. dampers and cooling). the coil(s) time constant(s) (minus their actuator times and the supply air temperature sensor's time constant) must be added to the damper time constant.0. direct acting. • This parameter can be an integer.tch.tcc. • For applications with heating and cooling only (no dampers). This signal is 0.Command Syntax APOGEE PPCL User’s Manual st ADAPTM (Adaptive control. or decimal number. • This value should be between -50. local variable name. • This parameter is usually an LAI point.tcd.her.0 and 150. or decimal number. sp Setpoint for the loop against which the process variable is compared. or decimal number. since the air from the dampers must go through the coil(s) before reaching the supply air temperature sensor. set mam to 0. For SI Units set kc to 6. typically set st to 5 seconds. local variable name. It is also the time interval between two samples of data by ADAPTM. This is the time. or decimal number.0 to 100. heating. local variable name. in seconds. but it can be an LAO point or a local variable that represents supply air temperature.kc. • This value must be between 0. However. 3-6 Siemens Building Technologies. tch. • The minimum sample time allowed is 1 second. The damper time constant is. • This value must be between -50. • This parameter can be a point name.cv. set matctl to 100.sp. 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 The ADAPTM heating time constant parameter entry (in seconds) is calculated using this formula: tch = Theating coil + Tdownstream coils + Tsensor + Thcactuator Where: tch = ADAPTM heating time constant parameter (in seconds). sensor: 30 seconds). the damper time constant is: Heating coil time constant: T downstream coils = time constants of other coils alone downstream of heating coil (between heating coil and duct temperature sensor). The heating coil alone has a 5 second time constant. or decimal number. The time constant of the heating coil alone is calculated using the following formula: Tdownstream coils = time constants of coils alone downstream of dampers (between the dampers and the duct temperature sensor). 5 seconds Cooling coil time constant: 20 T hc actuator = stroke time of the heating coil actuator (often 30 Supply air temp. 3-7 3-8 Siemens Building Technologies.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). T sensor = time constant of the supply air sensor (usually about 30 seconds). . The cooling coil alone has a 20 second time constant. Inc. set tch to the value of tcd. Therefore. The damper actuator stroke time is 30 seconds. Theating coil = 0. and a cooling coil. • This parameter can be a point name. a heating coil. The supply air temperature sensor time constant is 30 seconds. Damper actuator: 30 Example Total 85 seconds An AHU has a design CFM of 50000 and the design flow through the heating coil is 465 gpm. Inc. • This value must be greater than or equal to 3 times the st value. The heating coil valve has Siemens Building Technologies. local variable name. • For applications with dampers and cooling only (no heating).02 Tsensor = time constant of the supply air sensor (usually about 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) Tdamper actuator = stroke time of the damper actuator (often 30 seconds) GPMmax = Maximum or design hot water flow rate in gallons per minute Example The AHU has mixed air dampers. 5 seconds ( round to 15 sec onds ) GPM max 258 tch = 2 + 33 + 30 + 30 = 95 seconds tcc Cooling time constant (in seconds).25 = 14.2 seconds ( round to 2 seconds ) 465 GPM max The ADAPTM cooling time constant parameter entry (in seconds) is calculated using this formula: tcc = Tcooling coil + Tdownstreamcoils + Tsensor + Tccactuator Where: tcc = ADAPTM cooling time constant parameter (in seconds) Tdownstream coils = time constants of coils alone downstream of cooling coil (between cooling coil and duct temperature sensor) Tsensor = time constant of the supply air sensor (often 30 seconds) Tcc actuator = stroke time of the cooling coil actuator (often 30 seconds) The tch parameter entry into ADAPTM is: tch = Theating coil + Tdownstreamcoils + Tsensor + Thcactuator Example An AHU has a design CFM of 15000 and the design flow through the cooling coil is 258 gpm.25 CFM max GPM max = 2 . • 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. The time constant of the heating coil alone is: CFM max 50000 Theating coil = 0. • This parameter can be a point name. there is a heating coil with a time constant (alone) of 15 seconds.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.02 = 0. . there is a cooling coil with a time constant (alone) of 33 seconds. It is assumed that the beginning of the heating range is at 0%. The cooling coil valve has a 30 second electric actuator. Inc. local variable Siemens Building Technologies. Downstream of the cooling coil. local variable name. 3-9 3-10 Heating end of range (in percent). The tcc parameter entry into ADAPTM is: tcc = Tcooling coil + Tdownstreamcoils + Tsensor + Tccactuator The time constant of the cooling coil alone is calculated using the following formula: Tcooling coil = 0. set tcc to the value of tcd. The time constant of the cooling coil alone is: CFM max 15000 Tcooling coil = 0.25 = 0. • For applications with heating and dampers only (no cooling coil). • This parameter can be a point name. Inc.02 = 2. or decimal number. Downstream of the heating coil. This parameter tells ADAPTM what percentage of its output is used for heating. 45. Inc. tells ADAPTM what percentage of its output is used for mixed air damper control (free cooling). or decimal number. This parameter. ADAPTM can handle minor variations in the value of her. the value for her will be the same as the second to the last parameter for the TABLE statement controlling the heating coil. • For applications with heating and dampers only (no cooling).50. Typically.0.0) der If the value of her varies slightly due to the path taken in the code. set dbr to 0 Damper end of range. set dbr to the value of der. local variable name. For example. dampers and cooling outputs. . The following figure shows the relationship of dbr to the operation of the heating. along with the Damper Beginning of Range (dbr). • This parameter can be a point name. this value is 50. For applications with dampers and cooling only (no heating). tells ADAPTM what percentage of its output is used for mixed air damper control (free cooling). set der to 100. this value is 45. and ƒ Less than or equal to 100. set her to 0.Command Syntax APOGEE PPCL User’s Manual name.65. ADAPTM can handle minor variations in the value of dbr. Siemens Building Technologies. • For applications with dampers and cooling only (no heating). dampers (for cooling). Typically. • This value must be: ƒ Greater than or equal to dbr. 5050 If other PPCL code is used. TABLE (%X%VRT. or decimal number.100. Inc.%X%HCO. dbr Damper beginning of range. • • This value must be: ƒ Equal to or greater than 0. This parameter. along with the Damper End of Range (der). dampers and cooling outputs. • This parameter can be a point name. 05030 If the value of dbr varies slightly due to the path taken in the code. dbr must still be the value of the output of ADAPTM at which mixed air dampers begin to open from minimum position. • For applications with heating and cooling only (no dampers). set der to the value of dbr.100) 3-11 3-12 Siemens Building Technologies. as shown in the line of code below. • This value must be: ƒ Greater than or equal to her. or decimal number. Damper End of Range also tells ADAPTM what percentage of its output is used for cooling since der defines the beginning of the cooling coil range.$MADCTL. as shown below in the line of code below. and cooling coil outputs. choose a nominal value for dbr. • For applications with heating and cooling only (no dampers). • The end of the cooling range is assumed to be at the adaptive control output of 100%. For example.%X%MAM. TABLE (%X%VRT. and ƒ Less than der. and ƒ Less than or equal to dbr. choose a nominal value for her. the value for dbr will be the same as the third parameter for the TABLE statement controlling the mixed air damper. The following figure shows the relationship of her to the operation of the heating. local variable name. The following figure shows the relationship of der to the operation of the heating. 0.0 ERROR REPORT POINT = %X%ERR Adaptive control technology is a closed loop control application.$MATCTL. Inc.0) C DAMPER RAMP TABLE ($MADRMP.%X%TH1.10.100.%X%MAM.130.%X%MLS. which automatically adjusts the field panel operating parameters to compensate for changes that continuously occur during the normal building control process.100) C FINAL DAMPER SIGNAL MIN (%X%MAO. the value for der will be the same as the third parameter for the TABLE statement controlling the cooling coil. .%X%CCO.65. • This parameter is entered as a point name or local variable name.%X%KC1. OFF) THEN GOTO 2072 C COOLING COIL SIGNAL (ECON=ON) TABLE (%X%VRT.10.0.0.0. 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.65. ADAPTM writes to this point. 180. %X%MAM.0. Inc.$MADCTL.30.100) C MIXED AIR TEMPERATURE CONTROL LOOP IF($MADRCT.100. ADAPTM can handle minor variations in the value of der.0.%X%TD1. If there are two cooling coil TABLE statements because there is an Economizer.$MADRCT. %X%TM2.%X%HCO.Command Syntax APOGEE PPCL User’s Manual Typically.%X%ER1) C HEATING COIL SIGNAL TABLE (%X%VRT.$MADCTL.0. 2000 2002 2004 2006 2008 2010 C C C C C C C C C C C TABLE (%X%VRT.0.$MATCTL) GOTO 2074 C COOLING COIL SIGNAL (ECON=OFF) TABLE (%X%VRT.0. 45. For example. A non-zero means an error.%X%ER2) C ECONOMIZER CONTROL IF (%X%ECM .%X%CCO.%X%KC2. choose a nominal value for der.50.55.100.EQ. 3-13 3-14 Siemens Building Technologies. err 2012 2014 2016 2018 2020 2022 2024 2026 2028 2030 2032 Use ADAPTM CONTROL STATISTICS (LOGICAL FIRMWARE) DIRECT CONTROL LOOP INPUT = %X%SAT OUTPUT = %X%VRT SETPOINT = %X%SAS Siemens Building Technologies.5. A zero means no error.100) C DAMPER CONTROL SIGNAL TABLE (%X%VRT.0. 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.%X%VRT.0.65.%X%TC1.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.0.45.0. ADAPTM(%X%SAT.0.%X%CCO. ADAPTM Example The following example also includes an ADAPTS command for mixed air temperature. Do not share one error point among multiple ADAPTM lines.LT. this value is 65.0.65.0.0.50.0 DAMPER BEGIN RANGE = 50.%X%MAM. as shown in the line of code below.100.0.$MATCTL) THEN GOTO 2056 ADAPTS(%X%MAT.$MADRCT. 2060 Error reporting point. tuning and retuning are not required.$MATCTL.100.100) If other PPCL code is used. choose the one for Economizer ON.0.0 DAMPER END OF RANGE = 65. With adaptive control technology.%X%SAS. MA TEMP CNTRL OUTPUT = $MATCTL MA MIN POSITION = %X%MAM SAMPLE TIME = 5 SECONDS GAIN = %X%KC1 DAMPER TIME CONSTANT = %X%TD1 HEATING TIME CONSTANT = %X%TH1 COOLING TIME CONSTANT = %X%TC1 HEATING END OF RANGE = 45. llcv.cv. APOGEE PPCL User’s Manual ADAPTS (Adaptive control. ADAPTM must be connected to TABLE statements with parameters set such that the mixed air damper output and the cooling coil output have direct action. point name.edb. ADAPTS(pv. • This parameter can be a point name or local variable. sp Setpoint for the loop against which the process variable is compared. NOTE: pre-APOGEE The Soft Controller does not support adaptive control technology. It is usually an LAI point. It is usually an LAO point that represents an actuator signal.llpv. or decimal number. Inc. That is. • This parameter can be an integer. the process does not change its action (direction or sign) within the control range. DX cooling or step controlled electric heat.st. such as a cooling coil with a modulating water valve. in seconds. • The Sample Time must be less than or equal to onethird of the Time Constant. (All AHU loops are open-loop stable. • This value must be between llpv and hlpv. • Modulating–this refers to the loop’s output device.sp. and should represent the same engineering units as the process variable. flow rate.ra. and the heating coil output has reverse action. Siemens Building Technologies.hlpv. 3-15 3-16 Siemens Building Technologies. cv Controlled variable (loop output). air velocity. This is the time. To be able to control. That is. . etc.hlcv.tc. local variable name. • This value should always be between llpv and hlpv.) • Direct or Reverse Acting–this means the process is either always direct or always reverse acting.npv.err) pv Process variable that is being controlled. • This parameter can be entered as a point name.Command Syntax Either the ADAPTM or ADAPTS control statement can be implemented as a one-line replacement for an existing LOOP statement in PPCL. single) Unitary ADAPTM is specifically designed for supply air temperature control in which two or three output devices are controlled in sequence without overlap. It is also the time interval between two samples of data by ADAPTS. • Open-loop Stable–this means that the process can achieve a steady state for every position of the final output device. Inc. cannot be controlled by the ADAPTM or ADAPTS statements in PPCL. adaptive control requires that the loop be: • Controllable–this means that the sensor is in the right range and the output is sufficient to bring the process variable to setpoint. and tc is the Time Constant.kc. APOGEE BACnet Ž Ž Syntax The output of ADAPTM is direct acting–it rises in value as the process variable rises. st Sample time (in seconds). To control multiple outputs. but can be an LAO point–a calculated point representing a temperature. or local variable name. between two successive starts of execution of the ADAPTS algorithm. • This parameter can be a point name or local variable. • The minimum sample time allowed is 1 second. For example. • Not Excessive in Dead Time–this means that the total delay in the sensor and actuator signals should not exceed two times the time constant of the process. 1 st ≤ tc 3 See also ADAPTS. LOOP Where: st is the Sample Time. L/s air max = Maximum or design airflow rate in liters per second. single output) • 5 seconds for fast loops. typically 30 seconds. • 1 or 2 seconds for a discharge air loop. l/s hot water max = Maximum or design hot water rate in liters per second. typically about 30 seconds. 15 GPM max L / s hot water max Control gain. typically about 30 seconds. + T sensor + T hc actuator Where: tc = ADAPTS heating time constant parameter entry (in seconds). • 10 seconds for slow loops. or decimal number. • Since ADAPTS will adapt to the process it is controlling. Humidity Loops • 5 to 10 seconds for return air or space loop. Time constant (in seconds). 3-17 + T damper actuator Where: tc = ADAPTS mixed air temperature time constant parameter entry (in seconds). • This parameter can be a point name. Use the following formula: tc = 0 . Tsensor = time constant of the supply air sensor. local variable name. • This value must be greater than or equal to 3 times the st value.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. typically 30 seconds. Mixed Air Temperature Use the following formula: tc = T ma CFMmax = Maximum or design airflow rate in cubic feet per minute. CFMmax = Maximum or design airflow rate in cubic feet per minute. • This value must be greater than 0. Inc. 25 CFM max GPM max L / s air max + T sensor or 2 . set kc to 3. Heating Coils Flow and Static Pressure Loops • 1 or 2 seconds kc tc Use the following formula: L / s air max CFM max tc = 0 . The Time Constant value is a rough estimate of the time constant of the process. Siemens Building Technologies. GPMmax = Maximum or design chilled water flow rate in gallons per minute. or decimal number. Inc. sensor 3-18 Tma sensor = time constant of the mixed air temperature sensor. • This parameter can be a point name. GPMmax = Maximum or design hot water flow rate in gallons per minute. typically about 30 seconds. typically 40 seconds. Note: Increasing the value of tc slows down the adaptation process. . Tcc actuator = stroke time of the cooling coil actuator. max Where: tc = ADAPTS cooling time constant parameter entry (in seconds). local variable name. 02 or 0 . Temperature Loops (single input.0 for both English and SI Unit applications. Cooling Coils Tsensor = time constant of the supply air sensor. L/s air max = Maximum or design airflow rate in liters per second. 0 L / s chilled water + T cc actuator Thc actuator = stroke time of the heating coil actuator. Siemens Building Technologies. and 200 seconds for large size systems. local variable name.Command Syntax APOGEE PPCL User’s Manual Example 1 Tdamper actuator = stroke time of the mixed air damper actuator. • For pneumatic actuators. 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. The llcv represents the low limit of the ADAPTS output. Siemens Building Technologies. use 130°F or 55°C. • This parameter can be a point name. . typically llcv is the low end of the actuator spring range. local variable name. and 20 seconds for large size systems. This value may differ from the sensor’s high range. Siemens Building Technologies.) • This parameter can be an integer. Inc. • This parameter can be a point name.0 volts. ra llpv Reverse acting flag. or local variable name. • Reverse acting means cv (output) decreases as pv (input) increases. • For electric actuators. Example 2 For supply air temperature control with mixed air dampers. or decimal number. or decimal number. enter a small negative value (-0. This parameter defines the action of the ADAPTS controller. 10 seconds for medium size systems. Airflow Control • • • 6 seconds for small size systems. • This value must be greater than llpv. and 20 seconds for large size systems.1) to cover the possibility of a miscalibrated sensor or small negative air pressures when the fan is off. For the return air/room air (outer/slow) temperature or humidity loop: • 100 seconds for small size systems/rooms*. This value may differ from the sensor’s low range. • This parameter can be a point name. The hlcv represents the high limit of the ADAPTS output. typically hlcv is the high end of the actuator spring range. typically 30 seconds. 100 seconds for medium size systems. The highest pressures occur on startup and when there are large upsets. • This value must be less than hlcv. Example 1 Cascade Control (setpoint reset) For static pressure control. typically llcv is 0. and • 500 seconds for large size systems/rooms*. • This value must be greater than llcv. • For pneumatic actuators. The hlpv is typically the highest value that the pv is expected to achieve. • This value must be less than hlpv. • Valid values are 0 and 1.0% or 10. local variable name. • 250 seconds for medium size systems/rooms*. • This parameter can be a point name. * A full room should have a longer time constant than an empty room. hlcv High limit of control variable. Duct Static Pressure • • • 6 seconds for small size systems.0% or 0. 3-19 3-20 llcv Low limit of control variable. or decimal number. High limit of process variable. Inc. use 30°F or 0°C. 10 seconds for medium size systems. The llpv is typically the lowest value that the pv is expected to achieve. local variable name. hlpv Duct Humidity Control • • • 50 seconds for small size systems. For static pressure control. 1 = reverse acting 0 = direct acting Low limit of process variable. • For electric actuators. enter the highest pressure that will occur in the supply duct. typically hlcv is 100. or decimal number. Example 2 For supply air temperature control.0 volts. point name. For example. npv CAUTION: Each ADAPTS PPCL line of code must have its own unique error point. Inc. start with 1% to 3% of the maximum input value. a static pressure signal can be noisy at certain fan speeds and with a certain sensor positioned too close to the fan.0. • This value must be greater than or equal to 0. ƒ A non-zero indicates an error.5.%X%LP1. The effective setpoint becomes the value of parameter sp +/edb. Noisy process variable. Do not share one error point among multiple ADAPTS lines. local variable name.%X%KC.LT. Adaptation is slowed with npv = 1. such as airflow or static pressure control. 3-21 Error reporting point. Siemens Building Technologies.0. . Thus. follow these rules: ƒ npv = 1 (noisy) for a loop with a very noisy pv.0.1. ƒ npv = 0 (not noisy) for a loop with a pv that is not noisy or only a little noisy. 3-22 Siemens Building Technologies. can be affected by the use of this parameter. %X%NP1.%X%SSS.0 C LOW LIMIT OF OUTPUT = 0. %X%TC. can be very noisy at the low end of its sensor range due to a lack of resolution.0 C HIGH LIMIT OF OUTPUT = 100. or decimal number.1.%X%LP1) THEN GOTO 2042 ADAPTS(%X%SSP. • This parameter can be an integer.. edb can be increased in value until the maximum setpoint tolerance is reached. Some processes inherently create a noisy process variable signal.%X%LP1.Command Syntax edb APOGEE PPCL User’s Manual Error deadband.%X%DB1.0 C ERROR DEADBAND = %X%DB1 C NOISY PROCESS VARIABLE = %X%NP1 C ERROR REPORT POINT = %X%ERR IF(%X%RP1. Noisy means that the value of the process variable jumps up or down abruptly from one sensor scan to another.0.0 is acceptable ƒ For static pressure and flow loops.0. • If small actuator oscillations are observed. such as temperature control or humidity control.0.%X%RP1. ƒ A zero indicates no error. • In general. Setting edb to a value equal to that of the noise will eliminate unnecessary actuator movement.. This parameter determines how much error (process variable minus setpoint) must exist before ADAPTS recalculates its output signal (control variable).100.0. actuator repositioning. err Noisy process variable signals can cause much actuator movement. ADAPTS Example 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 2028 2030 2034 2036 2038 C ADAPTS CONTROL STATISTICS (LOGICAL C FIRMWARE) STATIC PRESSURE CONTROL C DIRECT CONTROL LOOP C INPUT = %X%SSP C OUTPUT = %X%LP1 C SETPOINT = %X%SSS C SAMPLE TIME = 1 SECOND C GAIN = %X%KC C TIME CONSTANT = %X%TC C REVERSE ACTING FLAG = 1 C LOW LIMIT OF INPUT = -0. ADAPTS writes to this point.%X%ERR) 2040 C SUPPLY FAN RAMP 2042 TABLE ($SPFRMP.1 C HIGH LIMIT OF INPUT = 5..1. • This parameter can be a point name.%X%RP1) . point name.. Inc.-0.. An airflow signal.180. • This parameter is entered as a point name or local variable name. or local variable name.100) 2044 C SUPPLY FAN VFD SIGNAL 2046 MIN (%X%SVO. and actuator life. • Initially set edb to the loop’s maximum allowable setpoint tolerance. Other processes can be noisy under certain conditions. ƒ For temperature and humidity loops. edb can be very low–even 0. for example. • The drawback when setting edb to a non-zero value is lack of control accuracy when near setpoint. adaptive control requires that the loop be: A maximum of 16 points can be changed with one ALARM command. Inc. ALARM (Alarm state) Unitary 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.0) THEN ALARM(ROOM25) Notes • Direct or Reverse Acting–this means the process is either always direct or always reverse acting. With adaptive control technology. and humidity control. For example. • Do not use ALARM to command points over the network. static pressure. pt1 through pt16 Use Forces the specified points into the ALARM state... See also DISALM. 3-23 3-24 Siemens Building Technologies. • Modulating–this refers to the loop’s output device. the process does not change its action (direction or sign) within the control range. cannot be controlled by the ADAPTM or ADAPTS statements in PPCL. NORMAL The Soft Controller does not support adaptive control technology. NOTE: IF (ROOM. . To be able to control. single output controller for both linear and non-linear processes. which automatically adjusts the field panel operating parameters to compensate for changes that continuously occur during the normal building control process. DX cooling or step controlled electric heat. LLIMIT. ENALM.pt16) ADAPTS is a general purpose single input. (All AHU loops are open-loop stable. Example applications are mixed air temperature. tuning and retuning are not required. such as a cooling coil with a modulating water valve. • Local variables cannot be used. LOOP Siemens Building Technologies. See also ADAPTM.. return airflow.GT. ALARM(pt1. • Open-loop Stable–this means that the process can achieve a steady state for every position of the final output device. HLIMIT.80.) Example 100 • Points must reside in the same device as the program.. Inc. That is. • Controllable–this means that the sensor is in the right range and the output is sufficient to bring the process variable to setpoint. • The status *AC* is displayed when a point is commanded to the ALARM state.Command Syntax APOGEE PPCL User’s Manual Use Adaptive control technology is a closed loop control application. Name of a point to be placed into the ALARM state. • Points must be defined as alarmable and be enabled for alarming in order to be placed into the alarm-by-command state. • Not Excessive in Dead Time–this means that the total delay in the sensor and actuator signals should not exceed two times the time constant of the process. . • This parameter must be a logical controller (LCTLR) point type.. OFF.18:00) THEN NIGHT(LCTLR2) ELSE DAY(LCTLR2) See also Notes FAST. Changes a LCTLR point to DAY mode status. .TIME. See also NIGHT Siemens Building Technologies. Inc. Use Changes the operational status of an ON/OFF/AUTO point to AUTO. Example Example 100 100 AUTO(EFAN1.7:00. • This parameter must be a LOOAL or LOOAP point type.EFAN2...EFAN3) IF (TIME..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. DAY mode is also referred to as OCC (occupied) mode. A maximum of 16 points can be changed with one AUTO command.GT. ON.. Inc.pt16) pt1 through pt16 pt1 through pt16 Name of a point to be set to AUTO status. Use Name of a point to be set to DAY mode. A maximum of 16 points can be changed with one DAY command. If an equipment controller is in OCC mode. 3-25 3-26 Siemens Building Technologies.OR.. SLOW For some equipment controllers.pt16) DAY(pt1. PPCL recognizes this status as DAY..LT. .RMTEMP..pt12) are commanded ON when the input point value rises above the high limit. 1 = All output points (pt1. local variable name. • Valid values are 0 and 1..SFAN. Siemens Building Technologies.. .pt1. input Point name of the variable being controlled. 3-27 3-28 Siemens Building Technologies.pt12) are commanded ON when the input point value falls below the low limit.high.LDBAND. • A maximum of 12 points can be controlled with one DBSWIT command.RMTEMP. and are commanded OFF when the input point value falls below the low limit..RFAN) Example 2 Syntax 200 DBSWIT(1. point name.low. • This parameter can be an integer..SFAN.. Inc..RFAN) DBSWIT(type. point name.. and are commanded OFF when the input point value rises above the high limit. but it can also be a local variable. Use Provides the ON/OFF switching action of an output point. or decimal number.55. pt1 through pt12 Name of an output point to be turned ON and OFF. 0 = All output points (pt1.. low The low temperature at which a switching action occurs. This is the software equivalent of a thermostat. • This parameter can be an integer.pt12) type The type of dead band switch action. high The high temperature at which a switching action occurs. Inc. • This parameter is usually an analog point.Command Syntax APOGEE PPCL User’s Manual • The operational status of the point is regulated by an analog point using a predefined dead band.58. or decimal number.. • Local variables can be used. DBSWIT (Dead band switch) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Example 1 200 DBSWIT(1. local variable name.HDBAND..input. Point Status During this Time First 5 minutes Second 5 minutes Third 5 minutes Code Number for this 15-minute On/Off Pattern OFF OFF OFF 0 ON OFF OFF 1 OFF ON OFF 2 ON ON OFF 3 OFF OFF ON 4 ON OFF ON 5 OFF ON ON 6 ON ON ON 7 1000 1010 1020 1030 1040 1050 1060 1070 1100 C THIS DC COMMAND DUTY CYCLES HFAN C ACCORDING TO THE FOLLOWING SCHEDULE: C C FIRST 15 MINUTES – ON. See also DCR Siemens Building Technologies. assign a number to represent the ON/OFF pattern for each 15-minute segment.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.7001) Notes The DC command has a priority of NONE. the PPCL program must be structured with IF/THEN/ELSE commands to prevent conflicts between DC and other commands with the same priority. OFF. 1. • This parameter can be a local. • Local. OFF. . Divide one-hour into four 15-minute segments.pt8. Example Table 3-1. Table 3-1 lists the numeric codes and their ON/OFF patterns. 4. Hourly pattern that describes how the point is duty cycled. After the patterns are defined. Therefore... OFF (0) C THIRD 15 MINUTES – OFF. pt3. ON (7) C DC(HFAN. virtual. some equipment is cycled off for short periods of time to distribute equipment wear and reduce operating costs. physical. The left-most digit defines the last 15-minute segment of the hour. • This parameter can be an LDO..pat8) pt1 through pt8 pat1 through pat8 Do the following to create a duty cycle pattern: Name of the output points to be duty cycled. LOOAL. ON. Determine the ON/OFF state for each 5-minute increment of the segment. 2. DC(pt1. OFF (0) C FOURTH 15 MINUTES – ON. or L2SP point type.pat1. LOOAP. Syntax A maximum of 8 points can be controlled with one DC command. OFF (1) C SECOND 15 MINUTES – OFF. • Each digit represents the on/off pattern for one 15minute segment of an hour. as well as an integer. and physical points are valid for pt1. During normal system operation. 3. enter the code numbers in reverse order. L2SL. Inc. Duty Cycle Patterns and Numerical Codes. and pt4.. OFF. The right-most digit defines the first 15-minute segment of the hour. • This pattern is a four-digit code using the numbers 0 through 7. or virtual point. Inc. Using Table 3-1. 3-29 3-30 Siemens Building Technologies. pt2. RM109. point name. • This parameter can be a decimal. or local variable. • This parameter can be a decimal. . THE POINT SFAN01 C WILL REMAIN ON/OFF FOR AT LEAST 5 C MINUTES ON EACH CYCLE. — The output point is commanded OFF when the temperature point value is within the range of the high and low limits. Siemens Building Technologies. and low temperature parameter must be defined. point name. a space temperature. low1 through low4 Low temperature limits of the space points.high1. C THIS COMMAND WILL TURN ON IF C SFAN'S VALUE FALLS BELOW 68 OR C RISES ABOVE 78. or local variable.78. high1 through high4 High temperature limits of the space points. or virtual point type.0) Notes The DCR command has a priority of NONE. logical..high4.. Inc. DCR(SFAN01.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. the PPCL program must be structured with IF/THEN/ELSE commands to prevent conflicts between DCR and other commands with the same priority. temp1 through temp4 Point names of the space temperature points.pt4. Inc. • Makes an ON/OFF decision every 5 minutes according to the value of the parameters.68. Therefore. 3-31 3-32 Siemens Building Technologies.low4) pt1 through pt4 Point names of the output points to be duty cycled. integer. See also DC Use Duty cycles an output point to keep a corresponding temperature within the low and high values of a dead band.temp1..0. physical.low1. integer. high temperature. • This parameter can be an LDO.. • For each point. • A maximum of 4 points can be controlled with one DCR command. — The output point is commanded ON when the temperature point value is above the high limit or below the low limit.temp4. • A range of PPCL lines cannot be defined using the DEACT command. The string text usually contains a significant portion of a long point name.AND.TIME.”BUILDING1.130) ELSE DEACT(120.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.8:00. DEFINE allows program logic to be easily duplicated provided your facility uses a structured naming convention for point names.line16) DEFINE(abbrev. 10 20 DEFINE(AHU.130) ON(“BUILDING1.17:00) THEN ACT(120. Use Disables lines of PPCL code to prevent them from being examined or executed. 3-33 3-34 Siemens Building Technologies. Valid PPCL line numbers • Line numbers must be entered as integers ranging from 1 to 32767.AHU01. A percentage sign (%) must be placed before and after the abbreviation when it is used in the program. this same line of code looks like the following: 100 20 IF (TIME.AHU01. Example • A maximum of 16 lines of PPCL code can be controlled with one DEACT command.. Inc. See also ACT. The DEACT and DISABL commands can be used interchangeably. Use Creates an abbreviated notation for a long point name. Represents the string parameter. • DEACT only disables PPCL lines that are specifically defined in the command. string Actual text string that will be substituted where the abbreviation is used. ENABLE Siemens Building Technologies. • The DEACT command only affects the lines of PPCL program for the device where the program resides. DISABL..string) line1 through line16 abbrev Abbreviation used in other PPCL statements.”) ON(“%AHU%SFAN”) Example If DEFINE is not used..LE. .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. Inc..GT. line16) DISALM(pt1.TIME. Example • DISABL only disables PPCL lines that are specifically defined in the command.. that is. NORMAL ACT. 3-35 3-36 Siemens Building Technologies. .. NORMAL. • The DISABL command only affects the lines of PPCL program for the device where the program resides. all three alarm events are disabled.. Use Disables lines of PPCL code to prevent them from being examined or executed.AND. OFFNORMAL.130) • For BACnet firmware. ENALM.GT.. • A range of PPCL lines cannot be defined using the DISABL command. 100 • Do not use DISALM to disable alarm reporting over the network. • Line numbers must be entered as integers ranging from 1 to 32767.17:00) THEN ENABLE(120. ENABLE Siemens Building Technologies. DEACT.OFF) THEN DISALM(ROOM1) ELSE ENALM(ROOM1) Notes • A maximum of 16 lines of PPCL code can be controlled with one DISABL command.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.. Point name that should not report alarms.pt16) line1 through line16 pt1 through pt16 Valid PPCL line numbers. A maximum of 16 points can be controlled with one DISALM command. Inc. Example • The status *PDSB* is displayed when a point is commanded to the DISALM state. Notes The DEACT and DISABL commands can be used interchangeably. HLIMIT. LLIMIT. See also See also ALARM.EQ. Use Disables alarm reporting for the specified points.8:00. Inc..LE...130) ELSE DISABL (120. • Points must reside in the same device as the program. and FAULT. IF (TIME. 50 IF (SFAN. Use Stops devices from reporting updated values (COVs) to the Insight workstation. Until the points defined in this command are enabled. 3-37 3-38 Siemens Building Technologies.5. alarming.. ROOM2) ELSE ENCOV(ROOM1. all operations that use COVs to function will stop..OFF) THEN DISCOV(ROOM1. . updates to graphics.ROOM2) See also ENCOV Siemens Building Technologies. See also EPHONE Example 50 IF (SFAN. Points defined in the statement must reside in the same device as the DISCOV command. 532 DPHONE(1. A maximum of 16 telephone number IDs can be disabled with one DPHONE command.pt16) DPHONE(pn#1.Command Syntax DISCOV (Disable COV) Unitary pre-APOGEE APOGEE PPCL User’s Manual DPHONE (Disable phone) APOGEE BACnet Unitary Ž Syntax pre-APOGEE APOGEE Ž 2. COV printing.3.. The telephone ID number is a numeric code that represents the actual telephone number defined in the device. Use Telephone ID numbers that are defined in the device. and in some cases evaluation of equations.2.EQ.. Inc.. Example A maximum of 16 points can be controlled with one DISCOV command.1 only BACnet Syntax DISCOV(pt1. Inc. will stop. When this command is executed...pn#16) pt1 through pt16 pn#1 through pn#16 Point name that should not report updated changes-of-value (COV).6) Notes Notes Do not use the DPHONE command over the network. Disables telephone ID numbers.. archiving. . • This parameter can be a LOOAL or LOOAP point. A maximum of 16 points can be changed with one EMAUTO command.. EMON... . Fast status) pre-APOGEE APOGEE BACnet Ž Ž Ž Unitary Syntax pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax EMAUTO(pt1..pt16) EMFAST(pt1. EMSLOW Siemens Building Technologies. EMAUTO.. EMSET. Changes the operational status of a FAST/SLOW/ STOP point to FAST with emergency priority. Use Changes the operational status of an ON/OFF/AUTO point to AUTO (local control) with emergency priority. • This parameter can be a LFSSL or LFSSP point. EMON.Command Syntax EMAUTO (Emergency. Inc. See also See also EMFAST. EMSLOW 3-39 3-40 Siemens Building Technologies. EMOFF.pt16) pt1 through pt16 pt1 through pt16 Point name to be set to AUTO status with emergency priority.. A maximum of 16 points can be changed with one EMFAST command. Inc. EMOFF. Use Point name to be set to FAST status with emergency priority. Auto status) Unitary APOGEE PPCL User’s Manual EMFAST (Emergency.. EMSET. A maximum of 16 points can be changed with one EMON command. EMSET.. • This parameter can be a LDI. LDO. Changes the operational status of the specified points to ON with emergency priority. . or L2SP point.. EMSET. L2SL. LFSSL.. A maximum of 16 points can be changed with one EMOFF command. LFSSP. L2SL.. Use Changes the operational status of the specified points to OFF with emergency priority. 3-41 3-42 Siemens Building Technologies. Inc.. LOOAL.. • This parameter can be a LDI. See also See also EMAUTO. EMFAST. Inc. EMSLOW EMAUTO.. LOOAL. EMFAST. EMON.pt16) EMON(pt1. EMOFF. On status) pre-APOGEE APOGEE BACnet Ž Ž Ž Unitary Syntax pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax EMOFF(pt1. LDO. Use Point name to be set to ON status with emergency priority. L2SP.Command Syntax EMOFF (Emergency. LOOAP.pt16) pt1 through pt16 pt1 through pt16 Point name to be set to OFF status with emergency priority. EMSLOW Siemens Building Technologies.. Off status) Unitary APOGEE PPCL User’s Manual EMON (Emergency. or LOOAP point. EMFAST. Slow status) pre-APOGEE APOGEE BACnet Ž Ž Ž Unitary Syntax pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax EMSET(value. 3-43 3-44 Siemens Building Technologies. integer.. EMOFF. Use Changes the operational status of a FAST/SLOW/ STOP point to SLOW with emergency priority. EMON. • This value can be a decimal. • This parameter can be a LAI or LAO point.. EMSET See also EMAUTO. EMSLOW Siemens Building Technologies... pt1 through pt16 pt1 through pt15 Point name to be set to the specified value with emergency priority. Changes output points to a new value with emergency priority. EMFAST. EMON.. • This parameter can be a LFSSL or LFSSP point. Point name to be set to SLOW status with emergency priority.. ..pt15) EMSLOW(pt1. Inc.pt1. See also EMAUTO. Use A maximum of 16 points can be changed with one EMSLOW command. point name.pt16) value Value to which points are commanded. A maximum of 15 points can be changed with one EMSET command.. set value) Unitary APOGEE PPCL User’s Manual EMSLOW (Emergency. Inc.Command Syntax EMSET (Emergency. or local variable. EMOFF. Use Enables alarm reporting for the specified points.TIME. Use A maximum of 16 points can be enabled for alarm reporting with one ENALM command. • ENABLE only enables PPCL lines that are specifically defined in the command. The ACT and ENABLE commands can be used interchangeably. NORMAL 3-45 3-46 Siemens Building Technologies. Inc. DISABL Siemens Building Technologies.GT. DEACT.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. DISALM.EQ. and FAULT.AND. 100 • This command reverses the DISALM command. • The ENABLE command only affects the lines of PPCL program for the device where the program resides. See also See also ACT. Inc. IF (TIME.. • A range of PPCL lines cannot be defined using the ENABLE command. • Points must reside in the same device as the program. Notes • For BACnet firmware.ON) THEN ENALM(ROOM1) ELSE DISALM(ROOM1) Notes • A maximum of 16 lines of PPCL code can be controlled with one ENABLE command.. all three alarm events are enabled.... Enables lines of PPCL so they can be examined or executed. NORMAL. • Each PPCL line must be specified separately..17:00) THEN ENABLE(120) ELSE DISABL(120) • This command does not override *ODSB*. LLIMIT.8:00. OFFNORMAL. Example 50 IF (SFAN. HLIMIT. Point name that should have alarm reporting enabled.. . Example • Points must be set up for alarming and have the ability to report alarms.line16) ENALM(pt1. ALARM.LT.. • Line numbers must be entered as integers ranging from 1 to 32767. that is.pt16) line1 through line16 pt1 through pt16 Valid PPCL line numbers. A maximum of 16 telephone number IDs can be enabled with one EPHONE command.5. alarming.6) Do not use the EPHONE command over the network.Command Syntax ENCOV (Enable COV) Unitary pre-APOGEE APOGEE PPCL User’s Manual EPHONE (Enable phone) APOGEE BACnet Unitary Ž Syntax pre-APOGEE APOGEE Ž 2.. COV printing.. Unless the points defined in this command are disabled. IF (SFAN.pt16) EPHONE(pn#1. Inc. updates to graphics.3. Use Enables devices to report change-of-value (COV) information to other nodes. The telephone ID number is a numeric code that represents the actual telephone number defined in the device. all operations that use COVs to function will start reporting.ON) THEN ENCOV(ROOM1. 3-47 3-48 Siemens Building Technologies. Notes Example See also 50 EPHONE(1.. Enables telephone ID numbers.. Use Telephone ID numbers that are defined in the device..2.EQ. Example • Points defined in the statement must reside in the same device as the command. and in some cases evaluation of equations are reported. 530 • A maximum of 16 points can be controlled with one ENCOV command. Inc. . When this command is executed. ROOM2) ELSE DISCOV(ROOM1. archiving.1 only BACnet Syntax ENCOV(pt1..ROOM2) DPHONE See also DISCOV Siemens Building Technologies..pn#16) pt1 through pt16 pn#1 through pn#16 Point name that is enabled to report updated changes-ofvalue (COV).. ON...pt15) @prior Defines a specific point priority. pt1.. pt1 through pt15 Point name or local variables whose values are to be passed to the subroutine. • A maximum of 15 points can be defined with one FAST(@prior…) command.. IF (RMTEMP. where the subroutine starts). GOSUB line# pt1. The main subroutine commands. • This parameter can be omitted if the subroutine does not use variable arguments. . the next line evaluated is the line following the GOSUB statement. • A maximum of 16 points can be changed with one FAST command. You are limited to a total of eight levels.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..FAN2) See also AUTO. Each call made within a subroutine constitutes a level. the line specified in the GOSUB command is the next line evaluated. When the computer encounters the RETURN command. GOSUB and RETURN are required for all subroutines.. • Line numbers must be entered as integers ranging from 1 to 32767. OFF.pt16) GOSUB line# (pt1..78. Example 10 The variable parameters in a subroutine are designated by the local variables $ARG1 through $ARG15. Inc.... • This parameter can be a LFSSL or LFSSP point line# Indicates which program command line number should be executed next (that is.pt15) pt1 through pt16 or parentheses are optional Point name to be set to FAST status. 3-49 3-50 Siemens Building Technologies..0)THEN FAST(@NONE. FAN1. • This parameter can be a LFSSL or LFSSP point. SLOW Multiple-Level Subroutines A multiple-level subroutine is a block of program code that is called from within another subroutine.GT. Inc. When this command is executed. Use Changes the operational status of a FAST/SLOW/STOP point to FAST. Siemens Building Technologies.pt15 FAST(@prior... pt1 through pt15 Point name to be set to FAST status. Use Subroutines are particularly useful for programs in which the same calculation is carried out several times using different values.. These variables can be used by PPCL code in the subroutine in the same way that point names and constants are used. • Acceptable point types are: LFSSL or LFSSP... which is used to bypass subroutines. This command also defines two values that are passed (PT1 and PT2). • Program flow sequence • Multiple level subroutines Program Flow Sequence This example demonstrates how a number of PPCL commands are used in subroutines.Command Syntax APOGEE PPCL User’s Manual When using multi-level subroutines. the program executes the GOTO command to line 3000 that returns control back to mainline code. The program branches to line 2010. Line 2010 also adds one (1) to the value of $ARG1. For example. After the program returns to the main line code. the values of the two points become: PT1 = 10 1. • If a previously-defined $ARGn variable is not redefined in the call to a new level. Inc. a $ARGn point is assigned a value. 3-51 3-52 Siemens Building Technologies. At line 1010. Inc. will be as follows: • The variables PT1 and PT2 demonstrate the passing of values between subroutines. Line 2030 returns control of the program to the line after the GOSUB command (at line 300). it takes the first point name defined in the GOSUB command (PT1) and stores that value in $ARG1 (10). the GOSUB command transfers control to line 1010. When the program encounters a $ARGn point. two examples of program code are provided in this section: 5. . That is. When the program encounters the second $ARGn variable at line 2020. The GOSUB command used to call this subroutine contains two point names. 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. $ARG1 and $ARG2 would be redefined before the defining the new value of PT3. • When defining a new level in a multi-level subroutine. it takes the second point name defined in the GOSUB command (PT2) and stores that value in $ARG2 (20). Line 1030 branches back to the line after the GOSUB command (at line 130). PT2 = 20 3. it checks the calling GOSUB command for point names. 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. Refer to Figure 3-1 as you follow the program flow sequence. in the third level of a multi-level subroutine. The program continues to sequentially evaluate program lines until it encounters the GOSUB command at line 300. At line 130. PT1 = 11 PT2 = 21 • The $ARG local variable demonstrates how values are passed between subroutines. Siemens Building Technologies. the values of the points after being updated by the $ARGn variables. 4. Subroutine Examples To explain the concept of subroutine program control. the program assigns a value of 10 to PT1 and the value of 20 to PT2. At line 2010. Any new points declared in that level must be placed after the $ARGn variables. When the program encounters the first $ARGn variable at line 2010. list the previously-defined $ARGn variables in sequential order to preserve their values. After one pass of the program. any values introduced in the new level replace the values in $ARGn. Line 2020 also adds one (1) to the value of $ARG2. is also shown in this example. At line 400. • The GOTO command. the GOSUB command transfers control to line 2030 and passes the value defined in PT1 to $ARG1 in the subroutine. . Note that PT3 is placed after the two $ARGn variables. 2. GOSUB 2010 PT1. Refer to Figure 3-2 as you follow the program flow sequence.. . Figure 3-1. • Note that $ARG1 and $ARG2 are placed in the same order in which they were originally defined.. At line 3200. • The new value introduced in the second subroutine (PT2 in the example) is defined after the $ARG1 variable.. C $ARG1 = $ARG1 + 1 $ARG2 = $ARG2 + 1 RETURN 3000 3002 3004 C WHEN THE SUBROUTINE IS FINISHED C EXECUTING. • If $ARG1 is not redefined in the call to the second subroutine. The program flow through one complete pass is as follows: 1. At line 1500.. 3.. . GOSUB 1010 . . • Line 3200 also defines a new point called PT3.. • Since the GOSUB command at line 2500 is defined within another subroutine.*** Multiple-Level Subroutines The following example demonstrates the use of $ARGn variables and point declarations used in multiple-level subroutines. Inc. AND C $ARG COMMANDS. The example program contains a main line section of program code and three subroutines.. 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. . Example Program with Two Subroutines.. the program encounters a call to a second subroutine at line 2500..Command Syntax 100 110 112 120 130 APOGEE PPCL User’s Manual C MAINLINE PROGRAM FOR LOGICAL FIRMWARE C LEARNING HOW TO USE GOSUB.. This example demonstrates a method for preserving the values of $ARGn variables as program control is transferred among subroutines. Siemens Building Technologies. Inc. THE PROGRAM RETURNS TO C MAINLINE CODE. 3-53 3-54 • Sine the GOSUB command at line 3200 is defined within two other subroutines.. PT2 . Siemens Building Technologies. $ARG1 continues to represent the value of PT1. RETURN. 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. the second subroutine calls a third subroutine. While executing the first subroutine. while $ARG2 represents the value of PT2. IT THEN RETURNS C CONTROL TO THE MAIN PROGRAM. any value introduced in the second subroutine replaces the value in $ARG1.. • As the program works with the variables $ARG1 and PT2 in the second subroutine. IT THEN ADDS ONE TO BOTH $ARG C POINTS AND RETURNS THE NEW VALUES TO C PT1 AND PT2. this command must redefine both $ARG1 and $ARG2 in order to preserve their values. this command must redefine $ARG1 in order to preserve the value from the GOSUB command at line 1500. .. $ARG1 and $ARG2 continue to represent PT1 and PT2 respectively. See also GOTO. RETURN Figure 3-2. .$ARG2.. C IN ORDER TO PRESERVE THE VALUE LOCATED C IN $ARG1. SAMPLE. 3100 3200 3210 C VALUE CALLED PT3. . C GOSUB 3030 $ARG1..... 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. • The last line of a subroutine must be a RETURN command. GOSUB 4020 $ARG1.. YOU MUST DEFINE $ARG1 IN THE C SECOND SUBROUTINE'S CALLING GOSUB. . • A GOTO command can be used inside of a subroutine only if the command does not transfer program control out of that subroutine. . Inc. Inc. RETURN 3-55 3-56 Siemens Building Technologies. THE C PROGRAM ALSO PASSES A SECOND POINT C VALUE NAMED PT2..PT2 RETURN 3000 3010 3020 3030 3040 3050 3060 3070 3080 3090 C C SUBROUTINE #2 C . YOU MUST C DEFINE BOTH POINTS IN THE THIRD C SUBROUTINE'S CALLING GOSUB..Command Syntax • APOGEE PPCL User’s Manual As the program branches from the second subroutine to the third subroutine.. C IN ORDER TO PRESERVE THE VALUES C LOCATED IN $ARG1 AND $ARG2.. C THIS GOSUB CALLS THE FIRST SUBROUTINE C AND PASSES THE VALUE DEFINED IN PT1 TO C TO $ARG1. TOD. THE C PROGRAM ALSO PASSES A THIRD POINT Siemens Building Technologies..PT3 RETURN 4000 4010 4020 4030 4040 C SUBROUTINE #3 C . C .... and WAIT inside a subroutine. . • Do not use an IF/THEN/ELSE command with a GOSUB command. Notes • A GOSUB command can only reference point names or local variables. C GOSUB 2030 PT1 2000 2010 2020 2030 2040 2050 2060 2070 2080 2090 2100 2500 2510 C C SUBROUTINE #1 C ... Multiple Level Subroutines.. • Do not use time-based commands such as LOOP. • Do not transfer control out of a subroutine without using a RETURN command. 0) THEN HLIMIT(84. Inc. Example • If the line number indicated in the GOTO does not exist. a point name.pt15) line# value New value to which the high limit is set. . ROOM16)ELSE HLIMIT(78. • This value can be a decimal. • Integers are not allowed. The next line number to which execution is directed. pt1 through pt15 Logical names of analog points whose high limits are changed to the new value. See also See also ALARM. • Line numbers must be entered as integers ranging from 1 to 32767..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. 3-57 3-58 Siemens Building Technologies.. execution is transferred to the next line after the line number specified in the GOTO command. RETURN Siemens Building Technologies. WAIT. or a local variable. timebased commands (LOOP. ENALM.) will not function properly. • Points used in the HLIMIT command must be defined as alarmable.0.ROOM16) Notes • A GOTO command should not transfer program control to a comment line. etc.0. • Points must reside in the same device as the program. Use This command is used to control program execution by branching to a different section of the program.1000) THEN GOTO 50 Sets a new high alarm limit for alarmable analog points. If the last program line is missed because of this. • A GOTO command should only transfer program control to a sequentially higher line number. • Do not use the GOTO command to transfer control to the top of a program. DISALM.70. LLIMIT.GE. 100 IF (OATEMP..GT. Notes A maximum of 15 points can be set to the same high limit with one HLIMIT command.pt1. NORMAL GOSUB. Use Example 10 IF (FANRUN.. Inc. TODSET and SSTO commands in that device. 3-59 3-60 Siemens Building Technologies. • If holidays are defined using both the HOLIDA command and the TOD calendar.day1. 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.. Example 630 HOLIDA(12. TODMOD.12.Command Syntax APOGEE PPCL User’s Manual PPCL HOLIDA statement and the days defined in the TOD calendar.. the mode number for that day in the TODMOD command is set to 16.month8. HOLIDA (Holiday) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž See also TOD.) day1 through day8 Day of the month for the designated holiday. December = 12. • A HOLIDA or TODMOD command in a device will only affect TOD.25.12. (January = 1.day8) month1 through month8 Month of the designated holiday. TODSET Syntax HOLIDA(month1. etc.27) Notes • The HOLIDA and TODMOD commands must precede any TOD or TODSET commands in order for the program to operate correctly. If more than eight holiday definitions are needed. Inc. The first day of the month is entered as 1.. Inc. the equipment commanded will operate in holiday mode on both the days defined in the Siemens Building Technologies. Otherwise. multiple HOLIDA commands can be used. make sure that the holidays are defined as the same day in both places.24. June = 6. • When a holiday date occurs in a HOLIDA command.12.26.. • A maximum of 13 operands can be tested.TIME. • When the IF expression is true. SFAN) Syntax Notes IF(exp) THEN x • GOSUB commands should not be used for the x or y parameters. IF(exp) THEN x ELSE y exp Expression representing one or more logical or relational tests that are the basis for the THEN/ELSE decision making. the THEN command is executed. the ELSE command (if defined) is executed. execution continues with the next line of code. x Represents a condition. ALARM.e. or • Time-based commands such as WAIT and TODMOD should not be directly used for the x or y parameters.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. • The logical test can compare variables. status indicators (i. • If the IF expression is false and no ELSE command is defined.16:00) THEN ON(@NONE. and/or numbers.. • Several logical tests can be linked together with relational or logical operators. • Operands can be point names.LT.70.0) THEN OADPR = 80. or course of action to take if the expression (exp) is true. status indicators.AND. y Represents a condition. state text. Siemens Building Technologies. Inc. Inc. @ priority indicators. . priority indicators.0 Example 2 310 IF (TIME.8:00. ON. 3-61 3-62 Siemens Building Technologies. Use This conditional logic command is used to provide customized decision logic. etc.). constants.GT. or course of action to take if the expression (exp) is false. assignment. • When the IF expression is false.GT. and/or numbers. assignment. and system points.SFAN) ELSE ON(@OPER. • The INITTO command cannot reset the value of LPACI point types. or local variable.0. • This value can be a decimal. Points must reside in the same device as the command.pt15) value The new value which replaces the current totalized values for all specified points. Inc. HLIMIT. . PMP1.PMP2) Notes IF (OATEMP.0) THEN INITTO(0. NORMAL • When used in APOGEE field panels (which can totalize individual states of a point). Inc. Change the totalized value of a point to a new value (generally 0).EQ. A maximum of 15 point names can receive the new value through one INITTO command. DISALM. • Only points that are defined to be totalized can be initialized by this command. INITTO will reset all totalized states of a digital point to zero. or local variable... See also ALARM.0.68. A maximum of 15 points can be set to the same low limit with one LLIMIT command. Use Use Sets a new low alarm limit for alarmable analog points. • This value can be a decimal.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.0.ROOM16) Notes • Points must reside in the same device as the command.GT. • Points must reside in the same device as the program. pt1 through pt15 Names of points that are defined for totalization.. Integers are not allowed. Integers are not allowed.0) THEN LLIMIT(76. Example Example 10 100 IF (DAYOFM. Points must reside in the same device as the control program. point name. value New value to which the low limit is set.. • Points used in the LLIMIT command must be defined as alarmable.pt15) LLIMIT(value. ENALM.1. Siemens Building Technologies.. 3-63 3-64 Siemens Building Technologies.. pt1 through pt15 Logical names of analog points whose low limits are changed to the new value.. point name.pt1. ROOM16) ELSE LLIMIT(68.. which represents a temperature. or decimal. cv Point name of the loop output (control variable).. 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”. 0 = direct acting. pg Proportional gain determines the part of a PID control action that is directly proportional to the error between the setpoint (sp) and the process variable (pv).pt16) LOOP(type. pv Point name of the process variable which is being controlled or regulated. Proportional gain is calculated using the following formula: pg = Siemens Building Technologies. • This parameter is usually an LAO point that represents an actuator signal such as pressure. air velocity. Inc.st. The value of the setpoint should represent the same engineering units as the process variable. • This parameter can be entered as a point name or a decimal number.. • This value can be entered as a local variable. local variable..EQ. flow rate.dg.lo.pg. • Other programs can reference these points by referencing the program name. 128 = reverse acting..pv. sp Setpoint for the loop against which the process variable is compared. Inc.cv.0) pt1 through pt16 type Designates the type of control action.bias. . 3-65 3-66 Full range of controlled device Throttling range to change the output device from full open to full close.sp. . • This value can be entered as a local variable.ig. followed by the system delimiter (:). Names of virtual points created for the program. • This parameter is usually an LAI point. • This parameter can be entered as a point name. • Valid values are 0 and 128.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. integer. Use Creates virtual points for the program. • The program can reference these points as $pt1 through $pt16. etc. current.. or voltage. × 1000 Siemens Building Technologies. followed by the local point name. but it can be an LAO point.hi.ON)THEN . or local variable. Bias is the value (in engineering units) of the control output (cv). or local variable. Adding integral gain can increase the time required to tune the loop. integer. if required. point name. integer.HVALVE. hi High limit of the loop output.5 C LOW = 3. (5 psi spring range ÷ 2 = 2.HSETPT. • The bias value should always be between the high and low value. or local variable. 9.02 • If not using an integral gain. integer.5 psi. enter a zero.0 C HIGH = 9. The time rate of response of the control system. The contribution of integral control action to the total control action of the loop. ADAPTS 3-67 3-68 Siemens Building Technologies. and adjusts an output (control variable) to bring the input closer to the setpoint. or logical point.0. • This parameter is entered as an integer. point name. Bias is calculated by adding 50% of the output control span to the low limit. Begin with a low integral gain and increase it slowly. How frequently (in seconds) the process variable (pv) is sampled. Enter zero. Siemens Building Technologies. .RM100. dg Derivative gain. or local variable. • This parameter is entered as an integer. set ig to 0.0. you would do the following to calculate the bias for a valve with a 3 to 8 psi spring range: • Find one-half of the spring range. When using integral gain. decimal. point name. decimal.1.5. Integral action minimizes offset (the difference between the process variable and the setpoint).5) • Add that value to the low limit of the valve (3 psi). integral. bias Low limit of the loop output.Command Syntax ig APOGEE PPCL User’s Manual Integral gain. or local variable. Derivative gain is usually applied to fast responding systems.0. The high limit should be set to match the high end range of the controlled device. be sure to reduce the proportional gain so that the total gain of the loop is not high enough to cause instability and cycling.0 LOOP(0.PGAIN. • If using an integral gain. Example 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 C CONTROL LOOP STATISTICS C DIRECT CONTROL LOOP C INPUT = RM100 OUTPUT = HVALVE C SETPOINT = HSETPT C PROPORTIONAL GAIN = PGAIN-NO I OR D GAINS C SAMPLE TIME = 1 SECOND C BIAS = 5. in a proportional only loop. point name. Inc. integer. • Anti-windup is automatically prevented for the integral action once the high or low limit is reached. • This parameter can be a point name. A recommended starting point is 2% of the proportional gain. decimal. st Sample time. and derivative control actions in either direct or reverse acting modes.5.0. point name. For example. Inc.3. • This parameter is entered as a decimal. • When derivative gain is not used. • The bias for this device is 5. use the following calculation: ig = pg × . The low limit should be set to match the low end range of the controlled device. when the measured variable (pv) equals the setpoint (sp). compares it with a desired value (the setpoint). • This parameter entered as a decimal number. • The minimum sampling time allowed is 1 second. Adding derivative gain can increase the time required to tune the loop. • This parameter is entered as a decimal. LOOP monitors an input point (process variable).0) Use This command performs closed loop control by using any combination of proportional. • The LOOP command is the software counterpart to a pneumatic receiver controller. 0 Not used. lo See also ADAPTM. pt15) MIN(result. • The values can be any combination of point names... Use Use This command selects the largest value from 2 to 15 point names or numbers.. decimals. decimals.pt15) result Point name where the largest value is stored. Inc. • The values can be any combination of point names..ZONE2. MIN(COOLZN.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.9..ZONE1. Inc.0) See also See also MIN Siemens Building Technologies. pt1 through pt15 Values which are compared.0) MAX 3-69 3-70 Siemens Building Technologies.pt1.ZONE3. and stores that value in the result point. • This parameter can be a virtual point name or local variable.. integers. Example Example 10 10 MAX(HOTZON. • This parameter can be a virtual point name or a local variable. pt1 through pt15 Values which are compared.. result Point name where the lowest value is stored.ZONE3. and local variables. ..ZONE2. (numbers must be in decimal format). This command selects the lowest value from 2 to 15 point names or numbers (numbers must be in decimal format). and stores that value in the result point.pt1. 9. and local variables.ZONE1. integers. Use Use Removes the specified points from the alarm-by-command condition and returns them to their normal operating mode.pt16) pt1 through pt16 pt1 through pt16 Name of a point to be set to NIGHT mode.. LLIMIT DAY Siemens Building Technologies...0) THEN ALARM(ROOM90) ELSE NORMAL(ROOM90) 3-71 3-72 Siemens Building Technologies.pt16) NORMAL(pt1.TIME.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. DISALM.18:00) THEN NIGHT(LCTLR2) ELSE DAY(LCTLR2) Example 100 Notes For some equipment controllers.. Changes a LCTLR point to NIGHT mode status.LT.. Inc. If an equipment controller is in UNOCC mode. Inc. ENALM. HLIMIT. PPCL recognizes this status as NIGHT.7:00. Notes Points must reside in the same device as the program. Example 100 IF (TIME. • This parameter must be a logical controller (LCTLR) point type.80. A maximum of 16 points can be changed with one NIGHT command.OR. A maximum of 16 points can be changed with one NORMAL command. NIGHT mode is also referred to as UNOCC (unoccupied) mode.GT.GT. See also See also ALARM.. ... IF (RM90T. Name of a point to be removed from the alarm-by-command state. .0) THEN OFF(@NONE. Inc. • Acceptable point types are: LDI.pt16) pt1 through pt16 Point names that are commanded to OFF. L2SL.pt15) @prior Defines a specific point priority.. LFSSP) use the OFF command for STOP. • A maximum of 15 points can be defined with one OFF(@prior…) command. Inc..63. LOOAL. LFSSL.Command Syntax APOGEE PPCL User’s Manual See also OFF (Off status) AUTO. L2SP. LFSSL. NOTE: The OFF(@prior) command is not available in Unitary firmware.GE. LDO. Siemens Building Technologies. L2SL. 3-73 3-74 Siemens Building Technologies. LOOAP. • A maximum of 16 points can be changed with one OFF command.. Use Changes the operational status of an ON/OFF/AUTO point to OFF. Example 20 IF (OATEMP. LOOAL.PUMP1. SLOW Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Syntax OFF(pt1. and LFSSP. LDO.. OFF(@prior. . or LFSSP points. LOOAP. ON. pt1 through pt15 Point names of LDI. FAST...PUMP2) Notes FAST/SLOW/STOP points (LFSSL.pt1. L2SP.. 3-76 Siemens Building Technologies. This variable represents the sequence of keystrokes you would enter if you were using a terminal. you must enter a slash (/). and reports should be staggered in time (that is.”S/H/P/I/C/P/<field panel #>/<partner id>”) Example to Dial Out Using a Modem—pre-APOGEE Firmware 100 102 110 Use Allows most operator functions to be executed from within a PPCL program. do the following: ƒ For APOGEE firmware. This command is generally used for the following functions: C PRE-APOGEE OIP COMMAND INFORMATION: C DIAL-OUT TO MODEM OIP(TRIGGER."P/D/P/Y/V/A/N/*") Example to Dial Out Using a Modem—APOGEE Firmware 100 102 110 C APOGEE OIP COMMAND INFORMATION: C DIAL-OUT TO MODEM OIP(TRIGGER. • Changing point priorities • Sending messages • Triggering auto-dial • The OIP command will appear as FAILED if the operator sequence was entered incorrectly and the control program attempts to execute it. enter a period. C C OIP COMMAND INFORMATION: C OPERATOR SEQUENCE C C . the operator sequence is executed once.NAME C . displays. • This parameter can be an LDO or LDI point name or a local variable. • If a pause is needed in a phone number. Inc. • For each level in the sequence that you advance. ''seq'') trigger seq The trigger for the operator interface sequence.RPT7AM OIP(RPT7AM. enter a comma. or during the first execution of the control program after a database load. • The sequence must not exceed 80 characters (including slashes) in length. When the trigger point is turned on. Inc. To execute the operator sequence again. • The sequence must be enclosed in double quotes ('' '').ANY C . .”S/D/<cabinet #>/O/C/<phone # id>/”) Notes • Generating reports • OIP commands used to generate messages. Siemens Building Technologies.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. 3-75 • On return from power failure.YES C . ƒ For pre-APOGEE firmware.ALL NAMES C C TRIGGER POINT .PRINTER C . and then turned ON again. the trigger point must be turned OFF. after an enable command has been executed. do not use the same trigger point for all OIP commands).VALUE C . This allows one command to complete before another begins.DISPLAY C . the OIP command will not execute until the trigger point toggles.POINT C . The OIP command uses a trigger point to determine the conditions for execution. L2SL... Inc. LOOAL.LT..Command Syntax • After the OIP command has been executed. • A maximum of 15 points can be defined with one ON(@prior…) command. OIP (TRIG. L2SP. An example of a multi-point trend display would look like: Changes the operational status of an ON/OFF/AUTO point to ON. • The OIP command cannot be used to perform loop tuning. PUMP1. .0)THEN ON(@NONE.pt15) OIP(TRIG. If a variable in the keystroke sequence begins with a number. OIP (TRIG. • When using an OIP command with an LDO type subpoint. SLOW Siemens Building Technologies. 3-77 3-78 Siemens Building Technologies. OFF. ON(pt1. "P/T/D/P/// Name1/Name2/Name3//10/") • To specify which trend instance should display. then the point name should be preceded by an @ sign. FAST.. APOGEE PPCL User’s Manual ON (On status) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Syntax • If the trigger point name begins with a number. @prior Defines a specific point priority. LOOAL. then the point name should not be preceded by an @ sign. or LOOAP.60. a slash / can be used to represent a carriage return. pt1 through pt15 Point names of LDO. • Acceptable point types are: LDO. Correct 100 ON(@prior..pt16) pt1 through pt16 Point names that are commanded to ON. use the following syntax for the Multi-Point Trend Report: • A maximum of 16 points can be changed with one ON command. the trigger point must be reset (commanded back to its original state) before the OIP command can be executed again. "P/T/D/P/// Name1//Name2//Name3//10/") Example 100 IF (OATEMP.PUMP2) See also AUTO. L2SL. Inc."P/T/D/H///FAN/@1FAN//60/") • The OIP command must be executed with every pass of the program in order to see the trigger point change value. Using any text other than 1 or 0 will cause the statement to fail.pt1.. you must command the point ON/OFF with the number 1 or 0. or LOOAP points. L2SP."P/T/D/H///FAN/1FAN//60/") Incorrect 100 OIP(TRIG. Use • In an OIP statement... sh1 Shedding sequence for group 1. • Enter this number as an integer. this command is ignored.sh4) Line number at which execution begins in the control program after returning from power failure. • Valid values are 0 and 1.g1e.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. line# area Meter area number. Siemens Building Technologies. Inc.target. g1s Start line for the group 1 load definition in the corresponding PDLDAT commands. totkw Total amount of power consumed by the loads that are controlled by the PDL command. • The PDLDAT command is enabled. • The same virtual LAO point must be used for both the PDL totkw parameter and the kwtot parameter in the owning PDLDPG command. • The load is currently in NONE or PDL priority.g4e. • The same virtual LAO point must be used for both the PDL target parameter and the target parameter in the corresponding PDLDPG command. 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..g4s. • If the database for a field panel is lost due to a power failure.. This is the first group to shed when demand exceeds the setpoint. The value of this parameter is calculated by the PDL command. The value of this parameter is calculated by the PDLDPG command. • If the line number is invalid. 0 = Fixed shedding 1 = Round robin shedding Siemens Building Technologies. • Line numbers must be entered as integers ranging from 1 to 32767. • The PDL command is traced and is enabled. A power-consuming load is controlled by a PDL command if the following criteria are met: • The power-consuming load is defined in a PDLDAT command that is associated with a PDL command. 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.sh1.. the ONPWRT command is not executed when power is restored. • The PDLDPG command is enabled. Inc. 3-79 3-80 . g1e End line for the group 1 load definition.g1s.totkw.. target Power consumption limit that is maintained by the PDL command. • Defining how each load under PDL control fits into one of four priority groups. g4e End line for the group 4 load definition. and maxoff. only one meter can be defined in a field panel. Inc. 3-81 3-82 Siemens Building Technologies.Command Syntax g4s APOGEE PPCL User’s Manual Start line for the group 4 load definition in the corresponding PDLDAT commands. while Group 4 is shed last. The total kilowatts available to the PDL command are placed in an LAO point.0) Notes • PDL must control 10-20% of the building demand to be effective. See also PDLDAT. Inc. • Valid values are 0 and 1. NOTE: • With pre-APOGEE firmware. minoff. • When points are controlled by the PDL command. enter the integer 0 for the starting line. A single PDL command is responsible for the direct control of a group of PDLDAT commands in a load-handling field panel.5. PDLSET • Maintaining the timing as defined in the PDLDAT command for minon. sh4 Shedding sequence for group 4. 300. • The PDL statement fails if more than four shedding groups are defined. — Shedding begins at 90% of the setpoint. — There are two types of shedding and restoring: fixed and round robin. — With Firmware Revision 2.2 and earlier.TGT1. no entry is required for unused groups. one meter can be defined in each program.199.200.499.400. — With Firmware Revision 2. Siemens Building Technologies.0. Group 1 is shed first. they are placed into PDL priority.1 and later. PDLDPG. This is accomplished by referring to the line numbers of the PDLDAT commands. • With APOGEE firmware. The PDL command determines which of the loads defined in the associated PDLDAT command is available for peak demand limiting control. The target value is passed to the PDL command through an LAO point value from the PDLDPG command.100. • Defining and controlling the sequence of shedding and restoring for each priority group. . Use Maintains a defined level of kilowatt use (or target) for a group of loads. • Monitoring the total available kilowatts under its control.0. ending line.6. The PDL command control includes: • Do one of the following if all four shedding groups are not used: • Maintaining a target kilowatt (kW) value by shedding and restoring loads.6/2. and shedding type for all the unused groups. For a detailed explanation of Peak Demand Limiting (PDL). PDLMTR. 0 = Fixed shedding 1 = Round robin shedding Example 100 PDL(1.299.TOTKW1. see Chapter 2–Control Option Comparisons. This is the last group to shed when demand exceeds the setpoint.1.399. • This parameter can be a decimal. or a local variable. point name. Siemens Building Technologies.180. • This parameter can be a decimal.minoff.10 MINUTES C .KILOWATT RATING .maxoff. minoff maxoff kwval C C PDLDAT COMMAND INFORMATION: C C .MAXIMUM OFF TIME .10. • A PDLDAT statement is referenced by only one PDL statement. point name. and kilowatt value for a specific load. PDLSET Kilowatt value for the load.180 MINUTES C . See also PDL. • The PDLDAT statement should be in the same field panel as the load.10KW C PDLDAT(FAN17.FAN17 C . or a local variable. . • This parameter must be less than 546 and can be defined as a decimal.5 MINUTES C .kwval) ptname Point name of the load. define load attributes) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž 100 102 104 106 108 110 112 114 116 118 Syntax PDLDAT(ptname. 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. point name. • The maximum allowable value of maxoff is (minoff + 546). point name. Use Defines the minimum on-time. integer. or a local variable. • This parameter must be less than 546 and can be defined as a decimal. a load defined by a PDLDAT statement must reside in the same field panel as the PDL statement. Maximum time (in minutes) that PDL can keep the load off after shedding it. integer.MINIMUM OFF TIME . Inc. PDLDPG.MINIMUM ON TIME . Using multiple references produces unpredictable results.minon. PDLMTR.10) Notes • In a network system. Inc. integer.CONTROLLED POINT . minon Minimum time (in minutes) that the load must remain ON after PDL has restored it. integer. or a local variable. minimum off-time.5. maximum off-time. Minimum time (in minutes) that the load must remain OFF before PDL can restore it.Command Syntax APOGEE PPCL User’s Manual Example PDLDAT (PDL. 3-83 3-84 Siemens Building Technologies. Siemens Building Technologies. The value of this parameter is calculated by the PDLDPG command. 3-85 3-86 Siemens Building Technologies.target7) area kwtot1 through kwtot7 Meter area designation. • In order for the program to operate correctly.TGT1. Example 100 PDLDPG(1. The sum of the value of all kwtot parameters is used by the PDLDPG command to calculate the power consumption target value for each PDL command. 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. PDLDAT. and PDLSET statements. Use Syntax Keeps track of how many kilowatts worth of load are available in each load-handling field panel and how many kilowatts are to be shed or restored at any time in each field panel.TOTKW1. PDL. . • The PDLDAT command is enabled. • The PDL command is traced and is enabled. Inc. PDLMTR. • The PDLDPG command is enabled. • The load is currently in NONE or PDL priority. PDLDPG(area..TGT2) See also A power-consuming load is controlled by a PDL command if the following criteria are met: • The power-consuming load is defined in a PDLDAT command that is associated with a PDL command...Command Syntax APOGEE PPCL User’s Manual • PDLDPG (PDL. • The same virtual LAO point must be used for both the PDL target parameter and the target parameter in the corresponding PDLDPG command. target1 through target7 Sets the target value for each PDL command associated with a meter area. PDLMTR. The value of the parameter is assigned by the PDL statement in which it is defined. • The same virtual LAO point must be used for both the PDL totkw parameter and the kwtot parameter in the owning PDLDPG command. Total amount of power consumed by the loads that are controlled by the PDL command. the same numeric value must be used for the meter area parameter in the PDLDPG. One kwtot parameter must be specified for each PDL statement that is a number of this meter area. The PDLDPG statement proportionally distributes the target value to each PDL statement according to the values of kwtot1 through kwtot7.kwtot1. Inc. PDLSET Power consumption target value. One target parameter must be specified for the corresponding PDL command in the loadhandling field panels. The value of this parameter is calculated by the PDL command.target1.kwtot7.TOTKW2.. • Valid values are 0 and 1.Command Syntax APOGEE PPCL User’s Manual warning Determines if warning messages are issued as predicted demand nears or exceeds the setpoint..warning. • Up to 30 samples can be stored per window. • This parameter can be a decimal. Historical forecast weighting factor (in percent) for the sliding window predictions. 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.window. PDLMTR. or a local variable. Inc. def1. • Updating report information pertaining to demand and consumption. ƒ For historical (latest. integer. • The minimum time allowed is one minute. the engineering units are kWH. point name.mt1. meter monitor) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax PDLMTR(area.plot. but can be a point name or a local variable.. • This parameter can be an integer (1 to 32. • This parameter is usually a decimal or integer. • This value should be greater than the highest setpoint used in PDLSET. • Defining default meter values.hist. best) reading.767).calc. Siemens Building Technologies. • Defining meters by point name. • This parameter can be an LPACI or analog point. ƒ Default values are expressed in kilowatts (demand) for both analog and pulse inputs. • In order for the program to operate correctly. • Initializing a meter area. • The recommended value is 30%. • Making demand predictions that are used by the PDLDPG command.. the same numeric value must be used for the meter area parameter in the PDLDPG. and PDLSET statements.. ƒ When an LPACI points is used. or a local variable. Maximum value for the Time versus Demand plot section of the PDL Activity Report. Predictions on the width of the sliding window interval (in minutes). • This parameter can be a decimal. but can be a point name or a local variable. PDLMTR (PDL. 3-87 3-88 Siemens Building Technologies. . Inc. or enter a constant or a fixed default value. • The weighting factor should be less than 50% to anticipate demand. integer. • Deciding when warning messages should be issued. Use The PDLMTR command is responsible for the following actions: Interval (in minutes) for how often demand predictions are calculated. • Monitoring meters.mt5.def5) area hist calc window plot Meter area. • This parameter can be a decimal or integer. the engineering units are kW. point name. a point name. 0 = Warning messages disabled 1 = Warning messages enabled mt1 through mt5 Logical point names for demand consumption meters. • This parameter is usually a decimal or integer. ƒ When an analog point is used. or local variable. enter -1 (default value). area Meter area. Siemens Building Technologies.50) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax PDLSET(area. Inc. • With pre-APOGEE firmware. exceed DO point which is turned ON if the actual floating window peak exceeded the setpoint at any time during the preceding interval. C PDLMTR(1.500. one PDLMTR command can be defined per program. It can also be entered as a decimal. the same numeric value must be used for the meter area parameter in the PDLDPG. PDLMTR. The PDLSET command then determines the number of kilowatts (if any) that must be shed or restored for the meter area.WARNING MESSAGES ARE ENABLED TO C BE SENT TO ALARM DEVICES. • If a LPACI point is used in a PDLMTR statement.15 MINUTES C . C .. integer.100.m.THE TIME VERSUS DEMAND SECTION OF C THE ACTIVITY REPORT PLOT HAS A C FULL SCALE OF 500 KILOWATTS. This point is reset to OFF at the end of each setpoint interval.15. PDLDAT. setpoints) C C PDLMTR COMMAND INFORMATION: C C . and PDLSET statements. point name. 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. one meter area can be defined in a field panel. METER2. .. or a local variable. set1 through set7 Demand setpoint (in kilowatts) that is not to be exceeded. PDLDPG.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. See also PDL.1. Inc. 3-89 3-90 Siemens Building Technologies.30% C . • This parameter is usually entered as a clock time in military format (7:30 p. • This parameter can be a decimal. C . integer.CALCULATION INTERVAL .time1.set7.1 MINUTE C .time7) Notes • Only one PDLMTR command can be defined per meter area. = 19:30)..METER1. time1 through time7 The time at which the corresponding setpoint ends.PREDICTION WINDOW .30.HISTORICAL WEIGHTING FACTOR .1. • This parameter is an integer.exceed. or a local variable. • For APOGEE field panels. then PDL should be restarted for that meter area after the LPACI is reset. • Times must be in ascending order. PDLSET Demand predictions made by the PDLMTR command are compared with the appropriate setpoints defined by the PDLSET command.THE DEFAULT VALUES OF THE TWO C METER POINTS (METER1 AND C METER2) ARE 100 KILOWATTS AND C 50 KILOWATTS RESPECTIVELY..set1. • In order for the program to operate correctly. M..PDLST1. Siemens Building Technologies. C .11:00.. =. or OFF is used on the same point at the same time.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 .AND.PT2. C PDLSET(1. 3-91 3-92 Siemens Building Technologies. See also PDL. PT2) In this example. 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. Inc.PDLST1 SET POINT ENDS AT 11:00 A.THIS COMMAND CONTROLS METER AREA 1.PEAKEX. PDLDPG.@NONE)THEN RELEAS(@EMER.PDLST2 SET POINT ENDS AT 4:30 P. PT2 will only be released if its priority is not equal to NONE and TEMP is not in alarm. the RELEAS(@prior…) command must be used. • A maximum of 15 points can be defined with one RELEAS(@prior…) command.NE.. C . Use Changes the operational status of a point to NONE priority.. To release points in OPER or SMOKE priority.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 ..M.16:30) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax RELEAS(pt1. • This command only works for points in EMER or PDL priority. Example 1 110 IF(TEMP. • This parameter can be a LFSSL or LFSSP point.pt15) The PDLSET command requires at least two setpoint/time definitions for each day in order to generate reports. RELEAS(@prior. PDLDAT. PDLMTR @prior Defines a specific point priority that the point is being released from.pt16) pt1 through pt16 Notes Point name to be released to NONE priority..ALARM. Inc.PDLST2. • A maximum of 16 points can be changed with one RELEAS command. ..NE.. pt1 through pt15 Point name to be released to NONE priority. ON. pt1. always use a priority at least as high as the one that the point will be in to ensure proper release.. in order from higher to lower priority levels. 310 ..…. all three points will be released to NONE priority if they currently have a priority of SMOKE.. If the point has been commanded from the keyboard. the value is not released.. it will require an @OPER entry to release the priority of the point to NONE. — If no values exist in the lower priority slots... Inc... PT2. GOTO Siemens Building Technologies. PT1. 320 . the value is released. it will not be released. RETURN Use Marks the end of a subroutine. the RELEAS(@prior... but it may not release all the way to NONE priority. 120 . 340 RETURN 350 CONTINUE WITH REST OF PROGRAM — If the slot mapped to @prior is the highest slot. EMER.. 3-93 3-94 Siemens Building Technologies. PT3) In this example... The BACnet Command Priority levels must be emptied to allow lower priority levels to control the point.. 300 C THIS SUBROUTINE PERFORMS. 130 .. pt1. the program returns to the line following the GOSUB command • With BACnet firmware. 330 .. 290 .Command Syntax APOGEE PPCL User’s Manual Example 2 120 RETURN (Return/end subroutine) RELEAS(@SMOKE. of values in the slots below. Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž Syntax Notes • With APOGEE and pre-APOGEE firmware. the relinquished default value is used. The new value is determined by the presence. If any point is in OPER priority. or PDL.GO TO 350 The standard BACnet Priority Array rules control the @prior release process as follows: — If a value exists in a higher priority slot than the slot mapped to @prior. RETURN must be the last command of any GOSUB subroutine. See also GOSUB. When a RETURN command is encountered. Inc. Example 100 GOSUB 310 110 .pt15) command releases the BACnet slot which is mapped to the stated APOGEE priority. . TIMAVG. and LPACI point types..pt1.. • A maximum of 14 points can be changed with one SET(@ prior…) command. LOOAL. such as preventing short cycling in ON/OFF decisions or reducing COVs from noisy flow transmitters. a logical point.. LFSSP. The SAMPLE command can be helpful in situations. TOD. or during the first execution of PPCL following a database load. LFSSL.pt14) Defines how often a command is evaluated. pt1. The SET(@prior) command is not available in Unitary firmware. Siemens Building Technologies. This value can be a decimal. LFSSL.. Integers are not allowed. L2SL.. PDL. a logical point. or another SAMPLE command. LOOAP. Use SET(@prior. LOOAP.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. Inc. SSTO. L2SP. Example 200 SAMPLE(600) ON(HALFAN) Notes The SAMPLE command executes immediately on a return from power failure. Integers are allowed in APOGEE firmware. 3-95 3-96 Siemens Building Technologies. L2SL. • Acceptable point types are: LAO or LDO. pt1 through pt15 Point names of logical points.. Inc. LOOAL. and program control (GOTO. value. after an ENABLE command. GOSUB).767. or a local variable. • A maximum of 15 points can be changed with one SET command. . LFSSP. line Any PPCL statement that does not include its own timing function.pt15) sec Interval in seconds between evaluations of state. L2SP. LOOP. @prior Defines a specific point priority. • This value must be entered as an integer ranging from 1 to 32. or a local variable. pt1 through pt14 Point names of LAO or LDO. Use Changes output points to a new value. value Value to which points are commanded. NOTE: Valid commands can include assignment.. and LPACI. value Value to which points are commanded. calculations.. • This value can be a decimal. This includes: WAIT. pt15) @prior Defines a specific point priority. 3-97 3-98 Siemens Building Technologies...RMSET2.RMSET3) Notes Syntax Do not use resident points in either the SET or the TABLE command. Use Changes the operational status of a FAST/SLOW/STOP point to SLOW..0. • Acceptable point types are: LFSSL or LFSSP..RMSET1.RMSET1. FAST. the following should be used for resident points: SLOW(pt1. OFF.0. FAN1.0)THEN SLOW(@NONE.75. pt1. Inc.RMSET3) Unitary Example 2 550 pre-APOGEE APOGEE BACnet Ž Ž Ž SET(@EMER. Example 20 IF (RMTEMP.pt16) pt1 through pt16 Virtual point = Resident point Point names of LFSSL or LFSSP points that are commanded to SLOW.. Inc. .FAN2) See also AUTO. ON Siemens Building Technologies. • A maximum of 16 points can be changed with one SLOW command.Command Syntax APOGEE PPCL User’s Manual Example 1 450 SLOW (Slow status) SET(75..75.LT. With both the SET and TABLE commands.. pt1 through pt15 Point names of LFSSL or LFSSP point types.RMSET2. SLOW(@prior.. • A maximum of 15 points can be defined with one SLOW(@prior…) command. Command Syntax SSTO (Start/stop time optimization) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž APOGEE PPCL User’s Manual esp Earliest stop time. = 19:30). • A decimal value or virtual LAO point type can be defined to store the adjustment value. 2.osp. = 19:30). or 16 as defined in the following table. mode Mode number. or a local variable. a logical point name. asp Total adjustment to the calculated stop time.ost. • A decimal value or virtual LAO point type can be defined to store the adjustment value. a decimal time (7:30 p. est Earliest start time. = 19. Inc. 4. • If SSTO is disabled (season = 0 in the SSTOCO command). • If SSTO is disabled (season = 0 in the SSTOCO command). a logical point name. 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. • This parameter can be a military time (7:30 p. = 19:30). . = 19.m. or a local variable. • Mode numbers can be added together to create customized schedules for the TOD program. latest. then cst is assigned to the latest start time.50).est. osp Occupancy stop time. desired zone temperature.m.m. • This parameter can be a military time (7:30 p.m. or a local variable.) as well as parameters for earliest. Occupancy start time.mode. See the TODMOD command for more information. Calculated start time.50).asp) NOTE: Valid mode values are described in the table following the parameter descriptions. a decimal time (7:30 p. a logical point name. = 19. • Valid values are 1 to 5. a decimal time (7:30 p. Syntax SSTO(zone.m. Siemens Building Technologies. = 19. a logical point name. • Valid entries are any combination of 1. This value is changed from day to day. Latest start time. • This parameter can be a military time (7:30 p. • This parameter can be a military time (7:30 p. etc. = 19. = 19. • This parameter is a virtual LAO point name. zone SSTO zone number. = 19:30). lsp Latest stop time. and occupancy start times provided in the SSTO command. a decimal time (7:30 p.50).lsp.m. Valid SSTO Mode Values. a logical point name.50). • This parameter can be a military time (7:30 p. then csp is assigned the latest stop time.50).m. This command has the ability to tune itself by incrementing or decrementing the start time after calculating an adjust time (ast) 3-99 3-100 Siemens Building Technologies. a decimal time (7:30 p.m. 8. cst csp Calculated stop time. 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.csp. Inc. or a local variable. or a local variable. a decimal time (7:30 p. zone temperature. • This parameter can be a military time (7:30 p.m. a logical point name.cst.50). = 19:30).ast. = 19:30).m.m. This value is changed from day-to-day.esp.m. • This parameter is a virtual LAO point name. ast Total adjustment to the calculated start time. or a local variable.lst. htemp. The time. Inc. outemp Point name or average of outdoor air temperature sensor.0.8:00. or local variables. ccoef3.15:30. TOD and TODSET commands are needed to command the point. point names. zone See also Siemens Building Technologies. season Current season. pre-APOGEE 3-102 Siemens Building Technologies. required to raise the zone temperature one degree with the cooling equipment off.6:30. outside air dampers open. • This value must be entered in fractions of an hour. • This parameter can be a floating point (decimal) number. in hours. an integer.season. The time.ccoef1. TODSET 3-101 For variables used in this command. 16:45. • Valid values are 1 to 5. If a virtual LAO point name is entered. or a local variable. the current adjustment value is displayed each time the command is displayed.7:45.ccoef4. • Heat = 2 • Cool = 1 • Disable SSTO = 0 intemp Point name or average of indoor zone temperature sensor.Command Syntax when errors between actual temperatures and desired temperatures occur.1. Point name whose value represents the coefficients to be used. • When ast or asp is defined as zero.hcoef2. in hours.hcoef3.hcoef1. APOGEE PPCL User’s Manual SSTOCO (SSTO coefficients) Unitary Example 60 SSTO(1. and the outside temperature 10 degrees higher than the desired zone temperature for the cooling season.hcoef4) NOTE: SSTO zone number. Inc. ctemp Desired zone temperature for cooling season.outemp.0. a point name.ctemp. SSTOCO. . ccoef1 Cooling coefficient. ccoef2 Cooling retention coefficient. SSTOCO(zone.intemp.OFTIM.0. • This value must be entered in fractions of an hour. TOD.ccoef2. required to lower the zone temperature one degree while ignoring external load factors. the operator can specify (command) an initial value for ast or asp.17:00. you can use numbers.ONTIM.0) APOGEE BACnet Ž Ž Ž Syntax Notes • The SSTO command only calculates the optimal start and stop times. APOGEE PPCL User’s Manual Example 100 SSTOCO(1. an integer.0. and the outside temperature 25 degrees lower than the desired zone temperature for the heating season.05. indoor temperature. 3-103 3-104 Siemens Building Technologies.75. • This value must be entered in fractions of an hour.1. .1. htemp Desired zone temperature for heating season. The time. • This value must be entered in fractions of an hour.083. SSTO.0. The time. in hours. The time. 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. hcoef2 Heating retention coefficient. • This value must be entered in fractions of an hour. 0.01. hcoef3 Heating transfer coefficient.Command Syntax ccoef3 Cooling transfer coefficient. added to or subtracted from the adjusted time (ast or asp) in the SSTO command as part of the self-tuning feature. The time. in hours.0. TODMOD Use This command defines the thermal characteristics of a zone based on the season.1. required to lower the zone temperature one degree with the heating equipment off. a point name. and a variety of heating and/or cooling coefficients that are necessary to calculate optimal start and stop times. required to raise the zone temperature one degree while ignoring external load factors.2.3. hcoef4 Heating auto-tune coefficient. hcoef1 Heating coefficient. • This value must be entered in fractions of an hour. • This parameter can be a floating point (decimal) number. • This value must be entered in fractions of an hour.0. in hours.OATEMP. outdoor temperature. 0. in hours. required to raise the zone temperature one degree with outside air dampers closed and the outside temperature 25 degrees lower than the desired zone temperature for the heating season. outside air dampers open.0.0. in hours. or a local variable. Siemens Building Technologies.ROOM10. Inc. • This value must be entered in fractions of an hour. The time. added to or subtracted from the adjusted time (ast or asp) in the SSTO command as part of the self-tuning feature.083) See also ccoef4 Cooling auto-tune coefficient.0.72. in hours. Inc.0. The time. TOD. STATE(@pri.TEC4) Siemens Building Technologies. • The x points must be entered in ascending order (that is x3 must be larger than x2. x1. Commands points using a state text value..TEC3. etc. Use Use This command allows you to define a general function of two variables by specifying pairs of coordinates (x. Example 500 • For inputs larger than the last x used. Inc. the output will always equal y1. • A maximum of 14 points can be changed with one STATE(@pri. STATE(NIGHT.y1 through x7.pt1.y7 Pairs of coordinates that define the x-y relationship. y2 is the value of the output when the input is x2.y7) pt1 through pt15 input Point name of the input (x) variable.TEC2. statetext State text that can be found in the associated state text table...TEC1.).x1.. The TABLE command makes a straight line interpolation for the output (y) when the input is between a pair of x values.…) command.pt14) @pri Defines a specific point priority.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..pt15) TABLE(input. .. pt1 through pt14 Points that are commanded to a particular state.statetext. Inc..output. 3-105 3-106 Siemens Building Technologies. • The coordinates can be integers or decimals.y1. Points that are commanded to a particular state. • For inputs lower than x1. • This parameter can be a local variable or virtual LAO point type.x7. etc.statetext. • A maximum of 15 points can be changed with one STATE command.pt1. y1 is the value of the output when the input equals x1.y). • This parameter can be a local variable or virtual LAI point type.. output Point name of the output (y) variable. the output will equal the last y value entered. samples. • This parameter can be an integer. samples Number of samples to be used to calculate the average. a point name. TABLE statements can be cascaded by overlapping x-y pairs using virtual points.input) result A point name used to store the result of the average value. RMAVG would change every 600 seconds (assuming RMTEMP is changing frequently). the following should be used for resident points: input Point name whose average value is to be calculated. Siemens Building Technologies. Notes Use Virtual point = Resident point This command is used to find an average value over time. in seconds. • This parameter can be a point name or a local variable.HWSP. The average value (RMAVG) will also be updated every sample time. Inc. • This parameter can be an LAI or LAO point or a local variable.st. 3-107 3-108 Siemens Building Technologies. . Inc. between each sample.180. This is the time.0. You decide how often the values should be taken (sample time) and the number of values to be taken. The hot water setpoint will remain at 180°F when the outside temperature is below 0°F. The hot water setpoint will remain at 100° F when the outside temperature is above 60°F.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. • This must be an integer between 1 and 10. Do not use resident points in either the SET or the TABLE command. The average is always over the most recent sample count and all previous values are discarded. st Sample time. Example In the following statement. With both the SET and TABLE commands.60. or a local variable.100) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax TIMAVG(result. = 19:30). 3-109 time1 Time at which an ON command is executed.. 8. TOD(mode. • Valid values are 0 and 1. TIMAVG(RMAVG. or during the first execution of PPCL following a database load. pt1 through pt12 Point names of digital output points that are commanded ON or OFF.m. • Mode number 16 should only be used with the HOLIDA command.pt12) NOTE: mode recomd Valid mode values are described in the table following the parameter descriptions. 2.6. a logical point name. = 19:30). the TIMAVG command begins executing with one sample.50). Determines if the points defined will be commanded after a return from a power failure (fail-safe position). Inc. C THE INTERVAL BETWEEN EACH SAMPLE C WILL BE 10 MINUTES. time2 Time at which an OFF command is executed.50). Recomd (recommand) is sometimes necessary for field panel warmstarts... The value of the result will equal the current value of input. a logical point name. RMTEMP WILL C BE AVERAGED EVERY 60 MINUTES. a decimal time (7:30 p.time2. = 19. Inc. • Valid values are any combination of 1..600. a decimal time (7:30 p. 0 = Does not re-command pt1 through pt12 on return from power failure. • This parameter can be a military time (7:30 p. 4.m.recomd. or 16. after an ENABLE command.Command Syntax 10 20 30 40 50 60 C SIX SAMPLES WILL BE TAKEN TO C CALCULATE THE RMAVG.pt1. or a local variable. digital points) Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Syntax Notes On a return from power failure.m. Siemens Building Technologies. 1 = Re-commands pt1 through pt12 on return from power failure. = 19.time1.m. Mode number. • This parameter can be a military time (7:30 p. 3-110 Siemens Building Technologies. • Mode numbers can be added together to create customized schedules for the TOD program.RMTEMP) APOGEE PPCL User’s Manual TOD (Time of day. or a local variable. . 4.thmode. • Valid values are 1. Valid mode values are described in the table following the parameter descriptions. 2. 2. See also HOLIDAY. • Valid values are 1. 2. If the mode number in the TOD command matches the mode number in the TODMOD command. thmode Mode number for Thursday. Inc. TODMOD. Inc. SSTO. samode Mode number for Saturday. 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. or 8. 4. 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. or 8. 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. or 8.Command Syntax Valid TOD Mode Values. 2.07:00. • Valid values are 1. • Valid values are 1.OLITE1. TODSET Valid TODMOD Mode Values.samode. • Valid values are 1. wemode Mode number for Wednesday. • Valid values are 1.1. 2. then TOD commands the particular output points ON and OFF at the specified times.wemode. 3-111 3-112 Siemens Building Technologies. 2. When you calculate a value of time to be used in a TOD command and assign it to the relative time point. or 8. or 8. 4.frmode. 4.tumode. 4. or 8. or 8. Example 10 APOGEE PPCL User’s Manual TOD(1. Siemens Building Technologies. 4.OLITE2) The command time can also be a relative time point that is assigned a value of time. make sure that the calculated time is greater later than or equal to the current time. 4. frmode Mode number for Friday. • Valid values are 1. sumode) *Mode number 16 (Holiday) should only be used with the HOLIDA command. .17:00. Use NOTE: This command changes digital output point ON and OFF based on the day of the week and the time of day. sumode Mode number for Sunday. 2. momode Mode number for Monday. tumode Mode number for Tuesday. Inc.m. Recomd (recommand) is sometimes necessary for field panel warmstarts.4.m. Ž Valid mode values are described in the table following the parameter descriptions. TODSET BACnet TODSET(mode.time2.. Monday through Thursday are assigned to a normal schedule. • Mode numbers can be added together to create customized schedules for the TOD program.) for each day of the week. See also 3-113 Ž Mode number. Days that have the same schedule are assigned the same mode. the system sets the TODMOD mode number for that day to 16. APOGEE Syntax NOTE: TODMOD(1. weekend. etc.time1. val1 Analog value which the output points (pt1 through pt10) assume at time1.50). TOD. • When a holiday date occurs in a HOLIDA command. 3-114 Siemens Building Technologies. . • Mode number 16 should only be used with the HOLIDA command.m.1..recomd.m.val2. Friday is assigned to an extended schedule. SSTO. • This parameter can be a military time (7:30 p. • This parameter can be a military time (7:30 p. recomd Determines if the points defined will be commanded after a return from a power failure (fail-safe position). 1 = Re-commands pt1 through pt10 on return from power failure. or a local variable.1.8) pre-APOGEE time1 Time at which the output points (pt1 through pt10) are commanded to val1. analog points) Unitary In this example. = 19:30). a logical point name.50). 4. = 19:30).val1. Siemens Building Technologies. Example 110 TODSET (Time of day. Inc. Ž mode • A HOLIDA or TODMOD command in a field panel will only affect TOD and TODSET commands in that field panel. HOLIDA. or 16. Saturday is assigned to the shortened schedule..Command Syntax APOGEE PPCL User’s Manual Use This command defines specific modes (normal.1.. 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. • Valid values are 0 and 1. a decimal time (7:30 p. • Valid values are 1. a logical point name. 2.2. and Sunday is assigned to the weekend schedule. 0 = Does not re-command pt1 through pt10 on return from power failure. pt10) Notes • The HOLIDA and TODMOD commands must precede any TOD or TODSET commands in order for the program to operate correctly. 8. a decimal time (7:30 p.pt1. = 19. or a local variable. = 19. a point name. Valid WAIT Modes. 10. = 19.m. = 19:30). It commands analog output points based on the day of the week and the time of day. LOOAL. pt1 Point name of a digital trigger point. SPTEMP) See also HOLIDAY. a decimal time (7:30 p.m. Inc.m. TODMOD Siemens Building Technologies. 01. • Local variables can also be used. L2SP. • This parameter can be entered an integer (1 to 32. = 19:30).mode) NOTE: Names of analog output points that are commanded to a value.1. Inc.50). pt2 Point name of digital point to be commanded.Command Syntax time2 val2 pt1 through pt10 Time at which the output points (pt1 through pt10) are commanded to val2. • Valid values are 11.50). or a local variable.55. or a local variable. a logical point name. Schedule Normal schedule Extended schedule Shortened schedule Weekend schedule Holiday schedule Valid mode values are described in the table following the parameter descriptions.0. L2SL. L2SL. WAIT (Wait time) Analog value which the output points (pt1 through pt10) assume at time2. Mode TODSET(1. • Local variables can also be used. *Mode number 16 (Holiday) should only be used with the HOLIDA command.9:00. L2SP. LDO.pt1. LDO.pt2. TOD. a decimal time (7:30 p. Syntax 1 2 4 8 16* Unitary pre-APOGEE APOGEE BACnet Ž Ž Ž Ž WAIT(time. LOOAL. Valid TODSET Mode Values. • This parameter can be a military time (7:30 p. Use This command is the counterpart of the TOD command for analog points. then TODSET will command the particular output points to val1 and val2 at the specified times.17:00. . • This parameter can be a military time (7:30 p.0. or LOOAP point. or LOOAP point.72. a logical point name. 3-115 3-116 Siemens Building Technologies. or a local variable. = 19. Mode APOGEE PPCL User’s Manual time Time delay in seconds.m. mode Defines the value to which pt2 should be commanded based on the value of pt1. and 00. Trigger Point (pt1) Action After Wait (time) Seconds 11 Turns ON pt2 turns ON Example 10 Turns ON pt2 turns OFF 550 01 Turns OFF pt2 turns ON 00 Turns OFF pt2 turns OFF If the mode number in the TODSET command matches the mode number in the TODMOD command. • This parameter can be an LDI. • This parameter can be a LDI.767). Siemens Building Technologies. Inc. . 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. Example 70 72 74 75 76 C WHEN CNPUMP IS TURNED ON. • The command to pt2 is only issued once during the normal operation of the program until triggered again.CNPUMP.11) ON(CNPUMP) Notes • The position of the WAIT statement in a program affects its operation. WAIT(60.CHPUMP. Selection of trigger/result action is based on the mode you enter. C THE FIELD PANEL WAITS 60 SECONDS C BEFORE TURNING CHPUMP ON.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. the trigger point must be toggled before the command executes regardless of the current state of either pt1 or pt2. Inc. 3-117 3-118 Siemens Building Technologies. Glossary-1 execute To carry out the instruction of an expression or program. See APOGEE. Result of a comparison between two values. a device represents any field panel or equipment controller that can execute PPCL statements. The glossary contains programming terminology you will encounter in this manual. Inc. APOGEE firmware Firmware used in APOGEE field panels. or values combined with arithmetic. device In PPCL. expression Statement that describes a set of variables. the value derived from the calculation is usually assigned to a point name for future reference. Siemens Building Technologies. or Unitary firmware. Comment lines allow you to enter text information describing the functionality of a specific section of code. The compiler skips over the comment line during compilation.x and later. condition Type of variable whose value is not a direct function of another variable. Comment lines are especially helpful for describing subroutines and areas of program code that are difficult to understand. argument comment line Information that is written into the program but is not interpreted as a program command. When used in PPCL. debugging Process by which the logic of the program is tested for errors. Glossary-2 Siemens Building Technologies. the priority level you define in that statement occupies one of the parameters. Inc. or to command a point to a specific priority. logical. Arguments can represent the location of a number in a mathematical operation. arithmetic function Function that performs mathematical calculations on a value (number). arithmetic operator Mathematically related functions that are performed on two or more operands (numbers). constants. A maximum of 16 parameters can be used in one PPCL statement. A program is said to have “bugs” when it fails to function properly. firmware Portion of software used in a controller that is stored in non-volatile memory. or the number with which a function works to produce its result. pre-APOGEE. . When used in PPCL. the value of the calculation is determined and assigned to a point name or local variable for future reference. Firmware Revision 2. When using a @ Priority indicator with PPCL statements.APOGEE PPCL User’s Manual command Glossary Instruction evaluated by the computer. or relational operators. at (@) priority indicators Indicators that are used to test if a point is at a specific priority. resident point Predefined logical point that permanently resides in the PPCL program in the field panel. 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. Siemens Building Technologies.5 and earlier. and Revision 12. Inc. pre-APOGEE firmware PPCL functions such as Alarm Priority (ALMPRI) that are used to access a specific value that is unique to a point. and determines the type of action that should be taken. 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. If the result of the condition is true. Inc. logical. Glossary-3 Glossary-4 Siemens Building Technologies. If all the operators in the statement have equivalent precedence levels. A statement can also be considered a line of PPCL code. The value of the point can then be tested or assigned to other points. Operators that have a higher precedence are evaluated before operators that have a lower precedence. they cannot be manually commanded to a different value. program Collection of instructions combined in a logical order to accomplish a specific task. If the result is false. Non-syntactical description of program logic. line relational operators Statement of program code assigned to a unique line number. The result of the comparison is called a condition. Portion of program code referenced repeatedly through one pass of the program. then a specific action is taken.x and earlier. The result of a comparison between the two conditions is called a condition. statement Collection of instructions to the computer in order to perform an operation. such as operational modes. . relational. logical operators Operator that compares two conditions. subroutine Firmware Revision 1. Special functions cannot be used over the network. then an alternative action is performed. and special function) are evaluated in a command statement. Since special functions are maintained by the system. then the operators are evaluated from left to right. order of precedence Order in which operators (mathematical. special function Style of programming that logical organizes code into common functions.Glossary integer APOGEE PPCL User’s Manual pseudocode Whole number (non-decimal number). . Siemens Building Technologies.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. Inc. Inc. Glossary-5 Glossary-6 Siemens Building Technologies. XOR. .NE. If you use any of the entries on the word list in a way other than the way they are designed (for example. letters. .GE. EMFAST EMOFF .EQ. @EMER EQUAL EXP @NONE @OPER FAILED FAST @PDL @SMOKE GE GOSUB ACT ALARM GOTO GT ALMACK ALMCNT HAND HLIMIT ALMCT2 ALMPRI HOLIDA IF AND ARG1 through ARG15 INITTO LE LINK LLIMIT LOC1 through LOC15 LOCAL Siemens Building Technologies.NAND. EMSLOW ENABLE .GT.LT. Inc. .LE. EPHONE EQ . and groups of letters placed on this list are used by the PPCL compiler. your PPCL program will not operate properly. .AND.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. A-1 A-2 Siemens Building Technologies.ROOT. . The words. DAY DAYMOD DAYOFM DBSWIT DC DCR DEACT DEAD The following predefined points permanently reside in the field panel’s point database. ENALM ENCOV . defining a reserved word as a point name). Inc. . These names are reserved for specific functions and should not be used as point names DEFINE DISABL DISALM DISCOV $ARG1 through $ARG15 $BATT DPHONE ELSE $LOC1 through $LOC15 $PDL EMAUTO EMER .OR. EMON EMSET . Inc.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. . 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......................................................................................... 3-46 $BATT (resident point) ........................................................................ 1-49 HLIMIT ......................................................................................... 3-58 $LOC1 through $LOC15 (local variable) ............................................ 1-63 LLIMIT .......................................................................................... 3-64 $PDL (resident point) .......................................................................... 1-56 NORMAL...................................................................................... 3-72 @ @EMER (priority status indicator)....................................................... 1-72 @NONE (PPCL, priority status indicator) ........................................... 1-73 count (resident point)....................................................................... 1-47 count 2 (resident point).................................................................... 1-48 priority (special function) ................................................................. 1-39 @PDL (priority status indicator ........................................................... 1-75 ALARM command......................................................................................... 3-24 point status indicator........................................................................ 1-82 @SMOKE (priority status indicator) .................................................... 1-76 ALMACK (point status indicator)......................................................... 1-83 @OPER (priority status indicator)....................................................... 1-74 ALMCNT (resident point) .................................................................... 1-47 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 ALMCT2 (resident point) ..................................................................... 1-48 ALMPRI (special function) .................................................................. 1-39 AND (logical operator)......................................................................... 1-18 antilog, natural (arithmetic function).................................................... 1-32 APOGEE firmware commanding points to a priority ...................................................... 1-68 defining a meter in a PDL command ............................................... 3-82 defining a meter in a PDLMTR command ....................................... 3-89 dialing out to a modem .................................................................... 3-76 maximum number of characters per line............................................1-4 point priority ..................................................................................... 1-64 point status indicators...................................................................... 1-80 RELEAS(@prior) ............................................................................. 3-93 arc-tangent (arithmetic function) ......................................................... 1-29 Siemens Building Technologies, Inc Index–1 Index–2 Siemens Building Technologies, Inc. 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. Index–3 APOGEE PPCL User’s Manual ENALM ............................................................................................ 3-46 maximum number of characters per line............................................1-4 point priority ..................................................................................... 1-64 priority array..................................................................................... 1-66 RELEAS(@prior) ............................................................................. 3-93 value of released point .........................................1-72, 1-74, 1-75, 1-76 battery condition (resident point)......................................................... 1-49 battery status (point status indicator) almost discharged ........................................................................... 1-87 charged............................................................................................ 1-88 discharged ....................................................................................... 1-86 C changing order of precedence ........................................................................ 1-43 point priority ..................................................................................... 3-92 closed loop control ADAPTM.............................................................................................3-5 ADAPTS .......................................................................................... 3-16 LOOP............................................................................................... 3-66 COM (arithmetic function) ................................................................... 1-30 commanding points to a priority .......................................................... 1-68 comment lines ................................................................................... 1-105 communications link (resident point)................................................... 1-53 compatibility bar ...................................................................................... XI complement (arithmetic function)........................................................ 1-30 conditional control IF/THEN........................................................................................... 3-61 IF/THEN/ELSE ................................................................................ 3-61 converting a sequence of operation to program code ........................ 1-98 COS (arithmetic function).................................................................... 1-31 Index–4 Siemens Building Technologies, Inc. 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 ...................................................................... 1-77 creating a program ............................................................................ 1-107 CRTIME (resident point) ..................................................................... 1-50 current time (resident point) ....................................................... 1-50, 1-59 dialing out to a modem........................................................................ 3-76 DISABL (command) ............................................................................ 3-35 DISALM (command)............................................................................ 3-36 DISCOV (command) ........................................................................... 3-37 distributed peak demand limiting (PDL) .................................................2-8 D division (arithmetic operator)............................................................... 1-25 DAY command......................................................................................... 3-26 resident point ................................................................................... 1-51 documenting a program .................................................................... 1-105 decision tables............................................................................... 1-106 external documentation ................................................................. 1-106 internal documentation .................................................................. 1-105 pseudocode ................................................................................... 1-107 day mode (point status indicator)........................................................ 1-89 day of the month (resident point) ........................................................ 1-52 DAYMOD (point status indicator)........................................................ 1-89 DAYOFM (resident point).................................................................... 1-52 DBSWIT (command) ........................................................................... 3-27 DC command......................................................................................... 3-29 control option ......................................................................................2-2 DCR command......................................................................................... 3-31 control option ......................................................................................2-2 DEACT (command)............................................................................. 3-33 DEAD (point status indicator).............................................................. 1-86 dead band switching (DBSWIT).......................................................... 3-27 decimal time (resident point)............................................................... 1-50 decision logic....................................................................................... 3-61 DEFINE (command)............................................................................ 3-34 defining points in a PPCL program ........................................................1-6 Siemens Building Technologies, Inc. Index–5 DPHONE (command).......................................................................... 3-38 duty cycling control option ......................................................................................2-2 DC.................................................................................................... 3-29 DCR ................................................................................................. 3-31 E economizer GOSUB............................................................................................ 3-50 GOTO .............................................................................................. 3-57 RETURN.......................................................................................... 3-94 EMAUTO (command).......................................................................... 3-39 emergency (priority status indicator)................................................... 1-72 emergency control EMAUTO ......................................................................................... 3-39 EMFAST .......................................................................................... 3-40 EMOFF ............................................................................................ 3-41 EMON .............................................................................................. 3-42 EMSET ............................................................................................ 3-43 Index–6 Siemens Building Technologies, Inc. ......................... 1-32 EMSET (command).. 3-58 HOLIDA (command).............. 1-11 equals (assignment)........................................................................ 3-48 G GE (relational operator)...... Inc....................................................................................................................................................................... 1-63 GOSUB command............................................... 1-102 greater than (relational operator) .... ........................................................................... 1-11 equal to (relational operator)......................................................................................................................................... 1-12 global storage variable ............................................................................................................................................................................................. 3-83 PDLDPG .............................................................................. 1-24 example dialing out to a modem ......................................................................... 3-80 PDLDAT ......................... 3-42 EXP (arithmetic function) ................................................................................. X truth tables........... 3-40 EMOFF (command) ............................... 3-31 PDL................................................................................................................................... 3-46 firmware types............................. 1-21 EMON (command) ......................................... 3-47 energy conservation DC........ 3-38......... 3-76 duty cycling..................................................................................................................... XI ENCOV (command) .............................................................................................. 3-50 RETURN............................................... 1-61 GOTO command.. 3-90 enthalpy.................................................................................................................................................................................................................................................................................................. 3-85 PDLMTR .............. 1-13 greater than or equal to (relational operator) .............................................. 3-94 EPHONE (command)............................................................................................. 3-43 extending program line length...................................................................................................................................................................................................................................................................................................................................................................... XII EMFAST (command) .............................................2-2 Siemens Building Technologies.............. 1-102 used with $ARGn............................................................ 3-59 Index–8 Siemens Building Technologies.............. 1-12 GT (relational operator)............................................................................ 3-49 enable/disable telephone ID numbers .................................................... 3-44 syntax page ........................ 3-44 F ENABLE (command)........................ 3-57 guidelines .......................Index APOGEE PPCL User’s Manual EMSLOW......................................................................................1-4 EMSLOW (command) ........................................................................... 1-90 enable COV........................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 3-87 PDLSET................................................................. 3-48 FAST (point status indicator) ............................................................................... 3-47 FAST (command)...... 1-13 EQ (relational operator)............................ Index–7 H HAND (point status indicator) ............................................................................................................................... 1-92 HMLIMIT (command) ........................... 3-29 DCR ................. 1-91 ENALM (command).................................................. Inc.......................................... 3-41 exclusive or (logical operator) ................................ 3-45 FAILED (point status indicator) ..... 3-57 enthalpy optimization GOSUB........................................ 3-50 program methodology .......... ........................................................................................ 1-16 nested subroutines.................... 1-60........................................................................................................................................................................................................................1-5 manual override (point status indicator)......................... 3-69 Siemens Building Technologies............. 1-15 not equal to (relational operator).............................................................................................................................................................................................................................. 1-61 $LOCn ...........................................1-7 naming points............................ 1-16 M notepad with comment lines .......... 1-99 LE (relational operator) ............. 1-55 LOOP (command) .. Inc...................................................................................................................... 1-19 LT (relational operator)....................................................................................................... 1-33 logical operators......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1-17 AND ............................................................. 1-21 not and......... 1-87 not and (logical operator) .... 1-77 MONTH (resident point) ................................................. 1-61 LOG (arithmetic function) ..................................... 3-54 NGTMOD (point status indicator)........................................................................................................................................................................................................................................................................................................................................................................................................................................... 3-63 APOGEE PPCL User’s Manual maximum number of characters per comment line ........................................................... 1-93 node number (resident point)......................... 1-19 NE (relational operator).......................... 1-15 less than or equal to (relational operator) .............................. 1-55 NODEn (resident points) ...................... 1-63 subroutines .................................................................. 1-103 multiplication (arithmetic operator)......................................... 1-54 multiple programs vs....... 1-26 LOCAL (command) ........................................... 3-66 NORMAL (command)........ 3-70 L modular programming ............................................. 1-14 LINK (resident point) ...........................Index I IF/THEN .............................................. 1-92 MAX (command) ......................................... ..... 3-61 INITTO (command) ....................... subroutines ...................................1-4 military time (resident point) .............1-6 NAND (logical operator) .......................................1-5 per program line ............................................................. Index–9 Index–10 Siemens Building Technologies............... 1-19 OR ........................ 1-18 conditions ...................................................................................................................................................... 1-93 NIGHT (command)........................................... 3-65 local variables ............................................................ 1-63 global storage ....................................................................... 1-53 LLIMIT (command)................................. 3-72 LOW (point status indicator) ............................ 1-59 MIN (command) .................. 1-14 less than (relational operator) ................. 3-64 module........................................................................................................ 3-71 night mode (point status indicator).............................. 1-17 exclusive or.............................................................................................................................................. 1-20 N naming a program ...................................................... 3-65 $ARGn ................................................................. Inc........................... 3-61 IF/THEN/ELSE .................................................................................................................. 1-99 monitoring point status ............ rules ............... .......................................................... 3-98 STATE ............................ 1-56 target peak demand limiting (TPDL).......................................... 3-31 GOSUB................. 3-79 operator (priority status indicator) ......................................... 1-94 OIP (command)...................... 3-87 PDLSET.............................................................................................................................................2-7 OFF command............................................... 3-80 PDLDAT .................................... 1-75 point command AUTO..................... 1-74 Operator Interface Program (OIP) ........................................................................................................................................................................................ 3-78 point status indicator................................................................................................................................................................................. 3-25 DAY .......................................................2-8 monitor (resident point) ...................................................2-6 PDL.........See DAY PDL command................................................................. 1-95 ONPWRT (command) .................................................................................. 3-73 point status indicator.......... 3-105 point control ALARM ............... 1-88 ON command......... 3-73 ON ....................................... 3-29 DCR .......................................... 3-90 priority status indicator ............................................. 3-90 RETURN...... 3-85 PDLMTR ................................................................. 3-57 PDL....................................... 3-80 control option .... 3-50 GOTO ............................................................. 3-83 PDLDPG (command) .......... 3-75 dialing out to a modem ..................................................................................................................................................................................................................................... 3-71 OFF............................................................................................................................................................................................................................. 3-49 NIGHT.................................... 3-96 SLOW .................................. 3-102 OR (logical operator).. 3-80 PDLDAT .................... 3-94 SSTO ........................................................................................................................................... Index–11 PDLDAT (command)...................... 3-36 Index–12 Siemens Building Technologies................ 3-24 dead band switching............................................................................................................................................................. 1-43 Siemens Building Technologies.......... 3-87 PDLSET (command) .................................................................................................................................................................................................................................................. 3-26 FAST........................................................... Inc..............................................................................................................................Index APOGEE PPCL User’s Manual O P Occupied mode (OCC) ........................................................................................................................................... 3-76 OK (point status indicator) ..................................................................................................... 3-87 PDLSET.................. 3-99 SSTOCO ........... 3-85 PDLMTR ........................................................................................................................................................................................................ Inc.................................................................................................................................................................. 3-83 PDLDPG .......................................................................................... 1-42 changing with parentheses......................................................................................................................... 3-78 SET............ 3-27 DISALM ................ .......................................................................................................................... 1-20 order of precedence ..................................................................................................................... 3-75 optimizing system performance DC................................... 3-85 PDLMTR (command) ......................................................................................................................................................................... 3-90 peak demand limiting control option ........................................................................................................................................................................................................................................................................................................................ 3-83 PDLDPG ......................................................2-6 distributed peak demand limiting................................................................................. ................................................................................... 1-95 PRFON .............1-3 maximum comment line length................ 1-96 priority array........... 1-97 Powers Process Control Language ...................... 1-82 ALMACK ............................................................... 3-58 INITTO ......................................... 1-64 BACnet firmware ...... 3-72 TIMAVG ............................................................................................................... 1-93 OFF...............................................................................1-5 OIP command............................................................................................................................................................................................................................................................................................................................................. 1-89 DEAD..................................................................................... 1-83 AUTO....................................................................................................... 1-73 assigning line numbers...........................1-4 guidelines ...................................................................................................................................................................................................................................................................................................................... BACnet firmware................................................................................................ order of evaluation ...........................................................................................................................................1-6 structured....................................................................................................................................................... 1-64 APOGEE and pre-APOGEE firmware........1-4 testing ..............................1-6 point priorities ............................................................................................................................................................................................................................................................................... 1-8 control after power return ........................................................ 1-64 point status indicators........................................................................................1-4 naming .......................... See PPCL program Index–14 Siemens Building Technologies....... 3-76 maximum number of characters per line..........Index ENALM ........ 3-93 releasing point priorities ......................... 3-79 documentation . 1-65 rules for creating............... 3-69 MIN ..................................... 1-66 priority status indicators ................. 1-42 predictor panel .......................................... 1-94 OK......... 3-82 defining a meter in a PDLMTR command ................................................................................................................... Inc............................................................................................................................. 1-77 ALARM ................................................................................................... 3-108 WAIT...................1-8 introduction to PPCL...................... 1-80 RELEAS(@prior) ................................. 3-70 NORMAL ...... 3-46 HLIMIT . 1-104 transferring control to another line............ 3-64 MAX ..................................................................................................................... 1-68 program .................. 1-96 SLOW ........................................................................................................................................................................................ 1-105 execution ..................................................................................................................... Inc............................................................................................................................................... 1-66 point status indicators ... 3-34 point priority................. 3-34 rules ........................................................................................................................................................................................... 1-90 FAST........................................................................................... 1-4................ 1-69 precedence.......................1-7 point definitions.............................................................................................................................. 3-63 LLIMIT...................................1-4 maximum number of lines permitted ................................................................................................................................................................. Index–13 APOGEE PPCL User’s Manual PPCL program @NONE (priority status indicator)................................................................................................. 1-87 NGTMOD...... 1-88 ON ............................. See PPCL program Siemens Building Technologies............ 1-102 pre-APOGEE firmware defining a meter in a PDL command ................................................................................... 3-116 point names abbreviating ................................................................................................................1-5 maximum number of characters per line...........................................................2-8 PRFON (point status indicator) ................................................. 3-75 point priority ............................ 3-89 dialing out to a modem ......... 1-86 FAILED ................................. .................... 1-85 DAYMOD ......................................................................................................... 1-92 LOW................................................................ 1-91 HAND....................................................................................................................................................................................................................................................................... .................................................................................. 2-13 Index–16 Siemens Building Technologies.......................................................................................................................................................................... 3-114 quotes in programs ........................................................................................ 1-47 ALMCT2 ................................................. 3-107 LINK..................................................................... 3-97........................................................ 1-51 DAYOFM ............................................................................................... 3-95 Q scheduling HOLIDA ................ 1-48 CRTIME ................... 1-13 LE ........................................................................................................................................................................................................... 3-34 ONPWRT........................................................................................1-6 R relational operators ........................................... 1-36 SSTO command....................................................................................................................... 3-96 SIN (arithmetic function).................................... 1-14 LT........................................... 1-12 GT........................................ 1-76 solving a programming problem.............................................................................. 1-50 DAY ............ 1-35 release statement............................................................................................................................................................... 1-11 GE................................................................................................................................................................................................................................................................................................. 3-92 SLOW point status indicator................................. 1-53 MONTH .................................. 1-54 NODEn ................................................................................................................................................................................................... 1-15 NE...................................................................................... 1-34 S proof on (point status indicator) .... 3-98 SMOKE (priority status indicator)... 3-59 TOD ............................... 1-41 SQRT (arithmetic function) .............................................................................................................. 1-46............................................................. 1-52 limitations.......................................................................................................... 1-49 $PDL.............................................................................................................Index program control DEFINE.................................................................................................................................................................................................................................................. 1-38 ALMPRI ........ 1-36 square root (arithmetic function) ................................... 1-35 RELEAS (command)........ 1-46 $BATT.......................................... 3-112 TODSET .. 1-16 SECNDn (resident point) .................................................................................................................................... 3-110 TODMOD.............. 1-96 SAMPLE (command) ...................................... 1-107 special functions............................................................................. 3-94 ROOT (arithmetic function) ............................................................................. Inc....................... 1-97 resident points.......................................................................................................................................................................................................................................................................... 1-58 SECNDS (resident point) ....... 1-55 SECNDn ................................................. Inc......................................................... 3-99 formulas .... 3-106 APOGEE PPCL User’s Manual TIME ................. 1-59 RETURN (command) .................................................................................................................... 1-57 Siemens Building Technologies...... 1-56 ALMCNT ................... 3-95 TABLE .................................................. 1-58 SECNDS........ 3-92 sine (arithmetic function) ............................... 1-10 EQ.................................................................................................................................................................................................................................................................................................................................................................................................................................... 1-38 TOTAL ........................................ Index–15 SLOW (command) ...... 3-79 SAMPLE ....... 1-57 seconds counter (resident points).............................................. 1-57 SET (command) ...................................................................................................... ...................................................... 1-39 limitations......................................................................... ....................................................................................................... 1-89 DEAD................... 1-88 ON ...................................................................... 3-59 TOD ................. 2-10 STATE (command) .................... 1-97 TABLE (command).................................................... 3-99 SSTOCO ................................. Inc.................................................... 3-112 TODSET (command) ................................................. 1-41 transferring program control (subroutines) ........................................ 1-8.................................................................................................................... 1-102 Index–18 Siemens Building Technologies........................................................................................ 1-27 start/stop time optimization SSTO ..................... 1-59 time of day HOLIDA ...................................................................................................................................... 1-100 versus multiple programs .......................................................................1-9 TOD (command) .............................. 3-54 RETURN................................................................................................................................................... 3-106 structured naming convention............................................................................................................................................................. 3-110 TODMOD (command) .............................................2-7 telephone ID numbers DPHONE ................................... 3-34 subroutine ........................................ 1-96 SLOW ................................ 1-99 $ARGn .............................................. 1-82 ALMACK ..... 3-105 T status indicators ALARM .......................... 3-50 GOTO ............................................................................................................................................................................... 1-90 FAST.................................................. 1-83 AUTO.................................................................................................................................................................................................................... 3-114 TOTAL (special function) ...................................................................................... 3-94 transferring program control .............................................................................Index APOGEE PPCL User’s Manual SSTOCO (command).............................................. XII Start/Stop Time Optimization (control option) ... 1-86 FAILED ............................................................................................................................. XI notes ............................................................................................ 1-37 target peak demand limiting (TPDL) ................................................................................................................................................................................................................................................ 1-103 Siemens Building Technologies.......... 3-57 nested ...................................................................................................................................................................................... 1-104 testing point priorities .................................................................................................................................................................................. 3-38 EPHONE . 3-48 testing a program ....... 3-112 TODSET ........................................................................................... 3-114 Time of Day control option .......................................................................................... 1-61 commands .... 1-87 NGTMOD................................................................................................................ ............................ Inc..................................................................................................................................................... 3-102 syntax compatibility bar...................................................1-4 using .............................................................................................. 1-95 PRFON ......................................................................................................................................................................... 3-108 TIME (resident point)................................................................................ 3-102 subtraction (arithmetic operator) ............... 1-68 TIMAVG (command) .......................................... 1-102 GOSUB..................................................................................................................... XIII use .................................................................................................................................................................................................................................. 1-93 OFF............... 2-22 time-based commands...................................................................................................................................................... 1-94 OK........................... 1-91 HAND..................................................................................... 3-110 TODMOD................................................................................... 1-37 tangent (arithmetic function) ... 1-85 DAYMOD .. Index–17 TAN (arithmetic function) ................................... 1-92 LOW........................ ... ........... 1-107 X XOR (logical operator) ................... 3-116 writing a program .. Index–19 Index–20 Siemens Building Technologies.................................. local ..........................................................................................................Index APOGEE PPCL User’s Manual truth tables...................... XII U unitary firmware point status indicators......................... Inc............................................................................ 1-100 V variables....................... 3-65 W WAIT (command) .................................................................................................. 1-21 Siemens Building Technologies............. Inc.................................................................... See NIGHT using subroutines ......................... 1-81 Unoccupied mode (UNOCC) ......................................................................................
Copyright © 2024 DOKUMEN.SITE Inc.