Reusability focusses on the reusability of user-derived Functions and Function Blocks across certified Program Support Environments (PSE). This is guaranteed for commonly supported data types and the functionality as long as they are supported by both PSEs.
For supplier-dependent functions and function blocks, no equivalent is guaranteed on the receiving side, i.e. they will not work on the other system.
For example, on one supplier's system a Function Block is created in Structured Text (ST), which is intended to be used later on a different system from a different supplier. As a prerequisite, both systems must be certified for the PLCopen Reusability Level and the data types and commands used must be supported by both systems. Concerning data types, if one system supports TIME, for example, and the other does not, one cannot reuse the Function Block. In other words, the user has to check which data types are supported.
If these requirements are fulfilled, one can exchange Function Blocks between systems in ASCII format.
The following illustration shows the principle of exchanging function blocks, in which the neutral language Structured Text (ST) is the key.
The format of the import/export consists of two types of files:
POU files (*.st) that contain one or more POUs of the ST editor. A POU can be specified as a function, as a function block or as program.
Type files (*.typ) that contain declarations, e.g. DUT declarations.