What is the Logic Viewer and Editor widget?
This widget provides a single view of Logic Connection Tool (LCT) logic diagrams in Metasys UI and JCT. LCT logic is required to control certain aspects of a Building Automation System (BAS). Program (Control System) objects are often used to create supervisory control logic to comply with the sequence of operations called out in project plans, specifications, or contract documents for various systems in a BAS.
The widget consists of a viewing component, hereafter called Logic Viewer, and an editing component, hereafter called Logic Editor.
The Logic Viewer provides a visual representation of supervisory LCT logic for you to understand, trace, and troubleshoot logic in the Metasys system. The Logic Editor provides the functionality to create new logic and edit existing logic.
Who can access the Logic Viewer and Editor? Who can modify logic diagrams?
You do not require special authorization or licensing to access the Logic Viewer and Editor and to modify logic diagrams.
How do I access the Logic Viewer and Editor?
What is the layout of the Logic Viewer and Editor?
Number | Name | Description |
---|---|---|
1 | Main display | Provides a single view of the logic diagram. The diagram displays live values in Metasys UI and not in JCT. |
2 | Export | Exports the logic diagram in PDF format. |
3 | Edit | Click to open the Logic Editor. |
4 | Select | Select an element of the logic diagram and navigate to it. |
5 | Pan | Move the entire logic diagram. |
6 | Zoom In | Zoom in to the logic diagram. You can also move the wheel button on your mouse to zoom in. |
7 | Zoom Reset | Zoom Reset fits a logic diagram in the main display. The zoom level is adjusted based on the content of the logic diagram. |
8 | Zoom Out | Zoom out of the logic diagram. You can also move the wheel button on your mouse to zoom out. |
9 | Reference block example | Input Reference blocks and Output Reference blocks provide information and links for their referenced object and configured attribute. See the following figures. |
Figure 2. Input Reference block with connection line shown
|
Figure 3. Output Reference block with connection line hidden
|
Number | Name | Description |
---|---|---|
1 | Global status indicator icon | Appears when live values are shown. Displays the same global status indicator icon as appears in the Network tree and Views for the referenced object. |
2 | Object type icon | Displays the object type icon for the referenced object. |
3 | Referenced object | Identifies the referenced object by displaying its name or item reference as a link to the object. |
4 | Trigger icon | Applies to only Input Reference blocks. A star icon appears when the block is configured with Trigger selected. |
5 | Connection value and priority | When live values are shown, the connection
value displays near the starting connection point. For hidden
connections, the value also displays at the ending connection
point. For priority connections, the configured priority displays at the ending connection point. For hidden connections, the priority also displays at the starting connection point. Note: Comparing
the connection value and priority to the current value shown
in an Output Reference block can help you identify cases
where the logic is currently not in control. For example, in
the previous figure, you can see that an Operator Override
is controlling the referenced object, and as a result, the
lower priority value from the logic cannot take
effect.
|
6 | Information icon | When clicked, displays a tooltip with additional information and links for the referenced object, such as the configured attribute and the item reference. For server sites that have Spaces and Equipment defined, the tooltip also includes space and equipment information. |
7 | Status color bars | Appears only when live values are shown. Displays colored bars to indicate the current status of the referenced object. The colors match the status colors configured on the Graphic tab in Site Settings. |
8 | Current value | Appears only when live values are shown. Lists the current value and units (if applicable) for the configured attribute. If the configured attribute is the referenced object’s Present Value or default attribute, the value appears as a link to open Commanding. |
9 | Current priority or configured attribute |
When live values are shown and the configured attribute for the block is Present Value, this area lists the referenced object's current command priority when applicable, and is blank if Present Value does not support command priorities or its Priority Array is empty. For all other cases, this area lists the name of the configured attribute. |
Number | Name | Description |
---|---|---|
1 | Logic Blocks pane | Select from a range of logic blocks to create or edit a logic diagram. Hover over a logic block to see the name of the logic block. See Which logic blocks are available and what do they do? for more details. |
2 | Logic canvas | The logic canvas provides the display area for the logic that is currently open. You add, move, and delete logic elements in this area to create your logic diagram. |
3 | Logic Checker | Check the logic you created to find out if there are any configuration warnings. Hover over the relevant block or exclamation points to learn more about the configuration warnings. |
4 | Paste |
Paste elements that you cut or copied on the logic canvas. Keyboard shortcut to paste: Ctrl + V |
5 | Select |
Select an element of the logic diagram on the logic canvas to move or edit it. When you select an element of the diagram, the horizontal toolbar opens. Use this panel to edit the values in the property panel, copy, cut, duplicate, or delete an item. Keyboard shortcut to select: V |
6 | Pan |
See different views of the logic diagram. Keyboard shortcut to pan: H |
7 | Undo |
Undo the previous action on the logic canvas. Keyboard shortcut: Ctrl + Z |
8 | Redo |
Redo or reverse the previous undo action on the logic canvas. Keyboard shortcut: Ctrl + Y |
9 | Zoom In | Zoom in to the logic canvas. You can also move the wheel button on your mouse to zoom in. |
10 | Zoom Reset | Zoom Reset fits a logic diagram within the logic canvas. The zoom level is adjusted based on the content of the logic diagram. |
11 | Zoom Out | Zoom out of the logic canvas. You can also move the wheel button on your mouse to zoom out. |
13 | Save | Save the logic diagram. |
14 | Cancel | Cancel your work. |
Which logic blocks are available and what do they do?
Logic block category | Description |
---|---|
Tools | Contains the Text block. Use the Text block to insert a text box in the logic diagram. See How do I add a text box to a logic diagram in the Logic Editor? for more details. |
Input & Output | Gives you the ability to expose values from within the control logic, either as an input or output. These blocks are considered attributes of the Program (Control System) Object in which they are included. A control system is limited to a combination of 24 inputs and 24 outputs. See Table 5 for more details. |
Constant | Passes a constant value to building block inputs. See Table 6 for more details. |
Math | Performs mathematical functions on one or more inputs, producing a single output. See Table 7 for more details. |
Boolean | Performs Boolean functions on two to eight inputs, producing a single output. See Table 8 for more details. |
Statistical | Performs statistical functions on two to eight inputs, producing a single output. See Table 9 for more details. |
Selector | Performs multiplexing for two to eight inputs, producing a single output. Based on the current mode assigned to each input, the selector chooses which input to pass through to the output. See Table 10 for more details. |
Control | Performs control functions on three inputs, producing a single output. Most control logic blocks have three inputs. The blocks compare input number 1 with input number 2 using the differential (input number 3). The Sequencer functions differently. See Table 11 and What is a Sequencer block? for more details. |
Psychrometric | Performs psychrometric functions on the defined inputs, producing a single output. Psychrometric logic blocks have two inputs. See Table 12 for more details. |
Calculation | Controls the amount that an output can change per control system execution or extrapolates an output by using two inputs for reference. The Calculation category contains the Span block and Rate Limit block. See What is a Span block? and What is a Rate Limit (RL) block? for more details. |
Timing | Passes its input to its output at the next execution of the control system, every five seconds. Timing blocks are used to break up feedback loops. See Table 13 for more details. |
System | When you place a System block on the logic
canvas, a configuration wizard guides you through the
configuration of the control system. System blocks are useful
when you have complex logic, because they facilitate the nesting
of one control system under another control system. When you
create a System block, the Metasys software creates a Program
(Control System) Object under the first Program object in the
building network tree. Note: It is also
possible to add a child control system under a parent system
through the Network tree. However, after you add a child
system through the Network tree, you must view, modify, and
save the parent system before the child system begins
executing its
logic.
|
Type | Description |
---|---|
Input Reference | After you insert an Input Reference or Output Reference, you can edit which object or attribute is being referenced. You can also launch the command dialog directly from the Logic Viewer. |
Output Reference | |
Input blocks: FLOAT, ENUM, and BOOL | Drag the blocks from the Logic Blocks pane to the logic canvas. Click the Property Panel icon to configure the blocks. |
Output blocks: FLOAT, ENUM, and BOOL |
Type | Description |
---|---|
FLOAT | Float |
ENUM | Enumeration |
REL | Release. This block sends the Release command at a specific priority based on the connection. |
Block |
Math function |
Inputs |
---|---|---|
× | Multiply | 2–8 |
+ | Add | 2–8 |
÷ | Divide | 2 |
‒ | Subtract | 2 |
NEG | Negative | 1 |
ABS | Absolute | 1 |
SQRT | Square Root | 1 |
COS | Cosine | 1 |
SIN | Sine | 1 |
TAN | Tangent | 1 |
ATAN | Arc Tangent | 1 |
ASIN | Arc Sine | 1 |
ACOS | Arc Cosine | 1 |
EXP | Exponent: the operation of raising to a power, whereby the power value is connected as an input | 1 |
LN | Natural Log | 1 |
LOG | Log | 1 |
X^Y | X^Y | 2 |
Type |
Inputs |
---|---|
AND | 2–8 |
OR | 2–8 |
XOR | 2 |
NOT | 1 |
LATCH | See What is a Latch block? |
Type |
Inputs |
---|---|
AVG | 2–8 |
MAX | 2–8 |
MIN | 2–8 |
Type | Inputs |
---|---|
MUX | The Multiplexer block has 2–8 inputs, one mode input, and one output. Depending on the current value of the mode input, the Selector chooses which input passes through to the output. |
Block | Statistical type | Inputs |
---|---|---|
> | Greater than | 3 |
< | Less than | 3 |
≤ | Less than or equal | 3 |
≥ | Greater than or equal | 3 |
≠| Not equal | 3 |
= | Equal | 3 |
SEQ | Sequencer | See What is a Sequencer block? |
Symbols |
Description | Upper input | Lower input |
---|---|---|---|
EnDp | Enthalpy - Dew point | DB | DP |
EnRh | Enthalpy - Relative humidity | DB | RH |
RhDp | Relative humidity - Dew point | DB | DP |
RhWb | Relative humidity - Wet bulb | DB | WB |
WbDp | Wet bulb - Dew point | DB | DP |
WbRh | Wet bulb - Relative humidity | DB | RH |
ABH | Absolute humidity | DB | RH |
Dp | Dew point | DB | RH |
Type | Description |
---|---|
Delay | Delay blocks have one input and one output, and are commonly used to break up feedback loops. |
Timer | See What is a Timer block?, What is a Pulse timer?, What is an On Delay timer?, What is an Off Delay timer?, What is a Minimum On timer?, and What is a Minimum Off timer? for more details. |
Time | See What is a Time block? for more details. |
What is a Latch block?
The Latch block holds a binary value until you command it to reset. Latch blocks help capture rapidly changing binary states that might otherwise be missed. The input of the Latch block is a binary attribute, sampled every time the logic system runs, which is every five seconds.
Reset determines if the output of the block changes with a change in the value of the input. When Reset is True, the output of the Latch block stays its original value, even if the input changes value. Reset is also a binary attribute. To change the value of Reset, click Command on the input reference block in the Logic Viewer and issue an Inactive or Active command.
This table translates the value of the input or reset binary attribute into True and False values for the Latch block:
Binary attribute value | Command | True or False |
---|---|---|
1.0 | Active | True |
0.0 | Inactive | False |
The following table and figure summarize the operation of the Latch block:
Input | Reset | Output |
---|---|---|
Goes from False to True | False |
True Even if the Input goes to False, the Output stays True as long as Reset is False. |
Goes from False to True | True | False |
Goes from True to False | False |
True Even if the Input goes to True, the Output stays False as long as Reset is False. |
Goes from True to False | True | False |
What is a Sequencer block?
Sequencer blocks activate devices in a sequential order based on the rank of the device and whether the device is enabled. Lower ranked devices are activated before higher ranked devices, and higher ranked devices are deactivated before lower ranked devices.
The input value at which the sequencer activates or deactivates each device is based on the make and break limits configured for the Sequencer. See Table 39 for information about configuring the make and break limits. The defaults for a 3-stage Sequencer with a range of 0–100 are the following:
Make limits (activation points) | Break limits (deactivation points) | |
---|---|---|
Stage 1 | 33 | 1 |
Stage 2 | 67 | 34 |
Stage 3 | 99 | 68 |
Sequencer blocks can output a value for minimum of 2 and maximum of 8 devices. The following table describes the components of a Sequencer block:
Component | Description |
---|---|
Input | Determines the number of activated stages. |
Instant Shutdown |
Determines if the Sequencer is enabled or disabled. Use a binary object attribute (1.0=Enabled, 0.0=Disabled). |
Rotate Now |
Activates reordering of output sequence. The manner in which the outputs Device 1 Output through Device 8 Output are reordered for activation is based on a combination of two factors: the ranking defined for each device, and whether the device is enabled. All enabled outputs are scheduled for output selection prior to disabled outputs. And, within each of these categories (enabled and disabled outputs), the selections are ordered beginning with the lowest ranked and proceeding on through to the highest ranked output. Unlike all other reordering scenarios, the issue of whether or not a device is currently active is not taken into account in this situation. Use a binary object attribute (1.0=Rotate now, 0.0=Do not rotate now). |
Device 1–8 Enable |
Establishes whether or not the output is enabled. Use a binary object attribute (1.0=Enabled, 0.0=Disabled). |
Device 1–8 Rank | Establishes the order in which device outputs are activated. Use an analog object attribute (reference block) or a Constant block. |
Binary attribute value |
Command | True or False |
---|---|---|
1.0 | Active | True |
0.0 | Inactive | False |
What is a Span block?
The Span block applies a range and extrapolated values to an input to produce an output. This table describes the Span block components:
Symbol | Description |
---|---|
IN | Input |
IL | Input Low |
OL | Output Low |
IH | Input High |
OH | Output High |
The Span block creates a linear relationship between the low input/output and high input/output pair. If the Input for the Span block falls between the low and high input, the Output of the Span block is found on the line between the low and high pairs.
The following example shows a graphical picture of how the Span block works:
The line connecting the low and high pairs (blue line) represents the linear relationship between them. When you enter an Input for the Span block, the logic finds where the line crosses that input and provides the corresponding output. The output must lie on the thick blue line. Using the previous figure, if you enter 5 for the Span block Input, the block would find 5 on the Input axis and provide an output of 5.5 because that is where the line crosses an Input value of 5. The green line shows this relationship.
If the Span block is configured to clamp the value of the Output, the Output of the block is restricted to the range between (and including) the low and high Output you enter for the block. Range clamping is the default setting. For example, assume you are using the values in the following figure and have clamping set to True. If you enter an Input of 5, you still generate an Output of 5.5, because the original line crosses an Input of 5 at 5.5, which is between 4 and 8 (low and high output). If you enter an Input of 12, you generate an Output of 8, because where the original line crosses an Input of 12 is higher than the high output (see where thin blue and thin green lines intersect). If clamping is True for both high and low, the output must lie on the newly drawn thick blue line.
The Span block works for the reverse span also, if the Output High is lower than the Output Low. See Table 42 for information about editing Span blocks.
What is a Rate Limit (RL) block?
The Rate Limit block controls the rate at which its Output changes with variations in its Input value. If rate limiting is disabled, this block passes the value of the Input to the Output. If rate limiting is enabled, this block limits changes to its Output to an increment determined by the Step Equation, executed according to the rate limit. This table describes the components of the Rate Limit block:
Symbol | Description |
---|---|
IN | Input |
EN |
Enabled Enables rate limiting. Use a binary object attribute reference for EN: 0 = Disabled (Inactive command) 1 = Enabled (Active command) |
Rate Limit blocks use the Step Equation to determine the maximum increment (step) the Output can change to match the Input if the two differ. The Step Equation recalculates the step every time system logic executes (every 5 seconds).
The Step Equation looks like this:
Step = Rate Limit/60,000 x Actual Period, where Rate Limit is the rate per minute to increase or decrease the Output until it matches the Input, and where Actual Period is the time in milliseconds since the last execution of the block. The system logic and Step Equation execute every 5 seconds (5,000 milliseconds).
For example, if the Rate Limit block is set up like this:
Rate Limit = 10
Actual Period = 5,000 (milliseconds)
The Step Equation looks like this:
Step = 10/60,000 x 5,000
Step = 0.8
So, the maximum increment the Output can change on its way to match the Input is 0.8.
What is a Timer block?
This table describes the components of the Timer block:
Output | Description |
---|---|
IN | Input |
RS | Reset. Cancels the timer. Reset does not apply to Minimum On or Minimum Off timers. Use a binary object attribute for Reset (1.0=Reset Active, 0.0=Reset Inactive). |
The LCT contains five different types of timers, including the Pulse timer, On Delay timer, Off Delay timer, Minimum On timer, and Minimum Off timer. Each type uses a duration (how long the timer is active) and unique functions to generate an Output.
What is a Pulse timer?
The following table and figures illustrate the function of the Pulse timer.
Feature | Description |
---|---|
Activation | Goes active if the Input goes from low to high in two consecutive executions (logic executes every five seconds. The Pulse timer remains active for the amount of time specified in Duration, then goes to inactive. High to low transitions do not activate this timer. |
Output | Stays high as long as the timer is active. After the Duration expires, the Output goes low at the next logic execution. |
Reset | Cancels timer activity and makes the output low. If the Reset goes from high to low, the timer re-evaluates the Input at the next low to high transition. |
Example | Captures a short pulse on a binary input and keeps the Output True long enough so that the logic can react to it. |
What is an On Delay timer?
The following table and figures illustrate the function of the On Delay timer.
Feature | Description |
---|---|
Activation | Goes inactive in a low to high Input transition,
depending on the state of the input during the duration period. If
the Input returns to a low state (inactive), the timing cycle is
canceled and the Output remains inactive. If the Input remains in a
high state, the Output goes to the high state at the next execution
of logic. In a high to low Input transition, the Output becomes inactive the next time the logic executes (logic executes every 5 seconds). |
Output | See previous row. |
Reset | Cancels timer activity and makes the output inactive. If the Reset goes from active to inactive, the timer re-evaluates the Input at the next low to high transition. |
Example | Delays the supply fan start 20 seconds after the return fan starts. |
What is an Off Delay timer?
The following table and figures illustrate the function of the Off Delay timer.
Feature | Description |
---|---|
Activation | In a low to high Input transition, the Output becomes
active the next time the logic executes (logic executes every 5
seconds). Goes inactive in a high to low Input transition, depending on the state of the input during the duration period. If the Input returns to a high state (active), the timing cycle is canceled and the Output remains active. If the Input remains in a low state, the Output goes to the low state at the next execution of logic. |
Output | See previous row. |
Reset | Cancels timer activity and makes the output inactive. If the Reset goes from active to inactive, the timer re-evaluates the Input at the next low to high transition. |
Example | Keeps the fan running to purge the coils after a heating or cooling system is turned off. Off Delay is useful when your building contains electrical heat and/or DX cooling. |
What is a Minimum On timer?
The following table and figures illustrate the function of the Minimum On timer.
Feature | Description |
---|---|
Activation | See the following row. |
Output | Goes active when there is a low to high Input transition when the timer executes (logic executes every 5 seconds). The Output remains active until the time specified in Duration passes AND the Input returns to inactive. |
Reset | Has no effect on Minimum On timer. |
Example | Keeps a chiller running for a minimum time after startup to stabilize equipment. |