Network Topology

Functional reference for the Network Topology object, the plant network drawn as nodes and links coloured from live device status, including the Network Nodes and Network Links configuration it reads and the settings in its context menu.

Updated 9 min read
On this page (14 sections)
  1. Functional explanation
  2. Node status
  3. Object name
  4. General
  5. Topology
  6. Layout
  7. Status
  8. Actions
  9. Colors
  10. Using the object
  11. Position / Size
  12. Border
  13. Access Control
  14. Visibility

Functional explanation

The Network Topology draws the plant network as nodes (switches, PLCs, HMIs, servers, workstations, remote I/O, hosts) connected by links, and colours every node and link from live status. An operator sees at a glance which devices are online, degraded or offline and where a break in the network sits.

Every configured device is a node without any topology work. The type comes from the device protocol (PLC protocols become PLC / controller, OPC UA, MQTT and Kafka become Server / broker, ICMP becomes Host), the IP address comes from the device row, and the status comes from the device itself: the ChannelState of a driver device, or the IsOnline, ResponseTimeMs, PacketLoss and LastSeen points of an ICMP device. A device added to the project appears on every Network Topology object by itself.

The topology is project configuration, shared by every Network Topology object: the Network Nodes page refines a device (type, label, group, hidden, manual position) or adds a node that is not a device, and the Network Links page connects two nodes. Devices without a link hang under a virtual node per subnet, so a project without links already shows a structure. See the configuration article Network Topology for the two pages.

The object itself only chooses how the topology is shown: filters, layout, labels, status thresholds and colours. Several objects can show different slices of the same network, for example one page per production line.

Node status

A node ring is coloured from the status source below. The header counts the nodes per status and the legend shows the colours.

Status sourceOnlineDegradedOfflineOther
Status Variable on the nodeVariable or expression is trueVariable or expression is falseUnknown when the variable has no value
ICMP deviceIsOnline true, ResponseTimeMs at or below Degraded Above (ms) and PacketLoss 0IsOnline true with a response time above the threshold or packet loss above 0 %IsOnline falseDisabled when the device is disabled
Any other deviceChannelState Connected or SimulationChannelState ConnectingChannelState OfflineDisabled when ChannelState is Disabled or the device is disabled
Manual node without Status VariableUnknown (grey dashed ring)

A link without a Status Variable follows its endpoints: it is drawn red and dashed when either node is offline, grey when either node is unknown or disabled, and green otherwise. A link with its own Status Variable follows that variable.

Object name

The object name identifies the object in the Object Viewer, the Cross Reference tool and the Design API.

SettingDescriptionExampleUnits / Format
Object NameUnique name of the object on the page.plantNetworkText

General

The General group switches the parts of the object on and off.

SettingDescriptionExampleUnits / Format
TitleText shown at the left of the header bar.Plant networkText
Show HeaderShows the header bar with the title, the online, degraded and offline counts, the search box and the Fit to view and Re-layout buttons.CheckedCheckbox
Show SearchShows the search box in the header. A search term dims every node whose name, label or IP address does not contain it.CheckedCheckbox
Show Group FilterShows a Groups button at the left of the search box. It opens a list of the groups of the Group setting, or of every group in the project when Group is empty, each with its number of nodes and a filter box to find a group. Checking groups narrows the view to those groups; the button shows how many groups are checked. Match and Others at the bottom of the list change how the checked groups are applied. The Group setting always limits what the object shows; the checked groups narrow it further. The choices apply to the current page view only and are not saved.UncheckedCheckbox
Group MatchInitial Match of the Groups list. Any shows a node that belongs to at least one checked group. All shows only a node that belongs to every checked group.AnySelection
Other NodesInitial Others of the Groups list. Dim keeps the nodes outside the checked groups in place and dims them, so the layout does not change. Hide removes them and lays out the remaining nodes again.DimSelection
Show LegendShows the legend with the node types in use and the status colours at the bottom left.CheckedCheckbox
Show Details PanelShows the details panel at the right. Clicking a node fills it with the status, type, IP address, subnet, device, group, status source, response time, packet loss, last seen, description and links of that node.CheckedCheckbox

Topology

The Topology group opens the two configuration pages and filters what the object draws. The Network Nodes and Network Links buttons open the configuration pages in a new tab; they need Administrators rights.

SettingDescriptionExampleUnits / Format
Group Unlinked By SubnetDevices without a Network Link hang under a virtual node per /24 subnet, labelled with the subnet and the number of devices. Nothing is stored; adding a link moves the device into the tree.CheckedCheckbox
Show Unlinked DevicesWith Group Unlinked By Subnet unchecked, collects the devices without a link in a lane labelled Unlinked devices. Unchecked, only linked nodes are drawn.CheckedCheckbox
Hide Disabled DevicesLeaves out devices whose configuration row is disabled instead of drawing them greyed.UncheckedCheckbox
GroupComma-separated list of groups. Shows only the nodes whose Network Node row carries at least one of them; the Group field of a Network Node is a comma-separated list as well, so a node can belong to several groups. An entry that is a variable name is replaced by the value of that variable, itself a comma-separated list, so the visible groups can change at runtime, for example through a client variable written by a selection object. Empty shows the whole project.Line 1, Line 2Text, comma separated
ProtocolShows only the devices of one protocol.Modbus TCPSelection
TypeShows only the nodes of one type. The list holds the types of the Network Node Types configuration page, including added types.PLC / controllerSelection

Filters combine: a node is drawn when it passes the Group, Protocol and Type filters. Links to a node that is filtered out are not drawn.

Layout

Every layout is computed once when the object opens or when a layout setting changes, so the picture is the same on every client and never moves on its own. The Re-layout button in the header recomputes it and the Fit to view button fits it to the object again.

SettingDescriptionExampleUnits / Format
LayoutHierarchical draws a tree from the links: the first link from another node makes that node the parent, extra links such as a ring are drawn dotted. Force Directed places nodes by a force simulation with a fixed seed, so the starting picture is identical on every open. The layout stays live: any user can drag a node, the linked nodes follow and spring back into place on release, and double-clicking a node pins or unpins it (a pinned node shows a pin mark). Dragging and pinning apply to the current page view only and are not saved; use Manual Positions for saved positions. Re-layout releases all pins. Manual Positions uses the positions saved on the Network Node rows.HierarchicalSelection
OrientationDirection of the hierarchical tree: Top To Bottom or Left To Right.Top To BottomSelection
Node SpacingDistance between neighbouring nodes before the picture is fitted to the object.95Number, 40 to 400
Node LabelText under a node: Name, Name And IP Address, or IP Address.Name And IP AddressSelection
Node SizeRadius of a node.16Number, 8 to 40
Lock ViewDisables pan and zoom for operators; the picture stays fitted to the object.UncheckedCheckbox
FloatApplies to the Force Directed layout at runtime. When checked, the nodes drift gently so the graph keeps a slight motion. When cleared, the layout comes to rest and only moves while a node is being dragged. The simulation stops by itself when the page is left.CheckedCheckbox
Float SpeedHow lively the drift is when Float is checked. 0 keeps the nodes still, 100 is the fastest drift.30Number, 0 to 100

With the Manual Positions layout a user in the Administrators group drags nodes into place at runtime. The position is saved on the Network Node row of that node (a row is created for a device that has none), so it is project configuration shared by every object. Nodes without a saved position take their place from the hierarchical layout.

Status

The Status group tunes how status is derived and how often the topology is re-read.

SettingDescriptionExampleUnits / Format
Degraded Above (ms)Response time above which an online ICMP device is shown as degraded. Packet loss above 0 % and a ChannelState of Connecting are degraded as well.100Milliseconds
Link StateFrom Endpoints colours a link without its own Status Variable from the two nodes it connects. From Link Variable Only leaves such links grey; only links with a Status Variable get a state.From EndpointsSelection
Highlight NeighboursClicking a node dims everything except the node and its direct neighbours. Click the node again to clear the selection.CheckedCheckbox
Refresh (s)Interval at which the nodes and links are re-read from the project, so devices and links added while the page is open appear. Status values are live regardless of this interval.30Seconds, 5 to 3600

Actions

A click on a node selects it. The Actions group makes the selection available to the rest of the page.

SettingDescriptionExampleUnits / Format
Selection VariableClient variable prefix written when a node is clicked. The prefix itself receives the node name, the prefix followed by .Device the device name and the prefix followed by .IpAddress the address. All three are cleared when the node is clicked again. Empty writes nothing.client.SelectedNodeVariable
Click PagePage opened when a node is clicked, after the Selection Variable is written. A page that shows the selected device can read the variables above. Empty only selects the node.DevicePagePage

Colors

Every colour accepts a literal colour or a Color Library name.

SettingDescriptionExampleUnits / Format
Background ColorBackground of the object and fill of the nodes.#ffffffColor
Text ColorColour of the labels, the header and the details panel.#2b3037Color
Line ColorColour of the header and panel borders, the subnet grouping links and links without a state.#d9dde3Color
Online ColorRing of an online node and colour of an up link.#2e9e44Color
Degraded ColorRing of a degraded node.#e08a00Color
Offline ColorRing of an offline node, its badge and the colour of a down link.#d63a2fColor

Using the object

Drag the background to pan and use the mouse wheel to zoom, unless Lock View is checked. Hover a node for a tooltip with its label, IP address and status; for an ICMP device the tooltip shows the response time and packet loss, or the last seen time when it is offline. Click a node to select it and fill the details panel. Type in the search box to find a node by name, label or IP address.

Position / Size

The object is a rectangle like any other object. 900 x 500 px is the reference size; the graph is fitted to whatever size the object has.

SettingDescriptionExampleUnits / Format
TopDistance from the top of the page.50px
LeftDistance from the left of the page.50px
WidthWidth of the object.900px
HeightHeight of the object.500px

Border

The Border group draws a border around the object.

SettingDescriptionExampleUnits / Format
Border WidthWidth of the border.1px
Border RadiusRounding of the corners.5px
Border ColorColour of the border.#d9dde3Color

Access Control

Access Control limits who sees the object. See the article Object Control Access.

SettingDescriptionExampleUnits / Format
User GroupsUser groups that see the object. Empty shows it to everyone.Operators,MaintenanceComma separated

Visibility

Visibility hides the object based on a condition, like any other object.

SettingDescriptionExampleUnits / Format
Visibility ConditionExpression that must be true for the object to be shown.SYSTEM.UserGroups.includes('Maintenance')Expression
Something missing or wrong in this article? Contact us