Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


HTML
<style>
.text-span-6 {
    background-image: linear-gradient(99deg, rgba(170, 163, 239, .5), rgba(125, 203, 207, .5));
    border-radius: 50px;
    padding-left: 15px;
    padding-right: 15px;
}

#title-text {
display: none;
}

.panelgradient {
    background-image: linear-gradient(180deg, #d5def0, whitesmoke);
    border-radius: 8px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 4rem;
    display: flex;
    position: relative;
}

</style>


<div class ="panelgradient">

<h1 style="text-align: center;">Devices <br> (Field Communication)</h1>

</div>



Introduction to the Devices

module

Module

Image Added

The Devices module implements facilitates seamless real-item time communication and data communication with a wide variety of exchange with various field devices and industrial protocols, supportingincluding standard interfaces like OPC-UA, OPC-DA and MQTT and Hart.

The connectivity also includes IT protocols, like SNMP and Ping, and connection with Historian tools, such as OSIsoft PI, GE Historian, InfluxDB and Canary.

, MQTT, Modbus, and vendor protocols like Rockwell and CODESYS, among many others.

Included in the Devices Module:

  • IT Protocols (SNMP and Ping)
  • Connections with Historian Systems (e.g., Canary, and various others)
  • 70+ Communication Drivers for Industrial protocols

Image AddedCurrently over 50 drivers are included in the platform, and our development team has experience with more than 200 communication protocols.

On this page:

Table of Contents
maxLevel3
minLevel2
stylenone


Purpose and

Key Concepts and Terms

The Devices module facilitates seamless communication and data exchange with various field devices and industrial protocols, simplifying system architecture and enhancing connectivity. The configuration of the Devices module is performed on in the following sections:

Protocols

Protocols are the rules governing the Rules for communication between devices. Our The software supports a variety of various communication protocols.

Channels

Channels are created and configured Configured to handle specific communication protocols and drivers. Each channel is , defined by a specific protocol driver and connection type (e.g., such as RS-232 or , TCP/IP. Channels allow the module to access multiple devices (such as PLCs) using the defined protocol and interface. The configuration of Channels is on the Solution Explorer, at Devices → Channels.

Nodes

Each device connected to the system through channels is called a Node. Nodes can be individual devices or groups of devices. Each node contains one or more Points. The configuration of Nodes is on the Solution Explorer, at Devices → Nodes.

Points

Points are individual items that can be read or written from/to nodes. They can be registers, I/O values, or variables residing in field devices (nodes). Each Point is bound to a specific Tag in the Solution configuration.

AccessType

). Multiple channels can be defined for the same protocol.

Nodes

A Node is the Device Module object that defines the settings for physical devices, using the protocol specified in the DeviceChannel. Each Node contains one or more DevicePoints.

Points

Individual items that are read from or written to Nodes, bound to a specific tag.

AccessTypes

Each Point is associated with an AccessType, which defines the rules for reading and/or writing values for that Point, such as . Some rules that can be set include the polling rate, whether a read is performed on startup, and whether you write values can be written to that Point. The AccessType allows users to configure how clients can access data points in the system.


Understanding the Devices

module

Feature Highlights

Module

The Device Module collects data from the field and feeds it into the solution’s tags.

Module Features

  • Simplifies Simplify your architecture by removing the needing need for additional communication products.

  • Easily setup a communications hub to support comms and logic between practically any device, any database, any historian, anywhere.

  • On-Premise, Edge or enterprise level, and to/from the cloud – we have you covered!

  • Supports on-premise, edge, enterprise-level, and cloud communication.

  • Includes a built-in MQTT Broker and OPC Server are both built-in!.

  • Provides MQTT SparkPlug B and OPC-UA simulators expedite for demos and prototyping.

  • Features a Driver Toolkit allows our team, or any third-party, to easily add for adding new interfaces.

Implementing


Native Communication

Protocols

Drivers

Our software supports numerous communication native communication protocols for HMI and industrial device interaction. .

→ See the list of available Communication Drivers.

Standard protocols, such as OPC-UA, are also included, but for many devices, it's highly advantageous to use the native communication driver.

→ See more on Native vs OPC drivers.


Driver Development and Advanced Diagnostics

The platform also supports open communication standards, like OPC, but there are various benefits in having the native protocol implementation. When using the platform, you don't need to understand the details of the protocol implementation because you can easily map the devices and the information you want to read or write from the device with our standard tools. 

However, if you want to have need to implement new protocols or require a deeper understanding of what a communication protocol is and how they are implemented in the system, you can refer to the page Protocols.their inner workings for diagnostics or optimization purposes, it is necessary to understand the details of protocol implementation.

→ See more at Protocol Implementation Concepts


Channels. Nodes and Points

When using the Devices module, you can use multiple protocols simultaneously. The selection of the protocols is explained in Device Channels.

Handling Read And Write Events

In a SCADA system, handling read and write events is crucial for the efficient exchange of data between the HMI, PLCs, and other devices. Our software facilitates these events by allowing users to configure access types, which define the specific methods for reading and writing the values of each data point. The access types can be configured to determine the polling rate, specify whether a read is performed on startup, and decide whether unsolicited input is accepted.

The page Access Types Configuration has a detailed explanation of the concepts of development and execution of communication drivers.

Devices Module And ExternalTags Distinctions

While both Devices module and ExternalTags manage data points and their communication, the Devices module focuses on field device communication, whereas ExternalTags focuses on the overall management of tags within the platform environment.

Devices represent the physical equipment in the system, while ExternalTags are the logical entities that store and manage tag information. Understanding the distinction between these two components is essential for effective system configuration and management. By clearly separating the responsibilities of these components, our software promotes modularity, simplifies configuration, and enables users to build scalable and maintainable solutions.

You can see External TagProviders for more information.

Configuring the Devices module

In this section, we'll guide you through a quick Devices module configuration, including management of channels, nodes, and points, protocol gateway setup, and AccessType customization. To check out the full configuration, go to Device Channels.

Image Removed

Configuration Workflow

  • Select a communication protocol

  • Define device channels and their settings

  • Define nodes and stations

  • Add and edit device points

  • Customize pre-defined AccessTypes (if necessary)

Creating and Managing Channels

Device channels facilitate communication between the HMI and system devices. To efficiently create and manage these channels, adhere to the following process:

  • To create a new channel, navigate to Devices → Channels and click on "New Channel" Fill in the necessary information in the "Create New Channel" window and confirm by clicking "OK." The new channel will appear as a row in the table.

  • To edit existing channels, return to Devices → Channels. Customize the table by adding or removing columns through right-clicking the column heading area and selecting the desired columns. Modify the appropriate fields in the corresponding row to make adjustments to the channel.

To learn more about remote execution, seeRemote Execution.

To learn more about Simulator Driver, explore TSimulator Auto Generated Values.

Defining Nodes and Stations

Configuring nodes involves defining devices or PLCs for network communication. To configure nodes, go to Devices → Nodes and input the required information. Columns can be added or removed by right-clicking the column heading area. Device node configuration properties include Name, Channel, PrimaryStation, BackupStation, SyncDate, SyncStation, SyncSettings, TemplateID and Description, each serving a specific purpose. For protocol-specific settings, consult the documentation Creating Nodes.

Adding and Editing Device Points

Adding and editing points involves configuring data points linked to nodes, which are accessible through tags. To configure data points, navigate to Devices → Points and input the required information. Columns can be added or removed by right-clicking the column heading area. Key device points configuration properties include TagName, Node, Address, DataType, Modifiers, AccessType, Scaling, TemplateID and Label. For protocol-specific settings, consult the documentation Adding and Editing Points.

Customizing Pre-defined AccessTypes

Customizing predefined AccessTypes allows users to optimize data exchange methods for reading and writing data point values. To configure AccessTypes, go to Devices → AccessTypes and either edit an existing access type by double-clicking a field or create a new one by clicking "New Item..." Input the required information. The OnDisplayOrServer AccessType efficiently reads data when used by the application. For more information, visit the OnDisplayOrServer AccessType section.

Tutorials

The Device Configuration Tutorial provides a detailed guide to configuring the Modbus interface, along with the essential concepts that apply to all communication drivers. This tutorial demonstrates how to define multiple protocol interfaces using the abstraction layers, such as Channels and Nodes, provided by the platform. You will learn the differences in syntax for the STATION and ADDRESS fields when using various protocols, as well as the configuration and testing procedures that remain consistent across all communication interfaces.

The tutorial includes an overview of device configuration features, which enable users to configure and manage industrial automation devices such as PLCs, HMIs, sensors, actuators, and others. It offers a user-friendly graphical interface for adding, removing, and configuring these devices in an automation solution. You will also explore how to configure communication parameters and tags for each device, ensuring reliable and accurate communication between devices and the automation control system.

For the Device Configuration Tutorial, take a look at the Tutorial: Modbus Configuration page.

Channels: Define the protocol to be executed and the settings for that protocol.

Nodes: Stations in the field network connected via the protocol. The Node configuration selects the Channel to define the protocol and its settings. Each Node will have the mapping for one or more Points.

Points: Addresses within Nodes that are read from or written to on each Node.

When the system is running, it organizes the requests to maximize performance by creating groups when possible or opening a process for each Channel and multiple threads for each Node.

The exact behavior is dependent on the protocol characteristics.


Handling Read And Write Events

AccessType defines the read/write rules for each point, including when write events occur (on tag value change or external trigger) and when read events occur (typically timer-based).

When a Read or Write event occurs, the platform will verify all affected Tags and Addresses, and send out the protocol messages, optimized according to the specifications of the selected protocols.

Communication feedback is available on the tag Quality property or system status variables, such as Device.Node.Node1.Status.


Configuring the Devices Module

Configuration Workflow

Device Module Configuration Workflow

Action

Where 

Comments

Create Channels

Devices / Protocols

Select the Protocol from the list that supports your devices and use the Create Channel Button.

Create Channels

Devices / Channels

Alternatively, you can create channels directly in the Channels table. Learn more at Devices Channels.

Create Nodes

Devices / Nodes

The Nodes are the various Devices using the protocols defined at the Channel. Their main configuration settings is the PrimaryStation that identifies the Network address. Learn more at Devices Nodes.

Map Tags to Point addresses

Devices / Points

Map Tags or AssetTree elements to the Addresses on each field Device (Nodes). Learn more at Device Points.

Import Addresses Definitions


Optionally, you can Copy Tags from Excel/CSV from Excel or execute Tag Import Wizards. Learn more at Importing PLC Addresses.

Create or Customize AccessTypes

Devices / AccessTypes

Optionally, you can optimize the communication, grouping Points with similar requirements to the same AccessType. Learn more at AccessType.


Tip

For a typical Device configuration tutorial, Go to  Modbus Tutorial

Working with the Devices module

The Devices module is an essential component that enables seamless communication between the HMI and various devices in the industrial automation system, such as PLCs and other equipment. To maximize the potential of this module, it is crucial to understand its features and capabilities in-depth

.


Simulator Drivers

The TSimulator driver is a communication protocol that allows users to generate random values in a variety of data types for testing and validation purposes. It is designed to be used with the Devices module and provides a set of flexible options that allow enable users to create accurate and customized simulations for their systems. TSimulator supports multiple data types, including BOOL, INTEGER, FLOAT, STRING, RAMP, and SINE. For each data type, the user can configure the minimum and maximum value values that the simulation value can reach, as well as other options such as string length for the STRING type or ramp step for the RAMP type.

The TSimulator is an internal driver developed by Tatsoft, designed to work seamlessly with our software. In addition to the TSimulator, there are three external simulators available for integration with the platform. This makes a total of four simulators at your disposal:

Other simulators available:

  1. ValueSimulator (internal
TSimulator (internal Tatsoft
  1. driver)
  2. OPC UA
Simulator
  1. Simulator (external simulator)
  2. MQTTspB Simulator (external simulator)
  3. Modbus Protocol Simulator (external simulator)

Working with the Devices Module

Monitor Runtime Execution

You can control and monitor the Devices Module execution while running your solution in the Designer tool.

You can Run, Pause, or Stop the Historian module directly from the platform. Navigate to Runtime / Runtime Diagnostics to find the three buttons that you can use to control the module.

Image Added

Navigate to Devices / Monitor, to see a table with current status of all Device NodesFor more information, see TSimulator Auto Generated Values.

Using Data Quality on Displays

Monitors can display and use utilize the data quality on of communication tags to ensure that accurate and reliable information is being presented to operators.

Tooltip option
Tip
title

Data quality is a critical aspect of any HMI/SCADA system, our . Our platform allows users to incorporate data quality on into displays to provide , providing a visual representation of data reliability , and enabling operators to make well-informed decisions. This allows feature helps operators to identify potential issues and take appropriate action to maintain system performance and safety.

Anchor#BestPractices#BestPracticesTroubleshooting and Best Practices

At Displays / Client Settings, you can setup to automatically use the Quality on text outputs on displays.



Devices Advanced Topics 

Importing PLC Addresses 

Simplify the creation of communication Nodes and Point Addresses with various methods for automatic data configuration import. Users can copy and paste tables from Excel, import data from CSV files, and employ various Import Wizards for diverse data sources. 

→ Read more about Importing PLC Addresses.

Native Driver vs OPC Server

Presents the additional set of features when using the native protocol for the Devices, instead of a third-party vendor OPC Server.

→ Read more about  Native Driver vs OPC Server

Protocol Implementation Concepts

Deeper discussion on Protocols, intended to those who develop communication drivers, or require advanced diagnostics in existing protocols. 

→ Read more about  Protocol Implementation Concepts

Devices Module vs TagProvider Connections

While both the Devices module and TagProvider Connections facilitate data exchange, they have different focuses and are applied to distinct types of interaction with data, aiming to meet different requirements.

→ Read more about Devices Module and TagProviders

Devices Runtime Attributes

The Devices Namespace exposes properties and methods from the .NET objects used by the Device Module execution. 

→ Read more on the page Devices Advanced Topics.


Anchor
BestPractices
BestPractices

Best Practices and Troubleshooting 

Best Practices and Recommendations

System Design

Plan and design your industrial automation system with scalability and maintainability in mind. Use a modular approach, separating responsibilities between devices, ExternalTags, and other modules. This promotes efficient workflows and simplifies system management.

Documentation

Keep thorough documentation of your system, including device configurations, communication settings, and customizations. This will help with troubleshooting, maintenance, and future system upgrades.

Training

Ensure that operators and maintenance personnel are well-trained in using the platform and understand the specific configurations of your system. This will enable them to identify and resolve issues efficiently, minimizing system downtime.

Regular Maintenance and Updates

Schedule regular maintenance for your system, including software updates, hardware inspections, and performance assessments. This proactive approach will help to identify potential issues before they escalate, ensuring the reliability and performance of your industrial automation system.


Built-in Diagnostics tools

There are three built-in Tools tools for diagnostics on software frameworkof the software solution and runtime: PropertyWatch, TraceWindow and ModuleInformation.

Info

For information on those tools in general go to Diagnostics Tools, for specific information on levering its usage on Devices module diagnostics go to Devices Monitor.

Table of Contents
maxLevel4
minLevel3
include#

Common #Issues and Solutions

Read information specific to Devices Diagnostics in Devices Monitor.



Common Issues and Solutions

ControlLogix

#ControlLogix

PLC Type

In the PLC Address Import section under Devices / Points, it is important to ensure that the correct protocol option is selected when connecting ControlLogix PLCs. In some cases, the default option "Model OTHERS" may not work correctly, and it may be necessary to select a specific model, such as "Model 1756-L8X". If you encounter issues with a ControlLogix Channel not sending or receiving values, try changing the protocol option to the specific model and test the communication.

#ControlLogix

ControlLogix Micro850

In the current version of the driver, specifically the Micro850 model (accessed in Devices / Channels / ProtocolOptions / Model), an error occurs when importing tags into the device node using the "From Device" option, which is expected due to the way the driver's API was implemented. We have a solution for this, which involves importing using the "From Filename" option. Our platform only accepts files in the .L5K format, in the case of .xlsx files or similar, it is necessary to open them in a table editor, make the necessary modifications, and export as .CSV, which can then be imported in Solution Settings / Import Tags / CSV File.

It's important to pay attention to the slots of the nodes because, depending on the configurations, it may only work with a specific slot depending on the physical architecture of how the PLC is set up, for example slot 2.

From there, simply configure to synchronize using the "From Filename" option, and the connection will function correctly.

#Importing

Importing L5K from ControlLogix

In the PLC Address Import section under Devices / Points, it is important to ensure that the path and file name are correct when importing L5K files using the "From Filename" or "From Device" options. In some cases, the "From Device" option may fail, and it may be necessary to use the "From Filename" option with the L5K file to make it work correctly.

#Performance:

Performance

Optimize the polling rates and access types for data points to reduce unnecessary data traffic and improve system performance. Use the OnDisplayOrServer, AccessType for efficient data reading when the application is using the data.

Best Practices and #Recommendations

#System Design

Plan and design your industrial automation system with scalability and maintainability in mind. Use a modular approach, separating responsibilities between devices, ExternalTagss, and other modules. This promotes efficient workflows and simplifies system management.

#Documentation

Keep thorough documentation of your system, including device configurations, communication settings, and customizations. This will help with troubleshooting, maintenance, and future system upgrades.

#Recommendation -Training

Ensure that operators and maintenance personnel are well-trained in using platform and understand the specific configurations of your system. This will enable them to identify and resolve issues efficiently, minimizing system downtime.

#Regular Maintenance and Updates

Schedule regular maintenance for your system, including software updates, hardware inspections, and performance assessments. This proactive approach will help to identify potential issues before they escalate, ensuring the reliability and performance of your industrial automation system.

Device Runtime Attributes

Configure security attributes to protect critical data and ensure system integrity.

The Device namespace  is the entry point for all objects related to the Devices module. For general information on namespace and object concepts, go to the section Objects and Attributes.

The Device.Channel object lists all of the configured channels and their runtime properties.

The Device.Node object lists all of the configured nodes and their runtime properties.

The Device.AccessType object lists the defined access types and has options to execute synchronous calls on reading and writing to the device. 

The following tag properties are updated based on the Devices module:

Exampletag.tagName.DevicePointDevice point address connected with this tag.

See Namespaces Reference for the complete list of properties and available methods.


In this section:

Page Tree
root@self
spacesV10

...