Versions Compared

Key

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

Overview

The software platform supports multiple communication various protocols, including such as Modbus, OPC UA, and AB Rockwell ControlLogix, to ensure compatibility with a wide range of industrial devices.  In addition to the larger set of protocols provided, it is possible also to create new Protocol Drivers with the Driver Toolkit. Each external device used with the software platform has its own communication rules defined by the  

When creating new drivers, or doing advanced diagnostics in existing ones, it is important to have a deep understanding on how a communication protocol for industrial devices works. 

On this page:

Table of Contents
maxLevel3
stylenone


Key Concepts and Terms

Protocols define the rules and message formats that govern device communication. Each external device follows specific communication rules established by its manufacturer or protocol creator. These rules

are used to create

dictate the structure of TX messages

,

(sent from the

software

platform to the device

,

) and RX messages

,

(sent from the device to the

software

platform

. Communication drivers must be configured for the software platform to communicate with external devices. On this page, you find an overview of important communication protocol information.

On this page:

Table of Contents
maxLevel3

Terminology 

When dealing with communication protocols, you need to have some concepts clear to understand how they work. Check the definition of key concepts used throughout the documentation and inside the platform). Users select the appropriate protocol for the device they want to connect to and configure the necessary communication drivers to enable communication.

  • Communication protocol:
  •  
  • A set of rules that
  • defines
  • define how external devices communicate with the software platform.
  • Communication driver:
  •  A software
  • Software designed for data transmission between the software platform and an external device following the device's communication protocol.
  • TX message:
  •  
  • A message sent from the software platform to the external device.
  • RX message:
  •  A
  • A message sent from the external device to the software platform.
  • Byte:
  •  The
  • The basic unit of information used in TX and RX messages.
  • External device:
  •  Any
  • Any device or software used with the software platform, such as PLCs, sensors, and actuators
  • , among others
  • .
Communication

Commonly Used Protocols

The platform supports multiple communication protocols. Each one has , each with specific characteristics and benefits that may suit suited to different applications. The below list describes some of the most used communication protocols, providing brief descriptions.

Modbus:

Here are descriptions of some commonly used protocols:

Modbus

A

 Modbus is a

serial protocol that uses a master-slave architecture to communicate with external devices. It

is

operates on a request-response

based

basis,

meaning

where the master device sends a request to the slave device and waits for a response before sending the

subsequent

next request. Modbus supports various data types, including bits, bytes, integers, and floats.

See 

See Modbus Master Protocol

 and 

and Modbus Slave Protocol

 for more details

for examples on the configuration and addresses for that protocol.

OPC

UA: OPC UA

UA (Open Platform Communications Unified Architecture)

It is a platform-independent protocol based on web services. It uses a client-server model to communicate with external devices

. It

and supports advanced security and encryption to protect transmitted information.

See 

See OPC UA Client

Communication Driver for more details

Driver on how to configure the network addresses and Points addresses to that protocols.

AB Rockwell ControlLogix

:

 This

 The AB Rockwell ControlLogix

protocol is used to communicate with devices in the ControlLogix family from Rockwell Automation. It uses a master-slave architecture and supports various data types, including bits, bytes, integers, and floats. The ControlLogix protocol is widely used in the industry and is relatively easy to implement.

See 

See AB Rockwell ControlLogix and CompactLogix devices on how to configure the network addresses and Points addresses to that protocols.

Info

There are several other communication protocols available to connect to external devices using the software. Each protocol has its own specific characteristics and benefits that may be more suitable for different applications, or reflect standards used by hardware vendors.
For the updated list of available protocols, go to:
Communication Drivers.



Mapping Protocol Addresses  

The following organization is created when mapping address to the Tags in the Application. 

Address Syntax

Different protocols will have distinct ways to identify their internal elements, but essentially in all protocols, there is an address that will be mapped (for reading or writing) to a variable in the solution.

Read Groups and Write Groups

Read Groups and Write Groups are crucial for managing communication between the platform and external devices. They contain information about tags and communication operands, organizing and optimizing the data exchange process. A Read Group reads data from devices, while a Write Group writes data to devices. These groups are dynamically created based on the tags' configuration, such as Access Type, Polling Rate, and addresses, and are managed by the communication driver.

Communication Optimization

Efficient communication is vital for the performance of any industrial automation system. Several strategies can optimize communication between the platform and external devices, including:

  • Grouping tags with similar polling rates and access types.
  • Combining sequential addresses in a single request message to reduce the number of messages.
  • Adjusting the MaximumBlockSize parameter according to the device's capabilities.
  • Using multiple communication channels to prioritize specific requests or handle different devices concurrently.

Read On Display Access Type

The Read On Display Access Type setting enables communication only when data is displayed on the screen. This can improve performance for data that doesn't require constant updates or historical storage. Read Groups and Write Groups are created during the Devices Module startup without considering the Access Type. When a screen opens, the platform checks if any points have the Read On Display setting and are linked to the tags of the open screen. Points with Read On Display Access Type that are not displayed on the screen are disabled, and the associated group is only turned off if all its points are disabled.

Understanding how the Read On Display Access Type works is essential for efficient communication, as it helps reduce unnecessary data exchange. To learn more, see Access Types.


Communication Protocol Execution 

 for more information.
  • TSimulator: The TSimulator simulation driver is a communication protocol that allows users to generate random values in various data types for testing and validation purposes. It is designed to be used with the Device Module. It provides 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 the simulation value can reach and other options, such as string length for the STRING type or ramp step for the RAMP type. Access the TSimulator Auto Generated Values page for additional information about the Simulator protocol configuration.
  • Info

    There are several other communication protocols available to connect to external devices using the software. Access the Communication Drivers page for additional information about the options available in the platform.

    Detailed Functionality

    Communication Messages

    Communication messages are the foundation of data exchange between the platform and external devices. They transmit information from one entity to another, following a specific communication protocol. There are two types of communication messages:

    • TX messages: Sent from the software to the device.
    • RX messages: Sent from the device to the software.

    Both types contain a series of bytes, each with its specific meaning, following the rules established by the chosen communication protocol. Message types can include the following types:

      Command
    • Commands
    • Response
    • Alarm
    • Data
    • Status

    Each device manufacturer and communication protocol creator defines communication message rules. These messages are called TX and RX. TX messages go from the software platform to the device, and RX messages go from the device to the software platform. Each entity in this “conversation” needs to know the communication protocol to understand what the TX and RX messages mean. Each byte within the message has a specific meaning.

    Protocol Example: Modbus

    To better understand the communication process better, let's analyze the Modbus TCP/IP, a real-world protocol. The Modbus TCP/IP is widely used protocol in industrial automation and that allows data exchange between various devices through a TCP/IP network. This protocol uses a client-server model, where the client (the platform) sends requests to the server (the device) to read or write data. The image below describes the structure of the protocol's message.

    Where:

    Modbus TCP/IP Message Structure

    • Transaction ID (2 bytes):
    •  This
    • This unique number helps match requests and responses.
    • Protocol ID (2 bytes):
    •  This
    • This is a constant value (0x0000) for Modbus.
    • Length Field (2 bytes):
    •  Specifies
    • Specifies the length of the remaining message.
    • Unit ID (1 byte):
    •  The
    • The address of the remote device.
    • Function Code (1 byte):
    •  Indicates
    • Indicates the requested action, such as read or write.
    • Data (variable): Contains the data to be read or written or error information.

    Understanding the structure of a specific protocol 's structure is essential to properly configuring communication between FactoryStudio and external devices. Each device manufacturer and communication protocol's creator defines communication message rules. These messages are called TX and RX. TX messages are the messages that go from FactoryStudio to the device, and the RX messages are the messages that go from the device to FactoryStudio. Each entity related to this “conversation” needs to know the communication protocol to understand what the TX and RX messages mean. Each byte within the message has a meaning. Let us consider the following fictitious communication protocol definition:

    [STX] [CMD] [OPR] [STA] [CNT] <DATA> [ETX]

    is important for advanced scenarios where performance optimization or network-level diagnostics are necessary.

    Protocol Example: STX and ETX

    Consider the following fictitious communication protocol definitionWhere:

    • [STX]: Is the start Start Message (02 hexa).
    • [CMD]: Is the Command (04 hexa for a Read Action, 05 hexa for a Write Action, or 06 hexa for Ack Answer).
    • [OPR]: Is the operand  Operand (31 hexa for an Integer or 32 hexa for a Float).
    • [STA]: Is thestart Start Address - Beginning address to read or write (two bytes).
    • [CNT]: Is the counter Counter of the quantity of bytes in the data packet to read or write (one byte) .
    • <DATA>: Is the data Data bytes related to the content read or write written (each operand can have 2 or 4 bytes).
    • [ETX]:   Is the end End Message (0D hexa).

    Based on the above fictitious this communication protocol definition, the following statements are true:fowling TX and RX lines are valid.

    • TX: 02 05 31 00 00 04 0D (Send to Device)
    • RX: 02 06 31 00 00 04 00 00 00 00 0D (Device answer)

    That means the TX is composed by:

    02[STX]

    05[CMD RD]

    31 [Integer]

    00 00 [Start Address : 0]

    04[Quantity: 4 bytes]

    0D [ETX]

    The RX was composed by:

    02 [STX]

    06 [ACK ANSWER]

    31 [Integer]

    00 00 [Start Address : 0]

    04 [Quantity: 4 bytes (two operands integer)]

    00 00 [Operand 1 with data value 0]

    00 00 [Operand 2 with data value 0]

    0D [ETX]

    Defining Communication Blocks

    • If the CNT is a single byte
    • that indicates
    • indicating the number of bytes and the FF hex means 255, a communication block can have a maximum of 255 bytes. Thus, each TX/RX can transmit a maximum of 127
    • (integer)
    • integers or 64
    • (
    • floats
    • )
    • , which are the operand limits per communication block. The CNT, or 255 in this case, is the MaximumBlockSize, defined as the maximum size of the communication block.
    • As defined by the communication protocol, the user generally cannot customize the Maximum block size.
    • Since a device's available operands can be much larger than the MaximumBlockSize, multiple TX/RX exchanges
    • can
    • may be required to read or write
    • on
    • all the data.
    •  
    • In a TX/RX, a read dataset is called a ReadGroup. Each ReadGroup contains information regarding FS Tags and communication operands. Consequently, the number of operands must be less than the maximum block size.
    • ReadGroups and WriteGroups are created during the
    • device module
    • Devices Module startup.
    • Also, the
    • The Points settings are sorted, and the Groups are sequentially created by considering whether
    • or not
    • two different points can be in the same communication TX/RX. The information considered
    • is
    • includes Node, Address (Operand, Address, Name), MaximumBlockSize, Read/Write Command, and Polling Time
    • .

    Read Groups and Write Groups

    Read Groups and Write Groups are essential for managing communication between the platform and external devices. They contain information about tags and communication operands and are responsible for organizing and optimizing the data exchange process. A Read Group reads data from devices, while a Write Group writes data to devices. These groups are dynamically created based on the tags' configuration, such as Access Type, Polling Rate, and addresses, and then managed by the communication driver.

    Communication Optimization

    Efficient communication is crucial for the performance of any industrial automation system. Several strategies can be implemented to optimize communication between FactoryStudio and external devices, such as:

    • Grouping tags with similar polling rates and access types.
    • Combining sequential addresses in a single request message reduces the number of messages.
    • Adjusting the MaximumBlockSize parameter according to the device's capabilities.
    • Using multiple communication channels to prioritize specific requests or handle different devices concurrently.

    Read On Display Access Type

    The Read On Display Access Type is a setting that enables communication only when data is displayed on the screen. This can improve performance for data that doesn't require constant updates or historical storage. Read Groups and Write Groups are created during the device module startup without considering the Access Type. When a screen opens, the platform checks if any points have the Read On Display setting and are linked to the tags of the open screen. Points with Read On Display AccessType that are not displayed on the screen are disabled, and the associated group is only turned off if all its points are disabled.

    Understanding how the Read On Display Access Type works is essential for efficient communication, as it helps reduce unnecessary data exchange. To learn more information, see Access Types
    • .

    In this section:

    Page Tree
    root@parent
    spacesV10