Title Page

Tracer Graphical

Programming (TGP2) Editor Help

© 2014 Trane All rights reserved.


What's New?

Tracer TU Release 8.5/TGP2 Editor

This version of the Tracer Graphical Programming (TGP2) Editor Help reflects the new features and enhancements added for Tracer TU 8.5, which are listed in the following table.

New Feature or Change

Description

TGP2 program search feature

You can now search any TGP2 program currently loaded in the TGP2 Editor for a wireless block with a specific name, a point, or a text string. Just enter the search term in the Search dialog box and the TGP2 Editor searches for the wireless block, point, or text string and then presents the results in a program "mini map" by highlighting the blocks that match your search criteria. The Search function includes the following features:

  • Wildcard search—You can include wildcard characters (asterisk *) in your search term (for example, *ai, ai*, or *ai*).
  • Navigation through search results—Move forward through multiple search results by pressing F3 or Next. Move back to previous results by pressing F4 or Previous.

Note Next and Previous are disabled if the Search dialog is opened using the Ctrl –F or Menu option, no search results are found, or only 1 search result is found.

  • Resume search using previous criteria—Use auto-completion text options presented on the search list entry box or selected from the drop down list items to resume searching with previous search criteria.
  • Text search—Enter a any text string you want to locate within the program.

(See Searching for a Wireless Block, Point, or Text Within a Program.)

Support for multistate points with up to 200 states for use in Tracer SC programs

Up to 200 states are supported when entering or editing the multistate point configuration properties when Tracer TU is connected to Tracer SC version 4.0 or higher. You can specify enumerations either from the Point Summary Dialog in the TGP2 Editor or from the Multistate screen in Tracer TU. In addition, the De-Enum Ext Block also supports up to 200 enumerations for programmable devices.

(See Multistate Input Properties: Point Configuration Tab, Multistate Output Properties: Point Configuration Tab, and Multistate Value Properties: Point Configuration Tab.)

Addition of a Basic Calibration block

The Basic Calibration block provides a means to calibrate floating point actuators based on the ZN520/521 sequence of operations. It can trigger a calibration operation in response to:

  • Power up or reset of a device

  • The requested actuator position reaching a trigger value, typically 0% or 100%

  • A change of occupancy to unoccupied

  • A manual triggering calibration operation

(See An Overview of Basic Calibration Block Operations.)

Addition of Staging Calculation blocks

The Staging Calculation blocks provide three different lead selection and rotation methods for motors, fans, and pumps. Depending on the method used, the output stage request is determined based on:

  • A selected lead and fixed rotation pattern

  • A runtime sorted lead and fixed rotation pattern

  • A runtime sorted lead and a runtime based rotation pattern

The blocks for each method manage from two to six stage sequences.

(See Rotation Block: Selected Lead and Fixed Rotation, Rotation Block: Runtime Lead and Fixed Rotation, and Rotation Block: Runtime Lead and Runtime Rotation.)

Addition of DeEnum Ext block and DeEnum.Occupancy Ext block

The DeEnum Ext block expands the capabilities of the DeEnum block by accommodating up to 200 states.

(See De-Enum Ext block.)

The DeEnum.Occupancy Ext block provides an auto port in place of the (not) unoccupied port provided by the DeEnum.Occupancy block.

(See DeEnum.Occupancy Ext block.)

Tracer TU Release 8.4/TGP2 Editor

This version of the Tracer Graphical Programming (TGP2) Editor Help reflects the new enhancements added for Tracer TU 8.4, which are listed in the following table.

New Feature or Change

Description

Support for references to Comm3 and Comm4 devices

The Tracer Communications Bridge - Comm 3/4 toTracer SC brings Comm3 and Comm 4 equipment, including IntelliPaks, Voyagers, VAV II/III/IV, VAV1,TCM, and CSC UCMs under Tracer SC control.You can reference Comm3 and Comm4 devices that are:

  • Configured on a Comm 3/4 toTracer SC Bridge.
  • Discovered and installed on a masterTracer SC (Application-SC) BACnet link.

Comm3 and Comm4 points/properties can then be referenced in the Point Configuration and Alarm Configuration tabs of the Point Configuration Properties dialog boxes, in TGP2 programs, and in Data Log Setup configurations. (See References to Comm3 and Comm4 Devices. For complete Comm 3/4 toTracer SC Bridge setup and configuration information, see the Tracer Communications Bridge - Comm 3/4 toTracer SC Setup and Configuration Guide (BAS-SVX64) for the correct installation and configuration procedures.)

Note Properly configured Comm3 and Comm4 devices are visible on the Device Navigation Tree. However, you cannot access these devices directly usingTracer SC pass-through or Single Link Access. They are included in the network for point, program, and data log referencing purposes only.

Ability to override points in Real Time View (TGP2 Editor)

You can control point values for point-based blocks by selecting a block and requesting an override or out of service state from a context menu while in Real Time View. These overrides and service changes are the same as those done from the Analog, Binary, and Multistate screens in the Tracer TU Status Utility. You can revert all override and service changes from the Active Changes list provided. You also have the chance to revert changes when disconnecting from the current controller. (See Overrriding Points in Real Time View.)

All overrides and changes to service you initiate in Real Time View are actual and will remain if you do not revert them.

Point name auto-completion with listing of enumerations (multistate) or inclusion of active/inactive text (binary)

Tracer TU now presents point names that match the initial characters you enter in the Name entry box on the Point Configuration dialog boxes. Once you select a point name using auto-completion, Tracer TU then automatically enters enumerations for multistate points and automatically completes the ActiveText/InactiveText for binary points. The valid enumerations and Active/Inactive text entries are also listed on the Requested Value drop-down list on the Override Request dialog box.

Configuring output points to “Send on change”

You can now configure the update interval of Analog/Binary/Multistate output points to 0, which enables the point to only send values to its reference on a change of value. This is especially valuable when utilizing off-box BACnet referencing so as to not waste valuable bandwidth on the MS/TP or wireless link(s). Keep in mind that an output point always sends on change, but if a non-zero update interval is used, it will also send at that interval. Appropriate heartbeat intervals need to be considered (and in some cases disabled) for referenced output and value points in order to not generate faults on the receiving points when using update intervals of 0.

Note This same feature does not apply to software input points. Setting an input point to an update interval of 0 disables polling of the reference and holds the value of the software input point at its current state.

Tracer TU Release 8.3/TGP2 Editor

This version of the Tracer Graphical Programming (TGP2) Editor Help reflects the new enhancements added for Tracer TU 8.3, which are listed in the following table.

New Feature or Change | Description
Addition of Help for Enum.Heat/Cool System block | Use the Enum.Heat/Cool block to report a device’s heat/cool status to a system controller. (See Enum.Heat/Cool for details and examples.)
Addition of context-sensitive Help for System Blocks | Help has now been linked to System block right-click menus and Properties dialog boxes.

Tracer TU Release 8.2/TGP2 Editor

This version of the Tracer Graphical Programming (TGP2) Editor Help reflects the new enhancements added for Tracer TU 8.2, which are listed in the following table.

New Feature or Change

Description

Support for Trane factory unit ventilator configurations that can be modified to fit job requirements

You can edit certain programs and points in unit ventilator configurations to meet job requirements. However, when you alter a factory program or points, you must first acknowledge that you are unlocking the program or points, which then change from "Factory" to "Factory-Field Modified" status.

See Editing a Trane Factory Program and Modifying Editable Factory Points for more information.

New TGP2 blocks

The following blocks have been added in Tracer TU Release 8.2:

  • Comm Status block

Use the Comm Status block to indicate the communication state between a Tracer SC and a UC400 or UC600. (See Comm Status block.)

  • One Shot block

The One Shot block provides a cleaner way to sense when a binary state has changed from either false to true or true to false. The output is true for only one program cycle. (See One Shot block.)

  • Set/Reset Flip-Flop block

Use the Set/Reset Flip-Flop block to combine two pieces of binary information, which are not direct opposites. The S/R FF block has two inputs (S and R) and two outputs (Qa and Qb). When one of the two inputs (S or R) transitions from False to True, the output associated with the other input is reset, switching it off (False). If both inputs transition from False to True the block is reset (False, False). If neither the S or R input transitions from False to True, then the values of their outputs remain as they were in the previous program run. (See Set/Reset Flip-Flop block.)

  • nor block

Use the nor block to compare the inputs and apply NOR logic to them. The block issues a binary output value resulting from the two input values.

  • nand

Use the nand block to compare two inputs and apply NAND logic to them. The block issues a binary output value resulting from the two input values. (This block applies only to binary values.) (See nand block.)

  • DeEnum.ChillerSequence block

Use the Chiller Sequence DeEnumeration block to translate a chiller’s sequence number to true and false states. A chiller’s sequence number indicates where in the chiller plant sequence of chillers the chiller will be enabled and disabled. As chillers are switched from lead to lag, the sequence number of each chiller updates to indicate what the starting order will be. (See DeEnum.ChillerSequence block.)

Additional priority levels for Output and Value blocks in the I/O: Points library.

All output and value objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Blocks affected are:

  • Analog Output

  • Analog Value

  • Binary Output

  • Binary Value

  • Multistate Output

  • Multistate Value


TGP2 Concepts

The topics in this section provide a brief overview of some important Tracer Graphical Programming concepts.

See

  • Tracer Graphical Programming
  • Understanding Blocks
  • Integration of Point Configuration Into the TGP2 Editor
  • Online and Offline Modes
  • Types of Variables Available in TGP2
  • Control Priority Levels
  • Counter Blocks
  • System Blocks
  • Equipment/Application Blocks
  • Trane Factory Points and Programs


Tracer Graphical Programming

Use the Tracer Graphical Programming (TGP2) Editor to create and modify programs that run in the new generation of Trane programmable controllers (UC210, UC400, UC600). TGP2 eliminates the need for line-by-line programming by utilizing the concept of graphical programming. In the TGP2 Editor, you place and connect graphical elements, much like creating a flow chart, to create a program that accomplishes the desired sequence of operations.

The simple example below takes the Equipment Room Space Temperature value and compares it to the Equipment Rm Temp Setpoint (an analog constant of 85°). If the space temperature value is greater than the setpoint (true), the fan is turned on. If the space temp value is less than the setpoint (false), the fan is remains off.

Programs and their related points are created in the TGP2 Editor (launched from within the Tracer TU service tool). Once a program is complete, you can save it to your hard drive and/or download it directly to a controller. Later, when you or another technician make a service call, you can upload the program to Tracer TU and modify it or replace it with a new program. The graphical representation of the program along with any brief comments added to the Program Properties dialog box allow you or other technicians to interpret the program.

If you are new to TGP2 and the TGP2 Editor, see the Tracer Graphical Programming (TGP2) Applications Guide (BAS-APG008-EN) for a step-by-step tutorial. The Applications Guide includes basic instructions to introduce you to the TGP2 Editor and builds your skills by guiding you through the construction of a series of programs.


Understanding Blocks

A program consists of a combination of graphical programming blocks that are connected to perform a logical task. Graphical programming blocks are the fundamental objects used to write a program in the TGP2 Editor. Each block serves a specific purpose. For example, some of the blocks represent inputs, outputs, and values (variables). Other blocks manipulate data by performing specific types of processing or logical operations. Connecting these blocks in a given arrangement determines how the program behaves. (For information about each TGP2 block, see the TGP2 Block Reference.)

Basic Block Structure

The figure below illustrates the basic structure of a graphical programming block. The connection points on the left side of the block are called input ports. Input ports pass data into the block. Connections on the right side of the block are called output ports. Output ports pass data out of the block.

Block Properties

Most of the TGP2 blocks are configured through their own individual Properties dialog boxes, which you can access by right-clicking each block or by double left-clicking with your mouse cursor over block.

Point Configuration

You must configure all required points before they are available for assignment to blocks. You can create and maintain point configurations in the TGP2 Editor or in the Tracer TU service tool as follows:

  • TGP2 Editor

Use the Point Configuration dialog boxes, which you access from the Points Summary dialog box. (See Configuring and Managing Points.)

  • Tracer TU service tool

Use the Analog, Binary, and Multistate tab screens of the Controller Settings Utility. (See the Tracer TU Help for Programmable Controllers for information and procedures.)

During block configuration, you need only select the pre-configured point you want to assign to an input, output, or value block in your program. For example, the Analog Input Properties dialog box shown here contains a drop-down list from which you can select the pre-configured analog input you want the Analog Input block to represent in your program. The only other selections you need to make are the types of output ports to include on the block.

Wired Connections

Wired connections establish processing flow from one block or set of blocks to a subsequent block or blocks. Data values are passed through analog and binary connectors. In the sample segment below, the two solid lines are analog wires and the broken line to the right of the Greater-than block is a binary wire.

See Connecting Blocks with Wires for the correct procedure.


Integration of Point Configuration Into the TGP2 Editor

In traditional TGP, points (inputs, outputs, and values) were mapped to specific terminals in the MP580/581 Programmable Controller, because TGP was designed to work exclusively with the MP580/581. However, TGP2 is designed to work with a variety of "new generation" controllers (for example, UC210, UC400, and UC600), and, therefore, must use a more dynamic method of mapping points to terminals on different types of controllers.

This need for flexibility resulted in the integration of the point configuration function into the TGP2 Editor. You can configure points using the TGP2 Editor, assign those points to blocks in a program, and then download the program and corresponding points to the controller. This integration of point configuration into the TGP2 Editor greatly reduces complexity and improves your workflow. There is now no need to constantly refresh the point data as was necessary when using the RCF Editor in combination with the TGP Editor.

This new capability also results in a distinct separation of point configuration from specification of block properties. (Points must be configured before they are available for assignment to blocks.) During block configuration, you need only select the pre-configured point you want to assign to an input, output, or value block in your program. For example, the Analog Input Properties dialog box shown here contains a drop-down list from which you can select the pre-configured analog input you want the Analog Input block to represent in your program. The only other selections you need to make are the types of output ports to include on the block.

You create and configure the points you need by using the Point Configuration dialog boxes, which you can access from the Points Summary dialog box. (The Points Summary dialog box is available as an option on the Point Configuration menu.) You can also use create and configure points on the Controller Settings screens in the Tracer TU service tool.

See

Configuring and Managing Points


Online and Offline Modes

You can use the TGP2 Editor in either online or offline mode to perform point configuration tasks. You can also write programs in either online or offline modes. (However, you will most likely write your programs offline using a configuration (points file) saved on your hard drive.

Online and offline modes are used for different purposes.

  • Offline mode is used to create or edit configurations (points files) and programs, which can then be stored on your PC hard drive for subsequent download to one or more controllers. You can perform offline tasks before you arrive at a job site.
  • Online mode is used to create a new configuration and save it directly to the controller, edit an existing configuration on the controller, or download a new configuration to replace an existing one.


Types of Variables Available in TGP2

Variables play an important role in programming for HVAC systems. They receive, store, and pass values to inputs, value objects, and outputs from sources inside and outside programs. Variables provide the flexibility required to coordinate the operation of multiple devices that make up HVAC systems.

Variable Types

The TGP2 Editor provides different types of variables that serve different purposes.

  • Value objects

Variables can act as value objects that receive a value pushed from a reference point. For example, an analog output on a Tracer SC can push a value to an Analog Value block in a program on a UC400. Binary and Multistate Value blocks serve the same function.

  • Global variables

Global variables are available to (can be referenced in) all programs on a single device. That is why they are referred to as “global” variables. They exist outside of the resident programs in volatile memory. You can define up to 127 global variables that persist as long as the system is up and running. You can use global variables to hold values that result from program routines or calculations. The value held in each global variable is lost if power is interrupted. However, the values are replaced when power is restored and device programs start running again. (See Configuring and Using Global Variables for more information.)

  • Macro variables

Macro variables (Macro Var blocks) act as variables within a Macro block. Their scope is limited to a particular Macro block and values do not cross over between Macro blocks. There are analog and binary versions of Macro variables. They are used to remember information across program cycles.

  • Wireless Write and Read blocks

An Analog or Binary Wireless Write block can receive a value from an input, output, or value block and then pass that value to one or more corresponding Analog or Binary Wireless Read blocks in the same program.

Capabilities of Variable Types

These variable types have different capabilities that also influence which one is appropriate for a given purpose.

  • Scope

In what context can the variable container operate? Within a device, a program, or part of a program?

  • Network exposure

Is the variable able to read a value transmitted over a network (from a Tracer SC), or is it restricted to a device or program?

  • Persistence across a reset or power cycle

What happens to the current value held in the variable in the event of a power loss or shut down?

  • Persistence across program cycles

Does the variable continue to hold the latest value in the intervening period between program executions?

  • The number of variables allowed

How many variables of a given type can be defined and used in or by a program?

The following table summarizes the capabilities of each variable type.

Type | Scope | Network Exposure | Persistence Across Reset or Power Cycle | Persistence Across Program Cycles | Number Allowed
Value objects | Device | Yes | Yes | Yes | Limited by device
Global variables | Device | No | No | Yes | 127 per device
Macro variables | Macro | No | No | Yes | 127 per macro
Wireless blocks | Program or Macro | No | No | No | Device dependent


Control Priority Levels

In certain circumstances, you may want a specific routine in a program or a triggered program to start or take control (for example, when smoke is detected or a high alarm setting is exceeded for a specific duration). The ability to set priority levels for output and value points provides a way to enable your programs to respond to varying conditions by selecting one source value over another.

Control priority provides a means of arbitrating or deciding which source’s value is used by another writable point. A source can be another program, a manual override, minimum on/off, or an automatic process attempting to write a value to either an output or a value point. Output and value points are considered writable.

Note Priority does not apply to input points.

Sixteen Levels of Priority

There are sixteen levels of priority assignable to output and value points, 1 being the highest and 16 the lowest. Attempts to control or release at priority level 6 are ignored through TGP2. Priority levels 1, 8, 11, and 13 are available for manual overrides.

Priority Levels | Priority Level Name | Assigned Applications
1 | Life Safety - Manual | Emergency overrides for users
2 | Life Safety - Auto | Emergency override for system applications
3 | Miscellaneous | ---
4 | Miscellaneous | ---
5 | Critical Equipment | Factory Safety TGP2
6 | Minimum On/Off | Minimum On/Off
7 | Automated Demand Management | ---
8 | Manual Override High | User High
9 | Programming High | TGP2 High (default field programming level)
10 | Application High | VAS
11 | Manual Override Medium | User Medium
12 | Application Medium | Area (TOV)
13 | Manual Override Low | User Low
14 | Programming Low | Programming Low
15 | Application Low | Scheduling
16 | Miscellaneous | ---

Priority Set and Release Ranges

The Analog, Binary, and Multistate Output and Value points have the following set and release ranges. Set and release requests outside of these ranges are ignored.

Analog Output and Value Block Set Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)
Binary Output and Value Block Set Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)
Multistate Output and Value Block Set Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)
Analog Output and Value Block Release Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)
Binary Output and Value Block Release Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)
Multistate Output and Value Block Release Range | 1 - 5 and 7 - 16 inclusive (6 is ignored)

Priority Rules

Control priority uses the following rules:

1

Output points write the referenced point at the level that was specified in the the Analog, Binary, or Multistate Output Point Configuration dialog box using the Update Priority list box. (See Example 2, in Methods You Can Use to Set Priority for more information.)

2

Value points can only be written. They do not write to other points, as they do not have a reference property.

3

TGP2 writes to output and value points at either

  • The program level (See the previous table.)
  • The value that you set using the Priority Level port on the output or value point blocks (See Methods You Can Use to Set Priority.)

4

The last value to be written prevails if there are two or more sources that have the same priority level, AND they both have the highest priority.


Counter Blocks

A counter is a function whose current value is derived by either increasing or decreasing from a previous value in set increments. Typical applications are lead stage rotation and order definition. While not designed to be used in timing functions, you can use them if there is a need to pause a timer for some reason then continue from where it left off.

TGP2 provides two counter types:

  • Event triggered
  • Execution

(See Event Counter block and Execution Counter block for descriptions and examples.)

Counter Operation

All counters are based on the following algorithm. The current output, output(n), is derived from the last output, output(n-1), and the increment.

The Increment

A typical problem with counters is “overspecification”. The normal counter specifications are a starting value, an ending value and an increment. A potential problem exists with the sign (polarity) of the increment and its relationship to the starting value. It is possible for the increment sign to not match the intended direction of the counter, either up or down. This condition can cause the counter to never change value or to head outside of the valid range.

In the TGP2 counters, the increment direction is dependent on the sign of the difference between the end value and start value. An increment can be positive, negative or zero. The counter pauses if the increment is set to zero.

Note The sign of the value at the Increment port is ignored internally.

Internal Priority

The TGP2 counters have an internal priority list, which establishes control over the value of the current output. The priorities are—from most important to least important:

  1. First program run

The current output is always the defined starting value the first time the program runs following a device reset, a program download, or program replacement. This is to avoid false triggers that can occur when a device is started following a reset.

  2. Reset (Port)

The current output is always the defined starting value whenever the reset port of the counter block is set true.

  3. Exceeds defined range

The range is exceeded whenever the counter output is greater than or equal to the defined end of range. The output value is set at the defined starting value when the next valid trigger occurs.

  4. Enable (Port)

The current output is set to the last value whenever the enable port is set false.

  5. Trigger (Internal for execution counter; Port for event counter)

Each counter type has a valid trigger to increment.

  • Execution Counters

A program run is considered a valid trigger.

  • Event Counters

The input port, Input,The following transitions are considered valid triggers:

provides the trigger data.

where the dot (·) stands for AND and the line over Input (n-1) means NOT or the inverse.

  1. The Input port value has transitioned from false to true.
  2. Set in Properties dialog.

where the dot (·) stands for AND and the line over Input (n) means NOT or the inverse.

  1. The Input port value has transitioned from true to false.
  2. Set in Properties dialog

The following graphic illustrates these two triggers:

In the first case, the counter is incremented on the first (rising) event; in the second case the counter is incremented on the last (falling) event.

(It is also possible to select both transitions in the properties dialog.)

Output Clamping

The output value is constrained by the starting and ending values regardless of the relationship between the starting value and the increment.

Example 1: Effect of clamping on an up counter where:

  • Enable = true
  • End Value = 20
  • Start Value = 1
  • Reset = false
  • Increment = 0.6

We would expect to see the following values from the counter output:

{1.0, 1.6, 2.2, 2.8, 3.4, 4.0, 4.6, 5.2, 5.8, 6.4, 7.0, 7.6, 8.2, 8.8, 9.4, 10.0, 10.6, 11.2, 11.8, 12.4, 13.0, 13.6, 14.2, 14.8, 15.4, 16.0, 16.6, 17.2, 17.8, 18.4, 19.0, 19.6, 20.2 (clamped to 20.0)}.

On the next trigger, the output will be set to 1.0 again.

Example 2: Effect of clamping on a down counter where:

  • Enable = true
  • End Value = 1
  • Start Value = 20
  • Reset = false
  • Increment = 1.3

We would expect to see the following values from the counter output:

{20.0, 18.7, 17.4, 16.1, 14.8, 13.5, 12.2, 10.9, 9.6, 8.3, 7.0, 5.7, 4.4, 3.1, 1.8, 0.5 (clamped to 1.0)}.

On the next trigger, the output will be set to 20.0 again.


System Blocks

The TGP2 Editor includes a library of System blocks you can use in your TGP2 programs. These custom blocks contain algorithms specific to Trane systems and equipment. They provide a convenient and consistent means of calculating common pieces of information. There are also DeEnumeration and status blocks provided in the library that are specific to Trane enumerations and states. (Trane reserves the right to improve and update the library in the future.)

The blocks are grouped into the following categories:

  • Arbitration
  • Communication Status
  • DeEnumeration: Chiller
  • DeEnumeration: System
  • Enum.Heat/Cool
  • System Block Properties

Category 1: Arbitration

Block Name | Description
arbitration.activeSetpoint | This block calculates the active space setpoint, occupied heating and cooling setpoints and arbitrates the heat/cool mode. The calculation is based on occupancy, heat/cool mode, space temperature active, setpoint and offsets.
arbitration.heat/cool | This block arbitrates between a BAS requested heat/cool state and derived heat/cool state based on space temperature, space temperature setpoint and the occupied offset.
arbitration.occupancy_tovBool | This block arbitrates occupancy between different sources of information depending on priority scheme. Communicated values have priority over hard wired values, which have priority over the default value.(See page 79 in the UC400 Programming Guide.)
arbitration.occupancy_tovEnum | This block arbitrates occupancy between different sources of information depending on priority scheme. Communicated values have priority over hard wired values, which have priority over the default value.
arbitration.Source3 | This block arbitrates between three different sources of information depending on priority scheme. The communicated value has priority over the hard wired value, which has priority over the default value.
arbitration.Source4 | This block arbitrates between four different sources of information depending on priority scheme. (An operator display source has been added to those included in setpointSource3.) The order of priority is (1) communicated value, (2) operator display, (3) hard wired value, and (4) default value.
flag.night h/c | This block is used to indicate that the unoccupied space conditions warrant starting mechanical cooling or heating.

Category 2: Communication Status

Block Name

Description

flag.commStatusBool

Use this block to indicate the communication state between a Tracer SC and a UC400. When you install a UC400 on a Tracer SC, the Tracer SC becomes the parent device of the UC400.

The UC400 polls the parent Tracer SC periodically to determine communication status. There is no user interaction necessary. The parent device is polled at a set interval defaulted to 15 minutes.

flag.commStatusEnum

This block is used to indicate the communication state between a Tracer SC and a UC400. When you install a UC400 on a Tracer SC, the Tracer SC becomes the parent device of the UC400.

The UC400 polls the parent Tracer SC periodically to determine communication status. There is no user interaction necessary. The parent device is polled at a set interval, defaulted to 15 minutes.

Category 3: DeEnumeration: Chiller

Block Name | Description
DeEnum.ChillerSequence | Use the Chiller Sequence DeEnumeration block to translate a chiller’s sequence number to true and false states. A chiller’s sequence number indicates where in the sequence of chillers the chiller will be enabled and disabled. As chillers are switched from lead to lag, the sequence number of each chiller updates to indicate what the starting order will be. (See DeEnum.ChillerSequence Properties for information about configuring this block.)

Category 4: DeEnumeration: System

Block Name | Description
DeEnum.EmergencyOverrideBAS | Seems like an override can be issued to result in one of a set of different outputs.
DeEnum.Fan Speed | Converts an instance value to a speed value (high, medium, low, off, or auto).
DeEnum.HeatCool | Converts an instance value to one of sixteen heat/cool outputs (max heat, morning warm-up, night purge, calibrate, and so on).
DeEnum.Occupancy | Converts an instance value to one of five occupancy outputs (occupied, unoccupied, bypass, standby, and not occupied).
DeEnum.Occupancy Ext | Converts an analog enumeration to one of several possible binary output values that indicate occupancy modes (occupied, unoccupied, bypass, standby, and auto).
DeEnum.Operating Mode | Converts an instance value to one of ten operating modes (occupied, unoccupied, optimal start, and so on).
DeEnum.Valve Override | Converts an instance value to one of five override outputs (full open, full closed, min setpoint, max setpoint, and auto)

Category 5: System Blocks - Enum.Heat/Cool

Block Name | Description
Enum.Heat/Cool | Use the Enum.Heat/Cool System block to report a device’s heat/cool status to a system controller.

The System Block Properties Dialog Box

Because these blocks are unknown to the TGP2 Editor, they use a special Properties dialog box. As with the regular DeEnumerator block, you are selecting whether to make a port available to the program. Select true to make the port available; select false to keep the port hidden. The DeEnum.Occupancy block Properties dialog box is shown here as an example.


Equipment/Application Blocks

The set of Equipment/Application blocks extend programming capabilities on the Tracer SC (Building Automation System) by enabling control programs to reference properties of equipment, space, and system (application) objects. The bolded terms can be defined as follows:

  • Property

A value or setting that contributes to determining the qualities or behavior of the equipment, space, or system object.

(Other documents may use equivalent terms, such as attribute or element to communicate the same meaning.)

  • Equipment

Refers to the function and role, or software representation, of the physical devices installed on the Tracer SC. All devices, such as air handlers, VAV boxes, and chillers are represented as equipment upon installation, which makes them visible on Tracer SC and their properties available to TGP2 programs.

  • Space

A room or portion of a building that is serviced by a VAV box or a terminal product, such as a unit ventilator.

  • System

Refers to software entities such as areas, Variable Air Systems, and Chiller Plants. These system objects are all configured in Tracer SC and possess several specific properties that can be utilized in control programs.

The following section of a Tracer SC page displays some configuration properties of a space. Equipment/Application blocks can reference any of these setpoints. For example, a coordinating program could reference the Occupied Offset to determine the heat/cool mode.

The six Equipment/Application blocks include analog, binary, and multistate input and output blocks. An input block can pull a value from the referenced property of an individual piece of equipment, a space, or system, while an output block pushes a value to a referencer. (See Referencing Points for more information about references.)

Using the Equipment/Application blocks to implement system level control and coordination of equipment on a network requires careful planning and a detailed knowledge of all member devices, their interrelationships, and their sequences of operation.


Trane Factory Points and Programs

Trane factory blower coils, fan coils, and unit ventilators are treated differently than other types of equipment. Certain modifications to the factory configurations are allowed.

Modifiable Configurations

Trane factory blower coils,fan coils, unit ventilators are initially configured using standard factory programs and points, which are marked "Factory-Sealed.” However, you can edit the factory points and some programs to suit job requirements. For example, you may need to make common modifications to the equipment, such as adding valves.

When you make changes to the factory programs or points, you must explicitly acknowledge that modifications are being made and that the programs and points are then transitioning to a "Factory-Field Modified" state. These points and programs will be marked as "Factory-Field Modified", so you can edit them.

Editable Points and Programs

You can make certain changes to factory points and the programs that generate the I/O control signals to hardware terminations on the controller. You can edit only these I/O programs. All other programs are considered factory infrastructure programs and edits to those are not allowed.

In addition, some programs include editable source code and others do not. The TGP2 Editor will issue a message if source is not available for a program. For example, programs that handle functions other than I/O signals do not include source code.

Uploading Programs

When you upload programs from the controller using the Program > Upload option, the TGP2 Editor presents a list of the programs on the controller. Each program is designated as "Factory-Sealed," "Field-Applied" (custom), or "Factory-Field Modified." However, if the program's source code is not available, the TGP2 Editor issues a message indicating that the program cannot be edited.

See

  • Editing a Trane Factory Program
  • Uploading a TGP2 Program
  • Modifying Editable Factory Points


An Overview of Basic Calibration Block Operations

The Basic Calibration block functions are based on the following sequence of operations:

ZN520/521 sequence of operations: Calibration of modulating valves is done automatically. During normal operation, the controller overdrives the actuator (135% of the stroke time) whenever a position of 0% or 100% is requested. As part of Tracer ZN521 normal operation. At power-up or after a power outage, the controller first drives all modulating valves (and dampers) to the closed position. The controller calibrates to the fully closed position by overdriving the actuator (135% of the stroke time). Then, the controller resumes normal operation. (From the ZN520 IOM (CNT-SVX07_)

The Basic Calibration block does not use the actuator drive time to determine when the calibration process has stopped. Instead it monitors the calculated actuator position. The value is provided by an analog input point referenced to a modulating triac object’s analogValue property. During calibration, you should see this value exceed 100% and 0%. Using this technique shortens the calibration time to just what is necessary to drive the damper to the overdrive value, not some multiplier times the total drive time.

Four Events That Trigger Calibration

The Basic Calibration block triggers a calibration operation in response to the following events:

  • Upon power up or reset of the device. The block automatically overdrives the actuator closed.
  • Upon the requested actuator position reaching a trigger value, typically 0% or 100%. If 0%, the block overdrives the actuator closed. If 100%, it overdrives the actuator open.
  • Upon a change of occupancy to unoccupied. Whenever the occupancy changes to unoccupied, the block overdrives the actuator closed. (This is typical of VAV box calibration.)
  • A manual triggering calibration operation, which overdrives to open or closed, as desired.

Three Events That Stop a Calibration Operation

The following events stop a calibration operation:

  • Setting the enable port to false. This is an abnormal way to end the operation. It affects all calibration types.
  • The actuator position arrives at the overdrive value. The calibration operation completed its action. It affects all calibration types.
  • The calibration is triggered by the actuator request reaching either the high or low side trigger value, but the request position changes to a value less than the high side trigger or greater than the low side trigger values.

The following figure illustrates high and low side calibration responses followed by normal termination.

See

  • Basic Calibration Block


Quick Tour of the TGP2 Editor

This section contains topics that describe the main parts of the TGP2 Editor user interface. If you are new to the TGP2 Editor, these topics will familiarize you with the TGP2 programming environment.

See

  • The TGP2 Editor Window
  • The Toolbox Pane
  • The Program Design Space
  • The TGP2 Editor Menu Bar
  • The Output Window
  • Accessing Help on Blocks


The TGP2 Editor Window

The TGP2 Editor Window is divided into five main parts. (Nearly the same categories were used in the TGP Editor.)

  • The Toolbox pane

All of the TGP2 blocks are grouped under categories within the expanding Toolbox pane on the left side of the application window. (See The Toolbox Pane for more information.)

  • The Program Design Space

The Program Design Space provides the main work area in which you arrange and connect blocks to build programs. (See The Program Design Space for more information.)

  • The Menu bar

The TGP2 Editor menus provide access to features such as file management commands, editing commands, preference selections, programming facilities, point configuration dialogs, and Help information. (See The TGP2 Editor Menu Bar for more information.)

  • The Output window

The Output Window displays validation and compiler messages. (See The Output Window for more information.)

  • The Status bar

The status bar displays the current mode (Offline or Connected) and the type of device connected.

Here is a view of the TGP2 Editor Window with an open program.

Because the Toolbox pane and the Output Window are docking windows, you can resize and rearrange them in the TGP2 Editor window to suit your preferences. The TGP2 Editor remembers your last arrangement and presents the same alternate arrangement you used in your previous session when you start it again later.

See

  • Understanding Blocks
  • Accessing Blocks from the Toolbox Pane
  • Creating a New Program


The Toolbox Pane

All of the blocks are grouped under categories within the expanding Toolbox pane on the left side of the application window. See Accessing Blocks from the Toolbox Pane to learn how to "drag and drop" blocks into the Program Design Space.

Collapsed and Expanded Views

In the figure on the left, the categories or sections are collapsed. However, when you open the TGP2 Editor, the sections are expanded by default and appear as in the figure on the right. All categories, including the custom libraries that you create in the Toolbox pane, are collapsible and expandable.

Right-Click Menu

Right-click anywhere within the Toolbox pane to display the following context-menu. The options provide quick access to block management and library related commands. (Different options are active depending on the where your cursor is placed in the Toolbox pane.)

For example, you can use the Add to Favorites option to place your most frequently used blocks in the Favorites section at the top the Toolbox for easy access. (See Copying Blocks to the Favorites Section in the Toolbox.)

You can also add custom libraries to the Toolbox pane where you can store your custom (Macro and Formula) blocks. (See Creating a Custom Library.)

Finally, you can display the Toolbox sections in alternate ways by using the View By options. For example, you can display the block icons without identifying text (Icons Only).


The Program Design Space

The Program Design Space is the main work area within the TGP2 Editor window. You can drag different types of blocks into the Program Design Space, associate them with existing referencers (points), configure their input and output ports according to your requirements, and connect them with analog and binary "wires" to establish the correct processing flow. (See Understanding Blocks for more information.)

Right-Click Menu

You can right-click anywhere within the Program Design Space to display a menu. This right-click menu contains standard windows editing options as well as program level and block level options. Active options vary depending on cursor location. You can use Macro and Formula options to create and save custom blocks. The Select All option selects all elements in the currently displayed program, so you can move them within the Program Design Space as one unit. Use the Help option to access information about the specific block you have highlighted with your cursor, or to access the entire Help system.

Finally, select Program Properties to open the Program Properties dialog box where you can document basic information about your program.


The TGP2 Editor Menu Bar

The TGP2 Editor menus provide access to features such as file management commands, editing commands, preference selections, programming facilities, point configuration dialogs, and Help information.

Main Menus

Click any of the menu items in the graphic that follows to learn more about the menu options. (See the actual menus for shortcut keys (Ctrl-C and so on.)

Toolbars

There are three toolbars under the main menus:

  • Standard toolbar

The Standard Toolbar contains shortcuts for several standard Windows editing and printing commands.

Note You can also zoom in and out (magnify or reduce) the program in the Program Design Space by pressing the Control button while you spin your mouse wheel. (Mouse wheel is required.)
  • Alignment toolbar

The Alignment toolbar provides shortcuts you can use to align a selected set of blocks in a program. First, press your left mouse button while guiding your cursor around the blocks you want to align, then click the shortcut to align the blocks as you desire.

  • Tools toolbar

The Tools toolbar provides shortcuts that start program validation/compilation, simulation, and execution.


The Output Window

The Output Window displays validation and compiler messages.

Click on each message to highlight the affected block in the Program Design Space. For example, if you click the first message, the Add block is outlined in red showing that its ports are not connected.


Accessing Help on Blocks

You can access two types of Help for each block

  • A explanation of the block's function with an example illustrating the use of the block.
  • A description of the controls on the block's Properties dialog box.

To access an explanation of the block's function

Right-click the block, and then click Help on the right-click menu.

A description of the block appears.

To access a description of the block's Properties dialog controls

  1. Right-click the block and then click Block Properties on the right-click menu.

The block’s Properties dialog box appears.

  2. Click the Help button on the Properties dialog box.

A topic describing the contents of the Properties dialog box appears.


TGP2 Block Reference

This section includes topics describing how the TGP2 blocks work. Most topics demonstrate the function of a block with sample programs.

The links in the list that follows correspond to the sections of the Toolbox pane on the left side of the TGP2 Editor window. Click a link to see a list of the specific block description topics for a Toolbox section. The blocks are listed in the order they occur in the section.

Note You can also access Help for any block from the block's right-click menu, its Properties dialog box, the Index, or the Table of Contents.

Note Some examples in these topics may require you to enlarge or maximize the Help window.

See

  • Alarms
  • Calculation
  • Compare
  • Conversion
  • Function
  • I/O Equipment/Application
  • I/O: Global
  • I/O: Points
  • I/O: Program
  • Logical: Combinational
  • Logical: Sequential
  • Macro Blocks
  • Math
  • Misc
  • Time Delay
  • System Blocks - Arbitration
  • System Blocks - Communication Status
  • System Blocks - DeEnumeration: Chiller
  • System Blocks - DeEnumeration: System
  • System Blocks - Enum.Heat/Cool
  • Basic Calibration Block
  • Staging Calculation Blocks


Alarms

Alarm blocks

This section contains topics describing alarm (diagnostic) related blocks.

Note Some examples in these topics may require you to enlarge or maximize the Help window.

See

  • Diagnostic Analog block
  • Feedback Alarm block


Analog Diagnostic block

Diagnostic Analog block

Use this block to create a custom alarm based on the status of an object or variable. Use the analog diagnostic block whenever an alarm condition needs to be determined from an “intermediate” location in a sequence. All points have an alarm capability. (See Diagnostic Analog Properties for information on configuring this block.)

How It Works

The inputs depend on the alarm type. The output is optional and allows a point to be controlled based on the status of an alarm. When an alarm becomes active and goes into the alarm/diagnostic, it is accompanied by its name, date/time stamp, state or value of the input and the appropriate text message.

Absolute or Relative Limits

You can establish absolute or relative alarm limits which are illustrated here. In the first figure, the limits are fixed and invariable, while in the second figure the limits are offsets based on the setpoint value. You can select either absolute or relative limits on the Diagnostic Analog Properties dialog box.

In this first example, the red rectangle encloses the area in which the value remains in high alarm. Notice that when the value, such as a temperature, goes over the high alarm limit there is a delay before the high alarm is issued. The delay is to prevent excessive alarming by making sure the value remains above the high alarm limit for a significant period of time before the alarm is issued. The low alarm limit works the same way. The blue rectangle encloses the area in which the value remains in low alarm after the configured delay.

The relative alarm limits work the same way as the absolute alarm limits, except that the limits themselves are offsets and are adjusted in relation to any change in the setpoint value.

Example 1

This first example shows the use of absolute alarm limits. The temperature setpoints on which the high and low limits are based are specified as analog values. This program provides an indication that the average of the zone temperatures has gone outside the desired limits. The constant (120 seconds) is the delay time that affects the transition from normal to alarm AND alarm to normal states.

The only time an alarm should occur is when the space is scheduled to be occupied. This program also prevents any alarms from activating when we know that one of the inputs has failed.

The binary value point is used to route the alarm to the appropriate alarm class.

Example 2

This second example illustrates the use of the diagnostic block when relative alarm limits are required. The alarm limits change relative to the alarm setpoint (an analog value). In this case, a high alarm would occur if the measured zone temperature is greater than the setpoint plus the high alarm offset (2.0). A low alarm would occur if the measured zone temperature is less than the setpoint minus the low alarm offset.

The alarm condition must be maintained for 5 minutes before the alarm will occur. This delay gives the space a reasonable chance to get near to setpoint.


Feedback Alarm block

Use this block to compare the status of an input, output, or value to a requested state. (See Feedback Alarm Properties for information on configuring this block.)

How It Works

The Feedback Alarm block compares the status of a binary input, output, or value to a requested state. The binary output state is determined by the selected relationship between the status and the request. Configure the block with one of the following three relationships in the properties dialog box:

  • Request XOR Status, or Request ≠ Status
  • Request AND NOT(Status), or Request = TRUE and Status = FALSE
  • NOT(Request) AND Status, or Request = FALSE and Status = TRUE

Feedback Alarm Functionality, Request XOR Status

In this configuration, the output of the Feedback Alarm block is true any time there is a mismatch between the output request and the status.

Inputs |  | Output
Request | Status | Block
True | True | False
True | False | True
False | True | True
False | False | False

Feedback Alarm Functionality, Request AND NOT(Status)

In this configuration, the output of the Feedback Alarm block is true when the output is requested on but the status is off.

Inputs |  | Output
Request | Status | Block
True | True | False
True | False | True
False | True | False
False | False | False

Feedback Alarm Functionality, NOT(Request) AND Status

In this configuration, the output of the Feedback Alarm block is true when the output is requested off but the status is on.

Inputs |  | Output
Request | Status | Block
True | True | False
True | False | False
False | True | True
False | False | False

Example 1: Supply Fan Control with Manual Reset on Failure

The Feedback Alarm block in the program below assists in the fan control sequence for an air handler. It compares the fan start/stop request and the fan status. If the request and the status are not the same for 30 seconds, the output of the Feedback Alarm block changes to true. Otherwise, it remains false. Once the feedback-alarm output changes to true, a manual reset is required. The manual intervention is required to reset the supply fan alarm to allow it to run. In the last part of this example, the Binary Variable (fan failure reset) and Constant block (false) are joined by an And block. The output of the And block will always be false because of the false value of the Constant block. The result of the And block is written to the fan failure reset binary variable ensuring that when the fan failure reset variable is manually set to true, it stays that way for only one program execution.

Example 2: Supply Fan Control with Automatic Reset on Failure

The Feedback Alarm block in the program below assists in the fan control sequence for an air handler. It compares the fan start/stop request and the fan status. If the request and the status are not the same for 30 seconds, the output of the Feedback Alarm block changes to true. Otherwise, it remains false. Note that once the feedback-alarm output changes to true, a manual reset is required. During an alarm state, the feedback alarm output will be set to false when the fan status changes to true. This will allow the supply fan request to go true.

To use all or part of these sample programs, see helpFeedbackAlarm01.tgp2 and helpFeedbackAlarm01.tgp2 in the sample programs directory (C:\Program Files\Trane\FSU\TGP2Editor\Programs.)

Note You will need to configure the points required for these blocks.


Calculation

Calculation blocks

This section contains topics describing blocks used to perform specific calculations.

Note Some examples in these topics may require you to enlarge or maximize the Help window.

See

  • Air Flow block
  • Degree Days block
  • Demand Calculation block
  • Dewpoint block
  • Enthalpy block
  • Formula block
  • PID block
  • Reset block
  • Runtime/Starts block
  • Sunrise/Sunset Calculation block
  • Totalization Calculation block
  • Wet-Bulb block


Air Flow block

Use the Air Flow block to calculate the volumetric flow rate of air through a duct based on velocity pressure and duct cross-sectional area. (See Air Flow Properties for information on configuring this block.)

How It Works

The Air Flow block calculates the volumetric flow rate of air through a duct based on velocity pressure and duct cross-sectional area. The velocity of air flowing through a duct is calculated using the following formula, assuming a specific volume consistent with standard air conditions (70ºF at sea level).

Note Because the Air Flow block calculation is based on fixed temperature and elevation assumptions, you may want to use the Formula block to create your own function if a high level of accuracy is required, especially if you are working in a location at high elevation or where other factors may affect the results of the air flow calculation.

Using the air velocity, the volumetric flow rate is calculated as follows:

where,

= air volumetric flow rate (ft3/min)

= velocity (ft/min)

= duct cross-sectional area (ft2)

= velocity pressure (in H2O)

The properties dialog for the block allows you to specify the units of the inputs and output. For example, you can set the velocity pressure in inches H2O or Pascal. The output may take units of cfm, ccfm, kcfm, m3/s, or L/s. The block accommodates the unit conversions accordingly.

Example

In this example, the Air Flow block calculates the volumetric flow rate of air in a duct, based on a duct velocity pressure input value.


Degree Days block

Use this block to calculate heating degree days and cooling degree days on a daily, monthly, or yearly basis. The resulting values can be passed on to a Building Automation System (BAS) to support quantifying historical cooling and heating needs. (See Degree Days Properties for information on configuring this block.)

How It Works

Inputs

Outside Air Temp—An analog input or analog variable used to calculate the degree days

Reset—An optional input port that enables external control of the billing period reset. When a change of state occurs, the current billing period value is transferred to the last billing period, and the current billing period value is then set to zero (0). This port accepts any binary value.

Clear—An optional port used to clear the value and reset Degree Days to zero (0) upon receipt of a binary input or variable (value = true) that indicates that a specific condition or criterion has been met.

Outputs

Different output ports become available depending on your Reset Configuration group box selection on the Degree Days Properties dialog box.

Today's Value—Accumulated time for the current 24 hour period.

Yesterday's Value—Accumulated time for the previous 24 hour period.

Current Period Value—Accumulated time for the current billing period (month).

Last Period Value—Accumulated time for the previous billing period (month).

Year to Date Value—Accumulated time for the current year.

Note If you want to maintain values through block resets and other interruptions, configure analog value objects as persistence values. The values are saved to permanent memory every 60 minutes.

Formulas

The formula for Cooling Degree Days (OAT is > Base Temp) is as follows:

Output(n) = (OAT – Base Temp) x Δtime + Output(n - 1)

The formula for Heating Degree Days (OAT is < Base Temp) is as follows:

Output(n) = (Base Temp - OAT) x Δtime + Output(n - 1)

where:

OAT is outside air temperature.

Base Temp is usually 65° for cooling and 75° for heating. (It is a configurable setting in the Degree Days Properties dialog box.)

Δtime is the measured difference between the current time and the last time the program ran. It is used to compensate for the difference between program sampling intervals and actual time.

Note that the Reset calculation at the end of monthly billing periods takes into account the difference between the last sampling interval and the actual time (in this case 12:00 a.m., which begins the first 24 hour day of the new billing period). It correctly allocates the value of the closest sample either to the current billing period or the new billing period.

The heating degree days and cooling degree days calculation is based on the difference between a base temperature and the outdoor air temperature (OAT). The following figure illustrates this concept and includes the formulas used by this block

Note If you want set up this calculation differently, you can use the Formula block and Macro block for that purpose.

Example

In this example, the user wants to pass a variable containing the monthly heating degree days to a BAS for reporting and normalization.


Demand Calculation block

Use this block to calculate the electrical energy consumption and demand for each billing period. You can specify different billing period reset options, allow external logic to control the billing period reset, or allow values to accumulate indefinitely. (See Demand Calculation Properties for information on configuring this block.)

How It Works

Consumption refers to a quantity of electrical energy used over time. Demand refers to the rate that energy is used over time. The Demand Calculation block can calculate peak demand over time or average demand over time.

The Demand block can measure demand using one of three methods.

Thermal averaging—Calculating the average time it takes to reach a certain number of kilowatts of usage as measured by heat output.

Fixed window—Calculating power usage by averaging power usage at regular intervals (for example, every 15 minutes).

Rolling window—Calculating power usage by taking an average of averages, which results in a slightly more accurate, even measurement. The averaging takes place in intervals as in the fixed window method, but the intervals overlap one another.

Input Ports

Clear—An optional port used to clear the value and reset the Demand value to zero (0) upon receipt of a binary input or variable (value = true) that indicates that a specific condition or criterion has been met.

Power—Kilowatts or Kilowatt Hours

Reset—An optional input port that enables external control of the billing period reset. When a change of state occurs, the current billing period value is transferred to the last billing period, and the current billing period value is then set to zero (0). This port accepts any binary value.

Output Ports

Different output ports become available depending on your Reset Configuration group box selection on the Demand Calculation Properties dialog box.

Note If you want to maintain values through block resets and other interruptions, configure analog value objects as persistence values. The values are saved to permanent memory every 60 minutes.

Example

In this example the Demand block is used to calculate power based on an energy measurement from a pulse meter. If the Demand is greater than the load shed setpoint and the system is occupied, trigger the load shedding mode. The program determines the mode using only the instantaneous value.

The Demand block Clear port is held true all of the time in this case. Use a binary point to set the instantaneous value to zero if necessary.


Dewpoint block

Use this block to calculate the dewpoint temperature of moist air based on dry-bulb temperature (°F or °C) and relative humidity(%). Select the input and output units in the properties dialog box. (See Dewpoint Properties for information on configuring this block.)

How It Works

The dew-point temperature of moist air is a function of the dry-bulb temperature and the relative humidity. The block uses the calculations below to determine the dew-point temperature.

I-P calculation

where,

= dewpoint temperature (°F)

= dry-bulb temperature (°F)

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in I-P units.

SI calculation

where,

= dewpoint temperature (°C)

= dry-bulb temperature (°C)

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in SI units.

Example

In this first example, the Dewpoint block determines the dew-point temperature of the outdoor air based on the dry-bulb temperature and the relative humidity.

The Dewpoint block calculates the condensation control temperature based on the minimum surface temperature taken from among three inputs and the zone relative humidity.


Enthalpy block

Use this block to calculate the enthalpy of moist air based on dry-bulb temperature (°F or °C) and relative humidity (%). Select the input and output units in the properties dialog box. (See Enthalpy Properties for information on configuring this block.)

How It Works

The enthalpy of moist air is a function of the dry-bulb temperature and the relative humidity. The block uses the calculations below to determine the enthalpy value.

I-P calculation

where,

= enthalpy (Btu/lbm)

= dry-bulb temperature (°F)

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in I-P units.

SI calculation

where,

= enthalpy (kJ/kg)

= dry-bulb temperature (°C)

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in SI units.

Examples

This first example shows the Enthalpy block being used to calculate enthalpy. The resulting value is then set aside for communication to other controllers and /or for use in programs in the current controller.

This second example shows the Enthalpy block being used to calculate the enthalpy and compare that value to the economizing setpoint. Economizing is possible if the outdoor enthalpy is below the economizing setpoint. Some air handlers use the economizing mode (outside air) as the first stage of cooling if so equipped. Mechanical cooling, either direct expansion or chilled water, is used if economizing cannot provide enough cooling or economizing is not possible as the enthalpy is too high.


Formula block

Use this block to define and contain formulas that calculate function results that cannot be produced using the basic math blocks available. (See Formula Properties for information on configuring this block.)

Block information is presented under the following headings:

  • How It Works
  • Operators and Functions
  • Arguments and Values
  • Example 1
  • Example 2
  • Example 3

How It Works

The Formula block is a special block that can be created and defined by you, the programmer. You can create formulas that go beyond the capabilities of the existing TGP2 blocks. The Formula block possesses a wide range of functions including

  • Trigonometric (sine, cosine, tangent)
  • Transcendental (logarithms, exponentiation, square root)
  • Informative (modulus, floor, cell)
  • Sorting (min, max)
  • Random number generation

A formula block may have many inputs but only one output. (It is similar to the equation writer in most spreadsheets.) You can bring values into a formula as either a constant or through a port.

Note The formula block only works with integers and real (floating point) values. You cannot use binary (Boolean, digital) values in a formula.

Define the formula using the Formula Properties dialog box. The formula definition includes the following parts:

  • A name

This can be any meaningful name, for example Airflow.

  • A description

It is a best practice to document your formula, so others can interpret it.

  • The formula expression

The expression can include up to 8 inputs and 1 output. The input ports are created as you define the expression. The output port is added automatically and should not be included in the formula. You can specify a variety of functions and operators selected from drop-down lists.

Operators and Functions

The available operators and functions are listed in a linked table. (Click this text to expand and view the table.)

Note You may need to enlarge the Help window a little to properly view the contents of this table.

Function Group | Group Functions | Input Range | Output Range | Comments
Operators | + | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units = input | Summation Use: a + b + c + .... Returns the sum of argument values. Requires two arguments.
 | - | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Subtraction Use: a - b Returns the difference of argument values. Requires two arguments.
 | * | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = any | Multiplication Use: a * b * c * .... Returns the product of argument values. Requires two arguments.
 | / | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = any | Division Use: a / b Returns the quotient of argument values. Requires two arguments. Note: It is possible to generate a "divide by zero" error when using this operator. If the devisor is a based on a port value, then the range of the devisor must exclude zero.
 | ^ | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = any | Exponentiation Use: a ^ b or (ab) Returns the exponentiation of argument values. Requires two arguments. The exponent should have no units associated with it.
Time and Date | day() |  |  | Returns the day of the current month as determined by the device time and date settings. Requires zero arguments.
 | dayofweek() |  |  | Returns the day of the current week as determined by the device time and date settings. Requires zero arguments.
 | dayofyear() |  |  | Returns the day of the current year as determined by the device time and date settings. Requires zero arguments.
 | minute() |  |  | Returns the minute of the current hour as determined by the device time and date settings. Requires zero arguments.
 | month() |  |  | Returns the month of the current year as determined by the device time and date settings. Requires zero arguments.
 | weekofyear() |  |  | Returns the week of the current year as determined by the device time and date settings. Requires zero arguments.
Numerical (single argument) | abs() | - ∞ < x < + ∞ Units: any | 0.0 ≤ y < + ∞ Units: = input | Returns the absolute value of the argument. Requires one argument.
 | cell() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Rounds the argument value to the nearest integer closest to positive infinity. Requires one argument.
 | floor() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Rounds the argument value to the nearest integer closest to negative infinity. Requires one argument.
 | round() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Rounds the argument value to the nearest integer. Requires one argument.
 | sign() | - ∞ < x < + ∞ Units: any | y = - 1.0, 0.0, +1.0 Units: = none | Returns the polarity of the argument value. Requires one argument.
 | trunc() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Removes the any fractional component of the argument value. Requires one argument.
Numerical (multiple argument) | max() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Use: max(a, b, c,....) Returns the most positive value in the argument list. Requires at least two real arguments.
 | min() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Use: min(a, b, c,....) Returns the most negative value in the argument list. Requires at least two real arguments.
 | mod() | - ∞ < x < + ∞ Units: any | - ∞ < y < + ∞ Units: = input | Use: mod(x, w) Returns the remainder after division of x by w. Requires two integer arguments. Definition: mod(x,w) = x - w*trunc(x/w).
Informative | evenodd() | - ∞ < x < + ∞ Units: none | 0.0 or 1.0 Units: = none | Returns a 0 if the argument value is even, and a 1 if the input argument is odd. Requires one argument.
Trigonometric | acos() | -1.0 < x < +1.0 Units: none | 0.0 ≤ y ≤ +π (where π is pi) Units: radians | Returns the arc-cosine of the argument value. Requires one argument asin ()-1.0 < x < +1.0
 | asin() | -1.0 < x < +1.0 Units: none | -π /2 ≤ y ≤ +π /2 (where π is pi) Units: radians | Returns the arc-sine of the argument value. Requires one argument.
 | atan() | -1.0 < x < +1.0 Units: none | -π /2 ≤ y ≤ +π /2 (where π is pi) Units: radians | Returns the arc-tangent of the argument value. Requires one argument.
 | cos() | -1.0 < x < +1.0 Units: radians | -1.0 ≤ y ≤ +1.0 Units: none | Returns the cosine of the argument value. Requires one argument.
 | sin() | - ∞ < x < + ∞ Units: radians | -1.0 ≤ y ≤ +1.0 Units: = none | Returns the sine of the argument value. Requires one argument.
 | tan() | - ∞ < x < + ∞ Units: radians | - ∞ < y < + ∞ Units: = none | Returns the tangent of the argument value. Requires one argument. Caution: The tangent is defined as (n is any positive or negative integer). The output becomes close to infinity. It is possible to cause a "divide by zero" error in this case.
Transcendental | ln() | 0.0 < x < + ∞ Units: none | - ∞ < y < + ∞ Units: = none | Returns the natural logarithm of the argument value. Requires one argument. The natural logarithm is sometimes referred to as the Napier logarithm. It uses the base "e". Where "e" is equal to 2.713 .... The argument value range should be limited to positive values greater than zero.
 | log10() | 0.0 < x < + ∞ Units: none | - ∞ < y < + ∞ Units: = none | Returns the base 10 logarithm of the argument value. Requires one argument. The argument value range should be limited to positive values greater than zero.
 | sqrt() | 0.0 < x < + ∞ Units: none | 0.0 ≤ y ≤ + ∞ Units: = none | Returns the positive square root of the argument value. Requires one argument. The argument value range should be limited to positive values greater than zero.
Special Operator | PI or pi |  |  | Substitute for 3.14159 .... in formula.

Arguments and Values

An argument is a value used by either an operation or function. It can be a constant, the result of an operation, the result of a function or a port value.

A value can be brought into a formula through a port. In that case an argument is given a name which starts with "$". An example would be $zoneTemperature. The corresponding port will be named "zoneTemperature" and the value at that port will be used in the formula written.

Example 1

The trigonometric functions use radians as units for angle instead of degrees. The example below is a formula block used to convert degrees to radians. It implements the conversion: 180° = πrad. Write the formula as

$angleDeg * pi / 180.

(Note that "pi" is colored as a special operator. Also note that a space is inserted on either side of the division operator.)

Here is the resulting block used in a program.

Example 2

This example shows another way of learning the polarity of an input value. In this case, we are trying to determine which way the damper is moving. We don't care how much or how fast, just the direction. Polarity is defined as -1.0 if the damper is closing, +1.0 if the damper is opening and 0.0 if the damper has not moved. One way to learn the polarity is to use the formula:

where |x| is the absolute value of x. This is implemented as:

$input/abs($input)

The "$" tells TGP2 to use the next set of characters as a port name and to connect that port to this variable.

Note There is a danger of a "divide by zero" error because the denominator is the port value $input. The formula should check for the validity of the port value before using it in this equation. It is safe to use the formula written above as long as the port value is not zero. The output should be zero if the input is zero.

The formula now becomes $valid * $input / (abs($input) + 1 - $valid) where $valid can be either zero or one.

Here is the resulting block used in a program.

Example 3

Trigonometric functions are necessary to convert measured height of a liquid in a cylindrical tank to a volume of liquid available in that tank. In this case, two pieces of information are relevant:

  • The measured volume of remaining liquid
  • If the current amount is less than 10% of a full tank

Assume that the tank has flat ends. The formula is:

This formula can be expressed in a formula block as follows:

The following image illustrates the dimensions used in the formula (length, radius, and height).

Here is the resulting block used in a program.


PID block

Use this block to implement proportional-integral-derivative (PID) control based on a setpoint and a measured variable. For an in-depth explanation of PID control, see the PID Control in Tracer Controllers applications guide (CNT-APG002-EN). (See PID Properties for information on configuring this block.)

How It Works

When the enable input port receives a true value, the PID calculation compares the measured variable to the setpoint and calculates an output. When the enable input port receives a false value, the output goes to its disabled value. Anytime the fail input port receives a true value, the output goes to its fail-safe position. These rules are presented in the following table:

Fail Port | Enable Port | Output
false | false | Disable position
false | true | PID calculation
true | false | Failsafe position
true | true | Failsafe position
 |  | Output will change at the next program cycle regardless of PID frequency setting.*

*This is slightly different from the TGP version of the block. The TGP version will change output values the next time the PID calculation is triggered.

Note The value at the Feedback Input port will be ignored if Proportional Only operation is selected.

Note The PID and Proportional Only calculations are based on the effective error. The difference between the Setpoint and Measured Var ports is calculated and then adjusted by subtracting or adding the error deadband to it.

A PID block can be configured as direct or reverse acting. PID defaults to calculating every time the program executes. However, you can configure it to execute less frequently than the rest of the program.

Example 1

In this example, a PID block is used to control the chilled water pump speed based on the chilled water differential pressure and the associated setpoint. A Num2Bin block is used to create an override flag.

Decoupled PID block output

The PID block is usually used in coupled mode. In this mode, the previous PID block output is added to the change in the new PID output for each PID cycle.

NewOutput = DOutput + OldOutput

If you want the change in the new PID output to be added to the feedback input for each PID cycle, click to select the Allow Feedback Input check box in the PID Properties dialog box. A Feedback Input port is added to the PID block.

NewOutput = DOutput + FeedbackInput

Example 2

Use the decoupled PID output mode when the output of the PID block is isolated from the item using that output by some operation. In the figure below, an analog output is normally controlled by a PID loop but can be changed to some constant value when the user commands it.

In this case, the user can force the analog output to 100% from the operator display. While in this state, the PID loop continues to run, even though the output is no longer used. When the user allows the PID loop to once again control the analog output, there is the possibility of wild swings. By connecting the analog output status to the Feedback Input port of the PID block, the calculation is based on the last value of the analog output. This smooths the transition from hard open to PID control.

This example also demonstrates the use of two PID loops and calculations that need to be coupled together. The routine is used to control an outside air damper when economizing is enabled. The routine chooses the minimum output value between a PID loop calculation based on discharge air temperature, and a PID loop calculation based on mixed air temperature. The PID outputs are evaluated using a minimum block, then compared to the low limit. The minimum damper position (set at the Operator Display) is used as a low limit.

In effect, both PID loops start each calculation based on the same value, that of the analog output. Even though the PID output differs, the transition between the possible values is smoother.


Reset block

Use this block to implement a reset schedule based on two analog points.

How It Works

The Reset block calculates a reset schedule, or a linear equation, based on two coordinates. The coordinates consist of four input values to the block. A fifth input value is the independent variable, and the calculated output is the dependent variable.

The Reset block calculates the coefficients for a linear equation based on the data: (x1, y1) and (x2, y2). Because the data can consist of constants or variables, the linear equation is recalculated each time the Reset block is executed.

where,

y = output

x = input

m = slope

b = y-intercept

®

Making substitutions

Using the input, x, the linear equation is used to calculate the output, y.

Example 1

The figure below depicts a hot water reset schedule based on outdoor air temperature. The program at the bottom implements this hot water reset schedule. The reset block implements the formula: output = mx + b (with m and b calculated from above). There are no limits placed on the output of a reset block. Add a Limit block to maintain the endpoints of the reset schedule.

Example 2

Example 2 is a program segment used to illustrate a means of avoiding “divide by zero” errors. The program stops whenever a divide by zero error occurs. The program runs again at the next scheduled attempt. Other programs run even if one of them is in a stopped condition.

The procedure is to sense the possibility of a divide by zero condition and set either x1 or x2 to some constant. There is no need to set both. (This problem typically occurs if variables are used as inputs for either x1 or x2 or both.)


Runtime/Starts block

Use this block to store the runtime and/or number of starts of a binary point. (See Runtime/Starts Properties for information on configuring this block.)

How It Works

This block is used to calculate the runtime and starts of a binary point. The runtime accumulates every time the TGP2 program runs and the binary input to the block is ON. Starts are incremented every time the binary input to the block transitions from OFF to ON.

Use the Runtime/Starts Properties dialog box to specify whether or not the Reset port appears and which output ports appear. You can also configure the runtime units (hours or minutes) and enter a custom name that can appear on a report.

You select how and when the accumulated runtime and starts are reset.

  • The last day of the month (the default) or any day during the month
  • In response to an incoming value or change of state

You can also specify a continuous accumulation with no termination.

Example 1

This first example illustrates the basic use of the Runtime/Starts block. Whenever the fanStatus output is true, increment the runtime by the program rate, then convert to hours. Once the runtime exceeds 2500 hours or the number of starts exceeds 500, send a reminder to the alarm log that annual (or near annual) service is required.

Example 2

This second example shows the use of the Runtime/Starts block to calculate the time a chiller or chiller plant has operated at a particular efficiency (kW/ton). Stacked Between blocks are used to divide the calculated efficiency into specific bands. Whenever the Between block output is true, runtime is incremented by the program rate and then converted to hours.

The concept can be easily extended to whatever number of efficiency bands are necessary.


Sunrise/Sunset Calculation block

Use the Sunrise/Sunset Calculation block to calculate the time of sunrise and / or sunset and if daylight is occurring based on your latitude, longitude, and daylight savings parameters. (See Sunrise/Sunset Properties for information on configuring this block.)

How It Works

Inputs

The block uses two inputs:

  • The UTC/GMT Offset—A value equal to the number of hours, minutes, and seconds that your location varies from Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT).
  • The Daylight Saving Status—A Boolean (true or false) value. If Daylight Saving Time is in effect the value is true.

These values are combined with your specified latitude and longitude to calculate time of sunrise, time of sunset, and/or if daylight is present.

Outputs

Sunrise—The calculated time of sunrise as number of seconds from midnight (12:00 a.m.)

Sunset—The calculated time of sunset as number of seconds from midnight (12:00 a.m.)

Daylight—A binary value indicating if daylight is true (time is between sunrise and sunset).

Example

The example below shows a small program used to run parking lot lights. The Sunrise/Sunset block is used to determine dawn and dusk based on latitude and longitude (in this case, Honolulu), offset from Greenwich and if the location is currently using Daylight Saving Time. An offset of 15 minutes is applied to the Sunrise and Sunset times to ensure that the parking lot lights are on before night falls and just after the sun rises.

The typical application is to compare the Sunrise and Sunset times to the facility time. Turn the parking lot lights on if the facility time is not between the calculated on and off times.


Totalization Calculation block

Use this block to calculate electrical energy consumption. (See Totalization Calculation Properties for information on configuring this block.)

How It Works

The Totalization block can measure units of power consumed over a specified period of time including a partial day, the previous or current day, or the previous or current period (month), or year-to-date. You can specify input and output units with a conversion factor.

You can select how and when the accumulated energy consumption value is reset.

  • The last day of the month (the default) or any day during the month
  • In response to an incoming value or change of state.

You can also specify a continuous accumulation with no termination.

The Conversion Calculation

The Totalization Calculation block populates a conversion value, but does not let you edit it. This is because the block uses "time since last executed" in seconds to calculate a total value. This conversion value is used to convert your input time unit to seconds. (This is why it is not editable.)

If someone tells you that he is travelling at a rate of 60 miles per hour, you can't tell him how far he has traveled unless he tells you for how long he has been traveling at that rate of speed. If he told you he was driving 60 mph for a half hour, you could then multiply 60 mph by 0.5 hours and give the answer: 30 miles.

This block also needs a time value to multiply the rate by. It uses seconds since the program last executed. For example, you set up the Totalization Calculation block using GALLONS as the output unit and GALLONS PER MINUTE (GPM) as the input unit. You set up a program to run every 2 minutes. The value of the GPM input is 23 when the program executes using the following calculation:

(23 gal/min) x (1 min/60 sec) x (120 sec) = 46 gallons

where the 1min/60sec is the 0.016667 conversion value to get from minutes to seconds.

This is an enhancement on how calculation worked in older products, because now the run frequency of the program doesn't matter. It could be once a minute, once an hour, or once every 27 seconds. The calculated total will always be correct. Additionally, if Tracer SC or the unit controller that the TGP2 program resides in is busy, the program is not going to execute exactly at the moment specified. In the example, it might not execute until a 122 seconds later. However, this is not a problem, as the block will use 122 rather assuming a fixed 120 seconds.

Persistence

The Totalization Calculation Properties dialog box has a Persistence tab. If you want to retain values through a power cycle or reset of the controller, you can use this tab. For whatever value(s) are important to you (for example billing period value and last blling period value), you will want create analog value points in the controller, and then select these on the persistence tab. The values will then get stored in non-voltile memory and will be retained in the event of a power cycle. (See Totalization Calculation Properties for more information.)

Example 1

In the following example, the analog input, powerMeter passes the value to the Totalization block.

Example 2

In this second example, the amount or energy consumed is measured over two periods of time (1) every 24 hours and (2) every month (billing period). Two corresponding values are output to a Tracer SC: energyTodaysValue (consumption for the current 24 hr period) and the energyBillingPeriod (total energy consumed during the billing period). The clearRunHours binary value causes the outputs to be set back to zero (0). The Binary Value passed to the Reset port causes the calculation to be reset.


Wet-Bulb block

Use this block to calculate the wet-bulb temperature of moist air based on the dry-bulb temperature (°F or °C) and relative humidity (%). Select the input and output units in the properties dialog box. (See Wet-bulb Properties for information on configuring this block.)

How It Works

The wet-bulb temperature of moist air is a function of the dry-bulb temperature and the relative humidity. The block uses the calculations below to determine the wet-bulb temperature.

IP calculation

where,

= wet-bulb temperature [°F]

= dry-bulb temperature [°F]

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in I-P units.

SI calculation

where,

= wet-bulb temperature [°C]

= dry-bulb temperature [°C]

= relative humidity (The block expects the relative humidity in percent, for example, 57.6%.)

The table below shows the recommended operating range for the block in SI units.

Example 1

The following example shows the Wet-Bulb block being used to calculate wet-bulb temperature. The wet-bulb temperature will be used later in the same program.

Example 2

Example 2 builds on Example 1 by using the calculated outside air wet-bulb temperature as a factor in determining the optimal cooling tower setpoint.


Compare

Compare blocks

This section contains topics describing blocks used to compare values.

See

  • Between block
  • Equal block
  • Greater-than block
  • Greater-than-or-equal-to block
  • Less-than block
  • Less-than-or-equal-to block
  • Not Equal block


Between block

Use this block to check an analog value against a range and then output a binary value accordingly. If the analog value is between the upper and lower limits, the output is true. Specify the upper and lower limits of the range on the Between Properties dialog box. You can either include the high and low endpoints in the range or exclude them from the range.

How It Works

Example 1

The first example shows the Between block comparing the facility time to a range. A calculation block is reset whenever the facility time is within the given range. The Latch block acts as a one shot to avoid resetting the calculation for the entire 4 minute period.

Note Resize this pane and use the slider to view this example.

Example 2

The program segment shown in this example is used to convert fan mode switch resistance to fan mode within a program.

Example 3

In this example, the Between block is used in cascading ranges. All but one of the Between blocks is set to exclude the low value. This is just one part of a program used to compensate for a non-linear valve response.


Equal block

Use this block to compare one analog value to another and output a binary value accordingly.

How It Works

If a = b Then
c = True
Else
c = False
End If

Example

In this example, the Equal block is used to compare the current day against a specified day of the week. If the day of the week is Sunday, a lead/lag changeover occurs for the pumps.


Greater-than block

Use this block to compare one analog value to another and output a binary value accordingly.

How It Works

If a > b Then
c = True
Else
c = False
End If

Example 1

In this example, the current runtime of the fan is compared with a service setpoint. If the runtime is greater than the service setpoint, a warning is sent.

Example 2

This example is a heat/cool voting calculation. Cool is typically represented as a Boolean “true” state. A 1.0 is added to the tally for each zone “voting” cool. 0.0 is added whenever a zone “votes” heat. The tally is compared to 0.5 of the total number of possible requests. A majority zones are calling for cooling whenever the number of votes exceeds 1.5.


Greater-than-or-equal-to block

Use the Greater-than-or-equal-to block to compare one analog value to another and output a binary value accordingly.

How It Works

If a ³ b Then
c = True
Else
c = False
End If

Example

This example program is a counter implemented in a Macro block. Whenever the last counter output is 6 or greater, the output is reset back to zero. The output of the counter goes from 0 to 6.


Less-than block

Use this block to compare one analog value to another and output a binary value accordingly.

How It Works

If a < b Then
c = True
Else
c = False
End If

Example

This example is based on a segment from a boiler plant control program. The Less-than block output is used to trigger a delay controlling when the lead boiler starts with low fire.


Less-than-or-equal-to block

Use the Less-than-or-equal-to block to compare one analog value to another and output a binary value accordingly.

How It Works

If a £ b Then
c = True
Else
c = False
End If

Example

In this example from a cooling tower application, the Or block allows the deadband control of the sump heater under normal operating conditions. When the outdoor air temperature is at or below 32°F, the Or block guarantees that the sump heater remains on continuously.


Not Equal block

Use this block to compare one analog value to another and output a binary value accordingly.

How It Works

If a ¹ b Then
c = True
Else
c = False
End If

Example

In this example, the Not Equal block is used to determine when the controller is not in unoccupied mode.


Conversion

Conversion blocks

This section contains topics describing blocks that perform conversions between numeric and binary values.

See

  • Binary to Number block
  • Number to Binary block


Binary to Number

Binary to Number block

Use this block to convert a binary input to a floating point output. (See Binary to Number Properties for information about configuring this block.)

How It Works

The Bin2Num block is used to convert binary data to analog data. As such, its used as a means to count “votes”, input the value “enable” into a Formula block formula, and set analog flag values indicating certain states. You specify the number you want substituted for TRUE using the Binary to Number Properties dialog box.

A Bin2Num block implements the following function.

Example 1

The first example is a heat/cool voting calculation. Cool is typically represented as a Boolean “true” state. A 1.0 is added to the tally for each zone “voting” cool. 0.0 is added whenever a zone “votes” heat. The tally is compared to 0.5 of the total number of possible requests. A majority of zones are calling for cooling whenever the number of votes exceeds 1.5.

Example 2

The second example shows a program segment where 3 zone temperatures are averaged. What is special about this segment is that sensitivity to sensor failure has been added. The output is the sum of all valid non-failed inputs divided by the number of non-failed inputs. The Bin2Num block “Output value when true” property is set to 1.0 (the default).

There is a check to see if all inputs are failed. If that is the case, the output equals zero. At the same time, it is necessary to avoid a “divide by zero” error. A Bin2Num block with a setting of -1.0 is used to flag an all inputs failed condition and avoid the “divide by zero” error.


Number to Binary block

Use the Number to Binary (Num2Bin) block to convert analog data to binary data. Its main purpose is to convert Formula block output from analog to binary.

How It Works

The Number to Binary block implements the following function:

Example

The following example shows the Num2Bin block used in the outside air damper position based on mixed air temperature safety conditions. It is possible to run the outside air damper to minimum setpoint if the hot water valve is currently being controlled when the mixed air temperature is in safety mode. The hot water valve has to be controlled to a positive value for 60 seconds before the outside air damper position can switch from zero to a requested minimum position. Close the outside air damper otherwise.


Function

Function blocks

This section contains topics describing configurable blocks that perform specialized functions within the execution flow of your program.

See

  • Deadband block
  • De-Enumerator block
  • De-Enum Ext block
  • Event Counter block
  • Execution Counter block
  • Limit block
  • Switch (Analog/Binary) block


Deadband block

Use this block to apply on and off control based on a value, a setpoint, and a deadband. Use the properties dialog box to configure the Deadband block in one of three operating modes: greater than (assume cooling), less than (assume heating), or centered. (See Deadband Properties for information on configuring this block.)

How It Works

The operating mode determines the relationship between measured value, setpoint, and deadband, and how the output of the deadband function behaves. The figures below illustrate the three modes of operation.

Greater than (assume cooling)

In the greater than (assume cooling) mode, the output of the deadband function turns on when the measured value exceeds the setpoint. The output remains on until the measured value falls below the setpoint minus the deadband.

Less than (assume heating)

In the less than (assume heating) mode, the output of the deadband function turns on when the measured value falls below the setpoint. The output remains on until the measured value rises above the setpoint plus the deadband.

Centered

In the centered mode, the output of the deadband function turns on when the measured value exceeds the setpoint plus one half of the deadband. The output remains on until the measured value falls below the setpoint minus one half of the deadband. Then the output turns off.

Examples

This first example program uses the Deadband block to control a binary output based on a temperature sensor, a setpoint, and a deadband. In this example, the Fan Start/Stop output block turns on when the equipment room temperature exceeds the equipment room temperature setpoint. It will remain on until the temperature is less than the setpoint minus 5 degrees.

Note Resize this pane and use the slider to view these examples.

This second example program uses two Deadband blocks to test an analog input (zone temperature) against the unoccupied cooling setpoint and unoccupied heating setpoint. The Or block is used to determine which Deadband block controls the area temperature. The Or block output is passed to the And block, which also receives the binary input from the De-Enum block and passes a binary value to the nite heat/cool mode variable.


De-Enumerator block

Use this block to translate an analog enumeration to one of several possible binary output values. If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false. Use the properties dialog box to select the configuration and specify the required outputs. (See De-Enumerator Properties for information on configuring this block.)

How It Works

If a = 0, b = true and c = false

If a = 1, b = false and c = true

Example

The DeEnumerator block is used to convert the occupancy enumerations to discrete binary states. Only one output is true at any given time. Settings for the DeEnumerator block are shown below.


De-Enum Ext block

Use this block to translate an analog enumeration to one of several possible binary output values. Only one output is true at any given time. If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false. Use the properties dialog box to select the configuration and specify the required outputs. (See De-Enum Ext Properties for information on configuring this block.)

How It Works

If a = 0, b = true and c = false

If a = 1, b = false and c = true

The De-Enum Ext block can take up to 200 enumerations and can also be saved to a Custom Library for reuse. (See Saving a Custom Block for Reuse.)

Example 1: Occupancy De-Enumerator

Although there are other methods to accomplish this same function, occupancy modes are a common piece of programming. In this case, the occupancy status is used to control the supply fan.

The block is configured as shown here:

Equivalent Function Using the DeEnum.Occupancy Block

Example 2: Supply Fan Type De-Enumerator

The following example has state values greater than 20. The point Supply Fan Type can be found in all of the small BACnet terminal controllers based on UC400 and UC210.

The block is configured as shown here:


Event Counter block

Use the Event Counter block to create a binary event counter that increases or decreases the output (counter value) whenever the input port changes state. (See Counter Blocks for additional information about how the Event Counter block works. See Event Counter Properties for information on configuring this block.)

How It Works

After you add an Event Counter block to your program, open its Properties dialog to specify the direction of the event trigger (True ->False or False->True). The increment direction is dependent on the sign of the difference between the end value and start value.

The incrementing values are passed to an analog output that feeds a routine that looks for a ending value that triggers some other process.

Input Ports

The ports are used as follows:

Enable—Receives binary logic activating the counter under specified conditions.

Input—Receives a value of true, which causes the counter to increment its output value.

End Value—Receives a terminating value that signals final output and a counter reset.

Start Value—Receives a value at which the counter starts and from which subsequent values are incremented.

Reset—Receives the binary output of external logic that resets the counter.

Increment—Receives the unit by which the counter is incremented at each event input. The unit can be passed from a constant or an analog output or variable.

Note The output is constrained by the start and end values. There may be extra events necessary to cycle around the list of outputs if the range of the counter is not an integer multiple of the increment.

Example

A common reason to use a counter is lead pump/fan/compressor rotation. The following program segment uses an Event Counter in combination with a Macro containing a rising edge one shot function (description follows example). It triggers the counter to switch the lead at a defined moment or when there is a manual request.

Note This counter will not remember the last lead device across power cycles or controller reset.

The Macro used in this example implements the following algorithm:


Execution Counter block

The Execution Counter block increases or decreases the output whenever the input port changes state. Select which state change causes the counter to change.

The increment direction is dependent on the sign of the difference between the end value and start value.

The output is constrained by the start and end values. If the range of the counter is not an integer multiple of the increment, there may be extra events. (See Counter Blocks for additional information about how the Execution Counter block works.)

How It Works

This block increments the counter value every program cycle. The incrementing values are passed to an analog output that feeds a routine that looks for a ending value that triggers some other process.

Input Ports

The ports are used as follows:

Enable—Receives binary logic activating the counter under specified conditions.

End Value—Receives a terminating value that signals final output and a counter reset.

Start Value—Receives a value at which the counter starts and from which subsequent values are incremented.

Reset—Receives the binary output of external logic that resets the counter.

Increment—Receives the unit by which the counter is incremented at each execution. The unit can be passed from a constant or an analog output or variable.

Example 1

The example below is a method of rotating through lead actuators either by scheduled event or a manual trigger event. This is for three stages but could easily be extended to more stages. (This example takes advantage of a macro block shown in the Date block discussion.)

Example 2

This example illustrates a method of measuring program performance. For time critical control such as smoke control, it’s helpful to know how “on time” a particular program is running. Then decisions can be made about relaxing a program interval without affecting the overall performance of the system.

The program timer example takes advantage of 2 macro blocks: an analog "sample and hold" and a positive edge triggered "one-shot."

Here is the interior of the Macro block.


Limit block

Use this block to verify an input value is within a specified range. If the input is outside of the specified range, the block outputs the appropriate limit value. Configure the Limit block to apply both high and low limits, a high limit only, or a low limit only in the properties dialog box. (See Limit Properties for information on configuring this block.)

How It Works

The Limit block provides an alternative to the Min and Max blocks. When using the Limit block with both high and low limits, the Limit block functions as a combination of the Min and Max functions. If the Limit block is configured as a high limit, it acts like the Min function. Configured as a low limit, the Limit block acts like the Max function.

The Limit block implements the following function:

Example 1

The example below shows the limit block used as a means to constrain a user setpoint between 65°F and 76°F. The Deadband block is used to determine the heat or cool state.

Example 2

The figure below depicts a hot water reset schedule based on outdoor air temperature. The program at the bottom implements this hot water reset schedule.

Add a Limit block to maintain the endpoints of the reset schedule.


Switch (Analog/Binary) block

Use this block to select a value based on the status of a controlling binary value. Select the analog or binary version of the Switch block to act as a selector for analog or binary values.

How It Works

The Switch block selects one of two inputs based on a binary control value. If the Switch block is analog, it accepts one binary control input and two analog value inputs. If the Switch block is binary, it accepts one binary control input and two binary value inputs. In either case, if the binary control is true, the Switch selects and passes the normally open (NO) input. And, if the binary control is false, the Switch selects and passes the normally closed (NC) input.

Typical uses of the Switch block include bypass and binary-to-analog conversion. (A single-pole, double-throw (SPDT) relay is the best physical analogy.)

The Switch block has three input ports and one output port. The Relay Control port is binary and controls which of the other two inputs are passed through to the output port. The NO and NC ports can be either analog or binary, depending on the version of the block being used. The output port always is the same data type as the NO and NC ports.

Analog Example 1

The segment below is an example of using the switch block as a means to select which offset the space temperature will be controlled at. The offset will be added to and subtracted from the space setpoint to generate cooling and heating setpoints respectively. In this case, the offsets are hardcoded using constant blocks. They could also be analog variables or derived using some other means.

This is an example of switches in “parallel”. There is no priority between different states.

Analog Example 2

The second example shows a switch block being used to select which value should be sent to a hot water valve actuator. The hot water valve should be opened all of the way if emergency heat is requested. Otherwise let the valve be controlled depending on space temperature.

Analog Example 3

This is a macro implementation of an analog sample and hold function. Whenever the trigger changes from false to true, the input value will replace the old value at the output. The sampled value will persist until the next trigger state change.

This example takes advantage of the “one-shot” concept.

Binary Example 1

The program below illustrates the use of a binary switch block used to select which control algorithm will run the fan: occupancy based or smoke control based. The smoke control logic is not shown.

Binary Example 2

This is a macro implementation of an binary sample and hold function. Whenever the trigger changes from false to true, the input value will replace the old value at the output. The sampled value will persist until the next trigger state change.

This example takes advantage of the “one-shot” concept.

Switch Block/Logic Block Equivalency Examples

Many times a binary switch block can be replaced by a And block, an Or block, or no logic block (using what would be the relay control data). The following four examples show the equivalency between binary switch and logic blocks. The common feature between the examples is that there is a constant block connected to the switch block.

AND Logic

OR Logic

NOT Logic

BUFFER


Equipment/Application

Equipment/Application (For Use on Tracer SC)

This section includes topics that describe the Equipment/Application blocks. These blocks are designed for use on Tracer SC where they can reference the attributes of BAS objects, such as equipment (air handlers, VAV boxes, and chillers), spaces (rooms serviced by a VAV box or terminal product, such as a unit ventilator), and systems (software entities such as areas, Variable Air Systems, and Chiller Plants). These new blocks provide an extended level of programming control to the TGP2 language.

Note Use of the Equipment/Application blocks requires a thorough understanding of all equipment and objects on the network controlled by the Tracer SC.

See

  • E/A Analog Input block
  • E/A Analog Output block
  • E/A Binary Input block
  • E/A Binary Output block
  • E/A Multistate Input block
  • E/A Multistate Output block


E/A Analog Input block

Equipment/Application Analog Input block

Use the Equipment/Application (E/A) Analog Input block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, Analog Input E/A blocks are used to provide access to real and integer information. (See Equipment/Application Analog Input Properties for information about configuring this block. Also see Equipment/Application Blocks for a general description of these blocks.)

How It Works

An input block pulls a value from a equipment or application object property.

The E/A Analog Input block can use the following output ports:

Value

Fail/Fault

Example

The following program segment determines the discharge air temperature setpoint by using E/A Analog Input blocks to read an area’s space temperature and compare it to the discharge air minimum and maximum cooling setpoints. As the space temperature increases the discharge air cooling setpoint decreases.


E/A Analog Output block

Equipment/Application Analog Output block

Use the Equipment/Application (E/A) Analog Output block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, Analog Output E/A blocks are used to provide control information to the specified destination. (See Equipment/Application Analog Output Properties for information about configuring this block. Also see Equipment/Application Blocks for a general explanation of these blocks.)

How It Works

An output block pushes a object property value to a value or input point in a receiving program.

The E/A Analog Output block can use the following input ports:

Release

Priority Level

The E/A Analog Output block can use the following output ports:

Fail/Fault

Example

The following program segment uses an E/A Analog Output block to control an air handler's discharge air cooling setpoint based on the temperature in the space and the discharge air minimum and maximum reset setpoints. As the space temperature increases the discharge air cooling setpoint decreases.


E/A Binary Input block

Equipment/Application Binary Input block

Use the Equipment/Application (E/A) Binary Input block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, E/A Binary Input blocks are used to provide access to binary information. (See Equipment/Application Binary Input Properties for information about configuring this block. Also see Equipment/Application Blocks for a general description of these blocks.)

How It Works

An input block pulls a value from an object property.

The E/A Binary Input block can use the following output ports:

Value

Fail/Fault

Example

The example below illustrates the use of E/A Binary Input blocks as a means of locking out specific chillers based on the system enable and commands from the BAS.


E/A Binary Output block

Equipment/Application Binary Output block

Use the Equipment/Application (E/A) Binary Output block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, E/A Binary Output blocks are used to provide control to binary destinations. (See Equipment/Application Binary Output Properties for information about configuring this block. Also see Equipment/Application Blocks for a general description of these blocks.)

How It Works

An output block pushes a object property value to a value or input point in a receiving program or program module.

The E/A Binary Output block can use the following input ports:

Release

Priority Level

The E/A Binary Output block can use the following output ports:

Fail/Fault

Example

The following example shows the E/A Binary Output block being used to control when a chiller plant starts and stops based on a local area request, outside air temperature, and a remote request from another Tracer SC.


E/A Multistate Input block

Equipment/Application Multistate Input block

Use the Equipment/Application (E/A) Multistate Input block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, E/A Integer (Multistate) Input blocks are used to provide access to integer information. (See Equipment/Application Multistate Input Properties for information about configuring this block. Also see Equipment/Application Blocks for a general description of these blocks.)

How It Works

An input block pulls a value from an object property.

The E/A Integer Input block can use the following output ports:

Value

Fail/Fault

Example

The following example shows the E/A Integer (Multistate) Input block being used to bring area heat/cool mode and occupancy into the program.


E/A Multistate Output block

Equipment/Application Multistate Output block

Use the Equipment/Application (E/A) Multistate Output block to bring system equipment and application information into a graphical program. Equipment references include: spaces, all air handlers, generic programmable controllers and chillers. Application references include: areas, variable air systems (VAS), chiller plant control, and their associated members. Specifically, E/A Multistate Output blocks are used to provide access to integer information. (See Equipment/Application Multistate Output Properties for information about configuring this block. Also see Equipment/Application Blocks for a general description of these blocks.)

How It Works

An output block pushes a object property value to a value or input point in a receiving program.

The E/A Integer Output block can use the following input ports:

Release

Priority Level

The E/A Integer Output block can use the following output ports:

Fail/Fault

Example

The program segment that follows obtains the area occupancy status of the two areas to determine if the air handler should be controlled on. The air handler will be unoccupied anytime both areas are unoccupied.


I/O Global

I/O Global blocks

This section includes blocks that act as global variables, which are available to all programs on one controller.

See

  • Analog Global Variable block
  • Binary Global Variable block
  • Integer Global Variable block


Analog Global Variable block

Use the Analog Global Variable block to create an analog variable that is accessible by all programs on the controller. The values assigned to the global variables are generated by your programs or are pulled from external devices. Global variables are stored in a portion of memory available to all programs on a controller. They are not available to the network and do not persist through a power interruption. However, the values are restored when the programs resume execution. A total of 127 global variables are available for use with your programs.

(See Analog Global Variable Properties for information about configuring this block.)

How It Works

Each Analog Global Variable block is identified by a number from 1 to 127. You do not assign a value to this variable directly. Instead, you use this block to receive an analog value generated and passed by a program, process, or device.

Note You cannot enter values for global variables during program simulation, as they will not update as expected. Use a point of the relevant type as a workaround during simulation. After testing program logic, replace the point block with the selected global variable.

User Management

There are a total of 127 global variables available for use with your programs. Keep the following considerations in mind when you use global variables.

  • Each global variable is identified by number only. Therefore, you may want to add a comment in your program to identify the type and purpose of each global variable you use.
  • The total number of available global variables (127) must be divided between three variable types: analog, binary, and integer. Plan your use of these variables accordingly.
  • You must manually track or record your use of each variable. A table or spreadsheet similar to the following sample could be useful for this purpose.

Example

This example illustrates a method used to create a softstart to limit demand following a power loss. In this case, whenever the device starts up, a counter is set to a value specified as the number of times the program should run before allowing control to start. Once the counter decrements to zero, a flag is set to signal that control of fans and valves can be allowed.


Binary Global Variable block

Use the Binary Global Variable block to create a variable that is accessible by all programs on the controller. See Binary Global Variable Properties for information about configuring this block.)

Use the Binary Global Variable block to create a binary variable that is accessible by all programs on the controller. The values assigned to the global variables are generated by your programs or are pulled from external devices. Global variables are stored in a portion of memory available to all programs on a controller. They are not available to the network and do not persist through a power interruption. However, the values are restored when the programs resume execution. A total of 127 global variables are available for use with your programs.

(See Binary Global Variable Properties for information about configuring this block.)

How It Works

Each Binary Global Variable block is identified by a number from 1 to 127. You do not assign a value to this variable directly. Instead, you use this block to receive an analog value generated and passed by a program, process, or device.

Note You cannot enter values for global variables during program simulation, as they will not update as expected. Use a point of the relevant type as a workaround during simulation. After testing program logic, replace the point block with the selected global variable.

User Management

There are a total of 127 global variables available for use with your programs. Keep the following considerations in mind when you use global variables.

  • Each global variable is identified by number only. Therefore, you may want to add a comment in your program to identify the type and purpose of each global variable you use.
  • The total number of available global variables (127) must be divided between three variable types: analog, binary, and integer. Plan your use of these variables accordingly.
  • You must manually track or record your use of each variable. A table or spreadsheet similar to the following sample could be useful for this purpose.

Example

This example illustrates the use of the binary global startup value to indicate when a device has been reset. The initial value of gVar 1 is false. When the program has been run once, gVar 1 will be set to true. This change of value can be used to trigger a number of applications from softstart to data logging.


Integer Global Variable

Integer Global Variable block

Use the Integer Global Variable block to create an integer variable that is accessible by all programs on the controller. The values assigned to the global variables are generated by your programs or are pulled from external devices. Global variables are stored in a portion of memory available to all programs on a controller. They are not available to the network and do not persist through a power interruption. However, the values are restored when the programs resume execution. A total of 127 global variables are available for use with your programs.

(See Integer Global Variable Properties for information about configuring this block.)

How It Works

Each Integer Global Variable block is identified by a number from 1 to 127. You do not assign a value to this variable directly. Instead, you use this block to receive an integer value generated and passed by a program, process, or device.

Note You cannot enter values for global variables during program simulation, as they will not update as expected. Use a point of the relevant type as a workaround during simulation. After testing program logic, replace the point block with the selected global variable.

User Management

There are a total of 127 global variables available for use with your programs. Keep the following considerations in mind when you use global variables.

  • Each global variable is identified by number only. Therefore, you may want to add a comment in your program to identify the type and purpose of each global variable you use.
  • The total number of available global variables (127) must be divided between three variable types: analog, binary, and integer. Plan your use of these variables accordingly.
  • You must manually track or record your use of each variable. A table or spreadsheet similar to the following sample could be useful for this purpose.

Example

This example illustrates a method used to create a softstart to limit demand following a power loss. In this case, whenever the device starts up, a counter is set to a value specified as the number of times the program should run before allowing control to start. Once the counter decrements to zero, a flag is set to signal that control of fans and valves can be allowed.


I/O Points

I/O Points blocks

This section includes blocks that contain inputs, outputs, and values (variables) used by programs either on the current controller or on other controllers in a network.

See

  • Analog Input block
  • Analog Output block
  • Analog Output Status block
  • Analog Valu e block
  • Binary Inpu t block
  • Binary Outpu t block
  • Binary Output Statu s block
  • Binary Value block
  • Multistate Input block
  • Multistate Output block
  • Multistate Output Status block
  • Multistate Value block


Analog Input block

Associate the value of a hardware analog input with this block for use as an analog input in a program. (See Analog Input Properties for information about configuring this block.)

How It Works

The Analog Input block can use the following output ports:

Value | Minimum Value
Fail/Fault | Maximum Value
Not in Service | Low Limit
Tov [ON] / Tov [Cancel] | High Limit
* and ** |

All ports are always available, except for two: Tov [ON] / Tov [Cancel] (Thermistor only) and */** (Thumbwheel only).

Example1

In this first example, an Analog Input block supplies the value of a temperature sensor.

Example 2

This second example illustrates the tov_on and tov_cancel ports of the analog input. The analog input must be configured as a thermistor type for the tov ports to be selected. Note that the value port is not needed.

In this case, a timed override request can come from three temperature inputs. If any tov button is pressed, tov_state will be true. A tov_cancel or sensor failure will clear the timed override request.


Analog Output block

Use this block to control an analog output from a program. The Analog Output block controls the selected analog output of a UCxxx controller. (See Analog Output Properties for information about configuring this block.)

How It Works

The Analog Output block passes a final result of a routine or program on to a device or event or value triggered program.

The Analog Output block can use the following input ports:

Release

Priority Level

Example

This example shows an analog output that receives a value that is sent to a hot water valve actuator. The Switch block is used to select which value should be sent through the actuatorPositionRequest analog output. The hot water valve should be opened all of the way if emergency heat is requested. Otherwise the valve is controlled in relation to the space temperature.


Analog Output Status block

Use this block to pass the current value of an analog output into a program. (See Analog Output Status Properties for information about how to configure this block.)

How It Works

The Output Status (Analog) block only reads the status of an output; it does not control the selected analog output.

The Analog Output Status block can use the following Output ports:

Priority Level | Maximum Value
Not in Service | Low Limit
Fail/Fault | High Limit
Minimum Value |

Example

In this example, the Output Status block is used to start a delay timer that switches a pump to full speed 10 minutes after it starts.


Analog Value block

Use this block to specify an analog value for use in a program. (See Analog Value Properties for information about configuring this block.)

How It Works

The Analog Value block represents an analog value point configured for use on a controller. Select the name of the value and set the block to display an input or output port using the properties dialog box.

The Analog Value block must have one port, input or output. Both ports may not be used at the same time. The input port is used to write to the variable, and the output port is used to read the variable. Read and write privileges depend on the selected variable and its source.

Read refers to the ability of a program to know the value of the variable. In order to read a variable, the variable block presents an output port.

Write refers to the ability of a program to change the value of a variable. The variable block presents an input port when writing to a variable.

The Analog Value block can use the following input ports:

Priority Level

Release

The Analog Value block can use the following output ports:

Not in Service | Maximum Value
Fail/Fault | Low Limit
Priority Level | High Limit
Minimum Value |

Example

In this example, the Analog Value block is used to supply the setpoint value to the program.


Binary Input block

Use this block to pass the value of a binary input into a program. (See Binary Input Properties for information about configuring this block.)

How It Works

The Binary Input block can use the following input ports:

Reset Run Time

Reset Change of State Count

The Binary Input block can use the following output ports:

Value | Run Time
Fail/Fault | Change of State Count
Not in Service |

Example

In this example, a Binary Input block supplies the fan status. The Feedback Alarm block compares the fan start/stop request and the fan status. If the request and the status are not the same for 30 seconds, the output of the Feedback Alarm block changes to true.


Binary Output block

Use this block to control a binary output from a program. The Output block pushes a value to a requesting device or to a triggered program. (See Binary Output Properties for information about configuring this block.)

How It Works

The Binary Output block can use the following input ports:

Release | Reset Run Time
Priority Level | Reset Change of State Count

Example

In this example, the Fan Start/Stop output block turns on when the equipment room temperature exceeds the equipment room temperature setpoint and controls the fan on. It will remain on until the temperature is less than the setpoint minus 5 degrees.


Binary Output Status block

Use this block to pass the current value of a binary output into a program. The Output Status block only reads the status of an output; it does not control the selected binary output. (See Binary Output Status Properties for information about how to configure this block.)

How It Works

The Analog Output Status block can use the following Output ports:

Priority Level | Run Time
Not in Service | Change of State Count
Fail/Fault |

Example

In this example, the Output Status block is used to start a delay timer that switches a pump to full speed 10 minutes after it starts.


Binary Value block

Use this block to specify a binary value for use in a program. (See Binary Value Properties for information about how to configure this block.)

How It Works

The Binary Value block represents one of the binary variable points configured for use on a UCxxx controller. Select the name of the variable and set the block to display an input or output port using the Binary Value Properties dialog box.

The Binary Value block must have one port, input or output. Both ports may not be used at the same time. The input port is used to write to the variable, and the output port is used to read the variable. Read and write privileges depend on the selected variable and its source.

Read refers to the ability of a program to know the value of the variable. In order to read a variable, the variable block presents an output port.

Write refers to the ability of a program to change the value of a variable. The variable block presents an input port when writing to a variable.

The Binary Value block can use the following input ports:

Release | Reset Run Time
Priority Level | Reset Change of State Count

The Binary Value block can use the following output ports:

Priority Level | Run Time
Not In Service | Change of State Count
Fail/Fault |

Example

In this example, the Binary Value block is used to turn on a binary value that activates heating or cooling for a zone.


Multistate Input block

Use this block to pull a state value into a program from a referenced point on the Tracer™ SC system controller. (See Multistate Input Properties for information about configuring this block.)

How It Works

The Multistate Input block pulls a referenced state value from the Tracer SC into a program and passes it on to a block, such as the De-Enumerator block, that can interpret that value and pass it on to blocks that can act on the value.

The Multistate Input block can use the following output ports:

Value

Fail/Fault

Not in Service

Example

The following program fragment shows how a multistate input value is pulled from the Tracer SC to the Comm Status Multistate Input block. It is then passed to the De-Enumerator block where the value is changed to a binary and passed to the Switch block. Only one value indicating active is accepted, so if that value does not come through, the condition is false (communication has failed). If true, the ZoneTemp Setpoint value is passed to the output. If false, the constant value 70.0 is used.


Multistate Output block

Use this block to hold a state value referenced to a multistate value or input. The Multistate Output block writes a value and pushes it to an input or value (variable). (See Multistate Output Properties for information about configuring this block.)

How It Works

The Multistate Output block pushes a referenced state value from the Tracer SC to a value block with a similar priority. The Multistate value block then passes the value to other blocks, such as the De-enumerator block for evaluation.

The Multistate Output block can use the following input ports:

Release

Priority Level

Example 1

In this case, the multistate output is used to translate between fan speed and mode selections and a physical output, either current or voltage, of a VFD. In this example, the VFD request is 0% if the fan mode selection is “auto”.

Example 2

This example illustrates an arbitration between a BAS requested occupancy and an occupancy switch. The multistate output is used to write the effective occupancy to another device. A conversion is necessary between the binary switch and the defined occupancy states. The logic is based on communicated requests having priority over hard wired requests.


Multistate Output Status block

A Multistate Output Status block allows the commanded state of an output to be read into a program for comparison to the physical status of that command. The value reflects any overrides that have modified the actual output. (See Multistate Output Status Properties for information about how to configure this block.)

How It Works

The Multistate Output Status block only reads the status of an output; it does not control the selected output.

The Multistate Output block can use the following output ports:

Priority Level

Not in Service

Fail/Fault

Example 1

This example shows a means of using the feedback alarm block with multistate outputs. This program segment is similar to most fan control routines. In this case, as the fan VFD switches speeds, a multistate input is used to bring that information back into the program. If the speed request (off, low, medium, or high) does not match the feedback for 45 seconds, the feedback alarm output is set to true. This is configured as an auto-resetting alarm. Note that the feedback alarm block “Request” port is always held true.


Multistate Value block

Use this block to receive (write) a state value pushed into a program from a multistate output point on the Tracer™ SC system controller or pass (read) the value to other blocks that can act on the value. See Multistate Value Properties for information about configuring this block.

How It Works

This block is not referenced to any point in Tracer SC. Instead, it is a passive recipient or conduit of a value passed in from a multistate output. (This block must have a priority equivalent to the issuing output block to take the value passed to it.)

The Multistate Value block can use the following input ports:

Release

Priority Level

The Multistate Value block can use the following output ports:

Priority Level

Not in Service

Fail/Fault

Example

The following program fragment shows how a state value is pulled from Tracer SC to the Heat/Cool Multistate Value block. It is then passed to the De-Enumerator block where the value is changed to a binary and passed to the Switch block. If the cool value comes through, the condition is true, so cooling occurs. If a false value comes through, the output from a local automatic routine is passed through the Switch block.


I/O Program

I/O: Program blocks

This section includes blocks that contain constants, date, time, or occupancy state values used in programs.

See

  • Analog Constant block
  • Binary Constant block
  • Comm Status block
  • Date block
  • Occupancy block
  • Time block


Analog Constant block

Use the Analog Constant block to apply an analog constant in a program. (See Analog Constant Properties for information about configuring this block.)

How It Works

The Analog Constant block carries a single unchanging value that is applied to other blocks in a routine or algorithm.

Example 1

In this first example, the Analog Constant block applies an analog value of 5.0 as a deadband.

Note These examples show the Analog Constant block as it appeared in previous versions of the TGP2 Editor.

Example 2

In this second example, Analog Constant blocks are used to reset a calculation during a specified time interval (1.0).


Binary Constant block

Use the Constant (Binary) block to apply a binary (true/false, yes/no, 1/0) constant in a program. (See Binary Constant Properties for information about configuring this block.)

How It Works

The binary constant block provides a static value in a sequence. A binary constant is typically used as a means of ensuring that a function is always enabled.

Example 1

This example shows the between block comparing the facility time to a range. A binary constant block is being used to make sure that the latch block never cancels operation. The latch block is used as a one shot in this case.

Note These examples show the Binary Constant block as it appeared in previous versions of the TGP2 Editor.

Example 2

This program controls a hot water valve by comparing space temperature and mixed air temperature. The Max block is used to decide between comfort control or mixed air temperature safety regardless of the fan state. Whichever PID loop generates the largest value is used. Use of the feedback input of the PID blocks is recommended in these control sequences.

Note The PID gains are set to the typical ratio of 4:1:0. However, you will need to set the actual values during the tuning process.


Comm Status

Comm Status block

Use this block to indicate the communication state between a Tracer SC and a UC400 or UC600.

Note This block performs essentially the same enumeration function as the flag.commStatusEnum system block.

How It Works

When you install a UC on a Tracer SC, the Tracer SC becomes the parent device of the UC. The UC polls the parent Tracer SC periodically to determine communication status. There is no user interaction necessary. The parent device is polled at a set interval defaulted to 15 minutes.

The output port passes the comm state as follows:

1: comm up with parent device

2: comm down with parent device

3: no parent configured

-1: read failure


Date block

Use this block to provide a program with the current date, as known by the controller. (See the Date Properties for information about configuring this block.)

How It Works

The output of the block is determined by the specific form of the current date that you choose in the Date Properties dialog box. Available forms include the day of the week, day of the month, month, and year.

Example

In this example, the Date block is used to initiate the lead/lag changeover for two pumps on a weekly basis.

Note Resize this pane and use the slider to view this example.


Occupancy block

Use this block to provide a program with the occupancy state of the controller. (See Occupancy Properties for information about configuring this block.)

How It Works

The output of the Occupancy block is the result of arbitration among various schedule-related inputs and results in the appropriate enumerated value for the current occupancy state. Enumerations of the Occupancy block output are listed below:

1 = Occupied

2 = Unoccupied

3 = Occupied Bypass

4 = Occupied Standby

Example 1

In this first example, a DeEnumerator block interprets the output of the Occupancy block.

Example 2

In this second example, the DeEnumerator block interprets the output of the Occupancy block in the same way and then passes the resulting value to the Switch blocks. The Switch blocks are used to select which offset will control the space temperature.


Time block

Use this block to provide a program with the current time as known by the controller. Use it to compare the current time to a time setpoint.

How It Works

The time block output is in seconds from midnight (device time). Generally, the time block is used to coordinate resets and changeover events. Some examples are reset of calculations that are occurring or switching lead/lag pumps.

0 seconds = 12:00 AM (midnight)

86399 seconds = 11:59 PM

Example 1

In this first example, the time block output is compared to the last time the macro ran. If the time block output is less than the last time, time has crossed midnight.

Note It is possible to use a Date block to perform the same function.

Example 2

This example builds from the previous example in that instead of an event based on midnight, the event occurs at 2:15 AM.


Logical (Combinational) blocks

This section includes blocks used to perform logical operations on binary values.

See

  • And block
  • Not block
  • Or block
  • Xor block
  • nor block
  • nand block


And block

Use this block to perform AND logic. The And block is expandable and accepts as few as two inputs and as many as eight inputs. If you want more than two inputs, use the And Properties dialog box to specify the number of inputs.

How It Works

The And block compares the inputs and applies AND logic to them. Then it outputs a binary value. This block applies only to binary values. The following table shows the logic used for two inputs. You can use up to eight (8) inputs. One or more False values render the output False.

Inputs |  | Output
a | b | c
True | True | True
True | False | False
False | True | False
False | False | False

Example

This example consists of a simple cooling tower fan control algorithm. Three conditions determine the output of the And block. The output of the And block is true if the following conditions are true.

  • Water flow is confirmed and the binary input, Flow Status, is true.
  • The output of the Deadband block is true. Because the Deadband block is configured as a centered deadband, the supply temperature must be 2.5°F above the supply temperature setpoint.
  • The supply temperature sensor input is not failed.

Note Resize this pane and use the slider to view this example.

Note This example shows the And block as it appeared in previous versions of the TGP2 Editor.


Not block

Use this block to perform NOT logic. The output value of the Not block is the opposite of the input value.

How It Works

If a = True Then
b = False
ElseIf a = False Then
b = True
End If

Example 1

In the example below the supply fan binary output state is a function of two inputs: occupancy state and prior failures. If there is no prior failure, then the supply fan follows the occupancy state. If there is a prior failure, the supply fan is not allowed to run. The output of the feedback alarm block is true in a failure condition, false in normal operation. The Not block is used to negate the output of the feedback alarm block to allow occupancy to control the supply when appropriate.

Note This example shows the Not block as it appeared in previous versions of the TGP2 Editor.

Example 2

The next example shows the XOR block and not block used to create a binary “equals” function. This functionality is similar to how a light controlled from two switches works in a home. You may sometimes hear this called an X-NOR or exclusive NOR gate.

Inputs |  | Output
a | b | c
False | False | True
False | True | False
True | False | False
True | True | True

Hint In each binary input configuration select the program in which you have placed this logic to run when the switch changes states. This way, the program runs as soon as the switch tells it to, but does not run in between times.


Or block

Use this block to perform OR logic. The Or block is expandable and accepts as few as two inputs and as many as eight inputs. (See Or Properties for information about how to configure this block.)

How It Works

The following table shows the logic for two inputs. Any one True value in the set of two or more inputs makes the output True.

Inputs |  | Output
a | b | c
True | True | True
True | False | True
False | True | True
False | False | False

Example 1

In this example, an OR block is used to collect general input failures and make them available to the network.

Note This example shows the Or block as it appeared in previous versions of the TGP2 Editor.

Example 2

In this example from a cooling tower application, the Or block allows the deadband control of the sump heater under normal operating conditions. When the outdoor air temperature falls below 32°F, the Or block guarantees that the sump heater remains on continuously.


Xor block

The XOR (exclusive OR) block is used to determine if there is a difference between two input states. The two inputs can be unrelated or related. An example of unrelated inputs is a request for an action and the status of that request. An example of related inputs could involve those related in time, such as a current binary input value and the last binary input value.

The XOR block is not expandable.

How It Works

Xor yields a true result if exactly one (but not both) of two conditions is true.

Inputs |  | Output
a | b | c
True | True | False
True | False | True
False | True | True
False | False | False

Analog Example 1

The first example is a one-shot. This function uses the XOR to determine if the current value of an input is different than the last value. If it is, the output goes true for one program cycle. The segments shown are one-shots triggered by:

  • Any transition,

  • A transition from false to true

  • A transition from true to false.

The Macro Var (macro only variables) are used to store the current value of the trigger input and then read that value on the next program cycle.

Note This example shows the Xor block as it appeared in previous versions of the TGP2 Editor.

Analog Example 2

The next example shows the XOR block used to create a binary “equals” function. This functionality is similar to how a light controlled from two switches works in a home. You may sometimes hear this called an X-NOR or exclusive NOR gate.

Input 1 | Input 2 | Output
False | False | True
False | True | False
True | False | False
True | True | True

Hint: In each binary input configuration, select the program you’ve placed this logic in to run when the switch changes states. This way the program runs as soon as the switch tells it to, but does not run in between times.

Analog Example 3

The third example shows an XOR being used as a controllable inverter (NOT function) or buffer.

Input 1 | Input 2 | Output
False | False | False
False | True | True
True | False | True
True | True | False

From the table above, the output always matches the input if the control port is set to false. This is buffer operation. The output is the opposite of the input whenever the control port is set to true. This is inverter or NOT operation.


nor block

Use the nor block to compare two inputs and apply NOR logic to them. The block issues a binary output value resulting from the two input values. (This block applies only to binary values. There are no user-configured properties.)

How It Works

The following table shows the logic used for two binary inputs. One or more True values renders the output False.

Input a | Input b | Nor Output
False | False | True
False | True | False
True | False | False
True | True | False

Example 1: Space Temperature Setpoint Arbitration

This example shows a program segment used to arbitrate between a hardware and default space temperature (adj) setpoint. The nor block is used to determine if the hardware input has either failed or is currently out of service.

The following table shows the input values, the nor output, and resulting arbSpaceTempStpt value.

Not In Service | Fail/Fault | Nor Output | arbSpaceTempStpt
False | False | True | Local
False | True | False | Default
True | False | False | Default
True | True | False | Default

Example 2 – Window Position Control of Supply Fan

A typical response to opening a large window in the space is to turn mechanical heating and cooling off. This example assumes that there is a sash position switch on the windows. It also assumes that a true state indicates the window is open. The complete sequence reads: If both windows are closed and the space is occupied, the supply fan shall be turned on. If either window is open or the space is unoccupied, the supply fan shall be turned off.

The following table shows how the nor block operates in this context.

Window 1 | Window 2 | Fan On/Off
Closed | Closed | True
Closed | Open | False
Open | Closed | False
Open | True | False

Since all mechanical control has to stop, any mechanical heating and cooling sources should be shut down as well. DX, EH stages and any valves need to be turned off or closed.


nand block

Use the nand block to compare two inputs and apply NAND logic to them. The block issues a binary output value resulting from the two input values. (This block applies only to binary values. There are no user-configured properties.)

How It Works

The following table shows the logic used for two inputs. You can use up to two (2) inputs. Two True values render the output False.

Input a (a binary value) | Input b (a binary value) | Nand Output
False | False | True
False | True | True
True | False | True
True | True | False

Example 1 – Pumps Available

Example 1 shows a program segment used to determine if any pumps are available for use.

The following table shows the logic applied by the nand block in this context.

flagPump01Fail | flagPump02Fail | Nand Output | flagPumpsAvailable
False | False | True | True (pumps available)
False | True | True | True (pumps available)
True | False | True | True (pumps available)
True | True | False | False (no pumps available)

Example 2 – Economizing Method Arbitration

Example 2 shows a way to arbitrate the method that will be used to control the economizing function. The arbitration is based on the existence and status of outside air temperature (OAT), outside air humidity (OAH), return air temperature (RAT), and return air humidity (RAH). The method decides between four different outcomes:

  1. Comparative Enthalpy
  1. Compares outside enthalpy with return air enthalpy.
  2. Economizing is enabled if outside air enthalpy is less than return air enthalpy.
  2. Reference Enthalpy
  1. Compares outside enthalpy with an enthalpy setpoint.
  2. Economizing is enabled if outside air enthalpy is less than the enthalpy setpoint.
  3. Reference Dry Bulb Temperature
  1. Compares outside air temperature with a temperature setpoint.
  2. Economizing is enabled if outside air temperature is less than the setpoint.

(In this case, it’s possible to economize with humid air.)

  4. Economizing Disabled

Sensor existence and status is such that there is not enough information for an economizing decision to be made.

The methods above are listed in decreasing order of sensor validity. This arbitration is very similar to that used in the ReliaTel control system.

Method Conditions

This next section discusses the sensor states necessary for each economizing method. The variables: OAT, OAH, RAT and RAH refer to sensor status. A sensor needs to exist and the value should be valid. Some terminology shortcuts are used:

“•” = AND

“+” = OR

“ ” = NOT a (logical inverse)

Comparative Enthalpy Logic

Comparative Enthalpy = OAT • OAH • RAT • RAH

Reference Enthalpy Logic

As can be seen from the equation Reference Enthalpy is based on a NAND relationship between RAT and RAH status.

Reference Dry Bulb Temperature Logic

The following program segment shows the TGP2 version of the logic equations above. Economizing is disabled whenever none of the other methods are available.


Logical: Sequential

This section describes blocks that respond to a change in one or two binary values. The output value(s) are determined by whether an input value (or values) remains the same or changes from True to False or False to True.

See

  • One Shot block
  • Set/Reset Flip-Flop block


One Shot block

Use the One Shot block to sense when a binary state has changed from either false to true or true to false. The output remains true for only one program cycle. (See One Shot Properties for information on configuring this block.)

Note There are other methods you can use in place of a one shot block. You can create a macro block (see Analog Macro Variable and Binary Macro Variable) or you can use a Latch block. Compared to either of those methods the One Shot block helps reduce program storage needs on the user hard drive and in the device.

How It Works

The One Shot block compares the latest trigger input value to the prior trigger value as shown in the following formulas:

Where:

Trigger(n) is the trigger value for the current program run

Trigger(n-1) is the trigger value for the prior program run

“•” indicates an AND operation

A barred value is logically inverted.

The one shot output is true if the prior program trigger value and the current program trigger value conform to the Edge Select you set up on the One Shot Properties dialog box. The following table lists the various possibilities without their outputs.

Edge Select | Trigger | Output
F > T | Trigger(n) = true Trigger(n-1) = false | true
F > T | Trigger(n) = false Trigger(n-1) = false | false
F > T | Trigger(n) = false Trigger(n-1) = true | false
F > T | Trigger(n) = true Trigger(n-1) = true | false
T > F | Trigger(n) = true Trigger(n-1) = false | false
T > F | Trigger(n) = false Trigger(n-1) = false | false
T > F | Trigger(n) = false Trigger(n-1) = true | true
T > F | Trigger(n) = true Trigger(n-1) = true | false

The following diagram illustrates how the False (Off) to True (On) and the True (On) to False (Off) selections affect the timing of an operation or executed routine.

Example 1

Example 1 illustrates the role of the One Shot block and its advantages when used with counters. The example starts with a method that works correctly, but can be prone to double counts if the programmer does not carefully judge the program run frequency or lead switch time range.

The following program segments schedule the lead counter to increment around 10:00 AM, Tuesday morning.

This method is easy to understand but requires that you choose a time range which is slightly longer than the program run frequency. Typically, the time range would have to be 5 seconds longer than the program run frequency. It is possible that the counter would increment two or more times Tuesday morning if the time range is too long relative to the program run frequency. So, the program must be strengthened to only allow the counter to increment once during the scheduled lead change.

Example 2

Example 2 illustrates a scenario where all of the pumps in the system have failed to start in a timely way or have failed during operation. This is a rare scenario. However, the programmer should have a response to the failure and to the recovery from that failure mode.


Set/Reset Flip-Flop block

Use the Set/Reset Flip-Flop (S/R FF) block to combine two pieces of binary information, which are not direct opposites. The S/R FF block has two inputs (S and R) and two outputs (Qa and Qb). When one of the two inputs (S or R) transitions from False to True, the output associated with the other input is reset, switching it off (False). If both inputs transition from False to True the block is reset (False, False). If neither the S or R input transitions from False to True, then the values of their outputs remain as they were in the previous program run. (See Set/Reset Flip-Flop Properties for information about configuring this block.)

How It Works

The outputs Qa and Qb are allowed to change only if either the S or R inputs change from False to True. Otherwise, they will stay the same as the last program run. The following table summarizes the possible states:

S Input | R Inputs | Qa(n) Output | Qb(n) Output | Comments
False, True True > False | False > True | False | True |
False > True | False, True True > False | True | False |
False > True | False > True | False | False | Resets the S/R FF block
All Other States | All Other States | Qa(n-1) | Qb(n-1) |

*Qa(n-1) and Qb(n-1) are the previous states of the Qa and Qb outputs respectively.

Note Be careful not to overuse the S/R FF block. It is best used when a binary decision has to be made based on two related but not opposite pieces of data.

Note The inputs to the S/R FF block act as "one-shots" (see the truth table above).

Timing Diagrams

The following diagrams illustrate how the changes to the S and R inputs affect the Qa and Qb outputs. The S input leads in this first diagram. When the S input changes from False to True, the Qa output is True and remains so until the R input changes from False to True.

This second diagram shows paired transitions or a "flip-flop" or toggling relationship between the inputs.

Example 1 – Fan Filter Diagnostic and Reset

Example 1 is a simplified form of fan filter diagnostic and reset. A fan filter diagnostic is generated whenever the filter run hours exceeds an adjustable limit and a limit greater than zero. The diagnostic latches and must be manually reset to clear. Once the diagnostic is latched, changes to the initial conditions will not clear it.

This program segment also includes a standard method to manually reset a diagnostic. When programming for this concept, be aware that the end user may attempt to reset the diagnostic using any priority level. The illustrated technique clears the entire priority table over succeeding program runs.

Example 2 – Determining Overall Heat/Cool Mode

Example 2 illustrates a method to determine the overall heat/cool mode of a device. There are 16 possible heat/cool states, but only 8 actually have something to do with heating or cooling. They are not mutually exclusive.

The Set/Reset Flip Flop is used to hold the last state, cool or heat, based on which input, S or R respectively, changed from false to true.

The macro, progRunOnce, is used to determine if the program has run at least once after a reset, power cycle or program download. It is used in two ways: (1) to make sure that the heat/cool mode after startup is the same as commanded by the BAS and (2) to force a default heat/cool state – in this case, heating.


Macro blocks

This section includes topics that describe the Macro block and blocks specifically related to it. The Macro block functions as a sort of "super block" that can contain any sequence of TGP2 blocks. A Macro block acts a reusable, pre-packaged chunk of functionality that you can plug into new programs. Developing and reusing Macro blocks can save you time and effort.

See

  • Analog Input Port block
  • Analog Macro Variable
  • Analog Output Port block
  • Binary Input Port block
  • Binary Macro Variable block
  • Binary Output Port block
  • Macro block


Analog Input Port block

Use the Analog Input Port block to add ports to a Macro block. (See Analog Input Port Properties for information about configuring this block.)

How It Works

The Analog Input Port block is used to create an input port on a Macro block. It can only be used inside of a Macro block. When you paste it down on the opened Macro Editor during Macro definition, it automatically creates a port, which appears on the closed view of the Macro block.

Analog input ports are created according to the following rules:

  • When a Macro block is created from existing blocks and connectors, the Analog Input Port block is automatically created for all analog input connectors that cross the boundary of the Macro block.
  • When additional “primitive” blocks (for example, a Deadband block or De-Enumerator block) are added to the Macro block and these blocks require external connections (in this case, an analog input), you must manually add an Analog Input Port block and connect it within the Macro block.

The analog input ports appear on the external view of the Macro block. You must connect them to other blocks outside of the Macro. Analog Input Port blocks that are disconnected (internally or externally) will generate an error at compile time.

You can position Analog Input Port blocks anywhere in the workspace. (It makes sense to place input ports on the left-hand side, with output ports on the right, but this is not required.)

You can also name Analog Input Port blocks, but this is optional. The name appears above the block. The name also appears as a port label on the external view of the Macro block.

Best Practices

  • Try to minimize the number of ports if at all possible. A large number of ports can be confusing and hard to use.
  • Use unique and descriptive names for each port block.

Example 1

In this example a binary wireless block is used to fan out a trigger event within a macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information will not be shared between the two macro blocks. The same behavior exists at the program level.

Example 2

The first example is a one-shot. This function uses the XOR to determine if the current value of an input is different than the last value. If it is, the output goes true for one program cycle. The segments shown are one shots triggered by: any transition, a transition from false to true and a transition from true to false.

The Macro Var (macro only variables) are used to store the current value of the trigger input and then read that value on the next program cycle.


Analog Macro Variable block

Use the Macro Vars block to specify an analog variable for use in a Macro block. Macro Vars are used to remember information across program cycles within a Macro block. Their scope is limited to a particular Macro block and values do not cross over between Macro blocks. They can only exist within Macro blocks. There are analog and binary versions of the Macro Var block. This topic covers the analog version.

See Analog Macro Variable Properties for information on how to configure this block.)

How It Works

The Analog Macro Variable block is one of the few blocks with selectable ports. It must have one port, input or output. Both ports may not be used at the same time. The input port is used to write to the variable, and the output port is used to read the variable. Read and write privileges depend on the selected variable and its source. Write Macro Vars are indicated by a port on the left side of the block. Read Macro Vars are indicated by a port on the right side of the block.

Read refers to the ability of a program to know the value of the variable. In order to read a variable, the variable block presents an output port. On the other hand, write refers to the ability of a program to change the value of a variable. The variable block presents an input port when writing to a variable.

Example 1

This example illustrates the basic concept of a analog and binary Macro Vars.

The analog segments implement incrementing and decrementing counters:

“n” is the program cycle count. Reset capability will have to added, otherwise the counters will continue until removed from the program.

The binary segment implements a multi-vibrator function. The output changes state every time the program runs. The Boolean equation is:

An external view of the Macro block is:

Example 2

This “freq/2” Macro is used in another example (Date block). This Macro builds off of the multi-vibrator segment shown previously and the concept of a one shot. Instead of switching states when the program runs, it switches states when the trigger goes from false to true.

The relay control port of the Switch block is controlled based on the following function:

The output is controlled based on the function:

An external view of the Macro block is:


Analog Output Port block

Use the Analog Output Port block to add ports to a Macro block. (See Analog Output Port Properties for information about configuring this block.)

How It Works

The Analog Output Port block is used to create an output port on a Macro block. It can only be used inside of a Macro block. When it is pasted down on the opened Macro Editor during Macro definition, it automatically creates a port, which appears on the closed view of the Macro block.

Analog output ports are created according to the following rules:

  • When a Macro block is created from existing blocks and connectors, the Analog Output Port block is automatically created for all analog output connectors that cross the boundary of the Macro block.
  • When additional “primitive” blocks are added to the Macro block and these blocks require external connections (in this case, an analog output), you must manually add an Analog Output Port block and connect it within the Macro block.

The analog output ports appear on the external view of the Macro block, and they must also be connected to other blocks outside of the Macro. Analog Output Port blocks that are disconnected (internally or externally) generate an error at compile time.

Analog Output Port blocks can be positioned anywhere in the workspace. (It makes sense to place output ports on the right, with input ports on the left-hand side, but this is not required.)

Analog Output Port blocks can be named, but this is optional. The name appears above the block. The name also appears as a port label on the external view of the Macro block.

Best Practices

  • Try to minimize the number of ports if at all possible. A large number of ports can be confusing and hard to use.
  • Use unique and descriptive names for each port block.

Example 1

In this example a binary wireless block is used to fan out a trigger event within a macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information will not be shared between the two macro blocks. The same behavior exists at the program level.

Example 2

The first example is a one-shot. This function uses the XOR to determine if the current value of an input is different than the last value. If it is, the output goes true for one program cycle. The segments shown are one shots triggered by: any transition, a transition from false to true and a transition from true to false.

The Macro Var (macro only variables) are used to store the current value of the trigger input and then read that value on the next program cycle.


Binary Input Port block

Use the Binary Input Port block to add ports to a Macro block. (See Binary Input Port Properties for information about configuring this block.)

How It Works

The Binary Input Port block is used to create an input port on a Macro block. It can only be used inside of a Macro block. When it is pasted down on the opened Macro Editor during Macro definition, it automatically creates a port, which appears on the closed view of the Macro block.

Binary input ports are created according to the following rules:

  • When a Macro block is created from existing blocks and connectors, the Binary Input Port block is automatically created for all binary input connectors that cross the boundary of the Macro block.
  • When additional “primitive” blocks (for example, an Event Counter block) are added to the Macro block and these blocks require external connections (in this case, a binary input), you must manually add an Binary Input Port block and connect it within the Macro block.

The binary input ports appear on the external view of the Macro block, and they must also be connected to other blocks outside of the Macro. Binary Input Port blocks that are disconnected (internally or externally) will generate an error at compile time.

You can position Binary Input Port blocks anywhere in the workspace. (It makes sense to place input ports on the left-hand side, with output ports on the right, but this is not required.)

You can name Binary Input Port blocks, but this is optional. The name appears above the block. The name also appears as a port label on the external view of the Macro block.

Best Practices

  • Try to minimize the number of ports if at all possible. A large number of ports can be confusing and hard to use.
  • Use unique and descriptive names for each port block.

Example 1

In this example a binary wireless block is used to fan out a trigger event within a macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information will not be shared between the two macro blocks. The same behavior exists at the program level.

Example 2

The first example is a one-shot. This function uses the XOR to determine if the current value of an input is different than the last value. If it is, the output goes true for one program cycle. The segments shown are one shots triggered by: any transition, a transition from false to true and a transition from true to false.

The Macro Var (macro only variables) are used to store the current value of the trigger input and then read that value on the next program cycle.


Binary Macro Variable block

Use this block to specify a binary variable for use in a macro. Macro Vars are used to remember information across program cycles within a Macro block. Their scope is limited to a particular Macro block and values do not cross over between Macro blocks. They can only exist within Macro blocks. There are analog and binary versions of the Macro Var block. This topic covers the binary version.

(See Binary Macro Variable Properties for information about how to configure this block.)

How It Works

The Macro Binary Variable block is one of the few blocks with selectable ports. It must have one port, input or output. Both ports may not be used at the same time. The input port is used to write to the variable, and the output port is used to read the variable. Read and write privileges depend on the selected variable and its source. Write Macro Vars are indicated by a port on the left side of the block. Read Macro Vars are indicated by a port on the right side of the block.

Read refers to the ability of a program to know the value of the variable. In order to read a variable, the variable block presents an output port. On the other hand, write refers to the ability of a program to change the value of a variable. The variable block presents an input port when writing to a variable.

Example 1

This example illustrates the basic concept of a analog and binary Macro Vars.

The analog segments implement incrementing and decrementing counters:

“n” is the program cycle count. Reset capability will have to added, otherwise the counters will continue until removed from the program.

The binary segment implements a multi-vibrator function. The output changes state every time the program runs. The Boolean equation is:

An external view of the Macro block is:

Example 2

This “freq/2” Macro is used in another example (Date block). This Macro builds off of the multi-vibrator segment shown previously and the concept of a one shot. Instead of switching states when the program runs, it switches states when the trigger goes from false to true.

The relay control port of the Switch block is controlled based on the following function:

The output is controlled based on the function:

An external view of the Macro block is:


Binary Output Port block

Use the Binary Output Port block to add ports to a Macro block. (See Binary Output Port Properties for information about configuring this block.)

How It Works

The Binary Output Port block is used to create an output port on a Macro block. It can only be used inside of a Macro block. When it is pasted down on the opened Macro Editor during Macro definition, it automatically creates a port, which appears on the closed view of the Macro block.

Binary output ports are created according to the following rules:

  • When a Macro block is created from existing blocks and connectors, the Binary Output Port block is automatically created for all binary input connectors that cross the boundary of the Macro block.
  • When additional “primitive” blocks (for example, an Event Counter block) are added to the Macro block and these blocks require external connections (in this case, a binary output), you must manually add an Binary Output Port block and connect it within the Macro block.

The binary output ports appear on the external view of the Macro block, and they must also be connected to other blocks outside of the Macro. Binary Output Port blocks that are disconnected (internally or externally) generate an error at compile time.

Binary Output Port blocks can be positioned anywhere in the workspace. (It makes sense to place output ports on the right, with input ports on the left-hand side, but this is not required.)

Binary Output Port blocks can be named, but this is optional. The name appears above the block. The name also appears as a port label on the external view of the Macro block.

Best Practices

  • Try to minimize the number of ports if at all possible. A large number of ports can be confusing and hard to use.
  • Use unique and descriptive names for each port block.

Example 1

In this example a binary wireless block is used to fan out a trigger event within a macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information will not be shared between the two macro blocks. The same behavior exists at the program level.

Example 2

The first example is a one-shot. This function uses the XOR to determine if the current value of an input is different than the last value. If it is, the output goes true for one program cycle. The segments shown are one shots triggered by: any transition, a transition from false to true and a transition from true to false.

The Macro Var (macro only variables) are used to store the current value of the trigger input and then read that value on the next program cycle.


Macro block

Use the Macro block to construct and contain custom programming logic (code) in a single block. Your completed macro block can then serve as a reusable routine in other programs. (See Macro Properties for information about how to configure the Macro block.)

How It Works

The Macro block contains and hides programming logic, which may consist of other data blocks, control blocks, formula blocks and nested Macro blocks. The Macro block allows you, the programmer, to create a custom, more complex block out of several simple blocks and connections. A Macro block—including all of its contents—can be named and saved to a palette for reuse. And Macro blocks can be easily imported and exported to allow sharing and distribution. A Macro block does not affect the way the host program is compiled or executed.

Terminology

You should familiarize yourself with the following terms.

Macro Design Space | When a Macro block is opened, the work area or design space of the Editor is dedicated exclusively to macro development. The Macro Design Space is, in effect, an editor within an editor. A special tab appears at the top of the Editor work area that displays the macro name. All blocks contained in the work area are part of the Macro block under construction. In addition special input, output, and variable blocks are enabled for use in the macro.
Internal view | This is the view of the contents of an open Macro block. It occurs as a tabbed workspace with the name of the Macro block on the tab. Ports for the Macro block appear as Port blocks in the internal view.
External view | This is the view of a Macro block from the outside. The block looks similar to other TGP2 blocks, but there is a variable number of ports and the port names can change.
Instance | An instance of a Macro block is a copy of a saved Macro block. An instance can only exist in a program. Once an instance is created, it becomes independent of the saved macro block from which it was created. However, an instance can be saved (“Saved As”) to create a new macro block.
Library | A library holds one or more saved macro blocks, which serve as templates. The library (and its contents) exists as a file on the PC.

Use of Nested Macro Blocks

You can nest Macro blocks to handle increasingly complex situations and algorithms. However, try to limit the number of nested levels for understanding and maintainability. It is advisable to carefully document complex Macro blocks.

Use of Input and Output Ports

You can create input and output ports on the Macro block. You can use these ports to keep the Macro block template highly universal and reusable by allowing the host program to define variables or constants passed in through the ports. Some of your Macro blocks may require hundreds of input ports. There is no editor-imposed limit on the number of ports you can add to a Macro block.

Example

See Creating a New Macro Block (Highlight Method) or Creating a New Macro Block (Manual Method) , which show how a Macro block is constructed.


Math

Math blocks

This section includes topics that describe blocks that perform basic arithmetical or mathematical operations.

See

  • Absolute Value block
  • Add block
  • Average block
  • Divide block
  • Maximum block
  • Minimum block
  • Multiply block
  • Square Root block
  • Subtract block


Absolute Value block

Use the Absolute Value block to calculate the absolute value of an analog value.

How It Works

b = |a|

Example

In this example, the Absolute Value block guarantees a positive deadband value.


Add block

Use the Add block to calculate the sum of analog values. The Add block is expandable and accepts as few as two inputs or as many as eight inputs. If you want more than two inputs, use the properties dialog box to specify the number of inputs. (See Add Properties.)

How It Works

c = a + b

Example

In the following example, the Add block derives a setpoint based on the sum of the products of three analog variables multiplied by an offset value (the constants). The result is a setpoint for a subsequent Deadband block.


Average block

Use the Average block to calculate the average of up to eight analog values. The block is expandable and accepts as few as two inputs and as many as eight inputs. If you want more than two inputs, use the Average Properties dialog box to specify the number of inputs.

How It Works

c = (a + b) / (number of inputs)

Example

In this example, the Average block calculates the average of three zone temperatures received as analog inputs.


Divide block

Use this block to divide one analog value by another.

How It Works

c = a ÷ b

Example 1

In the first example below, the Divide block maintains a 4-to-1 ratio between the proportional and integral gains for a PID loop.

Example 2

This second example determines the relative error between the designed program run time and measured program run time. This is a performance measurement. The relative error between two items (expected and actual) is found by (designed – measured)/designed.

Example 3

With any counter you can either adjust the “number of steps” or the “size of the increment”. The counter we implemented uses “size of the increment” as its basis. The third example is a means to convert to a “number of steps” type of counter. Note that the end value of the counter is also the dividend of the divide block.


Maximum block

Use this block to calculate the maximum of up to eight analog values. The Max block is expandable and accepts as few as two inputs and as many as eight inputs. (See Maximum Properties for information about how to configure this block.)

How It Works

c = MAX (a,b)

Example 1

This program controls a hot water valve by comparing space temperature and mixed air temperature. The Max block is used to decide between comfort control or mixed air temperature safety. Whichever PID loop generates the largest value is used. Use of the feedback input of the PID blocks is recommended in these control sequences.

Note The PID gains are set to the typical ratio of 4:1:0. However, you will need to set the actual values during the tuning process.

Example 2

In this example, the Max block is used to determine the maximum value of the input since the last reset or midnight, whichever was the most recent. The functionality is implemented as a Macro block. The last maximum is remembered and compared to the current input. Whichever is greater is the new maximum.


Minimum block

Use this block to calculate the minimum of up to eight analog values. The Min block is expandable and accepts as few as two inputs and as many as eight inputs. (See Minimum Properties for information about how to configure this block.)

How It Works

c = MIN (a,b)

Example 1

The min block determines which surface has the lowest temperature. Condensation control is then based on the dewpoint of the least surface temperature.

Example 2

In this example, the Min block is used to determine the minimum value of the input since the last reset or midnight, whichever was the most recent. The functionality is implemented as a Macro block.

The last minimum is remembered and compared to the current input. Whichever is least is the new maximum.


Multiply block

Use this block to calculate the product of up to eight analog values. The Multiply block is expandable and accepts as few as two inputs and as many as eight inputs. (See Multiply Properties for information about how to configure this block.)

How It Works

c = a × b

Example 1

In this example, the multiply block is used to bring all of the conversion and calculation factors together.

Example 2

The segment below is shows the multiply block used to maintain the P:I:D ratio of 4:1:0. The proportional gain is available in the service tool. The user does not have to edit the program while tuning the loop.


Square Root block

Use this block to calculate the square root of an analog value.

How It Works

b = SQR (a)

Note To avoid dealing with imaginary numbers, protect the square root block by either limiting the input to non-negative values, or use an Absolute Value block.

Example

In this example, the Square Root block is used to calculate the air-volume flow rate through a duct.

Note You can use the Air Flow block to accomplish the same task.


Subtract block

Use this block to subtract one analog value from another.

How It Works

c = a – b

Example

In this example from a cooling tower application, the Subtract block calculates the approach temperature, or the difference between the wet-bulb temperature and the supply temperature.


Misc

Miscellaneous blocks

This section includes blocks that offer useful features, such as comments and wireless connections that can make your programs more intelligible, cleaner, and easier to read.

See

  • Analog Wireless Read block
  • Analog Wireless Write block
  • Binary Wireless Read block
  • Binary Wireless Write block
  • Comment block


Analog Wireless Read block

Use this block to establish a wireless connection in the program. (See Analog Wireless Read Properties for information about configuring this block.)

How It Works

Wireless blocks are used in two ways: fanning information out from one source to many targets and to minimize wire intersections. There are two types, analog and binary. They can be used in programs and within macros.

Wireless blocks can pass information only throughout the program or macro in which they are configured. They are not a way to pass information between programs, between macro blocks, or between a program and any macro blocks contained in that program.

Note Wireless blocks are the easiest way to generate a “circular logic” error. The value written to a wireless block can never be dependent on reading the value from the same wireless block.

Example 1

Wireless blocks are used to pass the binary information “enable: economizing” and the analog information “OAD position”.

Example 2

In this example a binary wireless block is used to fan out a trigger event within a Macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information is not shared between the two Macro blocks. The same behavior exists at the program level.


Analog Wireless Write block

Use this block to establish a wireless connection in the program. (See Analog Wireless Write Properties for information about configuring this block.)

How It Works

Wireless blocks are used in two ways: fanning information out from one source to many targets and to minimize wire intersections. There are two types, analog and binary. They can be used in programs and within macros.

Wireless blocks can pass information only throughout the program or macro in which they are configured. They are not a way to pass information between programs, between macro blocks, or between a program and any macro blocks contained in that program.

Note Wireless blocks are the easiest way to generate a “circular logic” error. The value written to a wireless block can never be dependent on reading the value from the same wireless block.

Example 1

Wireless blocks are used to pass the binary information “enable: economizing” and the analog information “OAD position”.

Example 2

In this example a binary wireless block is used to fan out a trigger event within a Macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information is not shared between the two Macro blocks. The same behavior exists at the program level.


Binary Wireless Read block

Use this block to establish a wireless connection in the program. (See Binary Wireless Read Properties for information about configuring this block.)

How It Works

Wireless blocks are used in two ways: fanning information out from one source to many targets and to minimize wire intersections. There are two types, analog and binary. They can be used in programs and within macros.

Wireless blocks can pass information only throughout the program or macro in which they are configured. They are not a way to pass information between programs, between macro blocks, or between a program and any macro blocks contained in that program.

Note Wireless blocks are the easiest way to generate a “circular logic” error. The value written to a wireless block can never be dependent on reading the value from the same wireless block.

Example 1

Wireless blocks are used to pass the binary information “enable: economizing” and the analog information “OAD position”.

Example 2

In this example a binary wireless block is used to fan out a trigger event within a Macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information is not shared between the two Macro blocks. The same behavior exists at the program level.


Binary Wireless Write block

Use this block to establish a wireless connection in the program. (See Binary Wireless Write Properties for information about configuring this block.)

How It Works

Wireless blocks are used in two ways: fanning information out from one source to many targets and to minimize wire intersections. There are two types, analog and binary. They can be used in programs and within macros.

Wireless blocks can pass information only throughout the program or macro in which they are configured. They are not a way to pass information between programs, between macro blocks, or between a program and any macro blocks contained in that program.

Note Wireless blocks are the easiest way to generate a “circular logic” error. The value written to a wireless block can never be dependent on reading the value from the same wireless block.

Example 1

Wireless blocks are used to pass the binary information “enable: economizing” and the analog information “OAD position”.

Example 2

In this example a binary wireless block is used to fan out a trigger event within a Macro block.

The wireless block “midnightCrossing” is unique to this macro block instance. Even if another copy of the same macro block is placed within the program, the information is not shared between the two Macro blocks. The same behavior exists at the program level.


Comment block

Use the Comment block to add comments to a program. (See Comment Properties to enter the text of a comment.)

How it works

Enter your text comment in the Comment Properties dialog box and click Save. You can locate your comment anywhere in the program pane.

Example

In the following example, the comment "zone voter strength" has been added at the top for clarity.


Time Delay

Time Delay blocks

This section includes blocks that control when a binary on or off signal occurs. You can delay a binary on or off signal for a given time interval, or control the time interval between on or off signals. The Latch block also provides a manual mode that turns a signal on or off indefinitely depending on a change in state (from off to on) of a controlling binary input signal.

See

  • Delay on Start block
  • Delay on Stop block
  • Latch block


Delay on Start block

Use this block to delay a binary on signal for a specified time interval based on a binary input on signal. When the delay time passes, the binary output follows the input signal. (See Delay on Start Properties for information about how to configure this block.)

How It Works

The Delay on Start block delays a binary on signal for a specified time interval. The delay timer is activated when the controlling input signal changes in state (from off to on). After the delay time passes, the output signal follows the input signal. The figure below illustrates how the Delay on Start block works, where t represents the delay time.

Example 1

In the following example, the Delay on Start block is used to provide the time delay to generate a proof of fan operation. A binary variable is set true if the fan has operated continuously for 30 seconds.

Note Resize this pane and use the slider to view these examples.

Example 2

In Example 2, the Delay on Start block is used to control which direction a damper should be moving during the smoke control automatic self-test (AST). A latch block is used to control the total time of the automatic testing operation - 10 minutes in this case. The smoke control dampers are requested to open (100%) the first half of the test period and then close (-100%) for the second half during a call for test. A damper is under normal control if the output is 0%.

Note The following example has been divided into two parts because of its width. The first half ends with the And block, and the second half continues beginning with the same And block.


Delay on Stop block

Use this block to delay a binary off signal for a specified time interval based on a binary input off signal. When the delay time passes, changes to the input signal are reflected as an opposite change in the output signal. Use the Properties dialog box to set the units for the time interval as seconds, minutes, or hours. (See Delay on Stop Properties for information about how to configure this block.)

How It Works

The Delay on Stop block delays a binary off signal for a specified time interval. The delay timer is activated when the controlling input signal changes state (from on to off). After the delay time passes, the output signal mirrors the input signal. The figure below illustrates how the Delay on Stop block works, where t represents the delay time.

Example 1

In the following example the Delay on Stop block is used to inform the fan control routine that the supply fan needs continue running for a period of time after all of the electric heating coils have been switched off.

Example 2

Example 2 uses the program from Example 1 to inform the fan control routine that the supply fan needs to continue running for a period of time after the electric heating coils have been switched off.

An electric heating coil is switched on based on the call for mechanical temperature control. The coils are allowed to work if the supply fan is running and the zone currently is calling for heating. The heating request could be based on any calculated value. This would typically be a PID loop output.


Latch block

Use this block to output a binary signal based on a change in state of a controlling binary input signal from off to on. Configure the Latch block in timed mode (Latch time or program cycles) or manual mode.

  • In timed mode, the block outputs a binary signal for a specified time interval or number of program cycles based on a change in state (from off to on) of a controlling binary input signal.
  • In manual mode, the block outputs a binary signal indefinitely based on a change in state (from off to on) of a controlling binary input signal.
  • In either mode, the cancel input turns the output of the Latch block off.

(See Latch Properties for information about configuring this block.)

How It Works

The Latch block has two configuration options. The timed option allows the block to accept an analog input that specifies the latch time or number of program cycles. Select the units of time as seconds, minutes, or hours. In the timed configuration, also set the Latch function as resettable or non-resettable. Resettable means the block resets its countdown clock every time the input signal changes state from off to on. Non-resettable means the block maintains its countdown clock despite repeated input signal changes in state. In the timed configuration, the Latch block presents three inputs: Trigger, Cancel, and Time Interval. The second option, manual, configures the Latch block with no input to specify the time interval. In either case, the Cancel input can be used to turn off the Latch output.

Trigger and output relationship

The figure below illustrates the relationship between the latch block trigger input and its output. Note that when the trigger changes from off to on, the latch output transitions to on for the latch time, t.

Cancel and output relationship

The timing diagrams in the figures below illustrate the relationship between the latch block cancel input and its output. When the cancel input changes from off to on, the latch output transitions to off. The cancel input assumes priority over the trigger input.

The figure below illustrates the difference between resettable and non-resettable.

Example 1

In the following example, the Latch block is used as a “one shot”. When the day of week switches from Saturday to Sunday, the Latch block output is true for one and only one program cycle. The Counter is incremented one value or rotated from the end value to the start value at that time.

Example 2

In this example, the Latch block is used in manual mode. Validity information from three temperature sensors triggers the Latch block output. The Latch block output remains true regardless of any change in the fail state of the temperature inputs. A binary variable, Reset, is used to reset the Latch block output to false.


System Blocks - Arbitration

The TGP2 Editor includes a library of System blocks you can use in your TGP2 programs. These custom blocks contain algorithms specific to Trane systems and equipment. They provide a convenient and consistent means of calculating common pieces of information. You can use these arbitration blocks within processes that require a decision to be made about which value, state, or source to use in a specific situation.

See

  • arbitration.Source3
  • arbitration.Source4
  • arbitration.activeSetpoint
  • arbitration.heat/cool
  • arbitration.occupancy_tovBool
  • arbitration.occupancy_tovEnum
  • flag.night h/c


arbitration.Source3

Use the arbitration.Source3 System block to arbitrate between three different sources of information depending on priority scheme. The communicated value has priority over the hard wired value, which has priority over the default value.

How It Works

Port Descriptions

Port | Direction | Type | Optional | Comments
DisableBAS_Source | input | binary |  | Validity and/or existence of BAS setpoint request
BAS_Source | input | analog |  | Setpoint request from BAS
DisableLocalSource | input | binary |  | Validity and/or existence of a hardwired setpoint request
LocalSource | input | analog |  | Setpoint request from a hardwired setpoint
LocalSourceHighLimit | input | analog |  | Hardwired setpoint high limit. The wired setpoint value is clamped to this limit
LocalSourceLowLimit | input | analog |  | Hardwired setpoint low limit. The wired setpoint value will be clamped to this limit.
Default | input | analog |  | Default setpoint. Output of the arbitration if all other setpoint sources are disabled or do not exist.
Active | output | analog |  | Source whose value is passed out of the block.

Properties Dialog Box

There are no available options. Therefore, the arbitration.Source3 block does not include a Properties dialog box.

Example


arbitration.Source4

Use this block to arbitrate between four different sources of information depending on priority scheme. (An operator display source has been added to those included in arbitration.Source3.) The order of priority is (1) communicated value, (2) operator display, (3) hard wired value, and (4) default value.

How It Works

Port Descriptions

Port | Direction | Type | Optional | Comments
DisableBAS_Source | input | binary |  | Validity and/or existence of BAS setpoint request
BAS_Source | input | analog |  | Setpoint request from BAS
DisableOD_Source | input | binary |  | Validity and/or existence of an operator display request
OD_Source | input | analog |  | Setpoint request from an operator display
DisableLocalSource | input | binary |  | Validity and/or existence of a hardwired setpoint request
LocalSource | input | analog |  | Setpoint request from a hardwired setpoint
LocalSourceHighLimit | input | analog |  | Hardwired setpoint high limit. The wired setpoint value is clamped to this limit
LocalSourceLowLimit | input | analog |  | Hardwired setpoint low limit. The wired setpoint value will be clamped to this limit.
Default | input | analog |  | Default setpoint. Output of the arbitration if all other setpoint sources are disabled or do not exist.
Active | output | analog |  | Source whose value is passed out of the block.

Properties Dialog Box

There are no available options. Therefore, the arbitration.Source4 block does not include a Properties dialog box.

Example


arbitration.activeSetpoint

Use the arbitration.activeSetpoint System block to calculate the active space setpoint, occupied heating and cooling setpoints and to arbitrate the heat/cool mode. The calculation is based on occupancy, heat/cool mode, space temperature active, the setpoint and offsets.

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example 1
  • Example 2
  • Example 3

How It Works

This block determines the active setpoint based on the Occupancy Status and the request from the BAS for heating or cooling mode.

  • If occupied, the occupied or standby offsets are used against the Space Temperature Setpoint. The actual Space Temperature is then used with the resulting offset.
  • If unoccupied, the SpaceTemp Unoccupied Cooling Setpoint or Heating Setpoint is used depending on the HeatCoolModeRequest value coming from the BAS. Setpoint arbitration is based on the outcome of the heating and cooling mode and occupied offsets.
  • The following heat/cool states are considered cooling requests: 4, 5, 6, 11 and 14. If the heat/cool state = 1, then the algorithm determines the heat/cool state based on the space temperature, space temperature setpoint and occupied offset. All other heat/cool states are assumed to be heating

The first part of the process is to determine which offset will be applied to the space setpoint. Even in the unoccupied state, if cooling or heating is requested, the system should control to the occupied heating or cooling setpoint.

The following table shows the effective setpoints for each operating mode.

Occupied | Unoccupied | Bypass | Standby | Effective Setpoints | PID Control Setpoint | Comments
0 | 0 | 0 | 1 | Standby cooling Standy heating | Standby cooling Standby heating |
0 | 0 | 1 | 0 |  | Occupied cooling Occupied heating |
0 | 1 | 0 | 0 | Limit cooling Limit heating | Occupied cooling Occupied heating | Night heat/ cool state
1 | 0 | 0 | 0 | Occupied cooling Occupied heating | Occupied cooling Occupied heating |

The standby mode is considered an occupied state:

While similar to the LON setpoint calculation, the offsets are applied directly to the space setpoint to determine occupied heating and cooling setpoints.

In the unoccupied state, the unoccupied heating and cooling setpoints are applied directly without offsets. In effect, they become limits for temperature control of the space.

Back to top

Port Descriptions

The following table describes the ports of the arbitration.activeSetpoint block.

Port | Direction | Type | Optional | Comments
Occupancy Status | input | analog | no | Typically, this is connected to the arbitrated occupancy block. 1 = occupied 2 = unoccupied 3 = bypass (tov) 4 = standby
HeatCoolModeRequest | input | analog | no | Request from BAS
SpaceTemperature | input | analog | no | Value pulled from referencer (temp sensor)
SpaceTempSetpoint | input | analog | no | Single value indicating what the system is currently using as a setpoint.
SpaceTempOccOffset | input | analog | no | Typically sent from the BAS. The heat/cool decision is dependent on the offsets for the occupied and standby occupancy states.
SpaceTempStandbyOffset | input | analog | no | Typically sent from the BAS. The heat/cool decision is dependent on the offsets for the occupied and standby occupancy states.
SpaceTempUnoccCoolSpt | input | analog |  | Typically sent from the BAS. This value does not affect the occupied setpoint calculation. Used directly in the unoccupied mode.
SpaceTempUnoccHeatSpt | input | analog | no | Typically sent from the BAS. This value does not affect the occupied setpoint calculation. Used directly in the unoccupied mode.
SpaceTempSetpointStatus | output | analog | no | Typically, the outcome of the setpoint source arbitration.
OccupiedCoolStp | output | analog | yes | System control setpoint when cooling
OccupiedHeatStp | output | analog | yes | System control setpoint when heating
HeatCoolModeActive | output | binary | yes | Cool = true Heat = false

arbitration.activeSetpoint Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Port Descriptions). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Back to top

Example 1

You may need to enlarge the Help window to view this example.

Back to top

Example 2

The following example shows the use of the arbitrated.occupancy block as input to the arbitrated.activeSetpoint block to yield the occupancy arbitration result.

Back to top

Example 3

The following example shows modules that employ both occupancy and space setpoint arbitration.


arbitration.heat/cool

This block arbitrates between a BAS requested heat/cool state and derived heat/cool state based on space temperature, space temperature setpoint and the occupied offset.

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example

How It Works

The arbitration.heat/cool block is based on the same algorithm as that of the Area application in Tracer SC and Tracer Summit.

The following heat/cool states are considered cooling requests: 4, 5, 6, 11 and 14. If the heat/cool state = 1, then the algorithm determines the heat/cool state based on the space temperature, space temperature setpoint and occupied offset. All other heat/cool states are assumed to be heating states.

The following macro shows the internet view of the arbitration.heat/cool block. (The two DeEnum.HeatCool blocks simply convert an incoming heat/cool enumeration values to a binary value.) If the enumeration is auto, the Not block renders it false and the autoHeatCool routine is used.

The following graph depicts the outcome if the Heat/Cool Mode Request is 1 (auto).

Back to top

Port Descriptions

The following tables lists and describes the ports of the heat/cool mode source arbitration block.

Port | Direction | Type | Optional | Comments
HeatCoolModeRequest | input | analog | no | Request from the BAS
SpaceTemperature | input | analog | no |
SpaceTempSetpoint | input | analog | no | Typically the outcome of the setpoint source arbitration.
SpaceTempOccOffset | input | analog | no | Typically sent from the BAS. The heat/cool decision is dependent on the offsets for the occupied and standby occupancy states.
heat/cool.active | output | binary | no | Cool = true
Heat = false |  |  |  |

Back to top

arbitration.heat/cool Properties Dialog Box

Use the Properties dialog box to set the heat/cool offset value. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Back to top

Example

The following example shows input sources wired to the heat/cool mode source arbitration block input ports and the output port passing the result to the flagHeatCool binary wireless block.


arbitration.occupancy_tovBool

This block arbitrates occupancy between different sources of information depending on priority scheme. Communicated values have priority over hardwired values, which, in turn, have priority over the default value.

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example 1
  • Example 2

How It Works

Occupancy arbitration is based on the following table.

The following macro parts show one way to implement this table.

Type your drop-down text here.

Back to top

Port Descriptions

The following table lists and desribes the ports of the arbitration.occupancy_tov System block.

Port | Direction | Type | Optional | Comments
occupancy.requestBAS | input | analog | yes | Occupancy request from BAS.
occupancy.input | input | binary | yes | Hardwired binary occupancy input.
tov.request | input | analog | no | Timed override request from temperature sensor. Available on the enumerated version of the arbitration.occupancyTovEnum block.
tov.onTime | input | analog | no | Period of timed override in minutes.
tov.requestOn | input | binary | no | Timed override request from temperature sensor. Available on the enumerated version of the arbitration.occupancyTovBool block.
tov.requestOff | input | analog | no | Timed override cancel from temperature sensor. Available on the enumerated version of the arbitration.occupancyTovEnum block.
occupancy.active | output | analog | no | 1 = occupied 2 = unoccupied 3 = bypass (tov) 4 = standby
tov.timeRemaining | output | analog | yes | If an override is active, this is the time remaining until the override ends. Time is in minutes.

Back to top

arbitration.occupancy_tovBool Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Port Descriptions). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example 1

This example shows input sources wired to the arbitration.occupancy block input ports and the output port passing the result to the DeEnum.Occupancy block.

Back to top

Example 2

In this example, the arbitrated.occupancy block is connected to the arbitrated.activeSetpoint block.


arbitration.occupancy_tovEnum

This block arbitrates occupancy between different sources of information depending on priority scheme. Communicated values have priority over hardwired values, which, in turn, have priority over the default value.

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example 1
  • Example 2

How It Works

Occupancy arbitration is based on the following table.

Back to top

Port Descriptions

The following table lists and describes the ports of the arbitration.occupancy_tov System block.

arbitration.occupancy_tovEnum Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Port Descriptions). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Back to top

Example 1

This example shows input sources wired to the arbitration.occupancy block input ports and the output port passing the result to the DeEnum.Occupancy block.

Example 2

In this example, the arbitrated.occupancy block is connected to the arbitrated.activeSetpoint block.


flag.night h/c

Use the flag.night h/c System block to indicate that the unoccupied space conditions warrant starting mechanical cooling or heating.

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example

How It Works

The flag.nite h/c block is the equivalent operation of the macro shown below. The flag.nite h/c block limits the deadband to positive values only.

The following diagram shows the ranges in which night/heat cool operates.

Port Descriptions

The following table describes the characteristics and functions of the flag.nite h/c ports.

Port | Direction | Type | Optional | Comments
SpaceTemperature | input | analog | no | Typically this is the active temperature of a space.
SpaceTempUnoccCoolSpt | input | analog | no | Typically this is the unoccupied cooling setpoint.
SpaceTempUnoccHeatSpt | input | analog | no | Typically this is the unoccupied heating setpoint.
UnoccupiedDeadband | input | analog | no | Once night heat/cool conditions are met, the deadband defines at what point mechanical heating or cooling is shut off.

Properties Dialog Box

There are no available options. Therefore, the flag.night heat/cool block does not include a Properties dialog box.

Example

The following example shows the input sources wired to the flag.nite h/c input ports and the output port passing the result to the niteHeatCool binary wireless block.


System Blocks - Communication Status

The TGP2 Editor includes a library of System blocks you can use in your TGP2 programs. These custom blocks contain algorithms specific to Trane systems and equipment. They provide a convenient and consistent means of calculating common pieces of information. You can use these communication status blocks to indicate the communication state between a Tracer SC and a UC400.

See

  • flag.commStatusBool
  • flag.commStatusEnum


flag.commStatusBool

Use this block to indicate the communication state between a Tracer SC and a UC400.

How It Works

When you install a UC400 on a Tracer SC, the Tracer SC becomes the parent device of the UC400. The UC400 polls the parent Tracer SC periodically to determine communication status. There is no user interaction necessary. The parent device is polled at a set interval defaulted to 15 minutes.

Port Descriptions

The following table describes the characteristics and functions of the flag.commStatusBool ports.

flag.commStatusBool Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Port Descriptions). Select true to make the desired port available for programming use or select false to remove the port from view. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example

The following program segment is used to switch from a space temperature setpoint sent from a parent device to a constant if communication goes down to the parent device.


flag.commStatusEnum

Use this block to indicate the communication state between a Tracer SC and a UC400.

How It Works

When you install a UC400 on a Tracer SC, the Tracer SC becomes the parent device of the UC400. The UC400 polls the parent Tracer SC periodically to determine communication status. There is no user interaction necessary. The parent device is polled at a set interval defaulted to 15 minutes.

Port Descriptions

The following table describes the characteristics and functions of the flag.commStatusEnum ports.

flag.commStatusEnum Properties Dialog Box

Use the Properties dialog box to show or hide the communication read status port (read fail) which are described in the previous table (see Port Descriptions). Select true to make the optional port available for programming use or select false to remove the port from view. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example

The program segment that follows is used to switch from a Space Temperature Setpoint BAS sent from the Tracer SC to a constant if communication with the Tracer SC goes down.


System Blocks - DeEnumeration: Chiller

The TGP2 Editor includes a library of System blocks you can use in your TGP2 programs. These custom blocks contain algorithms specific to Trane systems and equipment. They provide a convenient and consistent means of calculating common pieces of information. You can use the DeEnum.ChillerSequence block to sequence the starting order of chillers that are members of a chiller plant.

See

  • DeEnum.ChillerSequence block


DeEnum.ChillerSequence block

Use the Chiller Sequence DeEnumeration block to translate a chiller’s sequence number to true and false states. A chiller’s sequence number indicates where in the sequence of chillers the chiller will be enabled and disabled. As chillers are switched from lead to lag, the sequence number of each chiller updates to indicate what the starting order will be. (See DeEnum.ChillerSequence Properties for information about configuring this block.)

Block information is presented under the following sections:

  • How It Works
  • Port Descriptions
  • Properties Dialog Box
  • Example 1
  • Example 2

How It Works

Port Descriptions

Port Name | Description
Input | The input is not labeled and is a real value. Integers are automatically converted to real numbers.
base | The output is true if the input equals 0.1. This indicates that the chiller is set as a “base” chiller.
peak | The output is true if the input equals 0.2. This indicates that the chiller is set as a “peak” chiller.
swing | The output is true if the input equals 0.3. This indicates that the chiller is set as a “swing” chiller.
sequence 1 .. sequence 25 | The output is true if the input equals 1 through 25 respectively.

DeEnum.ChillerSequence Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Port Descriptions). Select “true” to make the desired port available for programming use. (See DeEnum.ChillerSequence Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example 1

Example 1 shows the basic use of the Chiller Sequence DeEnumeration block. In this case, the program seqment determines if “chiller 1” is the lead chiller.

The DeEnum.ChillerSequence block properties is configured as shown in the following image:

Example 2

Example 2 shows a basic method to control isolation valves in the system. If the sequence number is not 1, then the isolation valve is only open if the chiller mode is in a startup or running state. Pre-shutdown is considered a stopped state. If a chiller sequence number is 1 and the chiller is available then its isolation valve is open regardless of other chiller modes.

The program segment shows the TGP2 version of the given sequence. A standard DeEnumeration block was used to convert chiller running mode to binary states.

Note The example program is being run in a Tracer SC. To actually change the physical state of the valve, it will be necessary to communicate the valve request to either a UC400 or UC600.

The DeEnum.ChillerSequence blocks are configured as shown in the following image:


System Blocks - DeEnumeration: System

The TGP2 Editor includes a library of System blocks you can use in your TGP2 programs. These custom blocks contain algorithms specific to Trane systems and equipment. They provide a convenient and consistent means of calculating common pieces of information. You can use these DeEnumeration blocks within processes that require that an analog enumeration value be translated to a binary output.

See

  • DeEnum.EmergencyOverrideBAS
  • DeEnum.Fan Speed
  • DeEnum.HeatCool
  • DeEnum.Occupancy
  • DeEnumeration.Occupancy Ext block
  • DeEnum.Operating Mode
  • DeEnum.ValveOverride

Note The design of these blocks has changed. Though these topics currently retain the previous design, their function remains the same. For example:

Previous

New


DeEnum.Emergency Override BAS

Use this block to translate an analog enumeration to "true" for one of several possible binary outputs that each indicate a different emergency override action.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false.

Output Ports

The DeEnum.EmergencyOverrideBAS block includes output ports that correspond to emergency override settings applicable to different types of equipment.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | An analog instance value
pressurize | output | binary | yes | Immediately bring system up to air or water pressure setting.
depressurize | output | binary | yes | Immediately reduce air or water pressure in the system.
purge | output | binary | yes | Immediately start purge operation.
shutdown | output | binary | yes | Immediately shutdown the system.
normal | output | binary | yes | Immediately return to normal operation.

DeEnum.EmergencyOverrideBAS Property Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)


DeEnum.Fan Speed

Use this block to translate an analog enumeration to one of several possible binary output values that indicate standard fan settings.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false. You can select the output ports that are appropriate for your specific application on the generic DeEnum.FanSpeed Properties dialog box.

Output Ports

The ports of the DeEnum.FanSpeed block include normal fan speed settings.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | An analog instance value.
off | output | binary | yes | Fan is powered off.
low | output | binary | yes | Fan runs at low speed.
medium | output | binary | yes | Fan runs at medium speed.
high | output | binary | yes | Fan runs at high speed.
auto | output | binary | yes | Fan runs at automatically predetermined speed.

DeEnum.FanSpeed Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)


DeEnum.HeatCool

Use this block to translate an analog enumeration to one of several possible binary output values that indicate various heat/cool modes or settings.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false. You can select the output ports that are appropriate for your specific application on the generic DeEnum.HeatCool Properties dialog box.

Output Ports

The output ports of the DeEnum.HeatCool block include standard heat/cool modes.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | An analog instance value.
auto | output | binary | yes | Activates or deactivates auto mode.
heat | output | binary | yes | Activates heat mode.
morning warm-up | output | binary | yes | Starts morning warm-up routine.
cool | output | binary | yes |
night purge | output | binary | yes |
pre-cool | output | binary | yes |
off | output | binary | yes |
test | output | binary | yes |
emergency heat | output | binary | yes |
fan only | output | binary | yes |
free cool | output | binary | yes |
ice making | output | binary | yes |
max heat | output | binary | yes |
economy mode | output | binary | yes | Economy mode is also known as “economizing”. Currently, it is not typically used in Trane systems.
dehumidifying | output | binary | yes |
calibrate | output | binary | yes | Start valve calibration.

DeEnum.HeatCool Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)


DeEnum.Occupancy

Use this block to translate an analog enumeration to one of several possible binary output values that indicate the standard occupancy modes.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false.

Output Ports

The DeEnum.Occupancy block ports represent the standard occupancy modes.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | An analog instance value
occupied | output | binary | yes |
unoccupied | output | binary | yes |
bypass | output | binary | yes |
standby | output | binary | yes |
not (unoccupied) | output | binary | yes |

DeEnum.Occupancy Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example 1

The DeEnum.Occupancy block is used to convert the occupancy enumerations to discrete binary states. Only one output is true at any given time. In this example, the DeEnum.Occupancy block is used, in conjunction with some Bin2Num blocks, to determine the offset from the user selected setpoint. Later the offset is added to and subtracted from the user selected setpoint to generate the cooling and heating setpoints respectively.

Example 2

The program segments below illustrate a feature of the DeEnum.Occupancy block’s “not(unoccupied)” port. “output 1”, “output 2” and “output 3” would generate equivalent results.


DeEnum.Occupancy Ext block

Use this block to translate an analog enumeration to one of several possible binary output values that indicate the standard occupancy modes.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false.

Output Ports

The DeEnum.Occupancy block ports represent the standard occupancy modes.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | An analog instance value
occupied | output | binary | yes |
unoccupied | output | binary | yes |
bypass | output | binary | yes |
standby | output | binary | yes |
auto | output | binary | yes |

DeEnum.Occupancy Ext Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table. Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)

Example 1: Occupancy Based Offset Calculation

The DeEnum.Occupancy Ext block is used to convert the occupancy enumerations to discrete binary states. Only one output will true at any given time. In the example below, the DeEnum.Occupancy Ext in conjunction with two Bin2Num blocks is used to determine the offset from the user selected setpoint. Later the offset will added to and subtracted from the user selected setpoint to generate the cooling and heating setpoints respectively.

While it looks odd to have the unoccupied state use the same offset as occupied, during night time heating and cooling modes, it is typical to use the occupied setpoints.

Example 2. Determining Occupancy from a System Request and Occupancy Input

The program segment below illustrates the use of the DeEnum.Occupancy Ext block’s “auto” port. In this case, the system request is “Auto”. The system has turned effective occupancy control over to the unit controller. In many applications, an Occupancy Input is available to determine local occupancy.

If the suggested input name is used, the Occupancy Input binary input inactive and active states are “Occupied” and “Unoccupied” respectively.

The logic also checks the fail/fault state of the occupancy input. This is typically not necessary if the Occupancy Input is referenced to one of the unit controller’s terminations. A fault is possible if an external BACnet reference is used or the input is referenced to an IMC based termination. Both are communication based references.


DeEnum.Operating Mode

Use this block to translate an analog enumeration to one of several possible binary output values that indicate various operating modes.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true.

Output Ports

The output ports of the DeEnum.Operating Mode block correspond to standard operating modes for different types of equipment.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no |
occupied | output | binary | yes |
unoccupied | output | binary | yes |
optimal start | output | binary | yes |
humidity pulldown | output | binary | yes |
optimal stop | output | binary | yes |
unoccupied h/c | output | binary | yes |
night purge | output | binary | yes |
unoccupied humidify | output | binary | yes |
unoccupied dehumidify | output | binary | yes |
unknown mode | output | binary | yes |

DeEnum.Operating Mode Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)


DeEnum.ValveOvrride

DeEnum.Valve Override

Use this block to translate an analog enumeration to one of several possible binary output values that indicate various valve overrides.

How It Works

If the analog value input is equal to one of the enumerations for which the block tests, the appropriate binary output is set to true. All other binary outputs are set to false.

Output Ports

The DeEnum.Valve Override block includes output ports that correspond to standard valve positions.

Port | Direction | Type | Optional | Comments
enumeration value | input | analog | no | Analog instance value
auto | output | binary | yes | Returns the valve to the specified Auto position.
full open stop | output | binary | yes | Drives the valve fully open and holds it at that position.
full closed | output | binary | yes | Returns the valve to the fully closed position.
min setpoint | output | binary | yes | Drives the valve to the position that produces minimum air flow as specifed by the setpoint.
max setpoint | output | binary | yes | Drives the valve to the position that produces maximum air flow as specifed by the setpoint.

DeEnum.Valve Override Properties Dialog Box

Use the Properties dialog box to add the optional ports, which are described in the previous table (see Output Ports). Select “true” to make the desired port available for programming use. (See System Block Properties for a description of this dialog box. Also see System Blocks for a description of all the System blocks.)


Enum.Heat/Cool

Use the Enum.Heat/Cool System block to report a device’s heat/cool status to a system controller.

How It Works

System Heat/Cool Enumerations

Enumeration | Name | Enumeration | Name
1 | Auto | 9* | Emergency Heat
2 | Heat | 10* | Fan Only
3 | Morning Warm-up | 11* | Free Cool
4 | Cool | 12* | Ice Making
5 | Night Purge | 13* | Max Heat
6 | Pre-cool | 14* | Economy Mode
7 | Off | 15* | Dehumidification
8 | Test | 16* | Calibration

*Not normally used in Trane Heat/Cool mode status.

Inputs and Outputs

Input Port Name | Optional Yes/No | Notes
supplyFan.Status | No | Supply fan status.
mode.morning warm-up | No | Morning warm-up mode status.
mode.night purge | No | Night Purge status.
mode.pre-cool | No | Pre-cool mode status.
heat/cool.active | No | The derived heat/cool mode status. Cool state = true; Heat state = false.

Input Port Name | Optional Yes/No | Notes
heat/cool.status | No |

Logic

The Enum.heat/cool block output is based on the logic shown in the following TGP2 program segment. The different modes have an implied priority.

Example 1: Basic Heat/Cool Mode

This example illustrates a minimum usage of the Enum.heat/cool block. The program segment is determining the basic temperature mode plus the fan status.

Example 2: Basic Heat/Cool Mode with Heat/Cool Arbitration Block

This second example illustrates another minimum usage of the Enum.heat/cool block. The program segment is determining the basic temperature mode plus the fan status. In this case, the heat/cool arbitration block has been added to show how you would mix the system blocks together.

Example 3: Basic Heat/Cool Mode with Test and Calibration Modes

This third example shows a method used to add the test and calibration states to the enumeration result. A Switch block needs to be added. It is assumed that the calibration and test states are determined in other logic. In this example, Test has a higher priority than Calibration, thus the Test switch block is later in the sequence.

Example 4: Heat/Cool Mode Status with All Temperature Modes

This fourth example shows the technique used to enumerate all available temperature states: heat, cool, morning warm-up, night purge and pre-cool. In this case, the three sub-modes have been collected into one wireless result.


Basic Calibration Block

This section includes topics that describe the Basic Calibration block, explains how it works, and provides several examples showing its use.

See

  • An Overview of Basic Calibration Block Operations
  • Basic Calibration Block Input and Output Ports
  • Basic Calibration Block Properties
  • Example1: Calibration at Device Reset and Unoccupied (Always Enabled)
  • Example 2: Delayed Low Side Calibration Following Startup and Unoccupied (Always Enabled)
  • Example 3: Mode Control With All Low Side Calibration Triggers (Always Enabled)
  • Example 4: Dealing with PID Windup
  • Example 5: Low Side Then High Side Calibration Only at Startup
  • Example 6: Low Side Then High Side Calibration Only at Unoccupied Transition
  • Example 7: Changeover / Bypass Calibration


Basic Calibration block - How It Works

Use the Basic Calibration block to calibrate floating point actuators. See An Overview of Basic Calibration Block Operations for additional background information about these blocks.

Triggering

There are several ways to trigger a calibration operation. (See An Overview of Basic Calibration Block Operations for details.) Internally, all triggers are translated into one-shot events. They are only true for one program cycle. This technique allows triggers to be acted on or ignored as conditions change. However, a calibration request is not persisted across a device reset. While that is not typically a problem, it may affect your programming logic.

  • Device Reset

Senses if the program containing the calibration.basic block has run at least once. This will trigger a calibration when the program is sent to the controller or has experienced a power cycle. The device reset trigger takes effect on the next program run.

  • Unoccupied State.

Whenever the current occupancy state is unoccupied and the last occupancy was not unoccupied, a low side calibration is triggered. The unoccupied trigger will be ignored for the first two program cycles after the program has been sent to the device. The change in occupancy must take place after the first two program cycles. This will give the powerup/reset trigger first opportunity to trigger a calibration.

  • Low Value Triggered

A low side calibration operation is triggered whenever the current input value is less than or equal to the calibration trigger low setpoint and the prior input value was greater than the calibration trigger low setpoint. The low value trigger is ignored for the first two program cycles after the program has been sent to the device. The change in value must take place after the first two program cycles. This delay gives the powerup/reset trigger first opportunity to trigger a calibration.

  • High Value Triggered

A high side calibration operation is triggered whenever the current input value is greater than or equal to the calibration trigger high setpoint and the prior input value was less than the calibration trigger high setpoint. The high value trigger is ignored for the first two program cycles after the program has been sent to the device. The change in value must take place after the first two program cycles. This delay gives the powerup/reset trigger first opportunity to trigger a calibration.

  • Manually Triggered Low Side Calibration

To manually trigger a low side calibration option - the value at the port, calibTrig.Low, is checked every time the program runs. If the port’s value has changed from false to true, a low side calibration operation will be triggered. The manual trigger will be ignored for the first two program cycles after the program has been sent to the device. The manual trigger must take place after the first two program cycles. This delay gives the powerup/reset trigger first opportunity to trigger a calibration.

  • Manually Triggered High Side Calibration

To manually trigger a high side calibration option, the value at the port, calibTrig.High is checked every time the program runs. If the port’s value has changed from false to true, a high side calibration operation is triggered. The manual trigger is ignored for the first two program cycles after the program has been sent to the device. The manual trigger must take place after the first two program cycles. This delay gives the powerup/reset trigger first opportunity to trigger a calibration.

Latching

There are two internal latches built in for low side calibration and high side calibration. They are mutually exclusive in that only one latch is allowed to be set at any particular calibration sequence.

Lockouts

A lockout is set whenever a high or low calibration process is in place. While a device is currently going through a calibration process, all triggers, including the trigger which originally started the calibration, are ignored. Nor is a trigger remembered (see the One Shot block). The calibration lockout affects all triggers the same way.

Lockouts are also used to determine when certain cancel operations can occur. Value driven cancel can occur in two ways. They are only allowed when a lockout is in place.

Cancel

Calibration cancels can occur in a variety of ways:

  • Setting enable to false
  • When the actuator.status exceeds the calibration setpoint
  • When the actuator.request is set to a value within the normal operation range offset by some deadband

Any value driven cancel is only valid if there is a calibration lockout set.

Enable

Enable affects all internal operations. If set to “false,” all calibration operations will stop and input ports will be ignored.

actuator.status

The value of actuator.status can effect a cancel operation when it exceeds a calibration trigger setpoint plus or minus the calibration offset. The actuator.status cancel flag is only valid when there is calibration operation underway. This is the normal means of ending a calibration operation and is shown in the following figure.

actuator.request

Another way to cancel a calibration is for the actuator.request value to change to a value set by the calibration trigger setpoint and the return deadband. This is an abnormal termination to the calibration process as it can stop the calibration process before it reaches the correct actuator.status value. It is possible to set the return deadband to zero. The relationship between actuator.request and calibration cancel is shown in the following figure.


Basic Calibration Block Input and Output Ports

The Basic Calibration block includes both default ports that always appear and three optional ports. Use the Calibration Block Properties dialog box to enable the optional ports.

Inputs

enable | Enables the calibration trigger methods selected in the Properties dialog box. This port always exists.
occupancy.status | (Optional) Device occupancy status. Typically the output of the occupancy arbitration for the device. This port will not exist if you select to not use a change to unoccupied as a calibration trigger.
actuator.request | Typically an output of a PID loop. Controls when calibration mode will begin. This port always exists.
actuator.status | Typically an analog input referenced to a modulating triac /analogValue property. The /analogValue reports the modulating triac's position based on time and total drive time.
calibTrig.high | (Optional) A manual means of triggering a high (open) side calibration This may be connected to a random wait time state.
calibTrig.low | (Optional) A manual means of triggering a low (closed) side calibration This may be connected to a random wait time state.

Outputs:

Both of the output ports are optional. However, the best practice is to select at least one.

calibrate.active | (Optional) A binary result which indicates that calibration is currently taking place regardless of triggering method or direction.
actuator.command | (Optional) An analog result is used to control the analog output. Typically the analog output is referenced to the modulating triac /analogValue property. When an analog output is referenced to the analogValue property, this becomes a request or command to the modulating triac selected.


Basic Calibration Block Properties

Select and set the desired triggering methods, setpoints, deadband value, and offset value.

Calibration Trigger Setpoint High (default = 0.0) | The actuator request value that causes a high side calibration. This value must be greater than the low trigger setpoint. It is always the maximum value between the high trigger setpoint and low trigger setpoint.
Calibration Trigger Setpoint Low (default = 0.0) | The actuator request value that causes a low side calibration. This value must be less than the high trigger setpoint. It is always the minimum value between the high trigger setpoint and low trigger setpoint.
Calibration Offset (default = 25.0) | The value added to the Calibration Trigger Setpoint High and subtracted from the Calibration Trigger Setpoint Low to determine the overdrive targets. The absolute value of the entered calibration offset is used in the block.
Return Deadband (default = 40.0) | This value is subtracted from the Calibration Trigger Setpoint High and added to the Calibration Trigger Setpoint Low. This value is used to ensure that calibration doesn’t toggle rapidly. The absolute value of the entered return deadband is used in the block.
Enable Powerup Calibration (default = true) | If set to “true” a low side calibration process is triggered whenever the device starts up following a reset and no other calibration is taking place. The device has to “wake up” enough to be able to run the program. Setting to “false” indicates that a device reset will not trigger any calibration.
Enable Unoccupied Calibration (default = true) | If set to “true”, a low side calibration process is triggered whenever the occupancy status changes to unoccupied and no other calibration is taking place. Setting to “false” indicates that a change in occupancy will not trigger any calibration. Setting to “false” also hides the occupancy.status port.
Enable Low Value Calibration (default = true) | If set to “true”, a low side calibration process is triggered whenever the actuator request value is less than or equal to the Calibration Trigger Setpoint Low and no other calibration is taking place. Setting to “false” indicates that a low value triggered calibration process should not take place.
Enable High Value Calibration (default = true) | If set to “true”, a high side calibration process is triggered whenever the actuator request value is greater than or equal to the Calibration Trigger Setpoint High and no other calibration is taking place. Setting to “false” indicates that a high value triggered calibration process should not take place.
Enable Low Manual Calibration (default = false) | If set to “true”, a low side calibration is triggered whenever the calibTrig.low port value changes from false to true and no other calibration is taking place. A value of true makes the calibTrig.low available to the program editor. If set to “false”, the calibTrig.low is hidden.
Enable High Manual Calibration (default = false) | If set to “true”, a high side calibration is triggered whenever the calibTrig.high port value changes from false to true and no other calibration is taking place. A value of true makes the calibTrig.high available to the program editor. If set to “false”, the calibTrig.high is hidden.
Powerup Calibration Direction (default = false) | If set to “false” a low side calibration process is triggered whenever the device starts up following a reset and no other calibration is taking place. If set to “true” a high side calibration process is triggered whenever the device starts up following a reset and no other calibration is taking place. Requires that Enable Powerup Calibration be set to “true”.
Unoccupied Calibration Direction (default = false) | If set to “false” a low side calibration process is triggered whenever the occupancy status changes to unoccupied and no other calibration is taking place If set to “true” a high side calibration process is triggered whenever the occupancy status changes to unoccupied and no other calibration is taking place. Requires that Enable Unoccupied Calibration be set to “true”.


Example 1: Calibration at Device Reset and Unoccupied (Always Enabled)

In the program segment shown below, the calibration block is between the PID block and the analog output. During the calibration operation, it takes over the analog output.

Note You may have to enlarge the Help window to see the program segment(s).

Block properties must be adjusted. The value and manual triggered calibrations are set to false as shown in the Properties dialog box.


Example 2: Delayed Low Side Calibration Following Startup and Unoccupied (Always Enabled)

In this case, we do not want to have a calibration triggered by a device reset. We would like a low side calibration to occur at some preset time after the device starts up. This could be a random time or one that is pre-set using an analog value point. This example uses the latter method.

The program looks similar to the following example. In this case, however, we will need a manual trigger port to force a calibration based on the calibration wait time expiring.

Note You may have to enlarge the Help window to see the program segment(s).

The macro block “device reset” is used to determine when the device has gone through a reset. A look at the interior view shows a good use of macro variables. The output is false for the first program run following a device reset. The output will be true on all subsequent program runs.

Block properties must be adjusted. The Value and Enable Powerup properties must be set to false. The Enable Low Manual property must be set true as shown in the following Properties dialog box.


Example 3: Mode Control With All Low Side Calibration Triggers (Always Enabled)

Triggers include device reset, unoccupied, manually triggered, and low value. When you program mode control, the calibration block is used to discern trigger events and report them to other parts of the program. At that time, other logic takes care of manipulating the outputs and setpoints to accomplish the calibration process. The calibration block monitors the damper request and position status to determine when calibration ends.

In this case, we want to allow the building automation system (BAS) to trigger a calibration as well as the automatic triggers. A request for calibration is written to the “Heat Cool Mode Request” multistate value point as state 16. This request should be of short duration but long enough to make sure the program running calibration can pick up the change of value. Once calibration has started, the status is reported via the “Heat Cool Mode Status” multistate value. For clarity, only a very basic arbitration is shown controlling the status point. As this point is also reporting other states, any real arbitration needs to take those into account.

The following code sample shows an automatic method to release the point Heat Cool Mode Request following a calibration request.

Note You may have to enlarge the Help window to see the program segment(s).

Set the following properties to true in the calibration: basic Properties dialog box:

  • Enable Powerup Calibration
  • Enable Unoccupied Calibration
  • Enable Low Value Calibration
  • Enable Low Manual Calibration
  • Output Calibration State.

Set all other properties to false.


Example 4: Dealing with PID Windup

One of the side-effects of calibration is that the PID loop controlling the calibrating output will likely start to “windup” while the output is calibrating. During the calibration period the analog output is no longer controlled by the PID output. However, the PID calculation is still compensating for error. The error is likely increasing as calibration holds the damper closed or open for an extended period of time.

Combining calibration with PID windup can cause oscillation and it is possible to see the system toggle calibration repeatedly. While calibration is necessary, we would like to minimize the side effects if at all possible. Some methods of accomplishing that are:

  • Set the Return Deadband within 40 to 50%.

As previously mentioned, the Return Deadband acts as a governor on calibration attempts. It will not allow a calibration attempt until the actuator request has adjusted the output by the Return Deadband value. See Figure 4.

  • Freeze the PID calculation while calibration is in effect.

Freezing a PID calculation is not the same as disabling it. To freeze the output, set all of the gains to zero.

The following code sample shows an automatic method to release the point Heat Cool Mode Request following a calibration request.

Note You may have to enlarge the Help window to see the program segment(s).

The PID gain control section is as follows:

Set the following properties to true: Enable Powerup Calibration, Enable Unoccupied Calibration, Enable Low Value Calibration, Enable Low Manual Calibration, and Output Calibration State. Set all other properties to false.


Example 5: Low Side Then High Side Calibration Only at Startup

Triggers include: device reset and unoccupied. The calibration sequence is:

  1. When device cycles power, a low side calibration attempt is made. Once that has finished, a high side calibration attempt is made.
  2. A low side calibration attempt is made whenever the occupancy mode transitions to unoccupied. A high side calibration attempt is not made.

Basic Program Segment

Note You may have to enlarge the Help window to see the program segment(s).

Dealing with State Transitions

This sequence of operations has a number of state transitions. They are:

  1. Triggering the high side calibration when the low side is done
  2. Disabling the high side calibration after it’s occurred once following a power cycle.

Of the 2, disabling the high side calibration after one attempt is the most challenging. A variable to pass the information from the end of the sequence to the beginning is necessary. There are 3 variable types available: a value point, global variable and macro variable. It is recommended that a macro variable be used. A point is exposed to the network and is relatively “rich” in properties for this purpose. A global variable has the appropriate “thinness” but requires a manual method, such as a spreadsheet, to document the relationship. Macro variables are similar to a global variable, but you can name them.

Some best practices when dealing with many state transitions are:

  • Think macro first. Using a macro has a couple of advantages. The variables are managed easily and it’s likely you will need the same functionality again. This is a good example to add to your library.
  • Suggested blocks are: One Shot, SR FF (set/reset flip flop), Latch, Delay on Start, Delay on Stop, and Feedback Alarm Block.
  • Avoid putting point blocks into a macro. The next user will have a hard time troubleshooting the programming. The macro becomes less useful in that the point validation will affect the macro itself. Both the point instance and name have to match. Value points can suffer from “crosstalk”. If the same point is controlled from more than one location, operation will become unpredictable.
  • Avoid putting global variables inside a macro. The next user will have a hard time troubleshooting the programming. Global variables require some external documentation. Global variables can also suffer from “crosstalk”. If the same global variable is used for more than one purpose. operation will become unpredictable.

An example of the logic matching the desired sequence is shown in the following Macro block. Property settings for low and high calibration blocks follow. The One Shot blocks in the following figure are both set to sense a transition from true to false. The output of the one shot blocks will go to true once their respective calibration process has finished.

Internal View of Macro Block

At startup, the Powerup Reset macro output will go true on the second program run. This will set the SR FF block Qa output true. When the high side calibration is done, the second one shot block will go true. One program cycle later, the Qa output of the SR FF block will be set to false, disabling the “calibrate high” calibration block until the next power cycle or device reset. The “calibrate low” calibration block will remain enabled and trigger whenever there is a transition to unoccupied.

Calibration Property Settings

Low calibration settings are as follows:

High calibration settings are as follows:


Example 6: Low Side Then High Side Calibration Only at Unoccupied Transition

Triggers include: device reset and unoccupied. The calibration sequence is:

  1. When device cycles power a low side calibration attempt is made.
  2. On transition to unoccupied, a low side calibration attempt is made. Once that has finished, a high side calibration attempt is made.

Basic Program Segment

Note You may have to enlarge the Help window to see the program segment(s).

Internal View of the Macro Block

An example of the logic matching the desired sequence is shown in the following interior macro view. The One Shot blocks in this macro are all set to sense a transition from true to false.

The logic shown in this macro is slightly different from that shown in the macro in Example 5. There is a dependency on occupancy status versus the powerup / reset status. This is shown in greater detail in the following code sample.

The Qa output of the SR FF block is false, disabling the high side calibration process. When the occupancy status transitions to unoccupied, the high side calibration process is enabled. It does not start until the low side calibration process has ended.

All calibration processes are stopped or disabled if the occupancy status transitions to any occupied state; Occupied, Occupied Bypass, or Occupied Standby.

Property settings for low and high calibration blocks follow. (They are the same as Example 5.)

Calibration Property Settings

Low calibration settings are as follows:

High calibration settings are as follows:


Example 7: Changeover / Bypass Calibration

Example 7 is a variation on the current changeover/bypass programming available from the PPS site. It is slightly different from prior examples as there is no dependency on the occupancy state. This example will focus on the calibration triggers and settings. The basic program is shown in Figure 22.

Triggers include: device reset and manual high side trigger. The calibration sequence is:

  1. When device cycles power a high side calibration attempt is made.
  2. On manual trigger, a high side calibration attempt is made.

Basic Program Segment

Note You may have to enlarge the Help window to see the program segment(s).

Calibration Property Settings

You can take advantage of the ability to set which direction the calibration attempt will go following a device reset. Set the property “Powerup Calibration Direction” to true. The property settings are as follows. Note that Enable Unoccupied Calibration has been disabled by being set to false.

Point-Based One Shot Concept

The following code illustrates the concept of a point based one-shot. A variation of this concept is used for diagnostic resets as well. In this case, whenever a calibration request is made using the point Heat Cool Mode Request at some priority level, the output of the system DeEnum goes true and the high side calibration process is triggered. During the same program run, Heat Cool Mode Request is released at the same priority level. The system DeEnum block output will only be true for one program cycle.


Staging Calculation Blocks

The topics in this section describe the three versions of the Staging Calculation blocks that provide the logic for pump and tower rotation.

See

  • Stage Calculation With Selected Lead and Fixed Rotation
  • Stage Calculation With Runtime Lead and Fixed Rotation
  • Stage Calculation With Runtime Lead and Runtime Rotation


Stage Calculation With Selected Lead and Fixed Rotation

The topics in this section explain this version of the rotation blocks and provide examples of their use.

See

  • Rotation Block: Selected Lead and Fixed Rotation
  • Rotation Block (SL and FR) Inputs and Outputs
  • Example 1. Basic Three Stage Rotation With No Failure Compensation
  • Example 2: Basic Three Stage Rotation With Lead Failure Compensation
  • Example 3. Basic Three Stage Rotation With Lead and Panic Failure Compensation


Rotation Block: Selected Lead and Fixed Rotation

These rotation blocks provide a means to determine output stage requests based on a selected lead and fixed rotation pattern.

How It Works

Note These blocks do not have any properties you can modify.

Rotation Patterns

The table below describes the rotation pattern for the rotation blocks. Lead selection can come from an external source or a program within the controller itself. An output’s state is dependent on the selected lead and the number of stages requested.


Rotation Block (SL and FR) Inputs and Outputs

Rotation Block (LS and FR) Inputs and Outputs

The Rotation block includes both default ports that always appear and optional ports depending on the number of stages.

Inputs

lead output | The selected lead output. This port always exists.
stage request | The number of stages requested. This port always exists.

Outputs

output 1 request | A binary result indicating that output 1 has been requested. It may be necessary to account for failures. This port always exists.
output 2 request | A binary result indicating that output 2 has been requested. It may be necessary to account for failures. This port always exists.
output 3 request | A binary result indicating that output 3 has been requested. It may be necessary to account for failures. This port only exists if the number of stages equal 3 or 4.
output 4 request | A binary result indicating that output 4 has been requested. It may be necessary to account for failures. This port only exists if the number of stages equals 4.


Example 1. Basic Three Stage Rotation With No Failure Compensation

This example shows a basic stage rotation triggering and rotation without failure compensation.

Note You may have to enlarge the Help window to see the program segment.

Explanation

Example 1 breaks down into three main parts:

  • Triggering a rotation request,
  • Determining the lead output
  • Using those values to calculate the binary output requests

It’s assumed that the number of stages is calculated in a different program or is externally provided from the BAS.

In this case, the rotation request is set to be true for one program cycle when either a rotation is manually triggered or after 10:00 AM on a lazy Tuesday morning. The event counter is used to determine where in the lead rotation the system should be. The event counter is set to increment whenever the input state goes from false to true.

The lead request value is stored in a multistate value object. This has at least two benefits: (1) the lead is known the first time the program runs without using a manual trigger and (2) the lead request will be persisted across a power cycle or device reset. The downside of this approach is that it takes one program cycle to pass the newly calculated lead request to the rotation block. Following a power cycle or device reset, the next time the counter is triggered, it will write a new lead device regardless of the persisted value.

If an emergency off is necessary, set the stage request to 0 (zero) and run the program based on an alarm. Otherwise, set the program run time to 1 minute unless a faster or slower response is necessary.


Example 2: Basic Three Stage Rotation With Lead Failure Compensation

Failure responses add complexity to any program. This example breaks down into four main parts:

  • Triggering a rotation request

  • Determining the lead output

  • Using those values to calculate the binary output requests

  • Determining if a requested lead fan has failed

Triggering a lead rotation and determining actuator use is the same as Example 1. (See Example 1. Basic Three Stage Rotation With No Failure Compensation.) It’s assumed that the number of stages is calculated in a different program or is externally provided from the BAS.

Note You may have to enlarge the Help window to see the program segments.

Determining If the Lead Actuator Request Has Failed

It will seem odd, but the first new section discussed (determining if the lead actuator request has failed) is shown last in the previous figure. The example shown uses an auto-resetting failure scheme to reduce program size. The logic of each section is similar. The user has to select the right fan request, status and lead device. If a particular device is supposed to be used as the lead and has failed, we will compensate the original request in some fashion— in this case by forcing the counter to increment.

Lead Calculation

The next section, shown in the code example that follows, is the lead calculation.

This section has a number of requirements. It must:

  • Respond correctly to a triggered lead change.

  • Persist the lead actuator number across power cycle and device resets.

  • Respond to lead failure compensation.

The first two requirements are the same as those in Example 1. Basic Three Stage Rotation With No Failure Compensation. The additional requirement, "respond to lead failure compensation" is somewhat more difficult. The system hunts for the next valid lead fan.

This calculation uses the PID block as the “engine” in the counter. See PID block for an explanation of why this works. Think of the PID block as managing normal rotation counting. The blocks to the right manage lead failure response. The requested lead will be set to zero if all available lead devices have failed to start. The PID block properties are shown here:

Formula Block Expression

The expression contained in the Formula block used in the lead calculation perform three tasks:

  1. Puts an upper bound on the rotation count with the modulo function.
  2. Sets a lower bound on the rotation with the max function.
  3. Sets the output to zero if there are no valid lead actuators available using the (1.0 - $noValidLead) expression.

As mentioned previously, this scheme hunts for the next valid lead fan. If fan 1 is requested, but fails, the lead request changes to 2. If that stage fails, stage 3 is requested. If stage 3 is requested and fails, fan 1 will become the lead. The time between each attempt is controlled by the program run frequency and the failure delay time.


Example 3. Basic Three Stage Rotation With Lead and Panic Failure Compensation

There are a variety of ways to manage actuator command failures: (1) regardless of the fail state, attempt to restart or (2) do not attempt to start if the fan failed to start the last time. The following figure illustrates the second method. There is no attempt to start the fan if it has failed a prior attempt. The Fail block has to be reset in some fashion.

Note You may have to enlarge the Help window to see the program segments.

In this second program segment, whenever there is a failure of one fan, all non-failed fans are started - thus the title “panic”. This approach could be classed in the “do what we can” category of failure responses. Another method is to compare the requested number of stages to the available, non-failed, stages and use only the available. A notification to a technician or user that something is amiss in the system is necessary regardless of the failure response method.


Stage Calculation With Runtime Lead and Fixed Rotation

The topics in this section explain this version of the rotation blocks and provide examples of their use.

See

  • Rotation Block: Runtime Lead and Fixed Rotation
  • Rotation Block (RL and FR) Inputs and Outputs
  • Example 1: Basic Three Stage Rotation With No Failure Compensation
  • Example 2. Basic Three Stage Rotation With Lead Failure Compensation
  • Example 3. Basic Three Stage Rotation With Lead Failure And Output Compensation


Rotation Block: Runtime Lead and Fixed Rotation

These Rotation blocks provide a means to determine output stage requests based on a runtime sorted lead and fixed rotation pattern. The goal is to balance the runtime of each motor/fan/pump by comparing the runtime of each and setting the lead stage to the motor with the least run time.

How It Works

Properties

These blocks have a single property.

Ignore first program run—If set to false, the calculation is triggered on device power up, device reset, and when the program is sent to the controller. If set to true, the calculation is not triggered in response to these events.

Sorting System and Staging Method

These blocks combine a sort method with the fixed rotation table.

The block does not know what is connected to the ports. Any value can be sorted. The block output is referenced to the input port numbers.

The Sort Method

Step 1 is to determine the minimum runtime of all the stages. After that, each stage’s runtime, starting with stage 1, is compared to the minimum runtime. When a stage’s runtime equals the minimum, then the sort process ends and the lead actuator becomes the output number. It is assumed that stage 1’s runtime value is connected to the “runtime 1” port.

A “tie” goes to the earliest stage. For example, the outputs have runtimes shown in the following table:

Outputs 2 and 4 are tied for the least runtime hours. Since the tie goes to the earlier runtime input, the lead output will be set to 2. Whenever there is at least once stage called for, port “output 2 request” will be true.

Block outputs are false until a sorting operation is triggered.

Staging Method

The following table describes the staging pattern for the blocks shown at the beginning of this topic. An output’s state is dependent on the calculated lead and the number of stages requested. As the lead is calculated internally, there is no possibility of an invalid lead request.

Four-stage output rotation with minimum runtime lead and fixed rotation pattern


Rotation Block (RL and FR) Inputs and Outputs

The Rotation block includes both default ports that always appear and conditional points that appear depending on the number of stages requested.

Inputs

triggerCalculation | A transition from false to true will trigger a runtime sort. This will not force a rotation to the next output for lead device. This port always exists.
runtime 1 | Assumed to be the runtime of the stage 1 output. This port has a relationship with the output port “output 1 request”. This port always exists.
runtime 2 | Assumed to be the runtime of the stage 2 output. This port has a relationship with the output port “output 2 request”. This port always exists.
runtime 3 | Assumed to be the runtime of the stage 3 output. This port has a relationship with the output port “output 3 request”. This port appears only if there are 3 or more stages.
runtime 4 | Assumed to be the runtime of the stage 4 output. This port has a relationship with the output port “output 4 request”. This port appears only if there are 4 or more stages.
runtime 5 | Assumed to be the runtime of the stage 5 output. This port has a relationship with the output port “output 5 request”. This port appears only if there are 5 or more stages.
runtime 6 | Assumed to be the runtime of the stage 6 output. This port has a relationship with the output port “output 6 request”. This port appears only if there are 6 stages.
stage request | The number of stages requested. If set to 0, it forces all block output requests false. This port always exists.

Outputs:

The number of output ports that appear depend on the number of stages requested.

output 1 request | A binary result indicating that output 1 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 1”. This port always exists.
output 2 request | A binary result indicating that output 2 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 2”. This port always exists.
output 3 request | A binary result indicating that output 3 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 3”. This port only exists if the number of stages is greater than or equal to 3.
output 4 request | A binary result indicating that output 4 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 4”. This port only exists if the number of stages is greater than or equal to 4.
output 5 request | A binary result indicating that output 5 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 5”. This port only exists if the number of stages is greater than or equal to 5.
output 6 request | A binary result indicating that output 6 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 6”. This port only exists if the number of stages is 6.


Example 1: Basic Three Stage Rotation With No Failure Compensation

This example breaks down into two main parts: triggering a calculation request and then in the rotation block, calculating the lead and output request results. It is assumed that the number of stages is calculated in a different program or is externally provided from the BAS.

In this case, the rotation request is set to be true for one program cycle when either

  • A calculation is manually triggered
  • After 10:00 AM on a lazy Tuesday morning
  • If this is the first time the program ran following a power cycle or device reset

All of the rotation block’s output will be false until the lead sort is triggered.

Note You may have to enlarge the Help window to see the program segments.

Explanation of the first run trigger

All global variables, gVars, are either zero or false following a power cycle or device reset. The program segment in the next code sample forms a one-shot functionality. When the program first runs, it will perform the following formula:

The dot symbol represents the AND function and the bar is a shorthand method of saying NOT. The same program run will set the gVar to true. Following program runs, powerUp will be false.

If an emergency off is necessary, set the stage request to 0 (zero) and run the program based on an alarm. Otherwise, set the program run time to 1 minute unless a faster or slower response is necessary.


Example 2. Basic Three Stage Rotation With Lead Failure Compensation

This first example breaks down into three segments:

  • Triggering a rotation request
  • Determining the lead output
  • Determining the required stages if a requested lead fan has failed

There are slight modifications to the trigger and lead calculation segments compared to Example 1.

Note You may have to enlarge the Help window to see the program segments.

This second program segment is used to determine if there is a failure of the requested outputs, lead and otherwise. The example shown uses an auto-resetting failure scheme to reduce program size. The logic of each section is similar. If a particular device is supposed to be used as the lead and has failed, it compensates the original request in some fashion—in this case by forcing the rotation block to recalculate the lead.

Whenever a failure occurs a flag is set which triggers the rotation block to recalculate the lead device. In this third program segment, the wireless block, flagFailCalculation, is set true by the failure section for one program cycle.

This fourth program segment shows a method to eliminate a failed device from the list when calculating a lead device. Whenever a device is failed, the runtime is set is to something greater than 1012. This value will probably be larger than any runtime that may occur. When the rotation block calculates the lead output, the one set to 1012 will be eliminated from the list of possibilities.

The formula shown below is used to add 1012 to the runtime whenever there is a stage failure.


Example 3. Basic Three Stage Rotation With Lead Failure And Output Compensation

This first example breaks down into three segments:

  • Triggering a rotation request
  • Determining the lead output and the required stages
  • Determining if a requested lead fan has failed

There are slight modifications to the trigger and lead calculation segments compared to Example 1.

Note You may have to enlarge the Help window to see the program segments.

This second program segment is used to determine if there is a failure of the requested outputs, lead and otherwise. The example shown uses an auto-resetting failure scheme to reduce program size. The logic of each section is similar. If a particular device is supposed to be used as the lead and has failed, it compensates the original request in some fashion—in this case by forcing the rotation block to recalculate the lead.

Whenever a failure occurs a flag is set which triggers the rotation block to recalculate the lead device. In this third program segment, the wireless block, flagFailCalculation, is set true by the failure section for one program cycle.

This fourth program segment shows a method to eliminate a failed device from the list when calculating a lead device. Whenever a device is failed, the runtime is set is to something greater than 1012. This value will probably be larger than any runtime which may occur. When the rotation block calculates the lead output, the one set to 1012 will be eliminated from the list of possibilities.

This fifth program segment is used to deal with failures. Request all stages if any failure occurs. Turn all of the outputs off by requested zero stages if all outputs have failed.


Stage Calculation With Runtime Lead and Runtime Rotation

The topics in this section explain this version of the rotation blocks and provide examples of their use.

See

  • Rotation Block: Runtime Lead and Runtime Rotation
  • Rotation Block (RL and RR) Inputs and Outputs


Rotation Block: Runtime Lead and Runtime Rotation

These Rotation blocks provide a means to determine output stage requests based on a runtime sorted lead and a runtime based rotation pattern. The goal is to balance the runtime of each motor/fan/pump by comparing the runtime of each and setting the lead stage to the motor with the least run time. Output stage order is also determined by runtime.

How It Works

Properties

These blocks have a single property.

Ignore first program run—If set to false, the calculation is triggered on device power up, device reset, and when the program is sent to the controller. If set to true, the calculation is not triggered in response to these events.

Sorting System and Staging Method

These blocks combine a sort method with the fixed rotation table.

The block does not know what is connected to the ports. Any value can be sorted. The block output is referenced to the input port numbers.

The Sort Method

Step 1 is to determine the minimum runtime of all the stages. After that, each stage’s runtime, starting with stage 1, is compared to the minimum runtime. When a stage’s runtime equals the minimum, then the sort process ends and the lead actuator becomes the output number. It is assumed that stage 1’s runtime value is connected to the “runtime 1” port.

A “tie” goes to the earliest stage. For example, the outputs have runtimes shown in the following table:

Outputs 2 and 4 are tied for the least runtime hours. Since the tie goes to the earlier runtime input, the lead output will be set to 2. Whenever there is at least once stage called for, port “output 2 request” will be true.

Block outputs are false until a sorting operation is triggered.

The Staging Method

The following table describes the staging pattern for the blocks shown at the beginning of this topic. An output’s state is dependent on the calculated lead and the number of stages requested. As the lead is calculated internally, there is no possibility of an invalid lead request.

Four-stage output rotation with minimum runtime lead and fixed rotation pattern


Rotation Block (RL and RR) Inputs and Outputs

The Rotation block includes both default ports that always appear and conditional points that appear depending on the number of stages requested.

Inputs

triggerCalculation | A transition from false to true will trigger a runtime sort. This will not force a rotation to the next output for lead device. This port always exists.
runtime 1 | Assumed to be the runtime of the stage 1 output. This port has a relationship with the output port “output 1 request”. This port always exists.
runtime 2 | Assumed to be the runtime of the stage 2 output. This port has a relationship with the output port “output 2 request”. This port always exists.
runtime 3 | Assumed to be the runtime of the stage 3 output. This port has a relationship with the output port “output 3 request”. This port appears only if there are 3 or more stages.
runtime 4 | Assumed to be the runtime of the stage 4 output. This port has a relationship with the output port “output 4 request”. This port appears only if there are 4 or more stages.
runtime 5 | Assumed to be the runtime of the stage 5 output. This port has a relationship with the output port “output 5 request”. This port appears only if there are 5 or more stages.
runtime 6 | Assumed to be the runtime of the stage 6 output. This port has a relationship with the output port “output 6 request”. This port appears only if there are 6 stages.
stage request | The number of stages requested. If set to 0, it forces all block output requests false. This port always exists.

Outputs:

The number of output ports that appear depend on the number of stages requested.

output 1 request | A binary result indicating that output 1 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 1”. This port always exists.
output 2 request | A binary result indicating that output 2 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 2”. This port always exists.
output 3 request | A binary result indicating that output 3 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 3”. This port only exists if the number of stages is greater than or equal to 3.
output 4 request | A binary result indicating that output 4 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 4”. This port only exists if the number of stages is greater than or equal to 4.
output 5 request | A binary result indicating that output 5 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 5”. This port only exists if the number of stages is greater than or equal to 5.
output 6 request | A binary result indicating that output 6 has been requested. It may be necessary to account for failures. This port has a relationship with the input port “runtime 6”. This port only exists if the number of stages is 6.


Using TGP2 Editor Functions and Features

Using TGP2 Editor Features

The topics in this section explain how to use the TGP2 Editor programming features, such as accessing blocks from the Toolbox pane and connecting blocks with wires. It also explains the use of special features, such as the Favorites section and Custom Libraries.

See

  • Accessing Blocks From the Toolbox Pane
  • Specifying Block Properties
  • Connecting Blocks with Wires
  • Copying Blocks to the Favorites Section in the Toolbox
  • Creating a Custom Library
  • Checking Program Status
  • Changing Display Options


Accessing Blocks from the Toolbox Pane

Accessing a Block From the Toolbox Pane

You can quickly select the blocks you need to construct your program from the Toolbox pane.

  1. Select the Toolbox pane section where the block is located.
  2. Press the left mouse key and drag the block onto the main workspace, called the Program Design Space.
  3. Left-click to place the block.

With some practice, you will know where the various blocks are located. You can also move copies of Toolbox items to the Favorites section where they are even more accessible.


Specifying Block Properties

You must specify the properties of most TGP2 blocks. However, analog, binary, and multistate input, output, and variable blocks require the use of separately configured points, which you create using the various properties dialog boxes you can access through the Point Configuration menu.

Perform the following steps to specify a block's properties:

  1. Select and right-click the block after you have dragged it from the Toolbox and placed it in the Program Design Space.

The block's right-click menu appears.

  2. Select Properties.

The block's Properties dialog box appears.

  3. Enter or select the required values and options to configure the block for use in your program.

See

  • Configuring and Managing Points
  • Point Configuration Properties Dialog Boxes


Connecting Blocks With Wires

Wired connections establish processing flow from one block or set of blocks to a subsequent block or blocks. Data values are passed through analog and binary connectors. In the sample segment below, the two solid lines are analog wires and the broken line to the right of the Greater-than block is a binary wire.

To make a wired connection from one block to another

  1. Move your cursor over the output or input port of one of the blocks.

Your cursor changes to a cross-hair.

  2. Move your cursor to the other block's input or output port so that the wire terminates.

If you need to make a ninety degree angle (as in the wire running from the Constant block to the Greater-than block in the previous example), stop, left-click, and then change the direction of your cursor motion.

You cannot connect an analog block to a binary block or vice versa. If you attempt to do so, you will see the following icon, which indicates an invalid connection.


Copying Blocks to the Favorites Section in the Toolbox

You can place a copy of any frequently used block from the Toolbox in a "Favorites" section right at the top of the Toolbox pane for quick access.

To copy a block to the Favorites section of the Toolbox

  1. Right-click the block you want to copy.
  2. Select Add to Favorites on the right-click menu.

A copy of the block appears in the Favorites section.


Creating a Custom Library

You can create custom libraries (categories on the Toolbar pane) to store the Formula blocks or Macro blocks that you want available for reuse.

Perform the following steps to create a custom library:

  1. Place your cursor inside the Toolbox pane and right-click to display the right-click menu.
  2. Click New Library.

A Save As dialog box appears with the Custom Library folder selected in the Save in box.

  3. Enter a meaningful name for your library in the File name box.
  4. Click Save.

The new library appears as a section or category at the bottom of the Toolbox pane. You can now save Formula and/or Macro blocks to your new library.

See

  • Saving a Custom Block for Reuse
  • The Toolbox Pane


Checking Program Status

You can check the status of each program stored in the controller to which the Tracer TU service tool is currently connected.

Select Program Status on the Program menu.

The Device Program Status dialog box appears.

You can view information such as running status, error status, the time interval between executions (if scheduled), and the amount of time it takes the program to run.

Note The Program menu is visible only when you are connected to a controller. It is not visible in offline mode.


Changing Display Options

You can change the TGP2 Editor display options including colors, print order, grid settings, and the location (path) of your custom block libraries.

Perform the following steps to change display options.

  1. Click the Tools menu and select Options.
  2. Change the TGP2 Editor window color settings for a variety of elements in the TGP2 Editor window including the Program Design Space and Toolbox pane by clicking the down arrow alongside any of the color indicators in the Display Color Settings group box (Editor Color, Editor Grid Color, and so on).

A Select Color dialog box appears from which you can select a predefined or custom color for the screen object.

  3. Select the Print Gridlines check box to include the grid lines on your program printouts.
  4. Select Over, then down or Down, then over according to your preferred print order.
  5. Select Display Grid Lines in the Grid Settings group box if you want to display grid lines on the Program Design Space.
  6. Select Snap to Grid in the Grid Settings box if you want blocks and wires to automatically snap to the grid as you construct programs.
  7. Click the Browse button in the Custom Block Library Path group box to define a new path for your custom block libraries.

Custom block libraries are used to store formula and macro blocks that you create and want to reuse in other programs. (See Creating a Custom Library.)


Configuring and Managing Points

This section includes topics that explain how to configure points, view and arrange them in the Points Summary dialog box, and save them in files for use with programs.

See

  • Creating a New Configuration in Offline Mode
  • Creating a New Configuration in Online Mode
  • Editing an Existing Configuration in Offline Mode
  • Editing an Existing Configuration in Online Mode
  • Replacing an Existing Configuration with a New One
  • Creating a New Point
  • Editing a Point
  • Modifying Editable Factory Points
  • Saving Points to Your Hard Drive or to a Controller
  • Use of State Values and a Deadband in a Multistate Input Point
  • The Output Selector for Multistate Outputs
  • Referencing Points
  • Point Configuration Properties Dialog Boxes


Creating a New Configuration in Offline Mode

Create a configuration (points file) using the Point Configuration Properties dialog boxes, which are accessible in both the TGP2 Editor and the Tracer TU service tool.

  • In the TGP2 Editor, you can access the Point Configuration Properties dialog boxes from the Point Configuration menu.

  • In Tracer TU, you can access the dialog boxes from the Controller Settings Utility screens. (See the Tracer TU for Programmable Controllers Help for more information.)

You can create points in either tool in online or offline modes.

Note Use the units specified for the devices you are servicing. A warning message will appear when you first connect to a blank or cleared device if no units have been specified for it. The message states that you must select units on the Tracer TU Controller Settings screen before proceeding with point configuration.

Perform the following steps to create a new configuration in offline mode:

The following tables summarize the different ways you can create a configuration (points file) in offline mode.

TGP2 Editor

Access and Preliminary Steps

Steps Performed in the TGP2 Editor
  1. Establish a connection to the device and Start Tracer TU.
  2. Select UCxxx Configuration with TGP2 Programs on the Startup Task Panel.

A message appears stating that you must specify units.

  3. Click OK to go to the Controller Settings screen.
  4. Enter the device name in the Name box.
  5. Select IP, SI, or Custom in the Device Units box.

If you selected Custom, specify any alternate values for the various units of measure.

  6. Click the TGP2 Editor icon at the top left of the screen.

A message asks if you want to save your change.

  7. Click Yes to bring up a Save As dialog box.
  8. Enter a new file name for your configuration and click Save.

(All subsequent saves go to the same file.)

  9. Click OK on the confirmation message box.

Tracer TU launches the TGP2 Editor.
  1. Select the Points Summary option on the Point Configuration menu to bring up the Points Summary dialog box.
  2. Select the type of point you want to create on the Point Types list.
  3. Select Create New on the Actions drop-down list and click Go.
  4. Enter values on the three tabs of the dialog box and then click OK.
  5. Repeat steps 3 through 5 for each point you want to add to the configuration.
  6. Click Save to File.

Tracer TU

Access and Preliminary Steps

Steps Performed in the Controller Settings Utility
  1. Establish a connection to the device and Start Tracer TU.
  2. Select UCxxx Configuration with TGP2 Programs on the Startup Task Panel.

A message appears stating that you must specify units.

  3. Click OK to go to the Controller Settings screen.
  4. Enter the device name in the Name box.
  5. Select IP, SI, or Custom in the Device Units box.

If you selected Custom, specify any alternate values for the various units of measure.

  6. Click the Analog, Binary, or Multistate tab at the top of the screen.

A message asks if you want to save your change.

  7. Click Yes to bring up a Save As dialog box.
  8. Enter a new file name for your configuration and click Save.

(All subsequent saves go to the same file.)

  9. Click OK on the confirmation message box.

Tracer TU displays the Analog, Binary, or Mutistate screen.
  1. Click Create New in the Input, Output, or Value box to access the Point Configuration Properties dialog box.
  2. Enter values on the three tabs of the Point Configuration dialog box and then click OK.
  3. Repeat steps 2 through 4 for each point you want to add to the configuration.
  4. Click Save to File when finished with each screen.

See

  • Creating a New Configuration in Online Mode


Creating a New Configuration in Online Mode

Create a configuration (points file) using the Point Configuration Properties dialog boxes, which are accessible in both the TGP2 Editor and the Tracer TU service tool.

  • In the TGP2 Editor, you can access the Point Configuration Properties dialog boxes from the Point Configuration menu.
  • In Tracer TU, you can access the dialog boxes from the Controller Settings Utility screens. (See the Tracer TU for Programmable Controllers Help for more information.)

You can create points in either tool in online or offline modes.

Note Use the units specified for the devices you are servicing. A warning message will appear when you first connect to a blank or cleared device if no units have been specified for it. The message states that you must select units on the Tracer TU Controller Settings screen before proceeding with point configuration.

Perform the following steps to create a new configuration in online mode (blank controller).

The following tables summarize the different ways you can create a configuration (points file) in online mode. (If you need to replace an existing configuration, see Replacing an Existing Configuration with a New One.)

TGP2 Editor

Access and Preliminary Steps

Steps Performed in the TGP2 Editor
  1. Establish a physical or network connection and start Tracer TU.
  2. Click Connect on the Startup Task Panel.

A message appears stating that you must specify units.

  3. Click OK to go to the Controller Settings screen.
  4. Click the Controller Units expanding box so it opens.
  5. Select IP, SI, or Custom in the Device Units box.

(Be sure to match the units on the parent Tracer SC.)

If you select Custom, make selections in the drop-down list boxes on the right.

  6. Click Send to Device at the bottom on the screen.
  7. Click OK on the confirmation message box.
  1. Click the TGP2 Editor icon.
  2. Select the Points Summary option on the Point Configuration menu to bring up the Points Summary dialog box.
  3. Select the type of point you want to create on the Point Types list.
  4. Select Create New on the Actions drop-down list and then click Go.
  5. Enter values on the three tabs of the dialog box and then click OK.
  6. Repeat steps 3 through 5 for each point you want to add to the configuration.
  7. Click Save when you complete the configuration to send the configuration to the controller.

Best Practice: Also save the configuration to your hard drive (Save to File).

Tracer TU

Access and Preliminary Steps

Steps Performed in the Controller Settings Utility
  1. Establish a physical or network connection and start Tracer TU.
  2. Click Connect on the Startup Task Panel.

A message appears stating that you must specify units.

  3. Click OK to go to the Controller Settings screen.
  4. Click the Controller Units expanding box so it opens.
  5. Select IP, SI, or Custom in the Device Units box.
  6. If you select Custom, make selections in the drop-down list boxes on the right.
  7. Click Send to Device at the bottom on the screen.
  8. Click OK on the confirmation message box.
  1. Click the Controller Settings Utility tab.
  2. Select the Analog, Binary, or Multistate screen.
  3. Click Create New in the Input, Output, or Value box to access the Point Configuration Properties dialog box.
  4. Enter values on the three tabs of the dialog box and then click OK.
  5. Repeat steps 2 through 4 for each point you want to add to the configuration.
  6. Click Send to Device when finished with each screen.

Best Practice: Also save the configuration to your hard drive (Save to File).

See

  • Creating a New Configuration in Offline Mode


Editing an Existing Configuration in Offline Mode

Edit points using the Point Configuration Properties dialog boxes, which are accessible in both the TGP2 Editor and the Tracer TU service tool.

  • In the TGP2 Editor, you can access the Point Configuration Properties dialog boxes from the Point Configuration menu.
  • In Tracer TU, you can access the dialog boxes from the Controller Settings Utility screens. (See the Tracer TU for Programmable Controllers Help for more information.)

You can edit points in either tool in online or offline modes.

To edit an existing configuration in offline mode

TGP2 Editor

Accessing the Configuration

Steps Performed in the TGP2 Editor
  1. Start Tracer TU without connecting to a controller.
  2. Select Edit UCxxx Configuration and TGP2 Programs.

The Open Points Configuration File dialog box appears.

  3. Navigate to the points file you want to edit.
  4. Select the file and click Open.
  5. Click the TGP2 Editor icon.

The points file selected in Tracer TU is active in the TGP2 Editor.
  1. Select the Points Summary option on the Point Configuration menu to bring up the Points Summary dialog box.
  2. Select the type of point you want to edit on the Point Types list.
  3. Highlight the individual point you want to edit.
  4. Select Edit on the Actions drop-down list, or select Create New to add a new point to the configuration and click Go.
  5. Make the necessary changes to the point configuration and click OK.
  6. Repeat steps 2 through 5 for each point you want to edit or add to the configuration.
  7. Click Save to File to save the configuration back to your hard drive.

Tracer TU

Accessing the Configuration

Steps Performed in the Controller Settings Utility
  1. Start Tracer TU, but do not connect to a controller.
  2. Select Edit UCxxx Configuration and TGP2 Programs.

The Open Points Configuration File dialog box appears.

  3. Navigate to the points file you want to edit.
  4. Highlight the points file and click Open.
  5. Click the Controller Settings Utility tab.
  1. Select Analog, Binary, or Multistate screens.
  2. Select the row of a point you want to edit.
  3. Click Edit on the Action drop down list to access the Point Configuration Properties dialog box for an existing point.

OR

Click Create New to add a new point to the configuration.

  5. Enter values or make the necessary changes to the point configuration, then click OK.
  6. Repeat steps 2 through 5 for each point you want to edit or add to the configuration.
  7. Click Save to File when finished with each screen.

See

  • Editing an Existing Configuration in Online Mode


Editing an Existing Configuration in Online Mode

Edit points using the Point Configuration Properties dialog boxes, which are accessible in both the TGP2 Editor and the Tracer TU service tool.

  • In the TGP2 Editor, you can access the Point Configuration Properties dialog boxes from the Point Configuration menu.
  • In Tracer TU, you can access the dialog boxes from the Controller Settings Utility screens. (See the Tracer TU for Programmable Controllers Help for more information.)

You can edit points in either tool in online or offline modes.

To edit an existing configuration in online mode

TGP2 Editor

Access Using the TGP2 Editor

Steps Performed in the TGP2 Editor
  1. Establish a physical or network connection to the controller and start Tracer TU.
  2. Click Connect on the Startup Task Panel.
  3. Click the TGP2 Editor icon.

The current configuration on the controller is active.
  1. Select the Points Summary option on the Point Configuration menu to bring up the Points Summary dialog box.
  2. Select the type of point you want to edit on the Point Types list.
  3. Highlight the individual point you want to edit.
  4. Select Edit on the Actions drop-down list, or select Create New to add a new point to the configuration.
  5. Make the necessary changes to the point configuration and click OK.
  6. Repeat steps 2 through 5 for each point you want to change or add to the configuration.
  7. Click Save to send the configuration to the controller.

Best Practice: Also save the configuration to your hard drive (Save to File).

Tracer TU

Accessing the Configuration

Steps Performed in the Controller Settings Utility
  1. Establish a physical or network connection to the controller and start Tracer TU.
  2. Click Connect on the Startup Task Panel.
  1. Click the Controller Settings Utility tab.
  2. Select the Analog, Binary, or Multistate screen.
  3. Select the row of a point you want to edit in either the Input, Output, or Value box.
  4. Click Edit on the Action drop down list to access the Point Configuration Properties dialog box for existing point.

OR

Click Create New to add a new point to the configuration.

  5. Enter values or make the necessary changes to the point configuration and click OK.
  6. Repeat steps 2 through 5 for each point you want to change or add to the configuration.
  7. Click Send to Device when finished with each screen to send the configuration to the controller.

Best Practice: Also save the configuration to your hard drive (Save to File).

See

  • Editing an Existing Configuration in Offline Mode


Replacing an Existing Configuration with a New One

You can use Tracer TU to replace the current or existing configuration on a controller with a new configuration in online mode.

Perform the following steps to replace an existing configuration with a new one:

  1. Connect Tracer TU to the controller on which you want to replace a configuration.
  2. Start Tracer TU.
  3. Select File > Open Configuration.

The Open Points Configuration File dialog box appears.

  4. Navigate to the folder containing the new (previously created) configuration.
  5. Highlight the points file and click Open.

Tracer TU issues a configured device warning and asks if you want to clear the controller. It also performs a validation check on the points file you are opening.

  6. Click OK.

The Points Summary dialog box appears listing the points in the selected points file by type.

Note If there is a difference between configuration file units and connected device units, the Point Summary dialog box appears with the Select Conversion Type tab displayed. (See Resolving a Mismatch Between Configuration File Units and Controller Units for the procedure used to resolve the difference between units.)

  7. Click Clear Controller to reset the configuration of the controller.

The Clear Controller Configuration dialog appears and asks if you want to clear the controller.

  8. Click Yes.

Tracer TU displays a message stating that the controller will reboot.

  9. Click OK.
  10. Click Send to Device.

A message appears stating the save was successful.

  11. Click Close to close the Points Summary dialog box.


Resolving a Mismatch Between Configuration File Units and Controller Units

If you have created configuration files offline before arriving at a job site, the units you used in the configuration files may not match those specified for the controllers. Tracer TU alerts you to any mismatch between units specified for a configuration file and those specified for a controller when you connect to a controller and open a configuration file.

Note Recall that you specify units on the Controller Settings screen of the Controller Settings Utility in Tracer TU.)

Perform the following tasks to resolve a units mismatch:

  1. Analyze the units comparison list on the Select Conversion Type tab of the Points Summary dialog box.

(The Select Conversion Type tab appears if a mismatch is detected.)

  2. (Optional) Click the Print a Report button to print a report listing all of the points in the configuration at this time or after you make changes.
  3. Check the undimensioned points listed on the Undimensioned Points tab to see if there are any points that need to have dimensionality set.
  4. Select either the Convert file units to device units or the Convert device units to file units radio button.
  5. Click Send to Device.

See

  • Points Summary Dialog Box


Creating a New Point

Use the Point Configuration Properties dialog boxes to create individual points.

  1. Click the Point Configuration menu.
  2. Select Points Summary.

The Points Summary dialog box appears.

  3. Select the type of point you want to create on the Point Types list.
  4. Select Create New on the Actions drop-down list.
  5. Enter a meaningful name in the Name entry box.
  6. Enter values for the required and optional settings. (Click Help to see descriptions of the various controls.)
  7. Click Save or Save to File when you complete the point configuration.

See

  • Point Configuration Properties Dialog Boxes


Editing a Point

Use the Point Configuration Properties dialog boxes to edit individual points.

  1. Click the Point Configuration menu.
  2. Select Points Summary.

The Points Summary dialog box appears.

  3. Select the type of point you want to edit on the Point Types list.
  4. Highlight the particular point you want to edit in the list.
  5. Select Edit on the Actions drop-down list.
  6. Edit the individual settings you want to change. (Click Help to see descriptions of the various controls.)
  7. Click Save or Save to File when you are finished.

See

  • Point Configuration Properties Dialog Boxes


Modifying Editiable Factory Points

Modifying Editable Factory Points

You can modify some of the Trane factory blower coil, fan coil, and unit ventilator points to suit specific site requirements. However, you must explicitly "break the factory seal" (lock) to do so.

Note Points with command locks cannot be unsealed. Command locks prevent you from overriding the point. However, you can safely override most points with command locks using a request point, such as a Multistate Value.

Note You can also unlock points on the Tracer TU Controller Settings Utility screens (Analog, Binary, and Multistate). If you previously unlocked points on one of those screens, points without command locks will be editable in the TGP2 Editor.

Note The padlock icons displayed on the Tracer TU Analog, Binary, and Multistate screens indicate those points that are unlocked as well as those that remain locked.

  1. Connect to the UC400 and start a Tracer TU session.
  2. Launch the TGP2 Editor.
  3. Select Point Configuration > Points Summary.
  4. Select the Point Type from the drop-down menu and then highlight the point on the list that you want to modify.
  5. Select Edit from the Actions drop-down list and then click Go.

The following dialog box appears.

  6. Click Unlock.

A second cautionary message appears.

  7. Click Break Seal to proceed with your modifications.

The appropriate Point Configuration dialog box appears and all points that do not have command locks are unsealed.

  8. Make your changes and then click OK.

See

  • Editing a Trane Factory Program
  • Trane Factory Points and Programs


Saving Points to Your Hard Drive or to a Controller

After you create, edit, or delete points in the Points Summary dialog box, you can save the changes to (1) a configuration file (points file) on your hard drive, (2) the controller, or (3) both your hard drive and a controller. However, your save options depend on whether you are working in online mode or offline mode.

If you send the configuration to a controller, the points are mapped to the references specified in their configurations.

Note You can also save points to the hard drive or the controller using the Save to File and Save buttons on the Tracer TU service tool Controller Settings Utility tab screens. (See the Tracer TU Help for Programmable Controllers.)

If you are working in . . . | You can save configuration changes to . . .
Online mode | The controller and to your hard drive
Offline mode | Only to your hard drive

This topic covers the following situations

  • Saving changes to an existing configuration (online mode)
  • Saving a new configuration file to a blank controller (online mode)
  • Saving configuration changes to a file (offline or online mode)

Save Changes to an Existing Configuration

Perform the following steps to save changes to an existing configuration (online mode)

Save your changes from the Point Summary dialog box in the following ways:

If you want to . . . | Then . . .
Save your configuration or changes to the hard drive. | Click Save to File.
Save your configuration or changes to the controller. | Click Save.

A confirmation dialog box appears that asks if you want to apply the updates. Tracer TU displays a confirmation message when the points have been updated.

Save a New Configuration File to a Blank Controller

Perform the following steps to save a new configuration file to a blank controller (online mode):

  1. Select File > Open Configuration.

The Points Summary dialog box appears.

Note If there is a mismatch between the units specified for the configuration file and those specified for the controller, the Point Summary dialog box appears with the Select Conversion Type tab displayed. You must choose one of the following conversion methods: (1) Convert the configuration to match the units specified for the controller or (2) Convert the controller units to match the configuration file units. (See Resolving a Mismatch Between Configuration File Units and Controller Units.

  2. Optional: Edit any points as necessary. (See Editing an Existing Configuration (Points File) for the correct procedure.)
  3. Click Save.

The new configuration is downloaded to the controller, and a confirmation message appears stating that the save was successful.

Save Configuration Changes to a File

Perform the following step to save configuration changes to a file (offline or online mode)

Click Save to File.

A confirmation message appears stating that the save was successful.

See

  • Creating a New Configuration in Offline Mode
  • Creating a New Configuration in Online Mode
  • Editing an Existing Configuration in Offline Mode
  • Editing an Existing Configuration in Online Mode
  • Creating a New Point
  • Editing a Point


Concept: Use of State Values and a Deadband in a Multistate Input Point

Use of State Values and a Deadband in a Multistate Input Point

When you configure a Multistate Input point using the Multistate Input Properties (Point Configuration) dialog box, you can use a state table to list a set of analog values in the Calibration box. A particular state occurs whenever the input value is less than or equal to the state value. In the following example, if the input value is 30, then the output state will be 3. For any value greater than 50, the output state will be 5. Therefore, the highest state is grayed out because there is no upper boundary. The input value can be anything greater than 50.

When you use state values, you must also specify a deadband value in the Deadband entry box. This deadband value is applied to the boundary condition to determine the value at which the point is allowed to transition back to the original state. The following diagrams illustrate how the deadband works for sets of ascending and descending state values.

Ascending Values

Descending Values


The Output Selector for Multistate Outputs

The Output Selector is displayed as a table in the Calibration group box of the Multistate Output Point Configuration Properties dialog box. The table columns correspond to each state specified in a program and the rows represent each selected output termination as shown in the following figure.

 | State1 | State2 | State 3 | State4 | Warmup
B0x |  | √ | √ | √ |
B0y |  |  | √ | √ |
B0z |  |  | √ | √ |

Table Layout and Operation

The number of rows in the output selector table equals the value you selected on the "Number of Outputs" spin box in the Calibration group box (excluding the column labels). Column labels are laid out with state1 label to the left and concluding with "Warmup" on the rightmost column. You can select the binary output terminations you want to be controlled by the output selector. Each entry (column + output selection) must be unique. When you select an output from the drop-down list of available output terminations for a particular state, you are indicating that the output should be controlled ON for that state request.

Warmup State

Notice that an additional “Warmup” column is provided to indicate the termination used when the output selector is in the Warmup state. The output selector will pass through the Warmup state anytime it is transitioning from a state in which no relays are active. Use the Warmup Delay control in the Calibration group box to specify the amount of time (in milliseconds) that all outputs are to be in the Warmup state.

State Delay

You can use the State Delay control in the Calibration group box to specify the minimum amount of time (in milliseconds) that all outputs must be off when transitioning between states.


Point Configuration Properties Dialog Boxes

This subsection includes topics describing the contents of the various point configuration properties dialog boxes.

Note You can also access Help for any of these properties dialog boxes by clicking the Help button on the dialog box.

See

Analog Input Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Binary Input Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Multistate Input Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Analog Output Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Binary Output Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Multistate Output Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Analog Value Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Binary Value Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Multistate Value Properties

  • Point Configuration Tab

  • Alarm Configuration Tab

Also See

  • Referencing Points


Analog Input Properties: Point Configuration Tab

Use the Point Configuration tab on the Analog Input Properties dialog box to configure an analog input. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Input Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing analog input. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—If you need to create a specific instance of the selected object type, select the check box to enable the instance entry box and to force the created point to use the selected instance.

Reference Group Box—Select a reference from the list of available hardware and software objects and properties. The hardware list is based on a device's termination capabiliites. The software list is based on objects and properties available in the system. Filtering of properties is based on the selected Point Configuration dialog box.

(Drop-down List)—Click this list box to display the Reference dialog box. The references shown are the appropriate references to which this analog input can be mapped, depending on the controller to which you are connected. (The listing may include XMxx expansion module references (wherexx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.)

Note Select None (the default) to either reserve a point for later association with a reference or to separate the point from an existing reference. (You can use this option to set up points for a program you plan to use on different devices.)

Definition Group Box

Type—Select an available hardware input type from the list. Analog Input configuration types include (Resistive,Thermistor, Thumbwheel, and so on). The list is populated according to a device's capabilities. For example, the items available for the UC400 are not the same as the items for the Tracer SC. Items are also dependent on the hardware reference selected.

Update Interval—Specify the interval (hh:mm:ss) at which the reference is polled or pushed and the value of the point updated.

Dimensionality—Select the type of measurement that the point is to read. This property indicates the physical quantity (temperature, pressure, flow) associated with the value. Along with the your specified units of measure, this value determines the type of units that are displayed on your screen. For example, if the dimensionality is set to temperature and the user preference for temperature is Celsius (°C), then all relevant point information is shown in °C units.

Maximum/Minimum Value—The default values displayed in these boxes are determined by the dimensionality you select. However, you can enter your own values. When these boundaries are crossed, the point goes into fault. However, these boundary values are not clamps. The point will continue to operate, but it will be in a fault state.

Create an associated—This check box is activated if you select a Type of Thermistor or Thumbwheel. Click this button control to automatically create a thermistor (TOV) or thumbwheel (* and **) multistate point according to the configuration type you selected in the Definition group box. If the analog input type is thermistor, then the multistate is preconfigured for timed override. If the analog input type is thumbwheel, then the multistate input is preconfigured for * and ** states (minimum and maximum cooling overrides). You can view and edit this point in the Multistate Input Properties dialog box.

Calibration

The following controls appear whenever a non-hardware termination is referenced:

Offset—Enter a numeric value to account for a known variation between the source (reference) and the input value (referencer).

Multiplier—Change the Multiplier value to adjust the input value. The Multiplier is available if you have an external reference or if you have referenced another point. In those cases, it may be necessary to convert between units.

For inputs, the value used by the system is:

Value System = multiplier x Value of the Reference + Offset.

You can see the affected value, Value System, by looking at the status of the analog input.

Pulse Weight—Enter the Pulse Weight as given by the sensor specifications. The current value does not automatically update in the configuration dialog.

point.value = pulse weight*reference.value + calibration offset.

(The field may be locked and not user adjustable.)

The following controls appear when you have referenced a hardware termination and a Type:

Filter Weight—Enter a value between 0 and 100 to represent the proportion of old values to new values used to smooth out the progression of erratic data values. The filter weight represents the proportion of previously calculated data to new data. Filtering can be represented by the following formula:

Effective Value = f(oldEffVal) + (1 – f)newInput

where f = filterweight /100

As the filter weight increases, the response time increases. At filter weight 100, the input value never changes. At filter weight 0, there is no filtering. Typical filter weights are 50% and 95%.

Calibration Offset—Enter a numeric value to account for a known variation in the input value.

Sensor Value (Low)—Enter the most negative value that will be used in any application or program in the device. This value must be less than or equal to the value entered for the high request value. (The field may be locked and not user adjustable.)

Sensor Value (High)—Enter the most positive value that will be used in any application or program in the device. This value must be greater than or equal to the value entered for the low sensor value. (The field may be locked and not user adjustable.)

Sensor Output (Low)—Enter the measured input value which corresponds to the low sensor value. This is the physical output of the sensor. (The field may be locked and not user adjustable.)

Sensor Output (High)—Enter the measured input value which corresponds to the high sensor value. This is the physical output of the sensor. (The field may be locked and not user adjustable.)


Analog Input Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Analog Input Properties dialog box to configure alarming for an analog input. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Input Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Low Limit—An analog point’s Low Limit value is used to determine the Event State of the point. If the point’s value has dropped below the Low Limit for a time greater than the Event Time Delay, and the Outside Limits and Low Limit check boxes are selected, the point transitions to a Low Alarm state. (The point remains operational and is not in fault.)

High Limit—An analog point’s High Limit value is used to determine the Event State of the point. If the point’s value has exceeded the High Limit for a time greater than the Event Time Delay, and the Outside Limits and High Limit check boxes are selected, the point transitions to a High Alarm state. (The point remains operational and is not in fault.).

Deadband—An analog point uses the deadband to determine when the event state is to transition back to a “Normal” condition. The event state does not transition back to normal until the point’s value has fallen below the High Limit minus the Deadband or risen above the Low Limit plus the Deadband.

Event Time Delay—This is the amount of time that must pass when the point is out of range before the point enters an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. See the examples that follow.

Example 1

If the event time delay is set for five minutes, the point must drop below the low limit or exceed the high limit for a minimum of five minutes before it goes into alarm. For the point to come out of alarm, the point must be higher than the low limit (or lower than the high limit) plus the value of the deadband for five minutes.

Example 2

If the low limit = 10 and the dead band = 1.0, the point value must be continuously greater than 11.0 during the event time delay period before the event state returns to normal.

Actions Group Box—Select the actions that will occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

Outside Limits—Select this check box to have notification sent when the low limit or high limit values for the point have been exceeded.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A point may enter a fault state if the minimum or maximum values are exceeded.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.

Note Only an alarm triggers the controller LED whereas an event does not.

Program Group Box—Select a program and the Event State that triggers or activates it.

Triggered Program Name—Select a program to run whenever the fault flag changes value. A point can contain an optional reference to a TGP2 program.

Run when Event State changes to—Select the check box of the appropriate Event State.


Analog Output Properties: Point Configuration Tab

Use the Point Configuration tab on the Analog Output Properties dialog box to configure an analog output. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Output Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing analog output. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—If you need to create a specific instance of the selected object type, select the check box to enable the instance entry box and to force the created point to use the selected instance.

Reference Group Box

(Drop-down List)—Click this list box to display the Reference dialog box. The references shown are the appropriate references to which this analog output can be mapped, depending on the controller to which you are connected. (The listing may include XMxx expansion module references (where xx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.)

Note Select None (the default) to either reserve the point for later association with a reference or to separate the point from a existing reference. (You can use this option to set up points for a program you plan to use on different devices.)

Definition Group Box

Type—Select an Analog Output configuration type: (Voltage,Current, PWM) from the drop-down list.

Update Interval—Specify an interval (hh:mm:ss) that the referencer uses to determine when to update (pull or push) the value of the point.

Dimensionality—Select the type of measurement that the point is to read. This property indicates the physical quantity (temperature, pressure, flow) associated with the value. Along with the your specified units of measure, this value determines the type of units that are displayed on your screen. For example, if the dimensionality is set to temperature and the user preference for temperature is Celsius (°C), then all relevant point information is shown in °C units.

Relinquish Default/Startup Value—Enter the value to be used if no other value is assigned (the controllable point’s priority array is empty, and the point is in service).

Maximum/Minimum Value—The default values displayed in these boxes are determined by the dimensionality you select. However, you can enter your own values. When these boundaries are crossed, the point goes into fault. However, these boundary values are not clamps. The point will continue to operate, but it will be in a fault state.

Update Priority—This is the priority level that is used when writing to the referencer. This value must be between 1 and 16.

Calibration

Calibrate an analog output with the device on the receiving end of the analog output signal. (The contents of the Calibration group box will vary depending on the device.)

The following controls appear whenever a non-hardware termination is referenced:

Offset—Enter a numeric value to account for a known variation between the output source (referencer) and the receiving output or value point (reference).

Multiplier—Change the Multiplier value to adjust the output value. The Multiplier is available if you have an external reference or if you have referenced another point. In those cases, it may be necessary to convert between units.

For outputs, the value used by the reference is:

Value of the Reference = Multiplier x Value Commanded + Offset

The affected value is not visible when you look at the status of the analog output. You can see the affected value by looking at the referenced point.

The following controls appear when you have referenced a hardware termination and a Type:

Calibration Offset—Enter an offset to adjust the linear calibration up or down.

Request (Low/High)—(Direct control of a device) Type the interpreted values that correspond to the hardware output values at the closed and open positions of the device. (These interpreted values are usually entered as percentages.)

Output (Low/High)—(Direct control of a device) Type the hardware output values, current or voltage, at the closed and open positions of the device.

Secondary Control (E-P)—Select this check box to enable secondary control. A second set of input boxes appears.

Secondary control is typically used when an electrical signal is used to control a pneumatic actuator. The electrical signal is sent to an E/P transducer which converts the electrical signal to a pneumatic signal (the primary control). The pneumatic signal is then used to control the pneumatic actuator (the secondary control). Adding a secondary control increases the complexity of the calibration.

Note The Total Ramp Time (Output Ramp Rate) cannot be configured for use with Secondary Control enabled. (See the description that follows in this topic.)

Transducer Limit (Low/High)—Type the output limits, or the minimum and maximum output values, of the secondary control.

Transducer Output (Low/High)—Type the secondary control output values corresponding to the closed and open positions of the end device. (Remember that the output values must be within the output limits for the secondary control to work properly.)

The following controls appear if this point is being configured for Moduling Triac devices:

Modulating Triac Settings

Triac Open—Specify which triac based binary output termination will be used as the open triac in a modulating output system.

Triac Close—Specify which triac based binary output termination will be used as the close triac in a modulating output system.

Total Stroke Time—This is the time in seconds required for an actuator to go from fully closed to fully open or vice versa.

Minimum Stroke Time—This is the minimum time in seconds that the actuator must be run to avoid fatigue and maximize accuracy.

The following controls appear if this Analog Output point is being configured with a type of Pulse Width Modulation:

Pulse Width Modulation Settings

Peak Voltage—Output voltage during the on period of the total pulse time.

Total Pulse Width—This is the maximum time the analog output will be at its highest voltage. This value may be modified if the alarm lock has not been set by the factory. However, arbitrary "total pulse width" settings are not permitted. Set the value as follows:

  • In the range 12.5 ms to 1.0 second, pulse width must be a multiple of 12.5 ms (12.5, 25, 37.5, and so on)
  • In the range 1.0 second to 60.0 seconds, pulse width must be a multiple of 0.5 seconds (1.5, 2.0, 2.5, and so on)

Total Pulse Width Units Toggle—Toggle this button to change the Total Pulse Width units between milliseconds and seconds.

Note This Total Pulse Width feature requires v7.00 or higher UC400 firmware. It is currently available in the UC600, but is not available with the UC210.

Note Currently, Tracer TU permits invalid settings and appears to update the UC600 or UC400. However, the controller silently rounds the settings to a nearby valid setting. For example, if Total Pulse Width is set to 30.2 seconds and the point is saved and sent to the controller, Tracer TU accepts the value and appears to update the controller. However, the value has been rounded to 30.0. The new value is shown in Tracer TU when the point configuration dialog is re-opened.

Total Ramp Time (UC400 only)—(Also referred to as the “Output Ramp Rate.”) Controls the rate of change of the output (both ascending and descending direction). You can configure the Total Ramp Time for any analog hardware output (type = voltage, current or PWM).

Note Total Ramp Time cannot be configured for use with Secondary Control enabled.


Analog Output Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Analog Output Properties dialog box to configure alarming for an analog output. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Output Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Low Limit—An analog point’s Low Limit value is used to determine the Event State of the point. If the point’s value has dropped below the Low Limit for a time greater than the Event Time Delay, and the Outside Limits and Low Limit check boxes are selected, the point transitions to a Low Alarm state. (The point remains operational and is not in fault.)

High Limit—An analog point’s High Limit value is used to determine the Event State of the point. If the point’s value has exceeded the High Limit for a time greater than the Event Time Delay, and the Outside Limits and High Limit check boxes are selected, the point transitions to a High Alarm state. (The point remains operational and is not in fault.)

Deadband—An analog point uses the deadband to determine when the event state is to transition back to a “Normal” condition. The event state does not transition back to normal until the point’s value has fallen below the High Limit minus the Deadband or risen above the Low Limit plus the Deadband.

Event Time Delay—This is the amount of time that must pass when the point is out of range before the point enters an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. See the examples that follow.

Example 1

If the event time delay is set for five minutes, the point must drop below the low limit or exceed the high limit for a minimum of five minutes before it goes into alarm. For the point to come out of alarm, the point must be higher than the low limit (or lower than the high limit) plus the value of the deadband for five minutes.

Example 2

If the low limit = 10 and the dead band = 1.0, the point value must be continuously greater than 11.0 during the event time delay period before the event state returns to normal.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that will occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

Outside Limits—Select this check box to have notification sent when the low limit or high limit values for the point have been exceeded.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A point may enter a fault state if the minimum or maximum values are exceeded.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or an alarm to specify whether the point should be classified as an event or an alarm.

Note Only an alarm triggers the controller LED whereas an event does not.

Program Group Box—Select a program and the Event State that triggers or activates it.

Triggered Program Name—Select a program to run whenever the fault flag changes value. A point can contain an optional reference to a TGP2 program.

Run when Event State changes to—Select the check box of the appropriate Event State.


Analog Value Properties: Point Configuration Tab

Use the Point Configuration tab on the Analog Value Properties dialog box to configure an analog value. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Value Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing analog value. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—If you need to create a specific instance of the selected object type, select the check box to enable the instance entry box and to force the created point to use the selected instance.

Definition Group Box

Dimensionality—Select the type of measurement that the point is to read. This property indicates the physical quantity (temperature, pressure, flow) associated with the value. Along with the your specified units of measure, this value determines the type of units that are displayed on your screen. For example, if the dimensionality is set to temperature and the user preference for temperature is Celsius (°C), then all relevant point information is shown in °C units.

Relinquish Default/Startup Value—Enter the value to be used if no other value is assigned (the controllable point’s priority array is empty, and the point is in service).

Maximum/Minimum Value—The default values displayed in these boxes are determined by the dimensionality you select. However, you can enter your own values. When these boundaries are crossed, the point goes into fault. However, these boundary values are not clamps. The point will continue to operate, but it will be in a fault state.


Analog Value Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Analog Value Properties dialog box to configure alarming for an analog value. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Analog Value Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

In this section, select the conditions that must be met before the point goes into alarm.

Conditions Group Box

Low Limit—An analog point’s Low Limit value is used to determine the Event State of the point. If the point’s value has dropped below the Low Limit for a time greater than the Event Time Delay, and the Outside Limits and Low Limit check boxes are selected, the point transitions to a Low Alarm state. (The point remains operational and is not in fault.)

High Limit—An analog point’s High Limit value is used to determine the Event State of the point. If the point’s value has exceeded the High Limit for a time greater than the Event Time Delay, and the Outside Limits and High Limit check boxes are selected, the point transitions to a High Alarm state. (The point remains operational and is not in fault.)

Deadband—An analog point uses the deadband to determine when the event state is to transition back to a “Normal” condition. The event state does not transition back to normal until the point’s value has fallen below the High Limit minus the Deadband or risen above the Low Limit plus the Deadband.

Event Time Delay—This is the amount of time that must pass when the point is out of range before the point enters an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. See the examples that follow.

Example 1

If the event time delay is set for five minutes, the point must drop below the low limit or exceed the high limit for a minimum of five minutes before it goes into alarm. For the point to come out of alarm, the point must be higher than the low limit (or lower than the high limit) plus the value of the deadband for five minutes.

Example 2

If the low limit = 10 and the dead band = 1.0, the point value must be continuously greater than 11.0 during the event time delay period before the event state returns to normal.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that will occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

Outside Limits—Select this check box to have notification sent when the low limit or high limit values for the point have been exceeded.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A point may enter a fault state if the minimum or maximum values are exceeded.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.

Note Only an alarm triggers the controller LED whereas an event does not.

Program Group Box—Select a program and the Event State that triggers or activates it.

Triggered Program Name—Select a program to run whenever the fault flag changes value. A point can contain an optional reference to a TGP2 program.

Run when Event State changes to—Select the check box of the appropriate Event State.


Binary Input Properties: Point Configuration Tab

Use the Point Configuration tab on the Binary Input Properties dialog box to configure a binary input. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Input Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing binary input. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—If you need to create a specific instance of the selected object type, select the check box to enable the instance entry box and to force the created point to use the selected instance.

Reference Group Box

(Drop-down List)—Click this list box to display the Reference dialog box. The references shown are the appropriate references to which this binary input can be mapped, depending on the controller to which you are connected. (The listing may include XMxx expansion module references (where xx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.)

Note Select None (the default) to either reserve a point for later association with a reference or to separate the point from an existing reference. (You can use this option to set up points for a program you plan to use on different devices.)

Definition Group Box

Display

Inactive Text—Enter text that is displayed when the binary point is inactive. This text must be unique (not duplicated) on a single device.

Active Text—Enter text that is displayed when the binary point is active. This text must be unique (not duplicated) on a single device.

Update Interval—Specify an interval (hh:mm:ss) that the referencer uses to determine when to update (pull or push) the value of the point.

Polarity—Select Reversed to invert the value of the binary point.

Value Triggered Program

Program Name—Select a program to run whenever the fault flag changes value or the point value changes state. A point can contain an optional reference to a TGP2 program.

Run Program On—Select either one of the Value Change options or the Fault Flag Change option as the triggering condition that starts program execution.


Binary Input Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Binary Input Properties dialog box to configure alarming for a binary input. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Input Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Alarm Value—Shows the value that the value of the point must match to generate an alarm condition.

Event Time Delay—Shows the amount of time that must pass before the point will enter an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. When the point value matches the alarm value continuously during the event time delay period, the binary point event state transitions to an alarm. When the alarm state does not match the value of the point continuously during the event time delay period, the event state transitions to normal.

Actions Group Box—Select the actions that occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

In Alarm—Select this check box to have notification sent when the point goes into an alarm condition.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A binary point may enter a fault state if its value cannot be read or written. A point enters a fail state if the input value matches the alarm value.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.


Binary Output Properties: Point Configuration Tab

Use the Point Configuration tab on the Binary Output Properties dialog box to configure a binary output. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Output Properties dialog box also has an Alarm Configuration tab.

Point Configuration Box Content

Name—Name of a new or existing binary output. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—If you need to create a specific instance of the selected object type, select the check box to enable the instance entry box and to force the created point to use the selected instance.

Reference Group Box

(Drop-down List)—Click this list box to display the Reference dialog box. The references shown are the appropriate references to which this binary output can be mapped, depending on the controller to which you are connected. (The listing may include XMxx expansion module references (where xx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.)

Note Select None (the default) to either reserve a point for later association with a reference or to separate the point from an existing reference. (You can use this option to set up points for a program you plan to use on different devices.)

Definition Group Box

Display

Inactive Text—Enter text that is displayed when the binary point is inactive. This text must be unique (not duplicated) on a single device.

Active Text—Enter text that is displayed when the binary point is active. This text must be unique (not duplicated) on a single device.

Update Interval—Specify an interval (hh:mm:ss) that the referencer uses to determine when to update (pull or push) the value of the point.

Polarity—Select Reversed to invert the value of the binary point.

Relinquish Default/Startup Value—Enter the value to be used if no other value is assigned (the controllable point’s priority array is empty, and the point is in service).

Update Priority—This is the priority level that is used when writing to the referencer. This value must be between 1 and 16.

On/Off Times

Minimum Off Time—Set to the minimum amount of time that the output must remain in an off (inactive) state to prevent excessive equipment cycling.

Minimum On Time—Set to the minimum amount of time that the output must remain in an on (active) state to prevent excessive equipment cycling.

Value Triggered Program

Program Name—Select a program to run whenever the fault flag changes value or the point value changes state. A point can contain an optional reference to a TGP2 program.

Run Program On—Select either one of the Value Change options or the Any option as the triggering condition that starts program execution.


Binary Output Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Binary Output Properties dialog box to configure alarming for a binary output. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Output Properties dialog box also has a Point Configuration tab.

Alarm Configuration Box Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Feedback Reference—Use the controls to specify a reference that can serve as an indicator that the output value is having its intended effect within the specified amount of time (event time delay).

Selection (Drop-down list)—Select a hardware device termination point or a software point.

Event Time Delay—Shows the amount of time that must pass before the point will enter an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. When the point value matches the alarm value continuously during the event time delay period, the binary point event state transitions to an alarm. When the alarm state does not match the value of the point continuously during the event time delay period, the event state transitions to normal.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

In Alarm—Select this check box to have notification sent when the point goes into an alarm condition.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A binary point may enter a fault state if its value cannot be read or written. A point enters a fail state if the input value matches the alarm value.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.


Binary Value Properties: Point Configuration Tab

Use the Point Configuration tab on the Binary Value Properties dialog box to configure a binary value. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Value Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing binary value. When a device is discovered, this field will be populated with the data from the device. You can edit this field. (Duplicate names are not allowed on a single device.)

User Specified Instance

Specific Instance—Select this check box and then enter the series of instance designators you prefer in the entry box that appears.

Definition Group Box

Display

Inactive Text—Enter text that is displayed when the binary point is inactive. This text must be unique (not duplicated) on a single device.

Active Text—Enter text that is displayed when the binary point is active. This text must be unique (not duplicated) on a single device.

Relinquish Default/Startup Value—Enter the value to be used if no other value is assigned (the controllable point’s priority array is empty, and the point is in service).

On/Off Times

Minimum Off Time—Set to the minimum amount of time that the output must remain in an off (inactive) state to prevent excessive equipment cycling.

Minimum On Time—Set to the minimum amount of time that the output must remain in an on (active) state to prevent excessive equipment cycling.

Value Triggered Programs

Program Name—Select a program to run whenever the fault flag changes value or the point value changes state. A point can contain an optional reference to a TGP2 program.

Run Program On—Select either one of the Value Change options as the triggering condition that starts program execution.


Binary Value Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Binary Value Properties dialog box to configure alarming for a binary value. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Binary Value Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Alarm Value—Shows the value (On or Off) that the value of the point must match to generate an alarm condition.

Event Time Delay—Shows the amount of time that must pass before the point enters an alarm or fault condition. Event time delay also applies when a point returns to a normal condition. When the point value matches the alarm value continuously during the event time delay period, the binary point event state transitions to an alarm. When the alarm state does not match the value of the point continuously during the event time delay period, the event state transitions to normal.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

In Alarm—Select this check box to have notification sent when the point goes into an alarm condition.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A binary point may enter a fault state if its value cannot be read or written. A point enters a fail state if the input value matches the alarm value.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.


Multistate Input Properties: Point Configuration Tab

Use the Point Configuration tab on the Multistate Input Properties dialog box to configure a multistate input. You can modify these values unless the configuration is supplied by Trane and has been locked.

The Multistate Input Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing multistate input. When a device is discovered, this field will be populated with the data from the device. You can edit this field. Duplicate names are not allowed on a single device.

User Specified Instance

Specific Instance—Select this check box and then enter the point instance you prefer in the entry box that appears.

Reference Group Box

(Drop-down List)—Click this list box to display the Reference Selection dialog box. The references shown are the appropriate references to which this multistate input can be mapped, depending on the controller to which you are connected. (The listing may include XMxx expansion module references (where xx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.)

Note Leave the reference at None (the default) to either reserve a point for later association with a reference, or select Disconnect from Reference to separate the point from an existing reference. You can use this option to set up points for a program you plan to use on different devices.

Definition Group Box

Update Interval—Specify an interval (hh:mm:ss) that the referencer uses to determine when to update (pull or push) the value of the point.

Value Triggered Program Name—Select the name of the program that executes when the value of the input is updated.

Calibration

Number of States—Enter the number of states included in this input directly or use the spinner arrows. The maximum number of states is 20. However, if you are connected to a Tracer SC version 4.0 or higher, you can specify up to 200 states. The states you specify are then displayed on the state table.

State Value—Select this check box to display the state value column on the Calibration table below. See Use of State Values and a Deadband in a Multistate Input Point for an explanation of how state values are used in a Multistate Input point.

Deadband—If a multistate input point contains an analog value table, it must also have an analog deadband. Enter the deadband value to be applied to the boundary condition to determine the value at which the point is allowed to transition back to the original state. See Use of State Values and a Deadband in a Multistate Input Point for an explanation of how a deadband is used in a Multistate Input point.

(State Table)—Enter the state information.

No—Sequence number (entered by the system).

State Name—Enter the name of the state.

Value—Enter the value of the state.


Multistate Input Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Multistate Input Properties dialog box to configure alarming for a multistate input. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Multistate Input Properties dialog box also has a Point Configuration tab.

Alarm Configuration Tab Content

Conditions Group Box

State Table—Use the drop-down list to specify the type of condition (None, Fault, or Alarm) associated with the state value.

Event Time Delay—This is the amount of time that must pass when the point takes a state associated with an alarm or fault condition. Event time delay also applies when a point returns to a normal condition.

Actions Group Box

Notifications—Select the actions that occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

In Alarm—Select this check box to have notification sent when the point takes a state value associated with an alarm. (You can determine the alarm/event state that is associated with a particular value of a multistate input point in the state table on this dialog box tab.)

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A multistate point may enter a fault state if the condition labeled Fault occurs. A multistate point enters a fail state if the point's state value is not available.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select whether the point should be classified as an event or an alarm.


Multistate Output Properties: Point Configuration Tab

Use the Point Configuration tab on the Multistate Output Properties dialog box to configure a multistate output. You can modify these values unless the configuration is supplied by Trane and has been locked.

The Multistate Output Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing multistate output. When a device is discovered, this field will be populated with the data from the device. You can edit this field. Duplicate names are not allowed on a single device.

User Specified Instance

Specific Instance—Select this check box and then enter the point instance you prefer in the entry box that appears.

Reference Group Box

(Drop-down List)—Click this list box to display the Reference Selection dialog box. The references shown are the appropriate references to which this multistate output can be mapped, depending on the controller to which you are connected. The listing may include XMxx expansion module references (where xx is a specific number, such as 30, 32, and so on), which are indicated by the initial "XM" in their identifier.

Note Leave the reference at None (the default) to either reserve a point for later association with a reference, or select Disconnect from Reference to separate the point from an existing reference. You can use this option to set up points for a program you plan to use on different devices.

Definition Group Box

Type—Select an available hardware output type from the list. The list is populated according to a device's capabilities. For example, the options available for a UC400 are not the same as those available to a Tracer SC. Options also depend on the hardware reference selected.

Update Interval—Specify an interval (hh:mm:ss) that the referencer uses to determine when to update (pull or push) the value of the point.

Relinquish Default/Startup Value—Enter the value to be used if no other point or application is controlling the output. The controllable point’s priority array is empty, and the point is in service.

Value Triggered Program Name—Select the name of the program that runs whenever the point value changes.

Update Priority—This is the priority level that is used when writing to the referencer. This value can be between 1 and 16.

Calibration (Version 1)

Number of States—Enter the number of states included in this output directly or use the spinner arrows. The default number of states is 20. However, if you are connected to a Tracer SC version 4.0 or higher, you can specify up to 200 states. The states you specify are then displayed on the state table.

The following controls are available only if the reference has been set to Output Selection:

Number of Outputs— Select the number of rows you want in the State Relationship Table.

State Delay—Specify the minimum amount of time (in milliseconds) that all outputs must be off when transitioning between states.

Warmup Delay—Specify the amount of time (in milliseconds) that all outputs are in the warmup state. The output selector passes through the warmup state anytime it is transitioning from a state in which no relays are active.

(State Table)—Enter the state information.

No—Sequence number (entered by the system).

State Name—Enter the name of the state.

State Relationship Table—Select an output on the Output column drop-down list and then select (toggle on) the state(s) to which it applies. The output is controlled ON during each state you select. (See The Output Selector for Multistate Outputs for more information.)

Calibration (Version 2)

The following set of controls are displayed when you reference a valid analog output termination and select Type as either voltage or current. Valid references are: AO terminations, XM30 UIO, and XM70 UIO.

State 1 Value—Enter the most negative value that will be used in any application or program in the device. This value must be less than or equal to the value entered for the high request value.

State n Value—Enter the most positive value that will be used in any application or program in the device. This value must be greater than or equal to the value entered for the low sensor value.

Output 1—Enter the physical value which corresponds to the low request value.

Output n—Enter the physical value which corresponds to the high request value.

Note In some cases, the preceding three fields may be locked and not user adjustable.


Multistate Output Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Multistate Output Properties dialog box to configure alarming for a multistate output. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Multistate Output Properties dialog box also has a Point Configuration tab.

Point Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

Feedback Reference—Specify a reference point that can serve as an indicator that the output value is having its intended effect within the specified amount of time (event time delay).

(Drop-down List)—Select the appropriate termination point (multistate ouput) to which this feedback reference is to be mapped. (The listed termination points correspond to the controller to which you are connected.)

Event Time Delay—This is the amount of time that must pass when the point is out of range before the point enters an alarm or fault condition. Event time delay also applies when a point returns to a normal condition.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that will occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications—Select the actions that occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

In Alarm—Select this check box to have notification sent when the point goes into an alarm condition.

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A multistate point may enter a fault state if the feedback reference does not accord with the point state. A multistate point enters a fail state if the point's state value is not available.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select event or alarm to specify whether the point should be classified as an event or an alarm.


Multistate Value Properties: Point Configuration Tab

Use the Point Configuration tab on the Multistate Value Properties dialog box to configure a multistate value. You can modify these values unless the configuration is supplied by Trane and has been locked.

The Multistate Value Properties dialog box also has an Alarm Configuration tab.

Point Configuration Tab Content

Name—Name of a new or existing multistate value. When a device is discovered, this field will be populated with the data from the device. You can edit this field. Duplicate names are not allowed on a single device.

User Specified Instance

Specific Instance—Select this check box and then enter the point instance you prefer in the entry box that appears.

Definition Group Box

Relinquish Default/Startup Value—Enter the value to be used if no other point or application is controlling the output. The controllable point’s priority array is empty, and the point is in service.

Value Triggered Program Name—Select the name of the program that executes when the value of the point changes.

Calibration

Number of States—Enter the number of states included in this value directly or use the spinner arrows. The default number of states is 20. However, if you are connected to a Tracer SC version 4.0 or higher, you can specify up to 200 states. The states you specify are then displayed on the state table.

State Table—Enter the state information.

No—Sequence number (entered by the system).

State Name—Enter the name of the state.


Multistate Value Properties: Alarm Configuration Tab

Use the Alarm Configuration tab on the Multistate Value Properties dialog box to configure alarming for a multistate value. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

The Multistate Value Properties dialog box also has a Point Configuration tab.

Point Configuration Tab Content

Conditions Group Box—Select the conditions that must be met before the point goes into alarm.

No and State Name—Carried over from Tab 1.

Conditions—Select a condition from the drop-down list (None, Fault, Alarm).

Event Time Delay—This is the amount of time that must pass when the point takes a state associated with an alarm or fault condition. Event time delay also applies when a point returns to a normal condition.

Heartbeat Interval—Enter the expected interval at which this point is to be written.

Actions Group Box—Select the actions that will occur when a point goes into alarm. There are three event classes that represent separate alarming actions.

Notifications

In Alarm—Select this check box to have notification sent when the point goes into an alarm condition. (You can determine the alarm/event state that is associated with a particular value of a multistate value point in the state table on this dialog box tab.)

When Failed—Select this check box to have notification sent when the point enters into a fault or fail state. A multistate point may enter a fault state if the condition labeled Fault occurs. A multistate point enters a fail state if the point's state value is not available.

Return to Normal—Select this check box to have notification sent when the point event-state transitions from a non-normal state to a normal state.

Notification Class—A point contains an alarm/event Notification Class. This class identifier is used by the alarm manager to determine the details of routing alarms/events. Select the class to which the notification is sent. Classes are set up in event routing.

Notify Type—Select whether the point should be classified as an event or an alarm.


Point Configuration Properties Data Log Tab

Use the Data Log tab on the Point Configuration Properties dialog boxes to configure data logging for analog, binary, and multistate points. (You can modify these values unless the configuration is supplied by Trane and has been locked.)

(See Point Configuration Properties Dialog Boxes to access information on other dialog box tabs.)

Data Log Tab Content

Create Data Log—Select this check box to create the log file on the controller.

Enable Data Collection—Select this check box to activate data collection on the controller.

Name—Displays the name of the trend object referencing the point object. The name of the trend object is "log_" with the point object /name appended. It is not user editable.

Reference—Displays selection you made on the Point Configuration tab.

Definition Group Box

Data Log Type—Set to Scheduled. (Not editable.)

Collection Frequency—Select the interval at which the referencer is polled.

Data Buffer

Number of Samples—Displays the number of samples stored. (Not editable.)

Duration—Displays the time in whole days or a partial day derived from a calculation based on the sample frequency and number of samples.

Overwrite old data (FIFO)—Select this option to use the "first in, first out" approach that allows sampling to continue indefinitely.

Disable data log when full—Select the option to limit the number of samples to the log file capacity.

Routing

Notification Class—Select the class to which the notification is sent. Classes are set up in event routing.


Referencing Points

This subsection includes topics that explain referencing and how to select or remove references for points.

See

  • The Purpose of References
  • Selecting a Local Reference
  • Selecting a Remote Reference
  • Removing a Reference


The Purpose of References

Referencing is the act of linking a software point to an actual source of data or destination for data. For example, think of a software point like Space Temperature that references an analog input (Al1) terminal on a UC400. Al1 is wired to a thermistor zone sensor. The analog input Al1 pulls the resistive signal from the sensor. The Space Temperature analog input software point that references Al1 converts the signal to a temperature value in degrees Fahrenheit and makes the temperature value available to programs on the controller through an Analog Input block representing that Space Temperature point.

So, the link between a software point (known as the referencer) and the physical or software data source/destination (known as the reference) acts as a conduit to transmit data. The data source or destination can be

  • A physical input or output terminal on a controller (also called a hardware point)
  • A program running on the local controller or on a Tracer SC
  • A data log on the local unit controller

Example 1

In the following example, a program running on a UC400 uses two software points to enable substitution of a local space temperature value if the central BAS space temperature fails or is taken out of service. The Space Temp BAS software point exists on the Tracer SC where it references (is linked to) an analog value point on one of the controllers on the link. The Space Temperature Local software point references an analog input (hardware point) on the local controller.

Values receive data from a source, such as a device output or a software process or calculation. In the previous example, the Space Temp Active Analog Value block receives the arbitrated space temperature result and makes it available to other modules of the program.

Example 2

Output points can also be linked to programs or equipment functions, so they pass analog or binary values that act as "triggers" to either start or stop the program or equipment function. In the following example, a binary output software point, Pump 1 Start Stop pushes a binary On to the referenced hardware output point (BOx, where x is any particular number) if the pump has not failed. However, if the pump status does not match the request for 15 seconds, the Pump 1 Start Stop pushes a binary Off to the referenced hardware output point (BOx), which signals the pump to stop.


Selecting a Local Reference

Use the Reference dialog box to select a local reference that acts as a data source or destination for a point. You can select a new reference or replace an existing reference.

Perform the following steps to select a local reference:

  1. Select the Reference icon on a Point Configuration dialog box.

The Reference Selection dialog box opens in one of two ways:

  • If a reference does not yet exist, the Current Referencer field is set to None and the Selection Tree is collapsed and displays only hardware terminations.
  • If a reference already exists, the Current Referencer field displays the reference property information. If the current reference is

  • Local—The reference object hierarchy in the Reference Tree box and the selected property in the Available Items box are displayed.

  • External BACnet—Four list boxes are displayed.

  2. Select Local on the Reference Location drop-down list.
  3. Select the Select Reference radio button (the default).

The selection tree becomes active.

  4. Select an option on the Category drop-down list.

There are three options:

  • Device Terminations and Properties
  • Equipment and Applications
  • User Created Points

The Selection Tree displays items appropriate for the selected category, based on the connected device or configuration file.

  5. Expand the Selection Tree to find the desired reference object.
  6. Select the desired object to serve as a trigger, data source, or destination.

Tracer TU displays the related properties in the Available Items list box.

  7. Select the desired property.

Note If you select a point without expanding the properties, Tracer TU assigns the default Value property.

Note For a data log reference, you can select any property of a software reference that is capable of triggering or controlling data logging.

Note If you select an equipment or application object attribute, Tracer TU assigns the Value property.

  8. Click OK.

Tracer TU saves the reference and returns you to your previous location.


Selecting a Remote Reference

Use the Reference dialog box to select a remote BACnet reference that acts as a data source, or destination for a point. You can select a new reference or replace an existing reference.

Note Specifying remote references requires a thorough knowledge of all devices included in the network.

Perform the following steps to select a remote reference:

  1. Select the Reference icon on a Point Configuration dialog box.

The Reference Selection dialog box opens in one of two ways:

  • If a reference does not yet exist, the Current Referencer field is set to None and the Selection Tree is collapsed and displays only hardware terminations.

  • If a reference already exists, the Current Referencer field displays the reference property information. If the current reference is

  • Local—The reference object hierarchy in the Reference Tree box and the selected property in the Available Items box are displayed.
  • External BACnet—The Device ID, Point Type, Instance Number, and Property values are displayed.
  2. Select External BACnet on the Reference Location drop-down list if it is not already selected.
  3. Select the Select External BACnet Reference radio button (the default).

The Device ID, Point Type, Instance Number, and Property list boxes appear and become active.

  4. Enter a device-id number in the Device ID box.
  5. Click OK to validate the device-id.
  6. Select a point type on the Point Type drop-down list box.
  7. Select a point instance and click OK to validate.
  8. Select the desired Property to serve as a trigger, data source, or data destination from the drop-down list.

(The selections are filtered depending on the device and point type selected.)

  9. Click OK.

Tracer TU saves the reference and returns you to your previous location.


Removing a Reference

Use the Reference dialog box to remove a reference. Removing a reference severs the connection between the referencer and its object (data source or destination) and stops the flow of data.

Perform the following steps to remove a reference:

  1. Select the Reference icon on the Point Configuration dialog box.

The Current Referencer field displays the reference property information. If the current reference is

  2. Local—The reference object hierarchy in the Reference Tree box and the selected property in the Available Items box are displayed.
  3. External BACnet—Four list boxes are displayed.
  2. Select Disconnect from Reference.
  3. Click OK to return to the Point Configuration dialog box.


References to Comm3 and Comm4 Devices

You can reference the properties of supported Comm3 and Comm4 UCMs that have been configured in a Comm 3/4 to Tracer SC Bridge and discovered and installed on a Tracer SC (Application SC) BACnet link. (See Tracer™ Communication Bridge - Comm 3/4 to Tracer™ SC Setup and Configuration Guide (BAS-SVX64) for the correct installation and configuration procedures.)

Once the supported Comm3 and Comm4 devices have been configured on the Comm 3/4 to Tracer SC Bridge and discovered and installed on the Tracer SC, you can reference their properties in Tracer SC points, programs, applications, and in data logs.

Supported Devices

Controller | Communication Type/Equipment Class | Family | Equipment Type
VAV II/III/IV | Comm4 VariTrane UCM II/ III/IV | Space | VAV Box Space Temp Control
IntelliPak | Comm4 IntelliPak Constant Volume Rooftop | Space | Rooftop Unit CV
IntelliPak | Comm4 IntelliPak Constant Volume Rooftop | Air Handler | Rooftop Unit VAV
Voyager | Comm3/4 Voyager Constant Volume Rooftop | Space | Rooftop Unit CV
Voyager | Comm3/4 Voyager Variable Volume Rooftop | Air Handler | Rooftop Unit VAV
Voyager | Comm3/4 Voyager Constant Volume Heat Pump | Space | Rooftop Unit CV
VAV1 | Non-Isolated Comm3 VariTrane UCM 1 | Space | VariTrane 1
Thermostat Control Module (TCM) | Isolated Comm3 TCM | Space | Heat Pump
Thermostat Control Module (TCM) | Isolated Comm3 TCM | Space | 2H/2C
Thermostat Control Module (TCM) | Isolated Comm3 TCM (slave) | Generic | Generic
Commercial Self Contained (CSC) | Isolated Comm3 CSC | Constant Volume Air Handler | Space Air Handler CV
Commercial Self Contained (CSC) | Isolated Comm3 CSC | Variable Air Volume Air Handler | Air Handler VAV
Terminal Unit Controller (TUC) | Comm4 | Space | Terminal units: fan coils, water-source heat pumps, unit ventilators, blower coils
Programmable Control Module (PCM) | Isolated Comm3 | Generic | Generic (variety of equipment)
Universal Programmable Control Module (UPCM) | Comm4 | Generic | Generic (variety of equipment)


Developing TGP2 Programs

Developing and Managing TGP2 Programs

This section includes topics that present general and specific programming tasks and procedures.

See

  • Creating a New Program
  • Types of Variables Available in TGP2
  • Methods You Can Use to Set Priority
  • Searching for a Wireless Block, Point, or Text Within a Program
  • Validating and Compiling a Program
  • Using the Simulator
  • Configuring and Using Global Variables
  • Viewing Real Time Program Execution
  • Overriding Points in Real Time View
  • Plotting a PID Loop
  • Editing a Trane Factory Program
  • Downloading a TGP2 Program
  • Uploading a TGP2 Program
  • Deleting a Program from a Controller


Creating a New Program

While the graphical approach taken in TGP2 makes programming simpler and less abstract, creating TGP2 programs still requires knowledge and practice. If you are new to TGP2, Trane strongly recommends that you complete one the following training options before attempting to write programs:

  • Enroll in a Trane-sponsored TGP2 Class offered by the Trane College of Building Automation.
  • Work through the examples in the TGP2 Applications Guide (BAS-APG008-EN).

Completing this preliminary training will help to familiarize you with the TGP2 block library, so you have an understanding of what the various blocks do and how you can best use them to accomplish the purpose of your programs.

Perform the following tasks to create a new TGP2 program:

Task 1: Plan your new program

  1. Summarize what you want your program to do in a few sentences.
  2. Think through the logic or process flow of the program. Draw a flow chart or verbally list the processing steps that must be accomplished.
  3. Identify the blocks you will use to implement this processing flow. (Often there are multiple ways to accomplish the same processing task, so you should think about which alternative is the simplest and most efficient.)
  4. Identify the inputs, outputs, and values (variables) required by the processing steps and give them meaningful names. (See Types of Variables Available in TGP2.)
  5. Identify the source of each input and the result or destination of each output.

Task 2: Configure the points (unless they already exist)

Create new points or use existing points. (See Configuring and Managing Points for procedural information relevant to your situation.)

Note It is most convenient to configure points in the TGP2 Editor if you are also writing a program. However, you can also access the Point Configuration dialog boxes from the Analog, Binary, and Multistate tab screens in the Tracer TU Controller Settings Utility.

Note Keep in mind that some points interact with or depend on entities created outside of the TGP2 Editor. For example, an output may trigger the execution of an external routine or program. Notification classes are another example of an item referenced in the TGP2 Editor but configured outside of the TGP2 Editor.

Task 3: Create the program in the TGP2 Editor

  1. Start with a new program (a blank Program Design Space) in the TGP2 Editor.
  2. Right-click anywhere within the Program Design Space and select Properties from the right-click menu.

The Program Properties dialog box appears.

  3. Enter the program properties before you begin assembling blocks in the Program Design Space.
  4. Right-click each block to set its properties as you bring it into the program.
  5. Make wire connections between the blocks.
  6. Select File > Save As and select a filename and folder to which to save your program.

Task 4: Validate, compile, and simulate (test) your program

  1. Validate and compile your program. (See Validating and Compiling a Program.)
  2. Simulate your program and check values for accuracy. (See Simulating Program Execution.)
  3. Make any necessary corrections, if you see unexpected results and save the program.
  4. Compile the final version of your program.
  5. Download your program to the controller. (See Downloading a TGP2 Program.)


Methods You Can Use to Set Priority

Use control priority levels to enable programs to respond to varying conditions by selecting one value over another. (See Control Priority Levels for more information.) There are two ways to set the priority for both output and value points:

  • Respond to operational situations by creating a manual override using the Tracer TU service tool. (See the Tracer TU Help for Programmable Controllers for details.)
  • Use a Priority Level input port on the block when you are constructing or modifying programs in the TGP2 Editor. The priority level assigned to the Priority Level port determines if a priority level coming from a source that is writing to the output or value point is acceptable. The following figure shows a priority level specified by a Constant block.

Note For equipment safety reasons, an attempt to control or release at priority level 6 (minimum on/off) are ignored. An attempt to control or release is ignored if the priority level is less than 1 or greater than 16. If all control priorities have been released, the output or value will be set to the relinquish default value, which is set on the output and value Point Configuration Properties dialog boxes.

In addition, you can specify the priority of output points (as sources writing to other points) using the Update Priority list box on the Analog, Binary, and Multistate Output Point Configuration dialog boxes as mentioned previously in Priority Rules.

Example

If an output point has a priority level of 7 and writes a value of 71 to a value point, the value point reads the value written by the output only if it has a matching priority of 7. Here the priority of 7 takes precedence over 9 or 12.

However, it is possible for the value point to take one of two other priorities (9 or 12) under specific conditions. In that case, the data value 71 cannot be read by the value point, and some other workaround must then take place.

If the priority level assigned to the Space Temperature output point is 13, the result is different. In the following figure, the Space Temp value point’s priority of 9 takes precedence over 12 and 13. In this case, the outgoing value is 73.


Searching for a Wireless Block, Point, or Text Within a Program

You can search any TGP2 program currently loaded in the TGP2 Editor for a wireless block with a specific name, a point, or a text string. Just enter the search term in the Search dialog box and the TGP2 Editor searches for the wireless block, point, or text string and then presents the results in a program "mini map" by highlighting the blocks that match your search criteria.

  1. Open the TGP2 Search Dialog by
  2. Pressing Ctrl + f.
  3. Selecting Edit > Program Search.
  4. Right clicking on any block and selecting Search.
  2. Select one of the following options:
  3. Text—Enter a text string in the Search entry box.
  4. Wireless Block—Enter the name of wireless block in the Search entry box.
  5. Point Based—Specify a point name or point URI.

Note You can include wildcard characters (asterisk *) in your search term (for example, *ai, ai*, or *ai*).

  3. Click Search.

The results are highlighted and displayed in the program map.

Note If no results are found, the TGP2 Editor issues a message stating that the search was not successful.

  4. Move forward through multiple search results by pressing F3 or Next. Move back to previous results by pressing F4 or Previous.

Note Next and Previous are disabled if the Search dialog is opened using the Ctrl –F or Menu option, no search results are found, or only 1 search result is found.

  5. Select the target block with your mouse cursor.
  6. The target block is located and centered in the TGP2 Editor workspace.

Use the auto-completion text options presented on the search list entry box or selected from the drop-down list items to resume searching with previous search criteria.


Validating and Compiling a Program

After you have constructed your program, you must validate and compile it. This ensures that there are no errors that will prevent the program from executing.

Note Successful compilation does not guarantee valid program operation or results. Even though a program compiles successfully, you should always use the Simulator to check for valid output. (See Simulating Program Execution.)

Perform the following steps to validate and compile a program:

  1. Access the program so it is displayed in the Program Design Space.
  2. Select Validate / Compile (or F7) on the Tools menu.

The Output Window appears at the bottom of the screen containing any error messages. The offending blocks or ports are highlighted in red.

  3. Fix any problems and repeat the compilation until the Output Window displays the following message

"Validation Complete --- 0 errors, 0 Warnings"


Using the Simulator

This section includes topics explaining how to use the Simulator. Use the Simulator to ensure that your program is wired correctly and contains no circular logic or unexpected results. You can observe changes to values over one or more program cycles and can test program response to date-time changes and device resets.

Note Circular logic can be defined as a situation where the current result is dependent on itself. For example, in the equation output(n) = output(n)+1, output(n) is dependent on itself. Improper use of wireless blocks can sometimes lead to circular logic problems.

See

  • Simulating Program Execution
  • Restarting a Simulation Session
  • Reviewing Program Cycles
  • Date-Time Options You Can Use in Simulations
  • Simulating a Device Reset
  • Simulating a Device Time Change


Simulating Program Execution

You can simulate the execution of a program one cycle at a time or over several continuous cycles. The values of inputs, values, and outputs are displayed on the screen, so you can check to be sure results are correct.

Perform the following steps to simulate program execution:

  1. Open the program so it is displayed in the Program Design Space.

The points assigned to the input, output, and value blocks should already exist in the controller's configuration.

  2. Select Start Simulation (or F11) on the Tools menu.

The Program Design Space turns gray and the default input values appear alongside each input block. A Program Inputs window appears at the bottom of the TGP2 Editor screen.

  3. (Optional) Click Simulation Options to display the Simulation Options window.

You can specify the number of program cycles in the Simulation Cycles box and change the Date-Time settings if those are significant to your program testing.

  4. Click Save.
  5. Change specific analog and binary input values using the drop-down lists on the Program Inputs section at the bottom of the TGP2 Editor window.

Note You cannot enter values for global variables during program simulation, as they will not update as expected. Use a point of the relevant type as a workaround during simulation. After testing program logic, replace the point block with the selected global variable.

  6. Click the corresponding value displayed by the block in the program.

The value changes to the new setting you selected on the Program Inputs window. (For example, a binary input could change from true to false.)

  7. Click Run on the Tools menu for as many program cycles as you desire or to run the number of cycles you specified on the Simulation Cycles box.

The affected blocks display the resulting values. (For example, a Function block and the output block could display the appropriate analog or binary value.)

  8. Click Exit Simulation (or Shift+F11) to leave Simulation mode.


Restarting a Simulation Session

You can restart a simulation session if you simulated the program previously in the same editing session and the session has not been interrupted by

  • Selecting a new or different program
  • Exiting the TGP2 Editor
  • Exiting Tracer TU

The restarted simulation continues with the same values that were in place when you exited the Simulator.


Reviewing Program Cycles

You can review any or all of the program cycles by clicking the arrow icons in the Result for cycle group on the header of the Program Input table at the bottom of the TGP2 Editor window.

The number of the currently displayed cycle is shown along with the total number of cycles.


Date-Time Options You Can Use in Simulations

You can use the date-time options on the Simulation Options dialog box to

  • View the date and time of completion for each program cycle.
  • Determine the length of time required to complete a series of program executions.
  • Determine if a time-sensitive program responds as expected at a given time.
  • Determine if a program responds properly to a device time change or device reset.

Date-Time Options

The Date-Time Settings group box on the Simulation Options dialog box provides three options:

  • Use Current

This option is the default and is appropriate for all programs that are not time-sensitive.

  • Change Simulation Start Date and Time

Use this option for programs that are triggered at a specific time of day, day of the week, or month. You can also use this option to simulate a device time change.

  • Device Reset

Use this option to test how the program responds to a device reset.

Date / Time Results

Option

Results

Use Current

The device clock updates at each program cycle.

For example, Device Clock : Thursday, March 10, 2011 02:24:06 PM

If you simulate multiple program cycles, the device clock will maintain the date and time of the last simulation cycle.

Change Simulation Start Date and Time

Same as Use Current (without selecting Date and Time Synch Operation)

With Date and Time Synch Operation, this option updates the date and/or time as if requested from a BAS. The program is run for a single cycle to check for device time change (for example, Daylight Savings Time).

Device Reset

  • Simulating device reset of controller not connected to a BAS

If you do not select Date and Time Synch Operation, this option resets with the default starting date and time. For a UC400 or UC600, which have no display, this is January 1st, 1970, 12:00 a.m. (The internal time keeping system will be set to zero.)

  • Simulating device reset of a controller connected to a BAS

If you do select Date and Time Synch Operation, you can specify a date and time that a BAS provides upon request from the device during the startup process. The internal time keeping system will be set to zero.


Simulating a Device Reset

You can simulate a device reset with a date-time synchronization request (device connected to BAS) or one without a request (device not connected to a BAS) in a single program cycle.

Perform the following steps to simulate reset without date / time synchronization:

  1. Select Tools > Simulation Options.
  2. Select the Device Reset radio button.
  3. Specify a date and time on the drop-down list.

If you do not specify a date and time, the program uses the current simulation time.

  4. Select the Date and Time Sync Operation check box if you want to include a date-time synchronization request in the simulation.
  5. Click Save.
  6. Click Tools > Run.
  7. Confirm that the program responds as expected.


Simulating a Device Time Change

Use the following procedure to simulate a time change to a device with or without a connection to a BAS. For example, you can test a Daylight Savings Time change.

  1. Select Tools > Start Simulation.
  2. Select Tools > Simulation Options.
  3. Select the Change Simulation Start Date and Time radio button.
  4. Specify a date and time on the drop-down list.
  5. Select the Date and Time Sync Operation check box if you want to simulate a synchronization request to a BAS.
  6. Click Save.
  7. Click Run to execute a single program cycle.
  8. Confirm correct program operation.


Configuring and Using Global Variables

Global variables can be referenced by multiple programs residing on a single controller and can be passed between programs. These variables are derived either from within a program or from external devices (for example, a sensor). They do not persist through power outages, but are regenerated when the controller is restarted. There are 127 global variables available for use by programs on the UC400 and UC210. Other controllers may have a different number available.

Perform the following steps to define global variables:

  1. Click and drag the type of global variable block (Analog, Binary, or Integer) you require into the Program Design Space.
  2. Right-click the block and select Properties.

The appropriate Global Variable Properties dialog box appears.

  3. Select the Read or Write option.
  4. Select a numeric identifier from the drop-down list.

Global variables are identified only by number. You are responsible to manually document and track your use of global variable identifiers. You could use a chart or spreadsheet as in this example:

See

  • Analog Global Variable block
  • Binary Global Variable block
  • Integer Global Variable block


Viewing Real Time Program Execution

After you download a program to the controller, you can examine its operations in real time. The actual run time values of inputs, variables, functions, calculations, value objects, constants, and outputs are displayed on the screen.

Perform the following steps to view program execution in real-time:

  1. Select Program > View Real Time.

The Select a Program to open for real time view dialog box appears.

  2. Highlight the program on the list that you want to view and click OK.

The program and its values are displayed in the Program Design Space. You can examine any part of the program.

Note It may take a minute or two for the values to load.

Perform the following step to exit the Real Time view:

Select Program > Exit Real Time.

It may take a minute or two for the TGP2 Editor to disconnect from the controller.


Overriding Points in Real Time View

The TGP2 Editor provides a means to control point values for point-based blocks by selecting a block and requesting an override or out of service state while in Real Time View.

  1. Right-click a block while in Real Time View to display a context-menu.
  2. Select the Overrides option on the menu to display the Override Request dialog box.
  3. Enter values in the Requested Value, Priority, and Duration Limit boxes and then click Apply.

You can now examine the changes to the program to see if the results are what you expect.

The override or change in service is reflected in the Active Changes pane during real time execution as shown in the following figure.

  4. Click Revert to return the point to its previous value or click Revert All to cancel all overrides and return all points to their previous values.

All overrides and changes to service you initiate in Real Time View are actual and will remain if you do not revert them.


Plotting a PID Loop

You can use the PID Plotting Tool to view the status of a PID loop in a program that has been downloaded to a controller along with the points that it uses.

Perform the following steps to plot a PID loop:

  1. Establish communication (USB or network) with the target controller.
  2. Open Tracer TU and the TGP2 Editor.
  3. Select Plot PID on the Program menu.

The Select a Program to open for PID Plotting dialog box appears.

  4. Highlight the program on the list that you want to view and click OK.

The program is displayed and is overlayed by the Select a PID to Plot dialog box.

  5. Select the PID block you want to plot and click OK.

The Graph Window appears displaying the plot.


Editing a Trane Factory Program

You can edit some factory programs that are part of a Trane factory blower coil, fan coil, or unit ventilator configuration.

  1. Select Program-> Upload to retrieve a program from the controller.
  2. Highlight the program on the "Select Program to Open for Editing" dialog box and click OK.

TGP2 retrieves the program from the controller and detects either that

  • Source code is available. TGP2 opens the source code in the editor and displays a Factory watermark in the background of the editing window.
  • No source code is available. The TGP2 Editor issues a message stating that the program is not editable. (No further action is possible.)

If source code is available, continue performing the following steps:

  3. Make edits to the program.

The Factory watermark is removed from the background of the editing window.

  4. Click Save.

The TGP2 Editor displays the Saving Using Factory Program Name message box.

  5. Click Yes to continue saving using the original factory program name.
  6. Select Tools > Validate / Compile.

Best Practice Simulate the modified program to be sure you get the results you expect.

  7. Select Program >Download.

The TGP2 Editor displays the Replacing Factory Program message.

  8. Click Yes to continue downloading the program.

See

  • Trane Factory Points and Programs
  • Uploading a TGP2 Program


Downloading a TGP2 Program

You can download individual TGP2 programs to the programmable controller to which Tracer TU and the TGP2 Editor are currently connected.

Note The term "download" refers to transmitting a file to the controller, whereas "upload" refers to the act of retrieving a file from the controller for editing in the TGP2 Editor on your PC.

Perform the following steps to download a TGP2 program to a controller:

  1. Establish communication (USB or network) with the target controller.
  2. Open Tracer TU and the TGP2 Editor.
  3. Bring up the program you want to download, so it is displayed in the Program Design Space.

Note Before downloading be sure you have validated, compiled, and simulated your program. (See the related topics listed below.)

  4. Select Download on the Program menu.

A progress meter appears at the bottom of the TGP2 Editor window. When the download operation is complete, the TGP2 Editor issues a confirmation message stating that the program has been successfully downloaded to the controller.

See

  • Creating a New Program
  • Validating and Compiling a Program
  • Simulating Program Execution


Uploading a TGP2 Program

You can upload individual TGP2 programs to PC memory from the programmable controller to which Tracer TU and the TGP2 Editor are currently connected for editing purposes or replacement.

Note The term "upload" refers to the act of retrieving a file from the controller for editing in the TGP2 Editor on your PC, whereas "download" refers to transmitting a file to the controller.

Perform the following steps to upload a TGP2 program to Tracer TU

  1. Establish communication with the target controller.
  2. Open Tracer TU and the TGP2 Editor.
  3. Select Upload on the Program menu.

The Select a Program to Open for Editing dialog box appears.

  4. Highlight the program on the list that you want to upload and click OK.

The program is displayed in the Program Design Space. You can now edit its contents.

When you have finished your edits and have validated, tested, and recompiled the program, follow the procedure in Downloading a TGP2 Program to return the revised program to the controller.

Note If you are attempting to modify programs that are part of a Trane factory blower coil, fan coil, or unit vent configuration, the Select a Program to open for editing dialog box displays the state of each program as Factory, Field-Applied, or Factory-Field Modified. See Trane Factory Points and Programs for an explanation of these program states.

Note Some factory blower coil programs are not editable, because they do not include source code. The TGP2 Editor notifies you that no source is available.


Deleting a Program from a Controller

You can delete a program from the controller if you no longer need it, or if you want to replace it with a superceding program.

Perform the following steps to delete a program from a controller:

  1. Establish communication with the target controller.
  2. Open Tracer TU and the TGP2 Editor.
  3. Select Delete on the Program menu.

The Select a Program to delete dialog box appears.

  4. Highlight the program on the list that you want to delete and click OK.


Creating and Managing Custom Blocks

This section includes procedures that guide you through Macro block creation, storage, and modification.

See

  • Creating a New Macro Block (Highlight Method)
  • Creating a New Macro Block (Manual Method)
  • Macro Creation Rules and Considerations
  • Creating a New Formula Block
  • Saving a Custom Block for Reuse


Creating a New Macro Block (Highlight Method)

You can create a new macro block by highlighting a group of blocks from an existing program and then right-clicking to create a macro block into which the selected blocks are automatically placed.

See Macro Creation Rules and Considerations for information you should keep in mind when creating a macro.

Perform the following steps to create a new macro block using the block highlighting method:

  1. Identify a program or a section of a program you would like to contain in a macro for possible reuse elsewhere.
  2. Select the blocks you want to use in the macro by pressing your left mouse key and guiding your cursor around the blocks, by selecting Select All on the Edit menu, or by pressing Ctrl-A.

The selected set of blocks is highlighted.

  3. Initiate the macro creation process by using one of the following methods:
  • Click the Macro/Formula menu and select Create Macro.
  • Right-click anywhere on the selected blocks and select Create Macro on the right-click menu.

Another program area appears with a new tab alongside the parent program tab. (In the following image, helpDate is the parent program and freq/2 is the macro.)

You are now in the Macro Design Space.

Macro ports are created for blocks that are linked to external inputs or outputs. (See Macro blocks for information on how input and output ports are assigned or created.)

  4. Edit the names of the various port blocks, as desired. (These port names are used to label the ports of the visible macro block.)
  5. (Optional) Arrange the order of the macro input and output ports using the controls in the Arrange Ports of Macro group box in the Macro Properties dialog box.

Note Arranging the order of the macro input and output ports does not change the placement of the internal port blocks or the external input and output blocks to which they are connected. It changes only the order of the inputs or outputs on the external view of the macro block.

  6. Save the Macro block to a library when you are done editing. (See Creating a Custom Library and Saving a Custom Block for Reuse.)
  7. Right-click the Macro block instance and select Properties on the right-click menu.

The Macro Properties dialog box appears.

  8. Enter a name and a description for your Macro block instance. (Macro and Formula blocks must have unique names. Duplication of names is not allowed.)

Once saved, the Macro block is reusable and can be modified or modified and saved as a different macro.

See

  • Creating a New Macro Block (Manual Method)
  • Macro block


Creating a New Macro Block (Manual Method)

You can create a macro block by constructing the macro manually, as you would a regular TGP2 program. Create a new Macro block instance and select and drag standard blocks and macro ports into the Macro Design Space).

See Macro Creation Rules and Considerations for information you should keep in mind when creating a macro.

Perform the following steps to create a Macro block instance using the manual construction method

  1. Highlight Macro block under the Macro Blocks section of the Toolbox pane.
  2. Drag and drop the Macro block instance on the Program Design Space.
  3. Right-click the Macro block instance and select Block Properties from the right-click menu.

The Macro Properties dialog box appears.

  4. (Optional) Enter a name and a description of your Macro block. (You can also do this after you build the macro content.)
  5. Click Save.
  6. Right-click the Macro block instance again.
  7. Select Macro and then Open Macro.

Another program area appears with a new tab alongside the program name (for example, one-shot (macroVar) -anyEdige in the following image. You are now in the Macro Design Space.

  8. Drag and drop standard blocks and Macro port blocks as needed. (See Macro blocks for specific information on how ports are created and used in macro definitions.)
  9. Build your macro as you would a normal program.

Note Keep code reuse and a generic approach in mind. A Macro block instance that is less dependent on specific inputs is more reusable.

  10. Save the macro to a new or existing library. (See Saving a Custom Block for Reuse.)

See

  • Creating a New Macro Block (Highlight Method)
  • Macro block


Macro Creation Rules and Considerations

Keep the following rules and considerations in mind as you create macros.

Disallowed Blocks

You cannot use the following blocks in a macro.

  • Analog, Binary and Multistate Input and Output blocks
  • Output Status block
  • Occupancy block

Blocks Requiring Careful Use

  • Analog, Binary, and Multistate Value blocks

Use these blocks carefully as they can pass properties to a macro without the use of an input port. They can also result in unintended interactions between macro blocks. It some cases, you may want to replace these blocks with input or output port blocks or macro variables.

  • Wireless blocks

Using the a Wireless Write block connected to a Macro Output Port block and its associated Wireless Read block connected to one of that Macro’s input ports will most likely cause an error during program validation. If that is the case, you have created a situation where an algorithm result is based on the result itself.


Creating a New Formula Block

You can create a new Formula block by completing the following steps.

Perform the following steps to create a new Formula block:

  1. Highlight the Formula block in the Toolbox pane.
  2. Press your left mouse button and drag the block into the Program Design Space.
  3. Right-click the block and select Properties on the right-click menu.

The Formula Properties box appears.

  4. Enter a meaningful name for your formula in the Name entry box.
  5. Enter a description in the Description box.

Documenting your formula assists other users if you share this formula block.

  6. Enter an expression in the Formula Expression box.

Inputs or variables that take passed in values must begin with a $ symbol. You can include up to eight (8) inputs. A single output is created automatically. (See Formula block for sample formulas.)

  7. Add functions and operators to your formula by selecting them from the drop-down list boxes.

(See Formula block for descriptions of the available functions and operators.)

  8. Click the Input Port Order tab to arrange the inputs in a specific order.
  9. Highlight an input and move it up or down using the up and down arrows.
  10. Click Save to close the block.

You can then save the block to a custom library for use in other programs. (See Saving a Custom Block for Reuse.)


Saving a Custom Block for Reuse

You can save the Macro blocks and Formula blocks you create. You can then reuse these custom blocks in other TGP2 programs. Saved Macro and Formula blocks can also serve as templates that you can modify and save as new blocks.

When you save a custom block, you can save it either to (1) a new section of the toolbox that you create when you save the block (referred to as a library), or (2) to an existing library that you have previously created. Create as many libraries as you require to arrange blocks for easy access. (See Creating a Custom Library.)

To save a custom block in a new library

  1. Complete the construction of the Macro or Formula block and close it.
  2. Right-click the closed block in the Program Design Space.

A menu appears.

  3. Select Formula or Macro, depending on which type of block you have created.
  4. Select Save Formula or Save Macro.

A Save As dialog box appears.

  5. Enter a library name that is meaningful to you in the File name box.
  6. Click Save.

Your new library containing your custom block appears at the bottom of the Toolbox pane.

To save a custom block in an existing library

  1. Complete the construction of the Macro or Formula block and close it.
  2. Right-click the closed block in the Program Design Space.

A menu appears.

  3. Select Formula or Macro, depending on which type of block you have created.
  4. Select Add Formula or Add Macro.

The Select a Custom Library dialog box appears.

  5. Select the library name to which you want to save the new custom block.
  6. Click OK.

Your new custom block now appears under the library to which you saved it.


Menus

This section contains topics that briefly describe the items included in the main TGP2 Editor menus.

See

  • File menu
  • Edit menu
  • View menu
  • Alignment menu
  • Macro/Formula menu
  • Point Configuration menu
  • Program Menu
  • Tools menu
  • Help menu


File menu

Select the following menu items or tool bar icons to complete these tasks.

New Program—Select New Program to initiate a new graphical program.

New Library—Select New Library to create a new section (or container) in the Toolbox pane. You can store your custom blocks, such as Formula and Macro blocks in this section.

Open—Select Open to open an existing Tracer graphical program (*.tgp2) file.

Save—Select Save to save the current Tracer graphical program. If the program was previously saved, it is saved with the same filename and the previous file is overwritten. If the program was not previously saved, the Save As dialog box appears.

Save As—Select Save As to save the current Tracer graphical program. Set the save options, such as file name, in the Save As dialog box.

Program Properties—Select Program Properties to edit the following information about the program:

  • Program name, author, project, and contact
  • Configuration: including run frequency, event trigger, or start-up
  • Units of measure used in the program.
  • Program description

Print—Select Print to print the active program.

Print Preview—Select Print Preview to view the active program as it will appear in printed form.

Page Setup—Select Page Setup to set the paper size, orientation, and margins.

Exit—Select Exit to close the TGP2 Editor.


Edit menu

Select the following menu items or tool bar icons to complete these tasks.

Undo—Reverses the most recent action. Select Undo repeatedly to reverse the most recent actions in order of occurrence.

Redo—Reverses the action of the Undo command. Select Redo repeatedly to reverse the most recent Undo actions in order of occurrence.

Cut—Removes the current selection and place it on the local clipboard.

Copy—Copies the current selection to the local clipboard.

Paste—Places the contents of the local clipboard into the current program at the upper left corner of the design workspace.

Delete—Removes the current selection from the design space.

Select All—Select the entire graphical program.

Block Properties—Accesses the properties of the selected block for editing. (Provides menu access to the block properties dialog boxes.)


View menu

Select the following menu items or tool bar icons to complete these tasks.

Page Break Preview—Displays the program with a watermark showing how it will break over two or more pages.

Toolbars—Provides toggles that control the visibility of individual toolbars.

Status Bar—Provides a toggle that controls the visibility of the status bar at the bottom of the screen.

Toolbox—Provides a toggle that controls the display of the Standard Blocks tree pane on the left side of the window. This toggle is useful if you need more horizontal space to view a wide program.

Output Window—Provides a toggle that controls the visibility of the Output Window at the bottom of the TGP2 Editor window. The Output Window is useful during program validation.


Alignment Menu

Select the following menu items (or the corresponding tool bar icons) to complete these tasks. In all four cases, the controlling block is the last block selected.

Left—Aligns the selected blocks to the left of the controlling block.

Right—Aligns the selected blocks to the right of the controlling block.

Top—Aligns the selected blocks to the top of the controlling block.

Bottom—Aligns the selected blocks to the bottom of the controlling block.


Macro\Formula Menu

Macro/Formula menu

Use this menu to access the Macro Editor to create, edit, save, and close macros (Macro blocks). A Macro block is a reusable code module that can contain standard routines or functions that can be placed in several programs. Once created Macro blocks can save programming time.

Create Macro—Displays the Macro Design Space (macro editor) with a blank work area on which you can create a new macro block.

Open Macro—Opens a dialog from which you can select an existing macro block for editing.

Save Macro—Saves the current Macro block content.

Add Macro—Displays the Select a Custom Library dialog box, which allows you to add the current macro block to an existing custom library.

Close Macro—Closes the current Macro block. (If you have not saved the block content, you are asked if you want to save it.)

Save Formula—Saves the current Formula block content.

Add Formula—Displays the Select a Custom Library dialog box, which allows you to add the current formula block to an existing custom library.


Point Configuration menu

Use this menu to access the Points Summary dialog box. You can create, edit, and delete points in new or existing configurations using the Point Configuration dialog boxes activated from the Points Summary dialog box. Refer to the Help text for each point type by clicking the Help button on the Point Configuration dialog box.

Points Summary—Displays a dialog box that lists the points currently in a file or on the controller. You can use the Action box options to create, edit, or delete points by type (analog input, binary output, and so on).

See

  • Configuring and Managing Points


Program Menu

Use this menu to view the status of all programs residing on the programmable controller to which you are connected, to upload, download, or delete programs, to view the status of a PID loop, or view the real-time status of a program.

Note This menu is visible only when you are connected to a controller. It does not appear when you are working in offline mode.

Program Status—Displays the Device Program Status dialog box where you can view information about the status of each program and the TGP2 runtime engine.

Plot PID—Displays graphs that plot the measured variable and the setpoint of the selected PID loop and the output of the selected PID loop over time, where each time interval is equal to the PID run frequency.

Upload—Makes the selected program available to the editor.

Download—Transfers the selected program to the controller.

Delete—Deletes the program from the controller.

View Real Time—Displays block outputs in a manner similar to simulation after the device processes the program.

Start Auto Refresh—Freezes or pauses the displayed data values while the program continues to run.


Tools menu

Select the following menu items or tool bar icons to complete these tasks.

Validate / Compile—Checks the program displayed in the Program Design Space to ensure that it complies with all wiring and data type rules. It then compiles the program into an executable (run) object.

Note Keep in mind that validation does not check program logic. That is, successful validation does not guarantee that a program actually does what you want it to do. Logic validation can be established only by thorough testing.

Start Simulation—Puts the TGP2 Editor into Simulation mode. The Program Design Space background color changes to gray to indicate that the TGP2 Editor is in simulation mode and the Change Values Table appears.

If this menu item is unavailable, compile then download your program and try again.

Simulation Options—Displays the Simulation Options dialog box used to set the run options for debugging or simulation. In the Simulation Cycles field, type the number of times you want the program to run in simulation mode when you choose Run from the Tools menu. Also, select the appropriate virtual time and date the simulation starts.

If this menu item is unavailable, click in the Program Design Space and try again.

Run—Runs the program currently in debug or simulation mode. Upon completion of program execution, the output value of each block appears in the Program Design Space (to the right of the corresponding block). In Simulation mode, the program runs as many times as specified in the Debug/Simulation Options dialog box.

If this menu item is unavailable, click in the Program Design Space and try again.

Exit Simulation—Exits simulation mode and returns the editor to edit mode.

Options—Accesses the TGP2 Display Options dialog box that contains controls you can use to set display colors, print settings, a grid option, and a custom block library default path.


Help Menu

Select the following menu items to complete these tasks.

Help Topics—Opens the Tracer Graphical Programming (TGP2) Help.

Block Reference—Opens a list of the TGP2 blocks with links to more information about each block.

About TGP2 Editor—Displays information about the TGP2 Editor software.


Reference/Help Information

This section contains topics that provide references to related documents and list legal and copyright information.

See

  • Related Documentation
  • Legal and Copyright Notices


Related Documentation

The following document is closely related to this Help system.

Tracer Graphical Programming (TGP2) Applications Guide (BAS-APG008-EN)

This guide provides a step-by-step tutorial to get you started with graphical programming. The early chapters introduce the TGP2 Editor and work through simple programs. Later chapters move into more complex programs containing several modules.

Tracer TU Help for Programmable Controllers

This Help document is an integrated feature of Tracer TU for Controls and Tracer TU Complete. It provides conceptual and procedural information supporting the Tracer TU service tool. The TGP2 Editor is launched from within Tracer TU, which also shares some capabilities and features with the TGP2 Editor, specifically with regard to point configuration and management.


Legal and Copyright Notices

© 2014 Trane
The TGP2 Editor (Associated with Tracer TU, Release 8.5) (TGP2-HLP02M-EN)

Warranty Disclaimer

This Help document and the information in it are the property of Trane and may not be used or reproduced in whole or in part, without the written permission of Trane. Trane has a policy of continuous product and product data improvement and reserves the right to change design and specification without notice. Although Trane has tested the hardware and software described in this guide, no guarantee is offered that the hardware and software are error free. Trane reserves the right to revise this publication at any time and to make changes to its content without obligation to notify any person of such revision or change.

Trane may have patents or patent applications covering items in this publication. By providing this document, Trane does not imply giving license to these patents.

Trademarks

Trane, the Trane logo, and Tracer are trademarks of Trane in the United States and other countries. All other brands and products referenced in this document are acknowledged to be the trademarks or registered trademarks of their respective holders.

Other Copyright Notices

Portions copyright © Adobe Systems Incorporated. All rights reserved.

Portions copyright © Microsoft Corporation. All rights reserved.

(06/05/14)


The TGP2 Editor

Project/TOC Book Title

The TGP2 Editor User Interface

The TGP2 Editor window has three main parts:

  • The Menu and Toolbar pane

  • The Program Design Space

  • The Toolbox pane

Menu and Toolbar pane

Use the menus and shortcut toolbars to perform standard application functions, such as

  • Opening a new or existing TGP2 program

  • Saving a program

  • Printing a program

  • Copying parts of a program

  • Undoing changes made to a program.

  • Aligning the blocks in a program

  • Creating, opening, closing, and saving macros

  • Configuring points (inputs, outputs, and variables) that you can later associate with blocks in a program

  • Validate a program

  • Run a program in Simulation mode

  • Select user preferences (Display Options)

Toolbox Pane

The Toolbox pane lists the standard blocks and any custom Macro blocks and Formula blocks you have created and placed in custom libraries. You can select, drag, and drop these blocks onto the Program Design Space as you construct a TGP2 program. You can also place frequently used blocks in the Favorites section at the top of the Toolbox pane.

Program Design Space

Use the Program Design Space to construct the program by dragging and dropping block templates from the Toolbox pane, configuring their properties, and then wiring them together by connecting output and input ports with wires (analog and binary) to create the program flow.

-----Preliminary: Trane Confidential-----


Add Properties

Use the Add Properties dialog box to specify the number of inputs (up to eight analog values). (See Add block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—On this drop-down list, select the number of inputs (2 to 8) you want to add.


Air Flow Properties

Use the Air Flow Properties dialog box to select the input and output units associated with the airflow calculation.

Dialog Box Content

Duct

Cross-Sectional Area—In the left entry box, enter the duct cross-sectional area for the air-volume flow-rate calculation, then select the appropriate units from the drop-down list on the right. The list includes the following units: in, ft, or m to the second power (squared).

Input Units

Velocity Pressure—In this list, click the units for the velocity-pressure input to the block. The list includes the following units: in (H2O) and Pa

Output Units

Air Volume Flow Rate—In this list, click the units for the calculated air-volume flow-rate output of the block. The list includes the following units: cfm, ccfm, kcfm, m3/s, L/s

See

  • Air Flow block


Analog Constant Properties

Use the Analog Constant Properties dialog box to specify a constant value. (See Constant (Analog) block for a description of how this block works.)

Dialog Box Content

Output Group Box

Analog Value—Enter the required numeric value.

Decimal Places—Use the drop-down list to specify the number of decimal places you want to include in the constant value.

Time Of Day—Use the spin box to specify hours, minutes, and seconds.

(Select one of the following options and then select the appropriate value from the drop-down list.)

Day of Week—Days of the week

Day of Month—Numbers 1 - 31

Month of Year—Names of the months: January through December

Day of Year—Numbers 1 - 166

Week of Year—Numbers 1 - 53

Year—Years 2000 through 2100


Analog Diagnostic Properties

Diagnostic Analog Properties

Use the Diagnostic Analog Properties dialog box to link an Diagnostic Analog block to an existing event object and select the ports required for your purposes. (See Diagnostic Analog block for a description of how this block works.)

Dialog Box Content

Diagnostic Properties

Mode

Absolute Alarm Limits—Select this option to use the Low Alarm and High Alarm setpoints as absolute values. (See Diagnostic Analog block for a description of absolute and relative alarm limits.)

Relative Alarm Limits—Select this option to use the Low Alarm and High Alarm setpoints as relative values or offsets.

Delay Time Units—Select seconds, minutes, or hours as delay time units.

Return to Normal Deadband—Enter the quantity of units above and below the deadband that defines the range in which a value remains in high alarm or low alarm.

Outputs

Any Alarm—If this box is checked, an output port for the all alarm setpoints is added to the block.

High Alarm—If this box is checked, an output port for the high alarm setpoint is added to the block.

Low Alarm—If this box is checked, an output port for the low alarm setpoint is added to the block.


Analog Global Variable Properties

Use the Analog Global Variable Properties dialog box to create a variable that is accessible to all programs on a controller. (See Analog Global Variable block for a description of how this block works.)

Dialog Box Content

Read / Write

Read—Sets the block to read data from the variable. If you select this option, the block has an output port.

Write—Click this option to set the block to write data to the variable. If you select this option, the block has an input port.

Select

Variable Name—Select an integer value from 1 through 127.


Analog Input Port Properties

Use the Analog Input Port Properties dialog box to enter a name for the macro input port. (See Analog Input Port block for a description of how this block works.)

Port Properties

Port Name—Enter a meaningful name for the input port that reflects the name of the external item it references.


Analog Input Properties

Use the Analog Input Properties dialog box to associate the block with a predefined point and to specify output ports. (See Analog Input block for a description of how this block works.)

Dialog Box Content

Analog Input Name—Use this drop-down list to specify a predefined point you configured using the Analog Input Properties Point Configuration dialog box on the Point Configuration menu. (You can also access the Analog Input Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Analog tab screen.)

Output Ports—Select the output ports corresponding to the parameters specified in the configuration of the analog input point selected from the Name list.

Value—The analog value passed by the input.

Fail/Fault—Select this port to pass

  • A fault status if the minimum or maximum values set on the Configuration tab of the Analog Value Point Configuration dialog box are exceeded.

  • A fail status if the point value falls outside the high and low alarm limits.

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Tov [ON] / Tov [Cancel]—Creates a port to pass a logical value used to enable or cancel a temporary override.

* and **—Creates a port to pass a value from a thumbnail on a sensor.

Minimum Value—Select this port to make the minimum value specified in the analog point configuration available. If the point's value exceeds the minimum value, it goes into fault.

Maximum Value—Select this port to make the maximum value specified in the analog point configuration available. If the point's value exceeds the maximum value, it goes into fault.

Low Limit—Select this port to make the associated point's low limit alarm value available. If the point's value exceeds the low limit alarm value AND alarming is possible, it sends an alarm.

High Limit—Select this port to make the associated point's high limit alarm value available. If the point's value exceeds the high limit alarm value AND alarming is possible, it sends an alarm.


Analog Output Port Properties

Use the Analog Output Port Properties dialog box to enter a name for the macro output port. (See Analog Output Port block for a description of how this block works.)

Port Properties

Port Name—Enter a meaningful name for the output port that reflects the value it is passing.


Analog Output Properties

Use the Analog Output Properties dialog box to select the name of a predefined analog output. (See Output (Analog) block for a description of how this block works.)

Name—Use this drop-down list to specify a predefined point you configured using the Analog Output Properties Point Configuration dialog box on the Point Configuration menu. (You can also access the Analog Output Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Analog tab screen.)

Input Ports—Select the output ports corresponding to the parameters specified in the configuration of the analog input point selected from the Name list.

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Priority Level—Select to allow the value object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Note An output should be controlled from only one program. Within that program, an output should only appear once. Following this best practice will avoid confusion and eliminate ambiguous output control.


Analog Output Status Properties

Analog output status is the value of the selected analog output after all other control source requests have been arbitrated. Use the Analog Output Status Properties dialog box to select the name of a predefined analog hardware output and to select the available ports. (See Analog Output Status block for a description of how this block works.)

Output (Hardware)—Use this drop-down list to specify a predefined point you configured using the Analog Output Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Analog Output Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Analog tab screen.)

Output Ports—Select the output ports corresponding to the parameters specified in the configuration of the analog output point selected from the Name list.

Priority Level—Select to allow the value object's control priority to be read from within a program. Active priority can be an integer value from 1 through 16.

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Fail/Fault—Select this port to pass

  • A fault status if the minimum or maximum values set on the Configuration tab of the Analog Output Point Configuration dialog box are exceeded.
  • A fail status if the point value falls outside the high and low alarm limits.

Minimum Value—Select this port to make the minimum value specified in the analog point configuration available. If the point's value exceeds the minimum value, it goes into fault.

Maximum Value—Select this port to make the maximum value specified in the analog point configuration available. If the point's value exceeds the maximum value, it goes into fault.

Low Limit—Select this port to make the associated point's low limit alarm value available. If the point's value exceeds the low limit alarm value AND alarming is possible, it sends an alarm.

High Limit—Select this port to make the associated point's high limit alarm value available. If the point's value exceeds the high limit alarm value AND alarming is possible, it sends an alarm.


Analog Value Properties

Use the Analog Value Properties dialog box to associate the block with a predefined point and to specify input (write) or output (read) ports. (See Analog Value block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Analog Value Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Analog Value Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Analog tab screen.)

Read / Write

Read—Select to make a value object's value available to the program. If you select this option, the block has an output port.

Write—Select to make a value object's value writable by a program. If you select this option, the block has an input port.

Input Ports

Priority Level—Select this port to allow the object's control priority to adjusted from within a program. All value objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Output Ports

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Fail/Fault—Select this port to pass

  • A fault status if the minimum or maximum values set on the Configuration tab of the Analog Value Point Configuration dialog box are exceeded.
  • A fail status if the point value falls outside the high and low alarm limits.

Priority Level—Select to allow the value object's control priority to be read from within a program. Active priority can be 1 through 5 and 7 through 16. Priority level 6 (minimum on/off) is not available.

Minimum Value—Select this port to make the minimum value specified in the analog point configuration available. If the point's value exceeds the minimum value, it goes into fault.

Maximum Value—Select this port to make the maximum value specified in the analog point configuration available. If the point's value exceeds the maximum value, it goes into fault.

Low Limit—Select this port to make the associated point's low limit alarm value available. If the point's value exceeds the low limit alarm value AND alarming is possible, it sends an alarm.

High Limit—Select this port to make the associated point's high limit alarm value available. If the point's value exceeds the high limit alarm value AND alarming is possible, it sends an alarm.


Analog Wireless Read Properties

Use the Analog Wireless Read Properties dialog box to select the name of the corresponding Wireless Read Analog block from which this block reads. (See Analog Wireless Read block for a description of how this block works.)

Dialog Box Content

Name—Select the name of the corresponding Wireless Write Analog block whose value is to be read by this Wireless Read Analog block.


Analog Wireless Write Properties

Use the Analog Wireless Write Properties dialog box to enter the name of the analog value written to this wireless write block. (See Analog Wireless Write block for a description of how this block works.)

Dialog Box Content

Create

Name—Select the predefined analog input to be written by the Wireless Write Analog block.

Cascade update all corresponding wireless read blocks—Select this check box so that all its corresponding wireless read blocks are updated if the write block value changes.


And Properties

Use the And Properties dialog box to specify the number of inputs (up to eight) you want to include in the And block. (See And block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—Use this drop-down list to select the number of inputs (2 to 8) you want on the block.


Average Properties

Use the Average Properties dialog to specify the number of analog values you want to average. (See Average block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—On this drop-down list, select the number of inputs (2 to 8) you want averaged.


Between Properties

Use the Between Properties dialog box to specify whether or not the high or low limits of a range should be included in the range. (See Between block for a description of how this block works.)

Dialog Box Content

High Limit

Include limit (<)—Select this radio button to include the high value as part of the range.

Exclude limit (<)—Select this radio button to exclude the high value from the range.

Low Limit

Include limit (>)—Select this radio button to include the low number as part of the range.

Exclude limit (>)—Select this radio button to exclude the low value from the range.


Binary Constant Properties

Use the Binary Constant Properties dialog box to specify a binary value for a Binary Constant block. (See Binary Constant block for a description of how this block works.)

Note Binary values can be viewed as Boolean, because they supply the alternate values of an OR condition.

Dialog Box Content

Output

Active (True)/Inactive (False)—Select the required binary setting. You can enter corresponding values in the text boxes (Yes/No, TRUE/FALSE, or ON/OFF). For example, if you want to supply a constant of Yes to a Switch block, select the On check box and enter Yes in the entry box to the right.


Binary Global Variable Properties

Use the Binary Global Variable Properties dialog box to create a variable that is accessible to all programs on a controller. (See Binary Global Variable block for a description of how this block works.)

Dialog Box Content

Read / Write

Read—Sets the block to read a status from the variable. If you select this option, the block has an output port.

Write—Click this option to set the block to write a status to the variable. If you select this option, the block has an input port.

Select

Variable Name—Select an integer value from 1 through 127. (Global variables are identified by number.)


Binary Input Port Properties

Use the Binary Input Port Properties dialog box to enter a name for the macro input port. (See Binary Input Port block for a description of how this block works.)

Port Properties

Port Name—Enter a meaningful name for the input port that reflects the name of the external item it references.


Binary Input Properties

Use the Binary Input Properties dialog box to specify the binary input point represented by a binary input block. (See Binary Input block for a description of how this block works.)

Dialog Box Content

Binary Input Name—Use this drop-down list to specify a predefined point you configured using the Binary Input Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Binary Input Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Input Ports

Reset Run Time—Select this port to make the run time reset available to the program. If the port is set to true, the run time is set to 0.

Reset Change of State Count—Select this port to make the change of state reset available to the program. If port is set to true, the change of state count is set to 0.

Output Ports

Value—Select to make the object's value available to the program.

Fail/Fault—Select this port to pass

  • A fault status if the value cannot be read or written.
  • A fail status if the point value matches the alarm value.

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Run Time—Select this port to have the binary object's run time (in seconds) available in the program.

Change of State Count—Select this port to have the binary object's change of state counts available in the program. This value includes false to true and true to false state changes.


Binary Output Port Properties

Use the Binary Output Port Properties dialog box to enter a name for the macro output port.

Port Properties

Port Name—Enter a meaningful name for the output port that reflects the value it is passing.


Binary Output Properties

Use the Binary Output Properties dialog box to specify the binary output point represented by a binary output block. (See Binary Output block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Binary Output Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Binary Output Point Properties Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Input Ports—Select the input ports corresponding to the parameters specified in the configuration of the binary output point selected from the Name list.

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Priority Level—Select to allow the value object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Reset Run Time—Select this port to make the run time reset available to the program. If the port is set to true, the run time is set to 0.

Reset Change of State Count—Select this port to make the change of state reset available to the program. If port is set to true, the change of state count is set to 0.


Binary Output Status Properties

Use the Binary Output Status Properties dialog box to select the name of a predefined binary hardware output. (See Binary Output Status block for a description of how this block works.)

Output (Hardware)—Use this drop-down list to specify a predefined point you configured using the Binary Output Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Binary Output Point Properties Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Output Ports—Select the output ports corresponding to the parameters specified in the configuration of the binary output point selected from the Name list.

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Fail/Fault—Select this port to pass

  • A fault status if the value cannot be read or written.
  • A fail status if the point value matches the alarm value.

Change of State Count—Select this port to have the binary object's change of state counts available in the program. This value includes false to true and true to false state changes.

Priority Level—Select to allow the value object's control priority to be read from within a program. Active priority can be an integer value from 1 through 16.


Binary to Number Properties

Use the Binary to Number Properties dialog box to specify a numeric value for the binary-to-number conversion. (See Binary to Number block for a description of how this block works.)

Dialog Box Content

Output

Output Value When True—Use this text box to enter the numeric value with up to four numerals to the right of the decimal.


Binary Value Properties

Use the Binary Value Properties dialog box to associate the block with a predefined point and to specify an input (write) or output (read) port. (See Binary Value block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Binary Value Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Binary Value Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Read / Write

Read—Select to make a value object's value available to the program. If you select this option, the block has an output port.

Write—Select to make a value object's value writable by a program. If you select this option, the block has an input port.

Input Ports

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Priority Level—Select this port to allow the object's control priority to adjusted from within a program. All value objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Reset Run Time—Select this port to make the run time reset available to the program. If the port is set to true, the run time is set to 0.

Reset Change of State Count—Select this port to make the change of state reset available to the program. If port is set to true, the change of state count is set to 0.

Output Ports

Priority Level—Select to allow the value object's control priority to be read from within a program. Active priority can be 1 through 5 and 7 through 16. Priority level 6 (minimum on/off) is not available.

Not in Service—Select to allow the object's Not in Service status to be read from within a program.

Fail/Fault—Select this port to pass

  • A fault status if the value cannot be read or written.
  • A fail status if the point value matches the alarm value.

Change of State Count—Select this port to have the binary object's change of state counts available in the program. This value includes false to true and true to false state changes.


Binary Wireless Read Properties

Use the Binary Wireless Read Properties dialog box to select the name of the corresponding Wireless Read Binary block from which this block reads. (See Binary Wireless Read block for a description of how this block works.)

Dialog Box Content

Name—Select the name of the corresponding Wireless Write Binary block whose value is to be read by this Wireless Read Binary block.


Binary Wireless Write Properties

Use the Binary Wireless Write Properties dialog box to enter the name of the binary value written to this wireless write block. (See Binary Wireless Write block for a description of how this block works.)

Dialog Box Content

Create

Name—Enter the name of the binary value that will be written to this Wireless Write Binary block.

Cascade update all corresponding wireless read blocks—Select this check box to all corresponding Wireless Read Binary blocks automatically updated when there is a change to the Wireless Write Binary block.


Comment Properties

Use the Comment Properties dialog box to enter a short comment you can display anywhere in your program. (See Comment block for a description of how this block works.)

Dialog Box Content

Comment—Type your text in this entry box.


Date Properties

Use the Date Properties dialog box to select the particular form of the current date you want to use.

Current Date—Click the option button to indicate your choice.

Day of the Week—Returns an integer value between 1 and 7.

Day of the Month—Returns an integer value between 1 and 31.

Day of the Year—Returns an integer value between 1 and 366.

Week of the Year—Returns an integer value between 1 and 53.

Month of the Year—Returns an integer value between 1 and 12.

Year—Returns a four digit value.


De-Enum Ext Properties

De-Enum-Ext

Use the De-Enum-Ext Properties dialog box to specify up to 200 enumerations for use in Tracer SC programs. As with the Macro and Formula blocks, the De-Enum Ext block can be saved into a user library. See Saving a Custom Block for Reuse for the correct procedure. (See De-Enum Ext block for a description of how this block works and examples.)

Name—Enter a name for the block.

State Range Selection—You can specify additional enumerations by entering separate numbers or ranges separated by commas. Use a dash to signify a range (for example, 1-5, 8, 10-22, 30-45). Be sure to press Enter when you have finished entering all numbers and ranges. The enumerations you specify are then displayed in the enumeration list.

State Selection Box—Check to enable the output port. The output port should use the text in the state label field

State Label Field—Enter the state text used to label the appropriate output port after selecting its check box. (The field is enabled when the State Selection box is selected. If the State Selection box is selected, the default is the state number. For example: state 12 default text is “12”.


De-Enumerator Properties

De-Enumerator Properties (De-Enum / De-Enum-Ext)

De-Enum Block

Use the De-Enumerator Properties dialog box to specify up to 15 analog enumerations that can be used to test analog inputs to produce a binary output. (See De-Enumerator block for a description of how this block works.)

Normal Settings

Entry boxes (1 - 15)—Select the check box and enter an enumeration in each of as many boxes as required.

Validity Settings (oxFF, oxFFF, oxFFFF)—Select any of these settings to indicate that none of the enumeration ports are true due to an invalid status. (The invalid status originates from a LonTalk® device.)


Deadband Properties

Use the Deadband Properties dialog box to specify the mode of on/off control applied to a device, object, or function based on a value, a setpoint, and a deadband (range). (See Deadband block for a description of how this block works.)

Mode

Greater Than (Assume Cooling)—Select this option if you want the output of the deadband function to turn on when the measured value exceeds the setpoint.

Less Than (Assume Heating)—Select this option if you want the output of the deadband function to turn on when the measured value falls below the setpoint.

Centered—Select this option if you want the output of the deadband function to turn on when the measured value exceeds the setpoint plus one half of the deadband.


DeEnum.ChillerSequence Properties

Use the DeEnum.ChillerSequence Property dialog box to select the ports that will be available in the program. (See DeEnum.ChillerSequence block for a description of how this block works.)

Dialog Box Content

0.1 base port visible—Select true to make the base port available when programming. The output is true if the input equals 0.1, which indicates that the chiller is set as a “base” chiller.

0.2 peak port visible—Select true to make the base port available when programming. The output is true if the input equals 0.2, which indicates that the chiller is set as a “peak” chiller.

0.3 swing port visible—Select true to make the base port available when programming. The output is true if the input equals 0.3, which indicates that the chiller is set as a “swing” chiller.

01.sequence 1 port visible ... 25.sequence 25 port visible—Select true to make the base port available when programming. The output will be true if the input equals 1 through 25 respectively.


Degree Days Properties

Use the Degree Days Properties dialog box to set up the block to calculate heating degree days and cooling degree days on a daily, monthly, or yearly basis. (See Degree Days block for a description of how this block works.)

Dialog Box Content - Tab 1: Calculation

Mode—Select heating degree days or cooling degree days output from the block. (Default is heating degree days)

Base Temperature—Select a temperature as the threshold temperature. (The default is 65 deg F.)

Reset Configuration—Select one of these four options using the radio buttons.

  • Last Day of Month—This is the default setting, which is used if you make no other selection.
  • Day of Month—Select this option if you want to reset the calculation on a day other than the last day of the month. Select the particular day from the drop-down list.
  • Reset Port—Select this option to reset the calculation when the binary value passed to this Reset port transitions from Off to On.
  • None—Select this option if you do not want a reset to occur. (The runtime and starts values accumulate indefinitely.)

Outputs—Select the output ports you want to use on this instance of the block. Default is no ports selected. If Reset Port or None is selected the following output ports are available:

  • Today’s Value
  • Current Period Value

If Last Day of Month or Day of Month is selected the following output ports are available:

  • Today’s Value
  • Current Period Value
  • Yesterday’s Value
  • Last Period Value

Dialog Box Content - Tab 2: Persistence

Use this tab to assign persistence variables to the desired outputs. Persistence variables are Analog Value points you create separately using the Point Configuration dialog boxes. These values survive power interruptions, provide startup values, and are exposed to the network. Persistence variables are saved to non-volatile memory on every 60 minutes.

Select a predefined analog value from the drop-down list box for each output you want to use in your program.


Delay on Start Properties

Use the Delay on Start Properties dialog box to specify the method and units used to count the delay time. (See Delay on Start block for a description of how this block works.)

Dialog Box Content

Configuration Properties

Timer Mode—Select System Time or Program Cycles.

Delay Time Units—Select Hours, Minutes, or Seconds.


Delay on Stop Properties

Use the Delay on Stop Properties dialog box to specify the method and units used to count the delay time. (See Delay on Stop block for a description of how this block works.)

Dialog Box Content

Configuration Properties

Timer Mode—Select System Time or Program Cycles.

Delay Time Units—Select Hours, Minutes, or Seconds.


Demand Calculation Properties

Use the Demand Calculation Properties dialog box to specify the method used to calculate demand, how and when the billing period is to be reset, and which values are passed as outputs to the program. (See the Demand Calculation block for a description of how this block works.)

Dialog Box Content - Tab 1 (Calculation)

Calculation Type

Select the type of calculation you want performed from the drop-down list. Options include peak demand for various time intervals and averages (Fixed Window, Rolling Window, and Thermal).

Conversion Value

Input Units—Select KILOWATTS or KILOWATT HOURS depending on the meter specification.

Output Units—This value is always specified as KILOWATTS.

Conversion Value—This value is system-determined.

Billing Period Reset

Select one of the following options.

Last Day of Month—This is the default setting, which is used if you make no other selection.

Day of Month—Select this option if you want to reset the calculation on a day other than the last day of the month. Select the particular day from the drop-down list.

Reset Port—Select this option to reset the calculation when the binary value passed to this Reset port transitions from Off to On.

None—Select this option if you do not want a reset to occur. (The runtime and starts values accumulate indefinitely.)

Outputs

You can select from the following outputs. (Availability depends on the Reset Configuration option you selected.)

Instantaneous Value—The demand value resulting from the last calculation.

Today's Peak Value—Peak demand for the current 24 hour period (starting at 12:00 a.m).

Yesterday's Peak Value—Peak demand for the previous 24 hour period.

Current Period Peak Value—Peak demand for the current billing period (month)

Last Period Peak Value—Peak demand for the last billing period (month).

Year to Date Peak Value—Peak demand year-to-date.

Rolling Window Configuration

Total Interval—The unit of time corresponding to a billing unit (usually 15 minutes), which is divided into subintervals for fixed window or rolling window averaging calculations. (See Demand Calculation block for details.)

Dialog Box Content - Tab 2 (Persistence)

Value Mapping

Use this tab to assign persistence variables to the desired outputs. Persistence variables are Analog Value points you create separately using the Point Configuration dialog boxes. These values survive power interruptions, provide startup values, and are exposed to the network. Persistence variables are saved to non-volatile memory every 60 minutes.

Select a predefined analog value from the drop-down list box for each output you want to use in your program.


Device Program Status

Use the Device Program Status dialog box to view the status of all programs on a controller.

Access

Select Program > Program Status.

Dialog Box Content

Status Table—The Program Status table columns display the following information:

Instance—A numeric identifier associated with each program in the controller

Name—The program name

State—Indicates whether the program is Paused or Ready (to execute).

Status—The status of the program at sample time (for example, Idle, Waiting, or Running)

Run Type—How the program is activated (for example, Startup, Scheduled, Triggered only)

Interval—The time between program starts (for example, 10 minutes)

Duration—The amount of time the program takes to run from the first instruction to the last instruction. (This value should always be less than the Interval.)

Error—Operational state, whether normal or error terminated (for example, Breakpoint encountered, Stack overflow)

Control—Used to pause or resume execution of a program. (Toggles between Pause and Ready.)

Origination—Indicates whether a program is currently (1) in its original state (Factory), (2) a custom program written in the field (Field-Applied), or (3) an unsealed and edited factory program (Factory-Field Modified).

Device Group Box

TGP2 Runtime Status—Operational state of the TGP2 runtime engine in which all programs execute.

Pause (Runtime)—Click to pause or start the TGP2 runtime.

Resource Consumed—The percentage of volatile memory used for TGP2 control in the connected device.

ROM Resources Consumed—Indicates the percentage of non-volatile memory used to store TGP2 programs and configuration in a the connected device.


Dewpoint Properties

Use the Dewpoint Properties dialog box to specify input and output units for calculating the dewpoint temperature of moist air based on dry-bulb temperature (°F or °C) and relative humidity(%). (See Dewpoint block for a description of how this block works.)

Dialog Box Content

Input Units

Dry-Bulb Temperature—Displays the specified temperature units, either °F or °C.

Relative Humidity—Fixed units (percentage).

Output Units

Dewpoint—Displays the unit matching the one selected for Dry-Bulb Temperature.


Enthalpy Properties

Use the Enthalpy Properties dialog box to specify input and output units for calculating the enthalpy of moist air based on dry-bulb temperature (°F or °C) and relative humidity(%). (See Enthalpy block for a description of how this block works.)

Dialog Box Content

Input Units

Dry-Bulb Temperature—Displays the specified temperature units, either °F or °C.

Relative Humidity—Fixed units (percentage).

Output Units

Enthalpy—Fixed units (Btu/lbm).


Equipment/Application Analog Input Properties

Use the Equipment/Application Analog Input Properties dialog box to select a reference for the E/A Analog Input block and to select output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (devices, spaces, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.

Value—Provides the analog value from the reference. (Selected by default.)


Equipment/Application Analog Output Properties

Use the Equipment/Application Analog Output Properties dialog box to select a reference for the E/A Analog Output block and to select input and output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (spaces, devices, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the feedback and occupancy request value for outputs.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Input Ports

Release—Select this port to allow the release of the analog object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the analog object.

Priority Level—Select to allow the analog object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.


Equipment/Application Binary Input Properties

Use the Equipment/Application Binary Input Properties dialog box to select a reference for the E/A Binary Input block and to select output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (devices, spaces, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.

Value—Provides the binary value from the reference. (Selected by default.)


Equipment/Application Binary Output Properties

Use the Equipment/Application Binary Output Properties dialog box to select a reference for the E/A Binary Output block and to select input and output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (spaces, devices, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Input Ports

Release—Select this port to allow the release of the binary object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the binary object.

Priority Level—Select to allow the binary object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.


Equipment/Application Multistate Input Properties

Use the Equipment/Application Integer Input Properties dialog box to select a reference for the E/A Multistate Input block and to select output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (devices, spaces, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.

Value—Provides the integer value from the reference. (Selected by default.)


Equipment/Application Multistate Output Properties

Use the Equipment/Application Integer Output Properties dialog box to select a reference for the E/A Multistate Output block and to select input and output ports.

Dialog Box Content

Reference

Selection Tree—Displays the appropriate reference objects for this block (spaces, devices, areas, variable air systems, chiller plant control). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name in the tree without expanding that object, the Value property is presented by default. (Click Save to accept the default.)

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.

Input Ports

Release—Select this port to allow the release of the integer object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the integer object.

Priority Level—Select to allow the integer object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Output Ports

Fail/Fault—Provides a binary True or False indicating whether the reference is operational or not.


Event Counter Properties

Use the Event Counter Properties dialog box to configure the Event Counter block and save your configuration. (See Event Counter block for a description of how this block works.)

Dialog Box Content

Trigger Direction

Select one of the two radio buttons (True ->False or False ->True) to specify the input state change that will increment the counter. Whenever the input state changes in the specified direction, the output value is incremented.


Feedback Alarm Properties

Use the Feedback Alarm Properties dialog box to configure the Feedback Alarm block with one of the three relationships listed under the Request/Status Relationship.

Dialog Box Content

Request/Status Relationship

Request XOR Status—Select this option if you want the output of the Feedback Alarm block to be true any time there is a mismatch between the output request and the status.

Request AND (NOT Status)—Select this option if you want the output of the Feedback Alarm block to be true when the output is requested on but the status is off.

(NOT Request) AND Status—Select this option if you want the output of the Feedback Alarm block to be true when the output is requested off but the status is on.

Timer Configuration Group Box

Timer Mode—Use this drop-down box to specify the timing mechanism used to track the delay time (System Time or Program Cycles). System Time refers to the elapsed time since the request status criteria was last met. Program Cycles refers to the number of program cycles since the request status criteria was last met.

Delay Time Units—Use this drop-down box to specify the time units (Hours, Minutes, Seconds). (This is available only when using System Time.)


Formula Properties

Use the Formula Properties dialog box to name, describe, and define a formula. (See Formula block for a description of how this block works.)

Dialog Box Content — Tab 1 (Block Details)

Name—Enter a meaningful name for the formula.

Description of Formula—Use this entry box to document your formula as a reminder, or so others can interpret it.

Formula Expression—Enter the full expression in this box observing the following conventions:

  • Specify the variable names to which inputs are passed beginning each with a dollar sign ($). For example, curDegDays would be defined as $curDegDays. The TGP2 Editor checks to make sure that the specified variable name does not duplicate reserved words or other syntax used for other program functions.
  • The output is analog only.

Select a Function—Double-click any item in this drop-down list to select and write it into the Formula Expression entry box. A text description of each function is displayed when you select it.

Function | Description
abs | Absolute value. (An unsigned number.)
acos | Arc cosine
asin | Arc sine
atan | Arc tangent
ciel | Round fractions up
cos | Cosine
dayofmonth | Number from 1 - 31
dayofweek | Number from 1 - 7.
dayofyear | Number from 1 - 365/366
evenodd | Determines whether a value is even or odd
floor | Round fractions down
hourofday | Number from 1 - 24
ln | Natural logarithm of a number
log10 | Base -10 logarithm
max | Returns the maximum value from a set
min | Returns the minimum value from a set
minuteofhour | Number from 1 - 60
mod | Modulus
month | Number from 1 - 12
rand | Generate a random integer
round | Round a floating point number
sin | Sine
sqrt | Square root
tan | Tangent
trunc | Truncate
weekofyear | Number from 1 - 52

Select an Operator—Double-click any item in this drop-down list to select and write an arithmetic operator into the Formula Expression entry box.

Operator | Description
+ | Addition
- | Subtraction
* | Multiplication
/ | Division
^ | Exponentiation (x to the power of y—for example x ^ y)

Dialog Box Content — Tab 2 (Input Port Order)

You can arrange the order of the input ports as needed to fit the needs of your program.

Arrange Formula Ports

Arrange Input Ports—Use the arrows on the right side of the list box to arrange your defined ports. (Highlight a port in the list that you want to move up or down, and then use the arrows to place it in the location you prefer. The ports on the block reflect the order you have created on this list.


Integer Global Variable Properties

Use the Integer Global Variable Properties dialog box to create a variable that is accessible to all programs on a controller. (See Integer Global Variable block for a description of how this block works.)

Dialog Box Content

Read / Write

Read—Sets the block to read an integer from the variable. If you select this option, the block has an output port.

Write—Click this option to set the block to write an integer to the variable. If you select this option, the block has an input port.

Select

Variable Name—Select an integer value from 1 through 127. (Global variables are identified by number.)


Latch Properties

Use the Latch Properties dialog box to specify the mode and settings options for the Latch block. (See Latch block for a description of how this block works.)

Mode—Select one of the following modes:

  • Timed (latch time)—Outputs a binary signal for a specified time interval based on a change in state (from off to on) of a controlling binary input signal.
  • Timed (program cycles)—Outputs a binary signal for a specified number of program cycles based on a change in state (from off to on) of a controlling binary input signal.
  • Manual—Outputs a binary signal indefinitely based on a change in state (from off to on) of a controlling binary input signal.

Settings—Select one of the following two options:

  • Resettable—The block resets its countdown clock every time the input signal changes state from off to on.
  • Non-resettable—The block maintains its countdown clock despite repeated input signal changes in state.

Time Units—Specify the time units (seconds, minutes, or hours) used for the timed mode.


Limit Properties

Use this block to verify an input value is within a specified range. If the input is outside of the specified range, the block outputs the appropriate limit value. (See Limit block for a description of how this block works.)

Mode

High and Low Limits—Click this option to specify use of both high and low limits.

High Limit Only—Click this option to specify use of the high limit only.

Low Limit Only—Click this option to specify use of the low limit only.


Macro Properties

Use the Macro block to construct and contain custom programming logic (code) in a single block. Your completed macro block can then serve as a reusable routine in other programs. (See Macro block for a description of how this block works.)

Macro Name—Enter and edit a macro name. The name property can be changed regardless of whether the Macro block is locked or not.

Open Macro—Click this button to open the macro so you can enter, view, or edit its internal sequence of blocks.

Macro Description—Describe the function of your Macro block instance. Documenting your macro will enable other personnel to understand its function and use it properly.

Arrange Ports of a Macro

Arrange Input Ports—Use this list box to arrange the input port order from top to bottom. The ports will appear in the selected order on the external view of the macro block.

Arrange Output Ports—Use this list box to arrange the output port order from top to bottom. The ports will appear in the selected order on the external view of the macro block.


Analog Macro Variable Properties

Use the Analog Macro Variable Properties dialog box to specify an analog variable for use in a macro. (See Analog Macro Variable for a description of how this block works.)

Dialog Box Content

Block

Read—Sets the block to read a value from the corresponding macro write variable. If you select this option, the block has an output port.

Write—Click this option to set the block to write a value to the variable. If you select this option, the block has an input port.

Select

Name—Enter the name of the variable (if write), or select the name of the corresponding macro analog write variable you want this (read) block to read.

Cascade update all corresponding macro variables—Check this box if you want all related read variables to be updated when the current variable is renamed.

-----Preliminary: Trane Confidential-----


Macro Variable Properties - Binary

Binary Macro Variable Properties

Use the Binary Macro Variable Properties dialog box to specify a binary variable for use in a macro. (See Binary Macro Variable for a description of how this block works.)

Dialog Box Content

Block

Read—Sets the block to read a value from the corresponding macro binary write variable. If you select this option, the block has an output port.

Write—Click this option to set the block to write a value to the binary variable. If you select this option, the block has an input port.

Create

Name—Enter the name of the variable (if write), or select the name of the corresponding macro binary write variable you want the (read) block to read.

Cascade update all corresponding macro variable blocks—Check this box if you want all related read variables to be updated when this variable is renamed.


Maximum Properties

Use the Maximum Properties dialog box to specify the number of analog values for which you want to programmatically determine the maximum. (See Maximum block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—On this drop-down list, select the number of inputs (2 to 8) from which you want to determine the maximum.


Minimum Properties

Use the Minimum Properties dialog box to specify the number of analog values for which you want to programmatically determine the minimum. (See Minimum block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—On this drop-down list, select the number of inputs (2 to 8) from which you want to determine the minimum.


Multiply Properties

Use the Multiply Properties dialog box to specify the number of analog values to be multiplied. (See Multiply block for a description of how this block works.)

Dialog Box Content

Expandable Block

Number of Inputs—On this drop-down list, select the number of inputs (2 to 8) to be multiplied.


Multistate Input Properties

Use the MultiState Input Properties dialog box to associate the block with a predefined point and to specify output ports. (See Multistate Input block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Multistate Input Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Multistate Input Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Output Ports

Value—Select to make the multistate input's value available to the program.

Fail/Fault—Select this port to pass

  • A fault status if the condition labeled Fault (set on the Alarm Configuration tab of the Multistate Input Point Configuration dialog box) occurs.
  • A fail status if the point's state value is not available.

Not in Service—Select to allow the point's Not in Service status to be read from within a program.


Multistate Output Properties

Use the MultiState Output Properties dialog box to associate the block with a predefined point. (See Multistate Output block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Multistate Output Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Multistate Output Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Input Ports

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Priority Level—Select to allow the object's control priority to be read from within a program. All output objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).


Multistate Output Status Properties

Multistate output status is the value of the selected output after all other control source requests have been arbitrated. These control sources can be program, manual override or communicated override. Use the Multistate Output Status Properties dialog box to select the name of a predefined multistate hardware output. (See Multistate Output Status block for a description of how this block works.)

Output (Hardware)—Select the name of an multistate output you defined in the Multistate Output Properties dialog box on the Points Configuration menu. (You can also access the Multistate Output Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Output Ports

Priority Level—Creates a port to pass the priority (control) level (1 through 16).

Not in Service—Use this port to cut the link to the output point's reference.

Fail/Fault—Select to allow the point's fail and fault status to be read from within a program.


Multistate Value Properties

Use the Multistate Value Properties dialog box to associate the block with a predefined point and to specify an input (write) or output (read) port. (See Multistate Value block for a description of how this block works.)

Dialog Box Content

Name—Use this drop-down list to specify a predefined point you configured using the Multistate Value Properties Point Configuration dialog box on the Points Configuration menu. (You can also access the Multistate Value Properties Point Configuration dialog box from the Tracer TU Controller Settings Utility Binary tab screen.)

Read / Write

Read—Select to make a value object's value available to the program. If you select this option, the block has an output port.

Write—Select to make a value object's value writable by a program. If you select this option, the block has an input port.

Input Ports

Release—Select this port to allow the release of the value object control at the current priority possible from a program. If the port is equal to true, then the release occurs. A release allows another (lower) control priority to use the value object.

Priority Level—Select to allow the object's control priority to be read from within a program. All value objects can be set and released at priority levels 1 through 5 and 7 through 16. Set or release is not available at priority level 6 (minimum on/off).

Output Ports

Not in Service—Select to allow the point's Not in Service status to be read from within a program.

Fail/Fault—Select this port to pass

  • A fault status if the condition labeled Fault (set on the Alarm Configuration tab of the Multistate Value Point Configuration dialog box) occurs.
  • A fail status if the point's state value is not available.

Priority Level—Select to allow the value object's control priority to be read from within a program. Active priority can be 1 through 5 and 7 through 16. Priority level 6 (minimum on/off) is not available.


Occupancy Properties

Use the Occupancy Properties dialog box to select the schedule name associated with an Occupancy block. (See Occupancy block for a description of how this block works.)

Occupancy Properties Group Box

Name—Select the point used to determine the occupancy state of an area.


One Shot Properties

Use the One Shot Properties dialog box to set up the Edge Select value (true or false). Edge Select determines the output value (true or false) based on its relationship to the change or lack of change between the trigger value of the current program run and the trigger value of the previous program run.

Dialog Box Content

Edge Select—Select True or False.


Or Properties

Use the Or Properties dialog to specify the number of inputs used by the Or block. (See Or block for a description of how this block works.)

Expandable Block

Number of Inputs—Use this drop-down list to specify the number of inputs you want to use, and then click Save.


PID Properties

Use the PID Properties dialog box to set up a proportional-integral-derivative control (PID). (See PID block for a description of how this block works.)

Dialog Box Content

Name—Type a name for the PID block. The name is limited to a maximum of 24 characters.

PID Action—Under PID Action, click the option for the PID action you want to assign to the block. A direct acting loop increases the output when the measured variable increases. A reverse acting loop increases the output when the measured variable decreases.

Direct—Click this option to set the PID action to direct acting. A direct acting loop increases the output when the measured variable increases. Cooling loops are direct acting. Chilled water valves and economizers are examples of equipment that are controlled by direct acting loops.

Reverse—Click this option to set the PID action to reverse acting. A reverse acting loop increases the output when the measured variable decreases. Heating and duct-static-pressure loops are reverse acting. Heating valves and supply-fan VFDs are examples of equipment that are controlled by reverse acting loops.

PID Setup

Frequency—Type the frequency at which the PID block is to execute. This frequency should be 0s, the default, or greater than or equal to the program run frequency. If left at 0s, the PID block output will be recalculated every time the program runs. This includes a program that has been triggered from a point change. If the frequency is set to the program run frequency or higher, the PID block output is recalculated whenever the time between program runs is greater than the PID frequency setting. A point change can be a binary or multistate point changing value or an analog point changing alarm state.

Error Deadband—The error deadband prevents the PID output from changing when the absolute value of the error is less than the error deadband.

Error Multiplier—Type the factor by which the error is multiplied to obtain a more stable outcome. This keeps proportional gain between 0.1 and 10.0. Some examples are outdoor air flow tracking and building differential pressure. Outdoor air flow is typically tracked in CFM and can exhibit large changes easily. The large changes can cause the PID output to swing from 100 to 0 unless the gains are set very small, such as a proportional gain of 0.02. If the error is divided by 100 (typical) or 1000, actuator control will be smoother. Building differential pressure presents the opposite problem. The error isn’t large enough to make the actuator move unless the gains are very large. Multiply the error by 10 or 100 to help move the actuator faster.

Allow Feedback Input—If you want a change in the new PID output to be added to the Feedback Input for each PID cycle when the program runs, click to select the Allow Feedback Input check box. A Feedback Input port is added to the PID block.

output(n) = Δoutput + FeedbackInput

If this check box is not selected, the previous PID block output is added to the change in the new PID output for each PID cycle.

output(n) = Δoutput + output(n-1)

Proportional Only—Select this check box to set the PID block to use proportional-only control.

Proportional Bias—Type the proportional bias for a PID block using proportional-only control. You can use the proportional bias to calibrate a controller to some known output. This bias becomes the output when the error is zero.

Output—Under Output, type the minimum and maximum PID-output limit values. Also, when the Fail input is true, the PID outputs its fail-safe-position value. And when the Enable/Disable input is false, the PID outputs its disable-position value. Type these values as well.

Maximum—Enter the maximum-output value of the PID loop.

Minimum—Enter the minimum-output value of the PID loop.

Disable Position—The output of the PID loop whenever the value of the Enable port is false.

Fail Safe Position—Enter the default value of the PID output that is set if the controller receives a fail flag from the hardware input that provides the measured variable.


Points Summary

Use the Points Summary dialog box to view and manage existing points.

Access

Select Point Configuration > Points Summary.

Dialog Box Content

Use this tab to create, review, copy, delete, and review the points in a configuration.

Point Types—Select one of the 9 point types you want to view (for example Analog Input).

Actions (drop-down list)

Edit—Use this option to edit an existing point configuration. The appropriate Properties dialog box appears.

Create New—Use this option to display a blank Point Configuration dialog box for the point type selected.

Copy—Use this option to copy an existing point configuration under a different name and then modify it to avoid extra typing.

Delete—Use this option to delete one or more point configurations.

Go—Click to perform the action selected on the Actions list.

Points Table

Instance—Sequence number assigned to the point in the file.

Point Name—Displays the point name.

Reference—Displays the controller termination point to which this point is mapped.

Save To File—Displays a Save As dialog box where you can select either an existing file or a new file name on your hard drive.

Save—Downloads the configuration (points file) to the controller. (Visible in online mode.)

Cancel—Discards all changes since last save and closes the dialog box.


Program Properties

Use the Program Properties dialog box to enter basic information about your program, configure the method by which the program is activated, and to describe its purpose.

Access

Select File > Program Properties.

Dialog Box Content

Summary

Project—Enter a meaningful title for your program.

Author—Enter the programmer's name.

Phone Number—Enter the programmer's contact number.

Version—Specify the program version, so you and other technicians can correctly identify and use the same program.

Statistics

Created—Date entered automatically by the TGP2 Editor.

Last Modified—Date entered automatically by the TGP2 Editor.

Program Description

Describe what the program does so others can understand its purpose and processing steps.

Configuration

Run Frequency—Select this option if the program is to run at a set time interval (for example, every 15 minutes). (The run frequency should exceed the time it takes the program to run from the first instruction to the last instruction.)

Event Trigger—Select this option if the program is to run in response to some triggering event.

Start-up—Select this option if the program is to run when started by an operator (service tool or operator display).

Unit Capability

System Units—Select this option to use the units of measure configured on the device in which the program runs.

SI (System International)—Select this option to use metric units.

I-P (Inch-Pound)—Select this option to use US units.

Miscellaneous

Resources Available—Indicates controller memory available when working online.


Reference Selection

Use the Reference Selection dialog box to specify a reference for a point. A reference is an object that serves as a destination for data or a source of data. You can directly reference properties of hardware terminations, data logs, applications, and equipment on both local and remote devices.

Access

Click the Reference Selection icon ( [image] ) in the Point Configuration dialog box to display the Reference dialog box.

Dialog Box Content

Current Referencer—Displays the name of the referencer (point) if one is currently selected.

Reference Location—Indicates that an currently existing reference is either Local or External (BACnet) External references come from the BAS (Tracer SC). If no reference currently exists, specify the appropriate value.

Change Data Source/Target Group Box

Disconnect from Reference—Select to remove the current reference. This action severs the connection to the reference and removes incoming or outgoing data.

Select Reference—Select to specify a data source or destination as the reference.

Reference Group Box

Current Referencer—Displays the name of the referencer (point) if one is currently selected.

Selection Tree—Displays the appropriate reference objects for a point type (local/remote hardware terminations, equipment, systems, spaces, and so on). You can expand the tree and make your selection from the objects included.

Note When you select a particular object name without expanding that object, the value property is presented by default. Click OK to accept the default.

Note If you select a piece of equipment from the Selection Tree without expanding the tree to view the equipment properties, Tracer TU defaults to the occupancy status value for inputs and feedback and occupancy request value for outputs.

Available Properties—Displays the available properties of a given object at any level on the Selection Tree. Select the desired property.


Runtime/Starts Properties

Use the Runtime/Starts Properties dialog box to set up a function that tracks the number of starts and the total running time of equipment. (See Runtime/Starts block for a description of how this block works.)

Dialog Box Content - Tab 1: Calculation

Name—Enter the name of the runtime/starts function.

Runtime Units—Select either hours or minutes.

Reset Configuration

Last Day of Month—Select this option to reset the counters on the last day of the month.

Day of Month—Select this option to reset the counters on any day of the month, then select the specific day from the drop-down list.

Reset Port—Select this option to reset the port based on an incoming value or state.

None—Select this option if you do not want to reset the counters.

Outputs

You can select one or more of the following outputs to capture various runtime values or cumulative starts. (A subset of the outputs are available if you select None in the Reset Configuration box.)

  • Today's Runtime Value

  • Current Period Runtime Value

  • Today's Starts

  • Current Period Starts

  • Yesterday's Runtime Value

  • Last Period Runtime Value

  • Year-to-date Runtime Value

  • Yesterday's Starts

  • Last Period Starts

  • Year-to-date Starts

Dialog Box Content - Tab 2 Persistence

Value Mapping

Use this tab to assign persistence variables to the desired outputs. Persistence variables are Analog Value points you create separately using the Point Configuration dialog boxes. These values survive power interruptions, provide startup values, and are exposed to the network. Persistence variables are saved to non-volatile memory every 60 minutes.


Select a Custom Library

Use the Select a Custom Library dialog box to select the existing custom library to which you want to save a new custom block.

Dialog Box Content

Selection Column—Click the cell next to the name of the library you want to select.

Library Name—Lists the names of all existing libraries previously created.

Path—Indicates the folder location of the library.


Select A PID dialog box

Select a Program to open for PID plotting

Select a PID loop to plot and click OK. See below for more information about each column in the table.

Access

Menu: Program > Plot PID

Dialog Box Content

Instance—This column displays the program ID, a numeric identifier associated with each program in the active controller.

Name—This column displays the program name. Each program listed contains at least one PID loop.

Origination—This column displays the status of the program as "Factory-Sealed", "Factory-Field Modified", or "Field Applied" (custom).


Select a Program to Open

Use this dialog to select programs for editing, validating, and compiling.

Dialog Box Content

Program List Box—Lists all programs available to be selected for the current operation.

Editable—Indicates (Yes/No) whether a program can be edited. Locked programs cannot be edited.

Program Status—Indicates if the program has been compiled or if only program source (.tgp2) exists.

Note Locked programs appear as "Not Compiled".

Name—The file name of the program.

OK—Click to open the selected program.

Cancel—Click to dismiss this dialog box.


Set/Reset Flip-Flop Properties

Use the Set/Reset Flip-Flop Properties dialog box to configure the Set/Reset Flip-Flop block. (See Set/Reset Flip-Flop block for a description of how this block works.)

Dialog Box Content

Qb Output Port Visible—Used to control the existence of the Qb output port. If set to true, the port is visible.

Ignore first program run—Used to determine if the first program run after reset, power cycle, or program download will see an initial condition of false.

  • If not selected (false), the Qa and Qb outputs are set or cleared based on the state of the S and R inputs respectively and the last state of the S and R inputs is assumed to be false.
  • If selected (true), the S and R inputs are assumed to not change at first program run.


Simulation Options

Use the Simulation Options dialog to set the number of cycles and date/time options you want to include in the simulation.

Access

Select Tools > Simulation Options when in Simulation mode.

Dialog Box Content

Options

Simulation Cycles—Specify the number of cycles you want the simulation to run.

Date-Time Settings

Use Current—Select this option to use the current date and time if your program is date or time dependent. You can keep using this same date and time on repeated simulations unless you choose to change it.

Change Simulation Start Date and Time—Select this option to enter an alternate date and time.

(drop-down list)—Select the date and time combination from this list.

Date and Time Synch Operation—Select this check box if you want to simulate a date-time request to a BAS.

Device Reset—Select this option to simulate a device reset either with connection to a BAS or with no BAS.

(drop-down list)—Select the date and time combination from this list.

Date and Time Synch Operation—Select this check box if you want to simulate a date-time request to a BAS as part of the reset.


Sunrise/Sunset Properties

Use the Sunrise/Sunset Properties dialog box to set up the latitude and longitude used to calculate the time of sunrise or sunset or to determine if daylight is present (true or false). (See Sunrise/Sunset Calculation block for a description of how this block works.)

Dialog Box Content

Sunrise/Sunset Properties

Latitude—Enter the Latitude in Degrees, Minutes, Seconds, and Direction for the desired location.

Longitude—Enter the Longitude in Degrees, Minutes, Seconds, and Direction for the desired location.

Inputs

UTC/GMT Offset—Select this check box to receive an input value equal to the number of hours, minutes, and seconds that your location varies from Coordinated Universal Time (UTC) and Greenwich Mean Time (GMT).

Daylight Saving Time Status—Select this check box, if applicable, to receive an binary input indicating either that Daylight Savings is in effect or not in effect. Leaving this check box unselected causes the calculation to disregard Daylight Saving Time altogether.

Outputs

Sunrise—Select this check box to add a port that passes out a value indicating the time of sunrise.

Sunset—Select this check box to add a port that passes out a value indicating the time of sunset.

Daylight—Select this check box to add a port that passes out a binary value indicating if it is currently daylight.


System Block Properties

Use the generic <system_block_name> Properties dialog box to specify the output ports to used with a given System block. Because System blocks are unknown to the TGP2 Editor, they use the generic System Block Properties dialog box. (See System Blocks for a description of these blocks.)

Dialog Box Content

Generic Properties Group Box

Property Name—This column lists all of the available outputs you can use with the block.

Property Value—Select true to make the port available; select false to keep the port hidden. In addition, you can change the numeric value of some properties, such as an offset value. Double-click in the Property Value row of the value you want to change. When you change the value, a pencil icon appears to the left of the Property Name.


TGP2 Display Options

Use the TGP2 Display Options dialog box to specify your display preferences. You can change screen colors, print settings, grid settings, the number of places to the right of a decimal point, and the location (path) of your custom block libraries.

Access

Select Tools > Options.

Dialog Box Content

Display Color Settings—Click the down arrow alongside any of the color indicators in the Display Color Settings group box (Editor Color, Editor Grid Color, and so on) to bring up a Color Selection popup box to change the TGP2 Editor window color settings for a variety of elements in the TGP2 Editor window.

Print Settings

Print Gridlines—Select this check box to print the gridlines as they are displayed on the screen.

Page Order Settings

Over, then down—Select to have wide programs prints all items on the same horizontal level before proceeding to the next level.

Down, then over—Select to have program content at the left printed in downward, vertical order, with printing resuming at the top right and again proceeding downwards.

Grid Settings

Display Grid Lines—Select this check box to display the gridlines on your screen.

Snap-to-Grid—Select this check box to have blocks and wires snap to (align with) the nearest gridline.

Display Numerical Settings

Digits to the Right of Decimal—Use the drop-down list to specify the number of digits you want to appear to right of the decimal point in displayed values.

Custom Block Library Path—Browse to the folder location in which you want to save custom block libraries. (See Creating a Custom Library.)


Totalization Calculation Properties

Use the Totalization Calculation Properties dialog box to set up a calculation of energy consumption. (See Totalization Calculation block for a description of how this block works.)

Dialog Box Content - Tab 1 (Calculation)

Conversion Value

Output Units—This value is always specified as KILOWATT_HOURS.

Input Units—Select KILOWATTS or KILOWATT_HOURS depending on the meter specification.

Conversion Value—This value is system-determined.

Reset Configuration

Select one of the following options.

Last Day of Month—This is the default setting, which is used if you make no other selection.

Day of Month—Select this option if you want to reset the calculation on a day other than the last day of the month. Select the particular day from the drop-down list.

Reset Port—Select this option to reset the calculation when the binary value passed to this Reset port transitions from Off to On.

None—Select this option if you do not want a reset to occur. (The runtime and starts values accumulate indefinitely.)

Outputs

You can select from the following outputs. (Availability depends on the Reset Configuration option you selected.)

Instantaneous Value—Total consumption for the current sample.

Today's Value—Total consumption for the current 24 hour period.

Yesterday's Value—Total consumption for the previous 24 hour period.

Billing Period Value—Total consumption for the current billing period (month)

Last Billing Period Value—Total consumption for the last billing period (month).

Year to Date Value—Total consumption to date for the current year.

Dialog Box Content -- Tab 2 (Persistence)

Value Mapping

Use this tab to assign persistence variables to the desired outputs. Persistence variables are Analog Value points you create separately using the Point Configuration dialog boxes. These values survive power interruptions, provide startup values, and are exposed to the network. Persistence variables are saved to non-volatile memory on every 60 minutes.


Web-bulb Properties

Wet-Bulb Properties

Use the Web-Bulb Properties dialog box to select the dry-bulb temperature units (°F or °C). (See Wet-Bulb block for a description of how this block works.)

Dialog Box Content

Input Units

Dry-Bulb Temperature—Displays the specified temperature units, either °F or °C.

Relative Humidity—Fixed units (percentage).

Output Units

Wet Bulb—Displays the unit matching the one selected for Dry-Bulb Temperature.


PID Plotting Tool

Use the PID Plotting Tool to view the status of a PID loop.

Setpoint and Measured Variable—Plots the measured variable and the setpoint of the selected PID loop over time, where each time interval is equal to the PID run frequency. The setpoint appears in green, and the measured variable appears in yellow.

Output—Plots the output of the selected PID loop over time, where each time interval is equal to the PID run frequency.

Plot/Stop—Click this button to start and stop the PID plot.

Right-click functions—Click an area in the PID Plotting dialog box with the right mouse button (right-click) to get additional functions. When the right-click menu appears, select one of the following options.

  • Save Measured Variable/Setpoint Chart as JPEG—Saves the Measured Variable and Setpoint chart to a graphic file of type *.jpg (JPEG).
  • Save Output Chart as JPEG—Saves the Output chart to a graphic file of type *.jpg (JPEG).
  • Print Measured Variable/Setpoint Chart—Prints the Measured Variable and Setpoint plot on the chart.
  • Print Output Chart—Prints the Output plot on the chart.
  • Save Data to a File—Saves the data represented by the charts to a tab-delimited text file.
  • Read Data from a File—Reads the data from a tab-delimited text file and displays it in the chart.+


Dialog Boxes

This section includes topics that describe some dialog boxes (other than the Block Properties dialog boxes) that you may encounter as you work in the TGP2 Editor.

  • Device Program Status
  • Points Summary
  • Program Properties
  • Simulation Options
  • TGP2 Display Options