Overview
The software platform establishes Channels to manage communication using protocols. A DeviceChannel object encapsulates a selected Protocol and its configuration settings. The Channel is the next step of the Device Module configuration, mapping the stations of PLCs or devices in a field network, and allowing the selection of the protocol settings that will be used with each device.
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.
The typical configuration workflow for the Device Module has the following sequence:
On this page:
Table of Contents maxLevel 3 style none
Configuring Device Channels
Device Channels are the pathways for communication between the HMI and the devices in the system. The sections below describe how to create and edit Device Channels on the platform in more detail.
Creating and Editing a Device Channel
To create a new channel, follow these steps:
- Access Devices → Channels.
- Click on the plus icon.
- Choose a Protocol and fill in the Channel Name and Description fields. The table at the end of this section describes each option available.
- Click OK.
To configure or edit an existing channel, follow these steps
- Access Devices → Channels.
- Double-click the property you wish to edit on the row corresponding to the channel you want to modify.
- Edit the property fields.
Device Channel Properties
The following table describes each available property you can configure when editing a channel:
Field | Description |
---|---|
Protocol Options | Defines the options for this protocol. The options depend on the selected protocol. Check each protocol documentation to guide you. |
Interface | Defines |
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
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.
There are various befits in including the included Native Protocols, instead of having to acquired and maintain a third-party OPC Server to enable the connection. See the Page Native Driver vs OPC Server.
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
Device Channel Creation Settings | |||
---|---|---|---|
Field/Column | Description | ||
Channel Name | Enter a name for the channel. The system allows you to know if the name is not valid. | ||
Protocol | Select the protocol this channel uses. | ||
Interface | Select the interface type for this channel. Serial -: Use this option to configure the serial parameters for RS232/485 networks. MultiSerial -Multi Serial: Use this for configurations with multiple RS-232 ports. TCPIP -: Use for Ethernet or wireless networks. Description Enter a description for this channel.
|
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.
Settings | Defines |
Device Channel Configuration Properties
Field/Column
Description
ProtocolOptions
Configure the options for this protocol.
The protocol options are dependent upon the selected protocol. Select the protocol, from the dropdown list at the top of the page, and click the HELP button to access the specific protocol's documentation.
Settings
the settings for this channel. The available values will depend on the interface the channel is using |
. |
For a serial interface, typically keep the defaults. |
For a |
Multi Serial interface, enter the number of RS-232 ports to use in the Ports field |
. Node Connection: The number of parallel requests sent to each node (asynchronous communication). Accept Unsolicited: Allow to accept unsolicited input from the slave. |
Listening Port: The TCP port where the slave device is connected (default is 502). |
Node Connection: The number of parallel requests sent to each node (asynchronous communication). |
Max Simultaneous Connections: The maximum number of concurrent connections. |
Share Node Same IP: Several slaves are connected to a single IP address. For example, RS485/Ethernet Converters. |
Use Single Thread: Use a single thread for the same IP nodes. |
Use Ping To Check Connection: Check for connection before sending a packet. |
| ||
Timeout |
Defines the timeout options for this channel. Typically, keep the default value. |
InitialState |
Defines the initial state for this channel |
, the states can be as follows: 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 Remote Channels page. Reserved: |
The channel is not loaded, it acts as the channel was temporarily deleted from the project. |
RemoteSettings |
Defines the primary IP and backup IP to configure the remote computer where this channel will run. |
DriverVersion |
Defines the version of the current driver being used. |
Tip |
---|
Communication Drivers can run on remote computers, sending Remote Execution. |
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.
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.
Note |
---|
The protocol options are dependent upon the selected protocol. Select the protocol from the dropdown list at the top of the page and press the HELP button to access the specific protocol's documentation. |
For Modbus protocol:
- For a Serial interface, the SlaveID is the device's slave address on the Modbus network. Valid addresses are 1-247.
- For a MultiSerial interface, select the number of the ComPort and enter the SlaveID, which is the device's slave address on the Modbus network. Valid addresses are 1-247.
- IP - Identification of the slave device's address.
- Port - TCP port where the slave device is connected (default is 502).
- SlaveID - Device slave address on the Modbus network. Valid addresses are 1-247.
- For OPC interfaces:
- You must configure the DCOM settings to access an external OPC server. Contact support for assistance.
- RefreshRate - Server refresh rate.
- AllTemsSameGroup - Adds all items to a single group OPC. This way, only one connection is created with the OPC server.
WaitAfterConnect - The time the application waits, after a project starts, to attempt to communicate.
Note |
---|
OPC UA and OPCXmlDA protocols have a "Test"button to test the connection. OPC UA also has a "Certificates" button to create new certificates for the system.| |
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).
Description
Enter a description for this node.
Adding and Editing Points
Data Points define specific values for each node that can be accessed using tags. 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 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.
Device Points Configuration Properties
Field/Column
Description
TagName
Enter a tag name or click "..." to select a tag. You can also create a new tag.
Node
Select the node for this data point.
Address
Enter the register address which is based on the PLC and protocol for this data point and tag.
Note |
---|
The Protocol options are dependent upon which protocol is selected. Select the protocol from the dropdown list at the top of the page, and press the HELP button to access the specific protocol's documentation. |
DataType
Select the data type you want to use. Most protocols should use the native option. When native is used, the protocol will automatically handle the data conversion.
Selecting a different data type overrides the defaults. Some options may not be applicable to the selected node. Make sure you know the applicable data types.
Modifiers
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 data that is communicated.
AccessType
Select the access type for this data point. You can define and configure the access types. See Access Types below.
Scaling
If you want to manipulate the tag value, select the options you want.
When the data is read in the Equation option:
- Div - The system will divide the register value by what you enter here.
- Add - The system will add the amount you enter here as an offset of the result of the division.
For a write operation, the calculations are the opposite (multiple by the Div value, then subtract the Add value).
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 |
---|
One very efficient AcceesType is to read data when it is being used by the application. Go to the section OnDisplayOrServer AccessType for more information. |
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 FactoryStudio addresses, contact us , as we have programming interfaces to allow that just like we did with the OPC datasources.
Importing from an OPC Server
After you create an OPC communication node, you can select the node and click Import to import the OPC database for the project. FactoryStudio automatically creates the tags and communication points.
Tutorial - Importing from an OPCXmIDA
(review if this subsection is really important here)
Below is a configuration model for Kepware as a server and FactoryStudio as a Client.
Create a name and use an Address similar to the image.
?
In kepware right click on Channel and create a device.
Right-click on device and create a Tag, use a name of your choice and register an address similar to the one in the image.
?
Once this is done, we configure the device module in FactoryStudio.
1.Create an OPCxmIDA Client Legacy channel.
?
2. Create an OPCxmIDA Node and configure it in PrimaryStstion > Service URL > Kepware.KEPServerEX.V6.
?
3. After that, just click on Sync and click on refresh to find your Kepware Tag as in the image below:
Importing from Excel
To create and import Tags:
- In Excel, make a table with the columns that are shown below.
To successfully import the tags, you need the TagName, Type, and Address columns.
- The Tags and Points will be created automatically in Edit > Tags.
- Edit > Device > Points
After you use the Import tool for the first time, the system will save whatever settings you used. The import button switches to now be called the "Sync" button. This make the button execute a synchronization that verifies the previously imported addresses and the new ones.
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.
Device AccessType Configuration Properties
Field/Column
Description
Name
Enter a name for this access type.
Read
ReadPolling
Select when you want to enable read polling.
ReadPollingRate
Enter how often the address value is retrieved.
ReadTrigger
Enter an object property that tells the system when to read the value.
ReadOnStartup
When selected, the system reads the value on startup.
ReadStatus
Enter an object property that receives the status of the read communication.
ReadCompleted
Enter an object property that receives an indication that the reading is completed. The value will change between 0 and 1 every time a reading is completed.
Write
WriteEventEnable
Select to enable the writing of values to the PLC.
WriteEvent
Select when the value is written.
WriteTrigger
Enter an object property that tells the system when to write the value.
WriteStatus
Enter an object property that receives the status of the write communication.
WriteCompleted
Enter an object property that receives an indication that the writing is completed. The value will change between 0 and 1 every time a writing is completed.
Settings
AcceptUnsolicited
When selected, the system accepts values from the PLC, even if the polling time has not yet elapsed.
UseStaticBlocks
Select to use the block command field
BlockCommand
Enter a definition for each block that will be created. Check the driver documentation to see if the specific driver uses this field and the valid values.
Description
Enter a description for the access type.
One very efficient AcceesType is to read data when it is being used by the application. Go to the section OnDisplayOrServer AccessType for more information.
Best Practices and Troubleshooting
Working with Channel
Stop and Start Commands
After creating a solution, you may face issues that compromise the communication with the field device. In such moments, instead of restarting the entire system, you may solve the problem by restarting the channel. You can perform such tasks using scripts, avoiding shutting down the entire system. To do so, follow these steps:
- Access Scripts → Classes
Create a new class using the C# code below, where "XXXX" refers to the name of the channel.
Code Block language c# @Device.Channel.XXXX.Stop() @Device.Channel.XXXX.Start()
You can create a Task or Expression to call this class when needed and do it in other ways that don't use the class.
See the Remote Channels page for more information.
Code Block | ||
---|---|---|
| ||
public void Stop()
{
@Device.Channel.ControlLogix.Stop(10);
} |
In this section:
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Troubleshooting and Common #Issues
Some common issues that may arise while working with Device Configuration include:
#Communication failure or missing data from field devices:
Verify the communication settings and address configuration for the devices. Ensure that the device protocol, IP address, port, and other settings are correctly configured in the communication node. Refer to the Devices section of the documentation for information on setting up and diagnosing connections with field devices.
#Incorrect data point values:
Make sure that the data point addresses, data types, and modifiers are correctly configured according to the device and protocol being used. Consult the device's manual or protocol documentation for the correct settings.
#Performance issues:
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
To get the most out of Device Configuration, follow these best practices:
#Proper Device and Protocol Configuration:
Ensure that the communication settings and address configuration for the devices are correctly set up according to the device and protocol being used. Proper configuration will result in efficient communication and data exchange between the system and field devices.
#Organize and structure data points:
Organize data points in a clear hierarchy, using tags and nodes, to make it easier for users to find and understand the information they need. Plan your data points structure carefully, considering the relationships between devices, tags, and data points.
#Use Importing and Synchronization tools:
Leverage importing and synchronization tools to avoid retyping address information and streamline data management. FactoryStudio supports importing data from various sources such as Excel, CSV files, L5k definition files, and OPC servers.
#Configure Access Types:
Customize and configure access types to define specific methods for reading and writing the values of each data point. This includes setting the polling rate, enabling or disabling read and write events, and defining triggers for these events.
#Monitor Device Communication Status:
Implement monitoring and alarms for the communication status of devices. Create displays and scripts to regularly monitor and report the connection status and performance of devices, and set up alarms when critical connections are lost.
Nesta seção...Page Tree | ||||
---|---|---|---|---|
|
...