Supported port data types -
data type combinations between program ports

The programs of a PLCnext Technology application communicate via IN ports and OUT ports. Only a combination of specific data types is supported. When setting the IN and OUT ports with PLCnext Engineer, you can only enter permitted combinations of data types.

Note: 
If you implement the configuration without PLCnext Engineer but via an XML configuration file, you have to ensure that only the data type combinations listed in the Elementary data types table are used. If an invalid combination is configured, the startup process of the PLCnext Technology firmware is interrupted.
Debugging: Information on the startup behavior of the firmware is available in the Output.log diagnostic file. The file contains status and error messages as well as warning notes that help you find the source of error. The Output.log file is stored in the controller file system in the /opt/plcnext/logs directory. The file system is accessed via the SFTP protocol (see Common classes: Logging).

The following tables show all supported data type combinations of IN and OUT ports between programs. 

In order to check whether a GDS connector can be established, the firmware replaces the data type of each port with its matching C++ data type according to the elementary data type. Next, the data type combinations according to the following tables are valid:

Start Port End Port
boolean boolean
uint8
uint16
uint32
uint64
char8
int8
int16
int32
int64
float32
float64
Start Port  End Port
char8 char8
uint16
uint32
uint64
int16
int32
int64
float32
float64
Start Port End Port
StaticString<n>[1] StaticString<n>[1]
Start Port End Port

Available from firmware 2021.6 and newer:

StaticWString<n>[1]

Available from firmware 2021.6 and newer:

StaticWString<n>[1]

  1. To establish a GDS connector, the maximum string length between Start Port and End Port must match.
Start Port End Port
uint8 uint8
uint16
uint32
uint64
int16
int32
int64
float32
float64
Start Port End Port
uint16 uint16
uint32
uint64
int32
int64
float32
float64
Start Port End Port
uint32 uint32
uint64
int64
float64
Start Port End Port
uint64 uint64
Start Port End Port
int8 int8
int16
int32
int64
float32
float64
Start Port End Port
int16 int16
int32
int64
float32
float64
Start Port End Port
int32 int32
int64
float64
Start Port End Port
int64 int64

 

 

Start Port End Port
float32 float32
float64
Start Port End Port
float64 float64

Array

For one-dimensional arrays a GDS connector can be established between Start Port and End Port, if both base data types match to the same C++ data type and if both arrays have exactly the same number of elements. Unlike a connection between variables of elementary data types, the conversion of array elements is not supported (e.g. int16 to int32).

 

 

 


•  Web browser recommendation: Chrome/Edge 88 or newer, Firefox ESR 90 or neweror Safari • 
• Published/reviewed: 2022-09-14 • Revision 046 •