PLCnext Technology Toolchain changelog
This topic lists changes made to the PLCnext Technology Toolchain in updates, starting with PLCnext Technology Toolchain release 2022.0 LTS. In addition, issues with the tools and interconnections are reported below in this topic and in the general Known issues topic in this Info Center.
Tip: Find the changes note as a .pdf file in the Download section on the PLCnext Technology Toolchain product page.
Release 2025.6
- Additional files can now be added to a library:
- in C# projects by adding them to the ProjectItems and mark them as content,
- in C++ projects by using the
--filesoption via command line, - in Visual Studio® and Eclipse® by adding them via Project Properties → PLCnext Technology → PLCnCLI Build → Additional Deploy Options.
- Default projects can now be created without any source code by using the additional argument
--empty. See Template system on how to enable it for your custom templates. - Allow custom DeploymentEngines in deploy templates.
- Some Visual Studio® project properties stored in *.vcxproj.user have been moved to *.vcxproj for better version control system support.
- Possibility to pass additional
/keyarguments to the library builder during deployment (see Advanced C++ programming). - Allow empty folders to be created by templates (see Template system).
- Added a button for updates of includes and macros in Visual Studio and Eclipse (see at Advanced C++ programming)
- At build start, a password for the private signing key can be entered.
Release 2025.0
- A new tool called SecurityFramework is available in the installation folder. The first version can be used to check signatures of PLCnext Engineer libraries built and signed with the toolchain. It supports CAdES-B and CAdES-T signatures.
- For usage together with the PLCnext Technology Toolchain, see the new topic Working with the SecurityFramework.
- For standalone use just call
SecurityFramework.Cli.exe --help.
- New SDK to create PLCnext Engineer plug-in libraries (PFI) can optionally be installed.
- Updated C# examples and new examples for C++ functions and function blocks
- Fixed issues
- Fixed several PLCnext Technology Toolchain installer issues. In case you have installing issues, rerun the installer of the previously installed toolchain version first and use the "repair" function.
- Fixed "pkg-config cannot be found" issue in Linux
- CMake templates are now using
${PROJECT_NAME}instead of${CMAKE_PROJECT_NAME} RPATHis now set correctly- Fixed linker option (changed to
--as-needed) to only link libraries which are used during the build process.
Release 2024.6
- Several setup issues are fixed.
- Windows default installation path changed to C:\Program Files\PHOENIX CONTACT\PLCnext_Toolchain
- Old eCLR C# debug extension for Visual Studio® has been removed.
- The PLCnext Technology Toolchain is now installed in the user context, and all config and intermediate files are stored in the system's user context as well.
- .Net™ 8 can now be used standalone to build C# in Linux and Windows without using Visual Studio®.
- Existing
SharedNativeLibraryprojects can now be imported into Visual Studio®. - Quality of life improvements on help files for PLCnext Engineer libraries.
- C++ nested namespaces (subnamespaces) are now handled and are compatible with PLCnext Engineer's .libmeta files.
- Templates are updated to work with the upcoming changes in firmware 2025.0. If your user code wil be affected by those changes, and needs to work with older and newer firmware versions (before and after the 2025.0 release), use
IFDEF ARP_ABI_VERSION_MAJOR 2. - The feature for signing PLCnext Engineer libraries is now available. More information and documentation will be part of the upcoming PLCnext Engineer 2025.0 release.
Release 2024.0
- A version check for our tooling is now active. Due to missing features, projects created with a newer toolchain can be incompatible if loaded with an older toolchain. This is checked with help of an internal versioning. The version numbering is increased if the project format changes or becomes incompatible.
- The toolchain generates meta files (e.g., *.libmeta, *.compmeta). Since all targets types have the same meta information, the metadata is now located in bin/config/*.*meta.
- The
CMakeversion is updated. plcncli get settingandplcncli set settingnow shows the available keys and description with the-dor--descriptionoption.plcnext.projis now pretty-printed and optimized for automatic Git merge.- The toolchain default
Msbuild*.targets files are now importing user *.targets and *.props files from a subfolder named ./PLCnextUserImports/. This can be used to customize the default PLCnext Technology Toolchain Visual Studio® build tasks. //#typeinformationworks for enumerations.Typeinformationis generated for dynamic ports in the .dt worksheet.- Additional return types for C# written functions are available for picking:
WSTRING,LDATE,LTIME_OF_DAYandLDATE_AND_TIME. - Generic
ANYreturn types for C#-written functions are not available for picking anymore. - The old C# debugger is removed, namely the PLCnext Technology Debug Engine v1 including the
eclr deviceconnection type. - C# debugger supports simulation targets.
- Unattended PLCnext Toolchain setup is possible.
- The
AddInAnalyzeris renamed toIecAnalyzer. Old projects are converted automatically to use theIecAnalyzer. - Fixed issues:
-
MSBuildpath in Visual Studio® is fixed. - Some minor parser issues are fixed.
- Improvements to the template system.
-
Release 2023.6
- A manual change of AssemblyInfos.cs needs to be done to avoid issues with existing Shared Native Library projects. Please change the
NativeDllFlagsto use only one attribute as following:
[assembly: NativeDllFlags(NativeDllFlagsAttribute.LibraryModes.DomainAffinityExplicit)]
- The .so file can be excluded from PLCnext Engineer libraries in Shared Native Library projects.
- IEC 61131‑3 namespaces are used by default in new projects. It can be deactivated via project settings and also be activated for older projects.
Read more at Advanced programming features. - Added new eCLR 3.4 libraries with the following added features. For more information look into the eCLR Programming Reference (download) .
- new method:
Eclr.Environment.GetMicroTickCount64() - new method:
Eclr.Environment.GetInitialCulture() - new enum:
Eclr.CultureID - new class:
Eclr.Helper
- new method:
- For Visual Studio® 2022, the .Net™ framework 4.x installs with the setup.
- Changing IEC
booltypes is now supported.
Release 2023.0
- The extension now supports Visual Studio® 2022.
- C# code analyzer added new rules and enhanced existing rules.
- Hash values are automatically generated for PLCnext Engineer libraries. Find more information in the PLCnext Security Info Center.
- New attribute for IEC datatype port mapping is available and added to the Port Wizard.
- Clean and Rebuild in Visual Studio® now works.
- The following deprecated commands are finally removed (use
get project-informationto get a .json file with all the information at once):generate libraryget componentsget include-pathsget programsget project-targets
- Added support for C++ features in metadata generation.
- PLCnext Engineer Library Configuration is added.
- The Visual Studio® extension now supports authentication and secure debugging via TLS. Read more about it in C# remote debugging.
- Shared Native Library templates for PLCnext CLI and project template in Visual Studio®.
Release 2022.6
- Include external libraries inside the .pcwlx library.
- The port parameter
#nameis checked for max. length (<128) and non-ASCII characters as well as for duplicate names. - A datatypes worksheet with all port structs, arrays and enums is created and added to the .pcwlx file. If not needed, it has to be disabled manually.
- Added C++ features for metadata generation:
- added support using parts of an enum as value
- added support using binary and mathematically operations
- template structs can be used as port types
- For reference purposes, JSON schemas of CLI responses are added to the toolchain installation folder under
schemata. - Relocate build assemblies for Visual Studio® C++ and C# extension; the user is asked upon opening an old project for the necessary automatic conversion.
- Target and version specific generation is now added to the project templates.
- For your convenience, CMake autobuild will be done in the background.
- Rework of the Windows installer:
- separate Visual Studio® C++ and C# extension installation
- checking for Visual Studio® C++ and C# workload requirements
- moved C# dependencies to the toolchain installation folder
- remove unnecessary files procedure
- New rules added to the Visual Studio® C# AddInAnalyzer.
- HTML5 help file support for C# libraries.
- Rework of C# attributes in examples on GitHub.
Release 2022.0
PLCnext CLI and C++
- New progress bar for e.g. installing SDKs.
- Fixed issues with collaboration on one project when switching development environment and operating systems.
- Use of multiple namespaces is possible, especially interesting for the use of external libraries.
- Added C++ features for metadata generation:
- added support for constants in
StaticStringsand arrays - allow inheritance of port structures
- added support for constants in
- PLCnext Engineer user library tooltip (version and description) can now be edited (PLCnextSettings.xml file needed).
- Target PLCnext Engineer version of a user library can be defined (PLCnextSettings.xml file needed).
- The Visual Studio® extension has now jumpable errors messages.
- New attribute
Redundantis now available in the Port Wizard with Eclipse® and Visual Studio®. - Added SDK installation progress bar for Visual Studio® extension.
- Added a option for multiple source folders.
- Improved CMake project name handling.
- User templates are now persistent while installing a new PLCnext toolchain version.
StaticStringsand arrays can now be declared with a size given as a constant.- Target name and version is added to the SDK management page.
- Toolchain installer is now capable to modify installation options afterwards.
C#
- Toolchain project configuration for C# projects.
- Rebuilt C# Visual Studio® extension for future improvements.
- New C# debug options to load connection information from the PLCnext Engineer.
- Add support for HTML5 help files (template will be available with the PLCnext Toolchain 2022.6).
- New AddInAnalyzer checks code for PLCnext-specific code pattern and output warnings/errors for possible runtime issues running the code.
Known issues with the PLCnext Technology Toolchain
See Also
• Published/reviewed: 2025-11-10 ☂ Revision 086 •