Skip to content

Transmitter Stack

The Transmitter Stack shows several readings side by side in one chip, attached to a line in a diagram by one leader line. Use it where one place in the process has several measurements, such as pressure and temperature. It is found in the Automation - OpenBridge section of the Perspective Component Palette as Transmitter Stack (Experimental).

Note: This component is experimental: its properties may change in a later version.

Transmitter Stack with three readings

  1. Leader line — the short line from the chip to the line in the diagram. See Orientation.
  2. Segments — one per reading, each with an optional icon, a value and a unit. See Values.
  3. Id tags — the name of each measurement, below its segment.

The Transmitter Stack shows the values it is given; it does not read tags itself. Clicking a segment fires the onValueClick event.

For a single reading, a tag pill, a trend graph or an alarm frame, use the Transmitter.

A Transmitter Stack dropped from the palette starts with two sample readings. The blue frame is the component’s box, as the Designer shows it when the component is selected:

Transmitter Stack as dropped from the palette

values is a list with one item per segment, from left to right. Each item has a value and a unit, and optionally an idTag.

values
One value One segment
Two values Two segments
Three values Three segments
  • All segments have the same width, that of the widest reading:

    Segments of equal width

  • A value that is empty (null) or not a number is shown as dashes:

    A missing value

  • When no item has an idTag, the row of id tags is left out. When at least one has, the row is there for all segments:

    No id tags One id tag
    No id tags One id tag
  • With an empty values list nothing is drawn, not even the leader line.

Each item has its own numberFormat, a Java DecimalFormat pattern. It works as on the Transmitter: the digits after the decimal point set the number of decimals, and the zeros before it set how many digits the segment makes room for.

The value 12.345 with the patterns written below the segments:

Three number formats

hintedZeros fills the room made by the zeros of the pattern (000.0 here) with dimmed zeros, and hasSignSpacer keeps room for a minus sign, so that a segment has the same width for positive and negative values. hasDegree adds a degree sign between the value and the unit.

hintedZeros hasSignSpacer and hasDegree
Hinted zeros Sign spacer

Set hasIcon to true on an item and select an icon with icon.path to show what is measured:

Segments with icons

Name Description Property Type
values The segments, in order. A new component has two sample items. array
values[].value The reading. Default 0. value
values[].unit Text after the reading. Empty by default. value
values[].idTag Name of the measurement, shown below the segment (above it when orientation is top). Empty by default. value
values[].numberFormat DecimalFormat pattern: the number of decimals, and the number of digits to make room for. Default 0.0. value
values[].hintedZeros Show the room made by numberFormat as dimmed leading zeros. Default false. value
values[].hasSignSpacer Always keep room for a minus sign. Default false. value
values[].hasDegree Show a degree sign between the value and the unit. Default false. value
values[].hasIcon Show an icon in front of the reading. Default false. value
values[].icon The icon. Only shown when hasIcon is true. object
values[].icon.path Path of the icon, for example openbridge/pressure. Default openbridge/placeholder. value

orientation selects on which side of the line the chip is, and thereby which way the leader line points: with bottom the chip is below the line and the leader line points up. With top the id tags are placed above the chip.

The chip and the leader line together are centred in the component’s box. The blue frame in the images is the component’s box:

orientation
top Orientation top
right Orientation right
bottom (default) Orientation bottom
left Orientation left

The stack does not grow with the box; it is as wide as its segments. Make the box wide enough for the number of values, so that the stack can be selected and does not overlap its neighbours.

Name Description Property Type
orientation Side of the line the chip is on: top, right, bottom or left. Default bottom. value

Name Description Property Type
componentSize Size of the text: regular, medium or large. Default regular. See the note below. value
style Standard Perspective style object. object

Note: Leave componentSize at regular. It enlarges the text without enlarging the chip, so with medium and large the values no longer fit in their segments.

The colours follow the OpenBridge palette of the session:

Transmitter Stack in the night palette

Event Description Event Object
onValueClick Fired each time a segment is clicked. Tells which segment it was. index (position of the segment, from 0), value, unit and idTag of the clicked item in values.

Example 1 — Pressure and Temperature at One Point

Section titled “Example 1 — Pressure and Temperature at One Point”
  1. Drop a Transmitter Stack into the coordinate container of the diagram. It starts with two items in values.
  2. Set the first item to unit bar, idTag PT01, and the second to unit C, hasDegree true, idTag TT01.
  3. Bind values[0].value and values[1].value to the measurements, for example [default]Pump01/Pressure and [default]Pump01/Temperature.
  4. Move the component so that the tip of the leader line touches the pipe.

Example 2 — Open the Trend of the Clicked Reading

Section titled “Example 2 — Open the Trend of the Clicked Reading”
  1. Configure the onValueClick event with a script action:

    def runAction(self, event):
    system.perspective.openPopup('trend', 'Popups/Trend', params={'idTag': event.idTag})

The popup gets the id tag of the segment that was clicked, for example PT01.

Built on the OpenBridge Design System