User Guide
Table Of Contents
- Table of Contents
- How to Use This Manual
- Chapter 1–Program Methodology
- Overview
- Introduction to PPCL
- PPCL Rules
- PPCL Program Design Guidelines
- Relational Operators
- Logical Operators
- Arithmetic Operators
- Arithmetic Functions
- Special Functions
- Order of Precedence
- Resident Points
- Local Variables
- Point Priority Overview
- At (@) Priority Status Indicators
- Point Status Indicators
- Converting a Sequence of Operation intoProgram Code
- Chapter 2–Control OptionComparisons
- Chapter 3–Command Syntax
- Overview
- ACT (Activate lines)
- ADAPTM (Adaptive control, multiple)
- ADAPTS (Adaptive control, single)
- ALARM (Alarm state)
- AUTO (Auto status)
- DAY (Day mode)
- DBSWIT (Dead band switch)
- DC (Duty cycle)
- DCR (Duty cycle routine)
- DEACT (Deactivate lines)
- DEFINE (Define abbreviation)
- DISABL (Disable lines)
- DISALM (Disable alarm)
- DISCOV (Disable COV)
- DPHONE (Disable phone)
- EMAUTO (Emergency, Auto status)
- EMFAST (Emergency, Fast status)
- EMOFF (Emergency, Off status)
- EMON (Emergency, On status)
- EMSET (Emergency, set value)
- EMSLOW (Emergency, Slow status)
- ENABLE (Enable lines)
- ENALM (Enable alarm)
- ENCOV (Enable COV)
- EPHONE (Enable phone)
- FAST (Fast status)
- GOSUB (Go to subroutine)
- GOTO (Go to line)
- HLIMIT (High limit)
- HOLIDA (Holiday)
- IF/THEN and IF/THEN/ELSE (Conditional control)
- INITTO (Initialize totalized value)
- LLIMIT (Low limit)
- LOCAL (Local variable)
- LOOP (Loop control)
- MAX (Maximum value)
- MIN (Minimum value)
- NIGHT (Night mode)
- NORMAL (Normal operating mode)
- OFF (Off status)
- OIP (Operator interface program)
- ON (On status)
- ONPWRT (On after power return)
- PDL (Peak demand limiting)
- PDLDAT (PDL, define load attributes)
- PDLDPG (PDL, digital point group)
- PDLMTR (PDL, meter monitor)
- PDLSET (PDL, setpoints)
- RELEAS (Release)
- RETURN (Return/end subroutine)
- SAMPLE (Sample a statement)
- SET (Set point value)
- SLOW (Slow status)
- SSTO (Start/stop time optimization)
- SSTOCO (SSTO coefficients)
- STATE (State text command)
- TABLE (Table of coordinates)
- TIMAVG (Average over time)
- TOD (Time of day, digital points)
- TODMOD (TOD modes)
- TODSET (Time of day, analog points)
- WAIT (Wait time)
- Overview
- Glossary
- Appendix A—PPCL Reserved WordList
- Index
Program Methodology—PPCL Rules
Siemens Building Technologies, Inc. 1-7
Pre-APOGEE Firmware
• Valid names are limited to 6 characters.
• Acceptable characters include: A-Z and 0-9.
• Do not use the following characters in point names: & ? * [ ] { } %
Rules for Naming a PPCL Program
APOGEE PPCL programs use an assigned name. Use the following
rules to assign a program name:
APOGEE and pre-APOGEE Firmware
• Valid names are from 1 to 30 characters.
• Acceptable characters include: A-Z, a-z, 0-9, spaces ( ), periods
(.), commas (,), dashes (-), underlines (_), and apostrophes (').
• Do not use the following characters in program names:
& ? * [ ] { } %
BACnet Firmware
• Valid names are from 1 to 30 characters.
• Acceptable characters include: A-Z, a-z, 0-9, spaces ( ), periods
(.), commas (,), dashes (-), underlines (_), and apostrophes (').
• Do not use the following characters in program names:
& ? * { } %
APOGEE PPCL User’s Manual
1-8 Siemens Building Technologies, Inc.
PPCL Program Design Guidelines
These guidelines will help you avoid common programming errors
and write programs that run faster and are easier to maintain. The
PPCL guidelines are as follows:
• A program defined in one field panel should not be used to
control points in a different field panel.
• Loop statements should not be closed across a network.
• Time-based commands (for example, LOOP, SAMPLE, TOD,
WAIT, etc.) should be evaluated through every pass of the
program for proper operation.
• If program execution is interrupted (for example, during a power
failure), the system always resumes processing at the first line of
the program. Therefore, the first line of the program should be
executed through every pass of the program.
• Routing commands (such as GOTO) should transfer program
control to a sequentially higher line number. This practice
prevents programs from being caught in endless loops.
Designing a Program that is Easy to Maintain
• Use comment lines to document program logic.
• Number program lines in multiples of ten (10, 20, 30) or more so
that modifications can be made without renumbering the
program.
• Use point names that are meaningful and describe the function
for which they are being used. For example, a point name
monitoring outside air temperature could be named OATEMP.
• 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.