The platform supports multiple communication protocols including Modbus, OPC UA, and AB Rockwell ControlLogix. Each external device used with software platform has its own set of communication rules defined by the manufacturer or protocol creator. These rules are used to create TX messages (sent from software platform to the device) and RX messages (sent from the device to software platform). Each byte within these messages has a specific meaning.
In order for software platform to communicate with external devices, communication drivers need to be configured. The software offers various types of drivers, each with their own characteristics and configuration requirements.
On this page:
Should the intro talk about the driver? or detailing more in the list is enough?
This section aims to provide clarity on key concepts related to protocols within the context of the platform.
The platform supports multiple communication protocols, each one has specific characteristics and benefits that may suit different applications. The following list presents the Modbus, OPC UA, and AB Rockwell ControlLogix communication protocols.
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. |
Communication messages are the foundation of data exchange between the platform and external devices. They are used to 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) and RX messages (sent from the device to the software). Both types of messages contain a series of bytes, each with its specific meaning, following the rules established by the chosen communication protocol. Message types can include command, response, alarm, and status messages.
To better understand the communication process, let's analyze a real-world protocol the Modbus TCP/IP, which is widely used in industrial automation and allows the exchange of data between various devices through a TCP/IP network. This protocol uses a client-server model, where the client (FactoryStudio) sends requests to the server (the device) to read or write data. The image below describes the structure of the protocol's message.
Where:
Transaction ID: Is an unique number that helps match requests and responses (2 bytes).
Protocol ID: Is a constant value (0x0000) for Modbus (2 bytes).
Length Field: Specifies the length of the remaining message (2 bytes).
Unit ID: The address of the remote device (1 byte).
Function Code: Indicates the requested action such read or write (1 byte).
Data: Contains the data to be read or written, or error information (variable).
Understanding 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 a fictitious communication protocol definition, for example, imagine the following protocol:
[STX] [CMD] [OPR] [STA] [CNT] <DATA> [ETX]
Where:
[STX]: Is the 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 (31 hexa for an Integer or 32 hexa for a Float)
[STA]: Is the start Address Beginning address to read or write (two bytes)
[CNT]: Is the counter of the quantity of bytes in the data packet to read or write (one byte)
<DATA>: Is the data bytes related to the content read or write (each operand can have 2 or 4 bytes)
[ETX]: Is the end Message (0D hexa)
Based on this we can conclude that:
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 AccessType, Polling Rate, and addresses, and then managed by the communication driver.
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:
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 disabled 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 informatrion, see Access Types.
In this section: