In TIA Portal V20, you can generally continue to use all PLC programs that were created with older versions of TIA Portal. However, because improvements and bug fixes to the compiler were made in V20, in a few cases the program may behave differently after the upgrade or you may have to adapt the program code manually. These cases are described in detail below.
Using named value data types in libraries
Before V20 named value data types could not be used as types in global libraries or project libraries. However, named value data types could be used by typized library elements, without themselves being part of the library. No warning was issued in V19 for this application case while compiling.
As of V20 it is possible to use named value data types in libraries. For this reason errors are output while compiling if a named value data type is not contained in a library and is nevertheless used by a library element.
To resolve the problem, include the respective named value data type in the library.
Handing over data blocks as actual parameters
Data blocks which contain both retentive as well as non-retentive elements, can not be handed over to a formal parameter of the data types STRUCT during the block call. In older versions a syntax error was not always reported for this error scenario. As of V20 a syntax error is output in all programming languages.