Overview

This guide walks you through configuring the Devices module to establish real-time communication with field devices using native protocols. You'll create channels, configure nodes, map points, and set up data exchange with PLCs and other industrial equipment.

Prerequisites:

  • Tags created in UNS
  • Network access to devices
  • Device documentation (addresses, data types)

Configuration Workflow

  1. Create Channel - Select protocol and connection settings
  2. Create Nodes - Add devices to channels
  3. Map Points - Link tags to device addresses
  4. Configure AccessTypes - Define read/write behavior
  5. Test Communication - Verify data exchange

Step 1: Create Communication Channel

A channel defines the protocol and connection parameters.

Creating a Channel

  1. Navigate to Devices → Channels
  2. Click New Channel or Plus icon
  3. In the dialog:
    • Select Protocol (e.g., Modbus, ControlLogix)
    • Enter Channel Name
    • Configure Interface:
      • Serial (RS232/485)
      • TCPIP (Ethernet)
    • Click OK

Configure Channel Settings

Double-click properties to edit:

PropertyDescriptionExample
InterfaceConnection typeTCPIP
SettingsProtocol-specific parametersIP: 192.168.1.100, Port: 502
TimeoutResponse timeout3000ms
InitialStateStartup behaviorEnabled

Step 2: Add Device Nodes

Nodes represent physical devices on the network.

Creating a Node

  1. Go to Devices → Nodes
  2. Click Plus icon
  3. Configure:
    • Name: Device identifier
    • Channel: Select from list
    • PrimaryStation: Device address
  4. Click OK

Node Address Examples

ProtocolPrimaryStation Format
Modbus TCP192.168.1.100:502:1
OPC UAopc.tcp://server:4840
ControlLogix192.168.1.50:Slot=0

Step 3: Map Device Points

Points link tags to device addresses.

Method A: Manual Mapping

  1. Go to Unified Namespace → Tags
  2. Copy tags to map
  3. Navigate to Devices → Points
  4. Paste tags
  5. Configure for each point:
    • Node: Select device
    • Address: Device register/tag
    • DataType: Match device type
    • AccessType: Read/write behavior

Method B: Import from PLC

  1. In Devices → Points
  2. Click Import
  3. Select source:
    • From Device (online browse)
    • From File (L5K, CSV)
  4. Map imported addresses to tags

Address Format Examples

Device TypeAddress Example
Modbus

<ac:layout><ac:layout-section ac:type="single"><ac:layout-cell> <p class="auto-cursor-target"><span style="letter-spacing: 0.0px;">Devices compatible with Modbus protocol.</span></p></ac:layout-cell></ac:layout-section><ac:layout-section ac:type="two_equal"><ac:layout-cell> <ul> <li><span>Name: <str

pasted

<ac:layout><ac:layout-section ac:type="single"><ac:layout-cell> <p class="auto-cursor-target"><br /></p><ac:structured-macro ac:name="details" ac:schema-version="1" ac:macro-id="bfe208f0-6d52-4d9f-836b-31738fd3dd45"><ac:parameter ac:name="hidden">true</ac:parameter><ac:parameter ac:name="id">connect

pasted

<ac:layout><ac:layout-section ac:type="two_equal"><ac:layout-cell> <p><span style="letter-spacing: 0.0px;">This page presents specific configurations fields and user actions available that are specific to the MQTT Data Explorer Tools. For the general explanation on using the Data Explorer, return to

pasted

<ac:layout><ac:layout-section ac:type="two_equal"><ac:layout-cell> <h2>Overview</h2> <p>The Modbus Tutorial explains how to configure platform-to-device communication using the Modbus protocol. In the software platform, the Devices module manages communication with field devices through Channels, No

pasted

<ac:layout><ac:layout-section ac:type="two_equal"><ac:layout-cell> <h2>Overview</h2> <p><span style="letter-spacing: 0.0px;">The Solution Configuration tutorial introduces the Designer tool and guides users through creating and managing solutions. It covers creating a new solution, configuring data

pasted

M

Make the guide generic to all protocols, but we have 2 featuers that can be useful here. Number one: we havea modbus similatur. so if you put that one to runa, you can teste the comunicaton, the enxt one, perhaps even better, we have BuiltBroker, so if you put the broker to run, and the pulishe similar to reun, our tag mapping will a data source to connect to. Here is infor about those this.

M

please continue

Looking at the documentation you provided, I'll create a focused Devices Module (How-to Guide) that leverages the built-in testing tools (MQTT Broker/Simulator and Modbus Simulator) to make it protocol-agnostic while providing concrete examples:


Devices Module (How-to Guide)

Overview

This guide walks you through configuring the Devices module to establish real-time communication with field devices using native protocols. You'll create channels, configure nodes, map points, and test communication using built-in simulators.

Prerequisites:

  • Tags created in UNS
  • Understanding of your device protocol
  • Network access to devices (or use simulators)

Configuration Workflow

  1. Create Channel - Select protocol and connection settings
  2. Create Nodes - Add devices to channels
  3. Map Points - Link tags to device addresses
  4. Configure AccessTypes - Define read/write behavior
  5. Test Communication - Verify data exchange

Step 1: Create Communication Channel

Creating a Channel

  1. Navigate to Devices → Channels
  2. Click New Channel or Plus icon
  3. In the dialog:
    • Select Protocol (e.g., Modbus, MQTT, OPC UA)
    • Enter Channel Name
    • Select Interface:
      • TCPIP - Ethernet networks
      • Serial - RS232/485
    • Click OK

Configure Protocol Options

Double-click ProtocolOptions column to configure:

ProtocolKey Settings
ModbusEncoding (RTU/ASCII/RTU TCP), BlockSize
MQTTType (Collector/Publisher), QoS, TimePublishRate
OPC UASecurity Mode, Certificate Path

Step 2: Add Device Nodes

Creating a Node

  1. Go to Devices → Nodes
  2. Click Plus icon
  3. Select the Channel
  4. Enter Node name
  5. Click OK

Configure PrimaryStation

The PrimaryStation field identifies the device on the network. Format varies by protocol:

ProtocolPrimaryStation FormatExample
Modbus TCPIP;Port;SlaveID192.168.1.100;502;1
Modbus SerialSlaveID1
MQTTBrokerURL;Port;ClientIDlocalhost;1883;Client1
OPC UAServerURLopc.tcp://server:4840

Step 3: Map Device Points

Method A: Manual Mapping

  1. Go to Unified Namespace → Tags
  2. Copy tags to map
  3. Navigate to Devices → Points
  4. Paste tags
  5. Configure for each point:
    • Node: Select device
    • Address: Device register/topic
    • DataType: Match device type
    • AccessType: Read/write behavior

Method B: Using DataExplorer

  1. Go to DataExplorer → MQTT Tools (or OPC/PLC tools)
  2. Connect to data source
  3. Browse available data
  4. Select items and click Map to Solution
  5. System creates tags and mappings automatically

Address Format Examples

ProtocolAddress FormatExample
ModbusOperand + Address40001 (Holding Register 1)
MQTTTopic pathspBv1.0/Group/Node/Device
OPC UANode pathns=2;s=Channel1.Device1.Tag1

Step 4: Configure AccessTypes

AccessTypes define read/write behavior for points.

Create or Edit AccessType

  1. Navigate to Devices → AccessTypes
  2. Click Plus icon or edit existing
  3. Configure:

Read Settings:

  • ReadPolling: Enable/Disable/OnDisplayOrServer
  • ReadPollingRate: Update frequency (ms)
  • OnStartup: Read on solution start

Write Settings:

  • WriteEvents: Enable writing
  • WriteEvent: OnChange/Periodic

Special AccessType: OnDisplayOrServer

Use for optimization - only reads when:

  • Tag is displayed on an open screen
  • Solution is serving as OPC/MQTT server

Step 5: Test Communication

Using Built-in Simulators

MQTT Testing

  1. Start MQTT Broker:
    • Go to DataExplorer → MQTT Tools
    • Click Start for Built-in Broker
    • Click Start for Publisher Simulator
  2. Test Connection:
    • In Devices → Nodes
    • Select MQTT node
    • Click Test in PrimaryStation field

Modbus Testing

  1. Start Modbus Simulator:
    • In Devices → Channels or Nodes
    • Select Modbus channel/node
    • Click Modbus Simulator button
  2. Configure Test:
    • Set PrimaryStation to 127.0.0.1 (localhost)
    • Click Test button

Runtime Testing

  1. Press F5 or click Run Test
  2. Open Property Watch
  3. Monitor tag values:
    • Check Quality (192 = Good)
    • Verify values update
    • Test writes if configured

Diagnostics Tools

Property Watch

  • Monitor tag values and quality
  • Test read/write operations
  • View communication status

Trace Window

  • View raw protocol messages
  • Monitor communication frames
  • Identify addressing errors

Module Information

  • Check channel status
  • View node connections
  • Monitor error counts

Common Issues

No Communication

  • Verify network connectivity
  • Check firewall settings
  • Confirm device address/port
  • Test with simulator first

Bad Quality (0)

  • Wrong address configuration
  • Device not responding
  • Protocol mismatch
  • Security/credentials issue

Values Not Updating

  • Check AccessType settings
  • Verify polling rate
  • Confirm point mapping
  • Check device status

Write Not Working

  • Enable WriteEvents in AccessType
  • Check device write permissions
  • Verify address is writable

Best Practices

? Test with simulators first - Verify configuration before connecting to real devices ? Use appropriate AccessTypes - OnDisplayOrServer for non-critical data ? Group similar points - Optimize communication blocks ? Monitor communication health - Check quality and error counts ? Document addressing - Keep record of device mappings ? Start with slow polling - Increase rate after confirming stability


Protocol-Specific Resources

  • [Modbus Configuration →] - Operands and addressing
  • [MQTT SparkplugB →] - Topic structure and templates
  • [OPC UA →] - Security and browsing
  • [ControlLogix →] - Tag import from L5K

Next Steps

  • [Alarms Module →] Configure alarm conditions on device points
  • [Historian Module →] Log device data over time
  • [Scripts Module →] Process device data with logic

This guide provides the framework for device communication. Adapt the procedures to your specific protocol while following the same systematic approach.

  • No labels