Overview
The Device Module 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.
On this page:
Table of Contents maxLevel 3
Points represent specific data elements (like registers, I/O values, or variables) within a Node, which represents a connected device. By binding device points to tags in the software, they provide granular access to device data for both monitoring and control, enabling seamless data exchange between the platform and field devices.
On this page:
Table of Contents maxLevel 3 style none
Adding and Editing Device Points
Device
Configuration Workflow
The 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.
Communication Protocol Selection
Our software supports over 50 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.
Tip |
---|
You can check the up-to-date list of Communication drivers at the Communication Drivers section. Additional communications protocol (drivers), can be user-created with the Drivers Toolkit. |
Creating and Managing Device Channels
Device channels 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 Devices → Channels.
Click New item...
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
Device Channel Creation Settings
Field/Column
Description
Channel Name
Enter a name for the channel.
Protocol
Select the protocol this channel uses.
Description
Enter a description for this channel.
Info |
---|
For more information about the configuration for common protocols and interfaces, click Help at the top of the tab inside FrameworX. |
To edit device channels:
Go to Devices → Channels.
To add or remove a column (visualization only), 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.
Device Channel Configuration Properties
Field/Column
Description
ProtocolOptions
Configure the options for this protocol.
Protocol options depend on the selected protocol. Check each documentation to guide you.
Interface
Select the interface type for this channel.
Serial - Use to configure the serial parameters for RS232/485 networks.
MultiSerial - Use for configurations with multiple RS-232 ports.
TCPIP - Use for Ethernet or wireless networks.
Settings
Configure the settings for this channel. The available values depend on the interface the channel is using.
- For a serial interface, typically keep the defaults.
- For a MultiSerial interface, enter the number of RS-232 ports to use in the Ports field.
- AcceptUnsolicited - Accept unsolicited input from the slave.
- ListeningPort - TCP port where the slave device is connected (default is 502).
- NodeConnection - Number of parallel requests sent to each node (asynchronous communication).
- MaxSimultaneousConnections - Maximum number of concurrent connections.
- ShareNodeSameIP - Several slaves are connected to a single IP address. For example, RS485/Ethernet Converters.
- UseSingleThread - Use a single thread for the same IP nodes.
UsePingToCheckConnection - Check for connection before sending a packet.
Info |
---|
The settings here must match the settings on the slave device. |
Timeout
Configure the timeout options for this channel. Typically, keep the default value.
InitialState
Select the initial state for this channel.
Enabled: the channel is loaded and execution starts when the project starts.
Disabled: the channel is loaded, but does not starts execution going the disabled state.
Remote: the channel is local in a remote Computer defined that the Remote Settings. See more information at Remote Channels.
Reserved: the channel is not loaded, it acts as the channel was temporarily deleted from the project.
Remote Settings
Set the primary IP and backup IP to configure the remote computer where this channel will run
Driver Version
The version of the current driver being used.
Restarting the channels:
It is possible to restart the Channel of the device module via script. That way, you don't have to shut down the entire system.In Scripts > Classes, create a class using the follow code:
Device.Channel.XXXX.Stop()
Device.Channel.XXX.Start()
Note: The "XXXX" refers to the name of the Channel being used.
You can create a Task or Expression to call this class when needed, you can also do it in other ways that don't use the class. You can configure a button to perform this task in a screen, as example.
Creating Nodes
Nodes are the devices or PLCs on the network with which you communicate and this is where you must enter the settings for each one that will be connected to your project.
You can also import settings from an OPC server or from another data source.
To configure nodes:
Go to Devices → Nodes.
Enter or select information, as needed.
To add or remove a column (visualization only), right-click the column heading area and select or deselect columns.
Device Node Configuration Properties
Column
Description
Name
Enter a name for the node. The system lets you know if the name is not valid.
Channel
Select the channel for this node. For more information about the configuration for common protocols, click Help at the top of the tab.
PrimaryStation
Enter the information required to access the primary node, based on the protocol selected.
BackupStation
Enter the information required, based on the protocol, to access the backup node. When the backupstation is defined and a communication failure occurs on the primary station, the system automatically attempts to establish communication with the backup station.
SyncDate
Date that the import was done (read only field).
SyncStation
Information about the station where the import was done - Station IP, Port and Slot - (read only field).
SyncSettings
Information about the settings used by the system to import the file (read only field).
TemplateID
- Greater than
- Greater than or equal to
- Less than
- Less than or equal to
- Equals
- Not equals
Description
Enter a description for this node.
[Other columns]
For definitions of other columns that are available in many tables, see Common Column Definitions.
Adding and Editing Points
Data Points define specific values for each node that can be accessed using tags. The number of data points Device Points you can configure is related to both the ProductModel that is product model configured for the project solution and your software license.
To configure data points:
Go toDevice Points, follow these steps:
- Access Unified Namespace → Tags.
- Copy the tags to be used.
- Access Devices → Points.
You can copy and paste tags from the Unified Namespace → Tags.
Enter or select information, as needed.
To add or remove a column (visualization only), right-click the column heading area and select or deselect columns.
- Paste the copied tags.
- Double-click the property you wish to edit on the row corresponding to the tag you want to modify.
Device Points Properties
The following table describes each available property you can configure when configuring a Device point. If a property column is not visible on the grid, enable it by right-clicking the grid header and selecting it from the list.
Points Configuration Properties | |
---|---|
Field/Column | Description |
TagName | Enter a The associated tag name or click . The three dots button "..." allows you to select a tag. You can also create a new tagan existing tag from a list. |
Node | Select Defines the associated node for this data pointDevice Point. |
Address | Enter Defines the register address, which is based on the PLC and protocol for this data point Point and tagTag. |
DataType | Select Defines the data type you want to usebe used. Most protocols should use the native option . When native is used, since the protocol will automatically handle the data conversion. Selecting a different data type overrides the defaults. Some options may not be applicable apply to the selected node. Make sure you know the applicable data types. |
Modifiers | If Select the options you want if the PLC uses a different byte order, select the options you want. You can change the position bit, byte, Word, or Dword of the communicated data that is communicated. |
AccessType | Select the access type for this data pointPoint. You can define and configure the access types. → Read more about Devices AccessTypesSee Access Types below. |
Scaling | If you want to manipulate the tag value, select the options you want. When This property manipulates the Tag value when the data is read in the Equation option, it has 2 options:
For a write operation, the calculations are the opposite (multiple by. The system will multiply by the Div value, then subtract the Add value ). |
Label | A text that represents a label to the point |
Dynamic Address Configuration
Everything in the Device configuration, from the Node to address and Tag mapping, can be changed online using scripts.
The following example outlines a process for configuring dynamic addresses using MQTT telegrams.
Dynamic Address example
The address format is `/topic/@Tag.gateway/data`, where `@Tag.gateway
` will be replaced with specific values. The MQQT telegrams are received on topics like the ones below
Dynamic Configuration Points > Address
The example below shows how to configure a dynamic Address using a MQTT telegram, for example:
- /topic/gateway/data:
- /topic/gatewayX/data
- /topic/gatewayY/data
- /topic/gatewayZ/data:
In other words: /topic/@Tag.gateway/data:
You can create a standard point in Devices>Points, with Tag name, node, and Address
You need to configure the Points that will be used. Access Devices → Points to configure points defining their names, Node, Tags, and Address.
To use the Dynamic Address through scrips, your code will need to execute the following steps:
- First, it needs to retrieve the data of the desired point from the database using the
GetDataTable
method. - Then, you will update the Address field of the retrieved data row with a new address formed by concatenating
Group
,@Tag.Gateway
, and/Device
. - After performing the changes, your code will update the database with the new row data using
UpdateDataRows
.
The system will log an error if any error occurs during the updating process. Otherwise, it applies the changes to the database.
The following code presents an example of changing
You can use the following code to changethe Address for the desired point
:.
Code Block |
---|
string error; DataTable dt_DevicePoints = TK.ProjectDB.GetDataTable("EditDevicesPoints", "TagName='Tag.Tag01.Velocidade'"); DataRow[] rows = new DataRow[1]; rows[0] = dt_DevicePoints.Rows[0]; @Info.Trace(rows[0]["Address"].ToString()); rows[0]["Address"] = "Group01/"+@Tag.Gateway+"/Device01"; @Info.Trace(rows[0]["Address"].ToString()); rows[0].AcceptChanges(); TK.ProjectDB.UpdateDataRows("EditDevicesPoints", rows, out error); if (String.IsNullOrEmpty(error) == false) { @Info.Trace("Error changing tag address: " + error); } else { @Info.Trace("Applying Devices Changes - begin"); TK.ProjectDB.ApplyProjectChanges(); @Info.Trace("OK!"); } |
Code Breakdown
To make it easier for you to understand the above example, next you find additional explanations related to core operations.
In the code block below, the first parameter identifies the Points table from which data is retrieved. In the second line when using the code DataTable dt_DevicePoints = this case, the second parameter refers to the specific column used for filtering data, the Tag Name column. This column is used to identify the tag configured within the Points table. For instance, the tag Tag.Tag01.Velocity
is retrieved in this example.
Code Block |
---|
DataTable dt_DevicePoints = TK.ProjectDB.GetDataTable("EditDevicesPoints", "TagName='Tag.Tag01.Velocity'"); |
The following code enables you to choose the new desired address. The string type tag @Tag.Gateway will receive a different name in the example.
Code Block |
---|
rows[0]["Address"] = "Group01/"+@Tag.Gateway+"/Device01"; |
The following line of code updates the Address internally in the system.
Code Block |
---|
K |
.ProjectDB.UpdateDataRows("EditDevicesPoints", rows, out error); |
If no error occurs in the update, you can apply the change to the project using the code
: TK.ProjectDB.ApplyProjectChanges(); from this moment on your Address is configured withbelow. From then on, the Address will use the new value previously entered
.on the script.
Code Block |
---|
TK.ProjectDB.ApplyProjectChanges(); |
Importing Device Points from PLC addresses
Additionally, you can simplify the creation of Device Points with various methods for automatic data configuration import.
? Read more about Importing PLC Addresses
Importing PLC Addresses
When creating the communication nodes and point addresses, there is no need to retype those addresses if they are already defined in some other data source. Currently, Tatsoft supports the following methods to automatically import remote data configuration:
You can copy and paste the contents of a table from Excel. The tables can have different columns or order, as long you include the TITLE of the column in the copy and paste operations. The system will put the data in the expected columns, even if the order is different in the source and target tables.
You can import the data from CSV files.
For Rockwell ControlLogix devices, you can import from L5k definition files.
You can use various Import Wizards from many data sources
For OSIsoft® PI database, there is a FactoryStudio version to share definitions.
A programming API is available that can populate the tables from code, even from runtime execution when it is necessary.
If your PLC or Field Device has an open database of file with the available addresses, and you would like to have a tied integration with that configuration and addresses, contact us, as we have programming interfaces to allow that just like we did with the OPC datasources.
For more information, visit Import Tag Wizards.
Importing from an OPC Server
Importing data from an OPC server allows for efficient and streamlined integration with industrial automation systems. By creating an OPC communication node and selecting the "Import" option, FactoryStudio automatically creates tags and communication points based on the information available from the OPC server. This functionality simplifies the configuration and maintenance of the project, optimizing the data integration process. To learn more about importing data from an OPC server, please visit Import Tag Wizards - OPC Server.
Tutorial - Importing from an OPCXmIDA
The Importing from OPCXmIDA tutorial guides you through the process of configuring a Kepware server and a client, establishing an efficient OPC connection between the two systems. By following the steps outlined in the tutorial, you can create and configure devices, tags, and OPCxmIDA communication nodes in both Kepware and our software. Additionally, the tutorial covers how to change the visibility property of the tags to ensure proper communication between the OPC server and client. For detailed, step-by-step information on importing from OPCXmIDA, please visit Tutorial - Importing from an OPCXmIDA
Importing from Excel
The import and export of tags and PLC addresses is streamlined due to its integration with Excel, as the software extensively utilizes tables in various features. By creating a table in Excel with the required columns, such as TagName, Type, and Address, you can copy and paste the data directly into platform. The software ensures the accurate assignment of data to the corresponding columns, even if the column order is different. After the first import, the system stores your settings, making it easy to synchronize previously imported addresses and new addresses. For more detailed information on the import and export process of tags, visit Import Tag Wizards -Importing from Excel.
In this section:
Page Tree | ||||
---|---|---|---|---|
|
...