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
The Devices module facilitates seamless real-time communication and data exchange with various field devices and industrial protocols, including
Introduction to the Device Module
The Device Module implements real-item data communication with a wide variety of field devices and industrial protocols.
The Device Module supports standard interfaces like OPC-UA, OPC-DA and MQTT, HartModbus, and vendor protocols like Rockwell and many proprietary protocols to various PLCs manufacturers.
The connectivity also includes IT protocols, like SNMP and Ping, and connection with Historian tools, such as OSIsoft PI, GE Historian, InfluxDB and Canary.
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
Currently around 50 drivers are included at no extra charge in the platform, and our development team has experience with more than 200 communication protocols.
On this page:
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Key Concepts and Terms
The Device Module 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, Channels, Nodes, Points, and AccessType.
Protocols
Protocols are the rules governing the Rules for communication between devices. FactoryStudio supports a variety of communication protocols, both native and OPC-based. The selection of Protocols to use in your specific Project is on the Project Explorer, at Devices → ProtocolsThe software supports various communication protocols.
Channels
The Device Module uses Channels to establish connections with field devices. Each channel is defined by a specific Configured to handle specific communication protocols and drivers, defined by 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 Project 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 Project 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 Project 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.
HowUnderstanding the
DeviceDevices Module
OperatesThe typical configuration workflow for the Device Module has the following sequence:
Device Module Configuration Workflow
Action
Where
Comments
Create Channels
Devices → Channels
Identify the required field devices and protocols the project requires, create channels accordingly.
Create Nodes
Devices → Nodes
Identify the Network addresses and relevant information to all stations and devices that need connectivity.
Map Tags to Point addresses
Devices → Points
Optionally, you can Copy Tags from Excel/CSV from Excel or execute Import Wizards.
Create or Customize AccessTypes
Devices → AccessTypes
Optionally, you can optimize the communication, grouping Points with similar requirements to the same AccessType.
Managing Channels and Nodes
Channels are responsible for managing communication protocols and drivers, while Nodes handle multiple threads pointing to the configured Channels. Understanding the relationship between Channels and Nodes is essential for efficient data exchange.
- Channels: Execute processes based on communication protocols and drivers, configuring the required protocol or driver for a specific device.
- Nodes: Perform multiple threads pointing to the Channels, ensuring efficient data exchange and minimizing latency.
Channels are created and configured to handle specific communication protocols and drivers. Nodes, in turn, manage multiple threads pointing to these Channels. This multi-threaded approach ensures efficient data exchange and reduces latency, allowing the system to scale and handle numerous devices simultaneously.
To create channels:
- Go to Edit → Devices → Channels.
- Click Create New.
- The Create New Channel window displays.
- Enter or select information, as needed.
- Click OK. The channel is added as a new row in the table
To edit device channels:
- Go to Edit → Devices → Channels.
- To add or remove a column, right-click the column heading area and select or deselect columns.
- Edit the fields on the row corresponding to the channel you want to modify.
Creating Nodes
Nodes are the devices or PLCs on the network that you communicate with. You can enter the settings for your nodes as usual through the Engineering Workspace. You can also import settings from an OPC server or from another data source. See "Importing PLC Addresses" below.
To configure nodes:
Go to Edit → Devices → Nodes.
Enter or select information, as needed.
To add or remove a column, right-click the column heading area and select or deselect columns.
Organizing the Points with AcessTypes
Points are groups that point to Nodes and are responsible for transferring information between configured devices and FactoryStudio. AccessTypes are used to define the specific methods for reading and writing data point values at specific moments using polling. The number of data points you can configure is related to both the ProductModel that is configured for the project and your software license. This approach allows for optimized data exchange and minimizes latency.
- Points: Groups pointing to Nodes, responsible for transferring information between configured devices and FactoryStudio.
- AccessTypes: Define specific methods for reading and writing data point values at specific moments using polling.
To configure data points:
Go to Devices → Points.
You can copy and paste tags from the Tag → Objects.
Enter or select information, as needed.
To add or remove a column, right-click the column heading area and select or deselect columns.
Access Types Configuration
Access types define the specific methods for reading and writing the values of each data point. This could be the polling rate, whether or not a read is performed on startup, and whether or not unsolicited input is accepted. FactoryStudio comes with a few predefined access types that you can use, or you can create your own.
To configure access types:
Go to Devices → AccessTypes.
Do one of the following:
To edit an existing access type, double-click a field.
To create a new access type, click Create New.
Enter or select information, as needed.
Tip |
---|
One very efficient AcceesType is to read data when it is being used by the application. Go to the section OnDisplayOrServer for more information. |
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. FactoryStudio 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.
Configuring the Device Module
The Device Module in FactoryStudio plays a central role in managing communication between the HMI and devices in an industrial automation system. To ensure seamless integration and optimal performance, it is essential to properly configure the Device Module. This includes selecting the appropriate communication protocol, creating and managing device channels, and defining device nodes and points.
Communication Protocol Selection
FactoryStudio supports a wide range of communication protocols to facilitate interaction between the HMI and various industrial devices. To select the appropriate protocol for your system, consider factors such as compatibility with the devices in your network, data transfer speed, reliability, and security requirements. Once you have determined the most suitable protocol, configure it within the Device Module to establish communication between the HMI and devices.
Protocol Comparison: Native vs OPC
What are the benefits of supplying native protocols interfaces to PLCs, instead of just use OPC client and rely on external OPC server to get the date?
Some PLCs are using OPC UA as their native built-in protocol, certainly this question does apply to them, but to other equipments using proprietary protocols.
There are many scenarios when the native driver is more beneficial. Let us explore some of them:
Higher Performance
Instead of a direct connection, invariably adding one more application in the middle cause additional lag time. Further, the AccessTypes and the ability of parles execution (multi-threading) available in the Device Module allows optimized configuration not available in most OPC servers.
Cost Reduction
Most of the native drivers are included at no charge. The exceptions when there is a cost, it is typically quite smaller than the OPC server cost.
The OPC server still needs to use the Native Protocol Addresses
One misleading argument to use OPC is to hide the PLC address from the configuration. The reason it is misleading is that you need to use the native PLC address to setup the configuration of the OPC server anyway; you just duplicated the work load.
The exception here is if the OPC Server is already installed and serving multiple applications. In this case, the connection using the OPC Client to the centralized OPC server is recommended.
Another good option is to leverage the OPC Server included in the Module device for the Edge application. In this case, the project connects with the field device with the native protocol, still enabling its OPC Server functionality, so other applications can use the built OPC Server in the FrameworX to access the data.
Easier Field Maintenance and Deployment
As explained on the previous item, if the OPC Server was not in its place, adding one more "middle-man" is just stressing the deployment and maintenance procedures.
Improved technical support
Two points for potential failure or misconfigurations, and two independent suppliers, typically do not compare with a single environment and centralized support.
Available Communication drivers
Tip |
---|
The up-to-date list of Communication drivers is publics at docs.tasoft.com at the Communication Drivers section. Additional driver can be created using the Drivers Toolkit. |
Creating and Managing Device Channels
Device channels in FactoryStudio are the pathways for communication between the HMI and the devices in the system. To create and manage channels, follow these steps:
To create channels:
Go to Edit → Devices → Channels.
Click Create New.
The Create New Channel window displays.
Enter or select information, as needed.
Click OK. The channel is added as a new row in the table
To edit device channels:
Go to Edit → Devices → Channels.
To add or remove a column, right-click the column heading area and select or deselect columns.
Edit the fields on the row corresponding to the channel you want to modify.
By properly configuring the Device Module, selecting the right communication protocol, and effectively managing device channels, you can ensure a robust and efficient industrial automation system using FactoryStudio as your HMI/SCADA solution.
Tip |
---|
To learn more about how to create and edit channels within the device module, refer to the Creating and Editing Channels section in Device Configuration. |
Defining Device Nodes
Creating Nodes
Nodes are the devices or PLCs on the network that you communicate with. You can enter the settings for your nodes as usual through the Engineering Workspace. You can also import settings from an OPC server or from another data source.
To configure nodes:
Go to Edit → Devices → Nodes.
Enter or select information, as needed.
To add or remove a column, right-click the column heading area and select or deselect columns.
Tip |
---|
To learn more about how to create and edit Nodes within the device module, consult the Creating and Editing Nodes section in Device Configuration. |
Device points define specific values for each node that can be accessed using tags. Configuring data points is crucial for monitoring and controlling various aspects of the industrial automation system. The number of data points you can configure is related to both the ProductModel that is configured for the project and your software license. To add and edit device points, follow these steps:
To configure data points:
Go to Devices → Points.
You can copy and paste tags from the Tag → Objects.
Enter or select information, as needed.
To add or remove a column, right-click the column heading area and select or deselect columns.
Importing PLC addresses in FactoryStudio enables efficient integration of devices and communication points, using sources such as Excel, CSV files, L5k files, and other options.
Tip |
---|
For information on creating and editing Points within the device module, as well as various methods for importing PLC addresses, visit the Creating Points and Importing PLC Addresses section in Device Configuration. |
Customizing the Pre-defined AccessTypes
FactoryStudio comes with several pre-defined access types that define the specific methods for reading and writing the values of each data point. To further optimize data exchange, users can customize these access types as needed. To customize pre-defined access types:
To configure access types:
Go to Devices → AccessTypes.
Do one of the following:
To edit an existing access type, double-click a field.
To create a new access type, click Create New.
Enter or select information, as needed.
Tip |
---|
To understand the device module's AccessType tab, explore the AccessType Configuration section in Device Configuration. One very efficient AcceesType is to read data when it is being used by the application. Go to the section OnDisplayOrServer for more information. |
Device Configuration Tutorial
The Device Configuration Tutorial provides a detailed guide to configuring the Modbus and OPC interfaces, 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 FactoryStudio. 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 in FactoryStudio, 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 project. 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.
Tip |
---|
For the Device Configuration Tutorial, take a look at the Device Configuration Tutorials page. |
Device Module collects data from the field and feeds it into the solution’s tags.
Module Features
Simplifies architecture by removing the need for additional communication products.
Supports on-premise, edge, enterprise-level, and cloud communication.
Includes a built-in MQTT Broker and OPC Server.
Provides MQTT SparkPlug B and OPC-UA simulators for demos and prototyping.
Features a Driver Toolkit for adding new interfaces.
Native Communication 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
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 need to implement new protocols or require a deeper understanding of 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.
• 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. |
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 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 values that the simulation can reach, as well as other options such as string length for the STRING type or ramp step for the RAMP type.
Other simulators available:
- ValueSimulator (internal driver)
- OPC UA Simulator (external simulator)
- MQTTspB Simulator (external simulator)
- 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.
Navigate to Devices / Monitor, to see a table with current status of all Device Nodes.
Using Data Quality on Displays
Monitors can display and utilize the data quality of communication tags to ensure that accurate and reliable information is presented to operators.
Tip |
---|
Working with the Device Module
The Device Module in FactoryStudio 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.
Runtime Execution
During runtime execution, the Device Module manages all aspects of communication between the HMI and the devices in the industrial automation system. This includes establishing and maintaining connections, handling read and write requests, and processing data quality and device status information. Proper configuration and optimization of the Device Module are critical for ensuring seamless data exchange, minimal latency, and optimal system performance. The Device Module supports a wide range of communication protocols, making it adaptable to diverse devices and systems.
Devices and TagProviders Distinctions
In FactoryStudio, devices represent the physical equipment in the system, while TagProviders 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, FactoryStudio promotes modularity, simplifies configuration, and enables users to build scalable and maintainable solutions.
Using Data Quality on DisplaysData quality is a critical aspect of any HMI/SCADA system |
. Our platform allows users to incorporate data quality |
into displays |
, providing a visual representation of data reliability |
and enabling operators to make well-informed decisions. This |
feature helps operators |
identify potential issues and take appropriate action to maintain system performance and safety. |
Device Module Runtime Attributes
The Device namespace is the entry point for all objects related to the device 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 device module:
tag.tagName.DevicePoint
Programming reference on runtime objects
See Namespaces Reference for the complete list of properties and available methods.
Troubleshooting and Best Practices
Using the Built-In Diagnostics tools
The Platform has three Built-in Tools for diagnostics, PropertyWatch, TraceWindow and ModuleInformation. For information on those tools in general go to < acho que Execute Startup diagnostics), for specific information on levering its usage on Device Module diagnostics got o <Chilld Tag Diagnostics)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 | ||||
---|---|---|---|---|
|
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 for diagnostics of the software solution and runtime: PropertyWatch, TraceWindow and ModuleInformation.
Info |
---|
Read information specific to Devices Diagnostics in Devices Monitor. |
Common Issues and Solutions
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Common #Issues and Solutions
#IssueControlLogix 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.
#issue.
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.
Best Practices and #Recommendations
#Recommendation - System Design
Plan and design your industrial automation system with scalability and maintainability in mind. Use a modular approach, separating responsibilities between devices, TagProviders, and other modules. This promotes efficient workflows and simplifies system management.
#Recommendation - 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 FactoryStudio and understand the specific configurations of your system. This will enable them to identify and resolve issues efficiently, minimizing system downtime.
#Recommendation - Regular Maintenance and Updates
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.
In this section:
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.
In this section...Page Tree | ||||
---|---|---|---|---|
|
...