Communication via proprietary communication protocols

CODESYS supports the most common standard communication protocols for data exchange between controllers, such as OPC UA. In addition, Ethernet-based fieldbus systems such as PROFINET or EtherNet/IP make it easy to exchange data between controllers by implementing master and slave functions. These solutions come with the advantages of standardization. However, they entail the disadvantage of large overheads during data transmission.

Network variables

The so-called network variables make things easier and faster: In order to use this proprietary protocol, global IEC 61131-3 variables are declared in a special sender object. In addition, the object is configured using information about the type of transmission, such as port address, data compression or checksum. The user can specify whether the transmission is to take place cyclically, on change or after an event. The corresponding receiver object only needs the data list exported by the sender and can then connect to the sender. Thus, the variables created in the transmitter object are transmitted via Ethernet UDP to connected controllers and can thus receive the data. The desired control values can be divided into several network variable lists (NVL) for transmission or reception.

Data Sources

For the visualization of control data, you can also use a proprietary connection instead of an OPC DA/UA connection. Prerequisite: You use CODESYS HMI as visualization client.

Several objects ("data sources") which simultaneously connect to several controllers can be defined in the Data Source Manager. With one display device and installed CODESYS HMI, the control data of various small devices can be read out and displayed. The source controls remain practically free from CPU or memory load. The object "Symbol Configuration" publishes the data on the source controllers. This allows the data to be divided into different objects as required. As soon as the connection to the source control has been established, you can browse through the exported variables and use them.

How can you use proprietary communication protocols?