Devices
(Field Communication)
Introduction to the Devices Module
The Devices module facilitates seamless real-time communication and data exchange with various field devices and industrial protocols, supporting standard interfaces like OPC-UA, MQTT and Modbus, vendor protocols like Rockwell, CODESYS., GE, and an open extension toolkit created with experience is dealing with more than 200 protocols.
Included in Devices
- IT Protocols (SNMP and Ping)
- Connections with Historian Tools (Canary, OSIsoft PI, GE Historian, InfluxDB, and others)
- 70+ Communications Drivers for Industrial protocols
On this page:
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 the sections:
Protocols
Protocols are the rules for communication between devices. Our software supports a variety of communication protocols.
Channels
Channels are created and configured to handle specific communication protocols and drivers. Each channel is defined by a specific protocol driver and connection type, 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 in 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
Each Point is associated with an AccessType, which defines the rules for reading and/or writing values for that Point. Some rules that can be set are Polling rate, whether a read is performed on startup, and whether you write values to that Point. The AccessType allows users to configure the way in which clients can access data points in the system.
Understanding the Devices Module
The Device Module collects data from the field and feeds that data into the solution's tags.
Module Features
- Simplify your architecture by removing the needing 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!
- MQTT Broker and OPC Server are both built-in!
- MQTT SparkPlug B and OPC-UA simulators expedite demos and prototyping.
- Driver Toolkit allows our team, or any third-party, to easily add new interfaces.
Implementing Communication Protocols
Our software supports numerous communication protocols for HMI and industrial device interaction. The platform also supports open communication standards, like OPC, but there are various benefits in having the native protocol implementation. Learn more on the page Native vs OPC drivers.
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.
→ Read more about communication Protocols.
When using the Devices module, you can use multiple protocols simultaneously.
→ Read more about Devices 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.
→ Read more about External TagProviders
Configuring the Devices Module
The Device Modules collects data from the field and feeds that into into the solution tags. The typical configuratoin workflow has the following sequence:
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 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, its 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. |
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.
For a typical Device configuration, Go to Device Configuration Tutorial → Modbus Tutorial.
Despite using Modbus as protocols, the concepts of that Tutorial applies in general do all protocols. It 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.
Working with the Devices Module
Runtime Execution
You can control the Devices Module execution while running your solution. You can Run, Pause, or Stop the Historian module directly from the platform. Access Runtime → Runtime Diagnostics to find the three buttons that you can use to control the module.
Intra-Module Interaction
Here are some examples of how to use this module in conjunction with other modules within the software environment:
Using Data Quality on Displays
Monitors can display and use the data quality on communication tags to ensure accurate and reliable information is being presented to operators.
Tooltip option
Data quality is a critical aspect of any HMI/SCADA system, our platform allows users to incorporate data quality on displays to provide a visual representation of data reliability, enabling operators to make well-informed decisions. This allows operators to identify potential issues and take appropriate action to maintain system performance and safety.
Unified Namespace Module
The Devices Module collects data from the field and feeds it into the solution, effectively mapping tag values to field equipment like PLC registers.
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 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 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.
Simulators
- ValueSimulator (internal driver)
- OPC UA Simulator (external simulator)
- MQTTspB Simulator (external simulator)
- Modbus Protocol Simulator (external simulator)
External Systems Interaction
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. Each external device used with the software platform has its own communication rules defined by the manufacturer or protocol creator. The module supports multiple communication protocols and has 70+ drivers available for integration.
→ See a list of available Communication Drivers.
Advanced Devices 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.
Devices Runtime Attributes
The Devices Namespace exposes properties and methods from the .NET objects used by the Device Module execution. You can use these methods to configure security attributes to protect critical data and ensure system integrity.
The Devices Namespace is the entry point for all objects related to the Devices module. The following table contains the most used objects when working with Devices.
Object | Description |
---|---|
Device.Channel | This object lists all of the configured channels and their runtime properties. |
Device.Node | This object lists all of the configured nodes and their runtime properties. |
Device.AccessType | This 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:
Example | |
---|---|
tag.tagName.DevicePoint | Device point address connected with this tag. |
To learn about the basic concepts of namespaces and objects, you can refer to Objects and Namespaces.
Best Practices and Troubleshooting
Built-in Diagnostics tools
There are three built-in tools for diagnostics of the software solution and runtime: PropertyWatch, TraceWindow and ModuleInformation.
Read information specific to Devices Diagnostics in Devices - Monitor.
Common Issues and Solutions
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 (MATT - SHOULD WE ITALIZIE OPTIONS?) "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 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 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 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
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, 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.
See the below to find our best practice recommendations for using the Devices module the most effectively. And in case you should happen to encounter any issues you will also find some troubleshooting tips below as well.
In this section: