Logic Viewer and Editor widget - Metasys - LIT-12012116 - Server - Metasys UI - 7.0

Johnson Controls System Configuration Tool (JCT) Help

Product
Building Automation Systems > Graphics and Interfaces > Metasys UI
Document type
User Guide
Document number
LIT-12012116
Version
7.0
Revision date
2024-09-25

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?

The Logic Viewer widget appears on the dashboard any time you select a Program (Control System) object. If the widget does not appear on Page 1 of the dashboard, click the Page 1 drop-down list in the upper-right corner of the dashboard and select the page that shows the Logic Viewer. To navigate from the Logic Viewer to the Logic Editor, click the Edit icon in the upper-right corner of the Logic Viewer widget.
Note: This widget is available in both Metasys UI and JCT.

What is the layout of the Logic Viewer and Editor?

The following figures and tables describe the layout of the Logic Viewer and the Logic Editor.
Note: The live values shown in the following figure appear only in the Logic Viewer in Metasys UI. JCT does not show live values.
Figure 1. Logic Viewer layout
Table 1. Logic Viewer layout
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
Table 2. Input Reference block and Output Reference block callouts
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.

Figure 4. Logic Editor layout
Table 3. Logic Editor layout
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?

The following logic blocks are available:
Table 4. Logic blocks overview
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.
Table 5. Input & Output blocks
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
Table 6. Constant blocks
Type Description
FLOAT Float
ENUM Enumeration
REL Release. This block sends the Release command at a specific priority based on the connection.
Table 7. Math blocks

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
Note: The trigonometry blocks Sine, Cosine, Tangent, Arc Sine, Arc Cosine, and Arc Tangent perform calculations based on radians only.
Table 8. Boolean blocks
Type

Inputs

AND 2–8
OR 2–8
XOR 2
NOT 1
LATCH See What is a Latch block?
Table 9. Statistical blocks

Type

Inputs

AVG 2–8
MAX 2–8
MIN 2–8
Table 10. Selector blocks
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.
Table 11. Control blocks
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?
Table 12. Psychrometric blocks

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
Table 13. Timing blocks
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:

Table 14. Latch Blocks
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:

Table 15. Latch block operation
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
Figure 5. Latch block example

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:

Table 16. Sequencer block
  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:

Table 17. Sequencer block components
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.
Table 18. Sequencer block example

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:

Table 19. Span Blocks
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:

Figure 6. Span block example 1

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.

Figure 7. Span block example 2

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:

Table 20. RL (Rate Limit blocks)
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:

Table 21. 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.

Table 22. Pulse Timer Function
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.
Figure 8. Pulse timer example 1
Figure 9. Pulse timer example 2

What is an On Delay timer?

The following table and figures illustrate the function of the On Delay timer.

Table 23. On Delay Timer Function
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.
Figure 10. On Delay timer example 1
Figure 11. On Delay timer example 2

What is an Off Delay timer?

The following table and figures illustrate the function of the Off Delay timer.

Table 24. Off Delay Timer Function
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.
Figure 12. Off Delay mode example 1
Figure 13. Off Delay mode example 2

What is a Minimum On timer?

The following table and figures illustrate the function of the Minimum On timer.

Table 25. Minimum On timer function
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.
Figure 14. Minimum On timer example 1