Here, a test parser I implemented. It reads a CODESYS export (NOT PlcOpen, standard exports) file and saves it in a folder structure that replicates the project tree. It saves all DUTs and ST files in plain text. All the XML files will allow reconstructing the export for reimporting it into CODESYS in future tests. The objective is to achieve a system that, when integrated into CODESYS, enables generating a simpler Git structure for managing merges while working in a team. It could serve as a starting point for an editing plugin in tools like VSCode.
The next step will be regenerating the XML from the root on disk! After that, I would like to invoke, through 2 Python scripts, the tool for exporting and converting with just one click and reimporting it.
Hello,
Sorry for digging this topic up, but the bitbucket link does not work anymore. Have you changed the location @mondinmr ? I would be really interested in your project, even if you did not finish it.
Thank you for your time,
BR
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Here, a test parser I implemented. It reads a CODESYS export (NOT PlcOpen, standard exports) file and saves it in a folder structure that replicates the project tree. It saves all DUTs and ST files in plain text. All the XML files will allow reconstructing the export for reimporting it into CODESYS in future tests. The objective is to achieve a system that, when integrated into CODESYS, enables generating a simpler Git structure for managing merges while working in a team. It could serve as a starting point for an editing plugin in tools like VSCode.
git clone https://MarcoADV@bitbucket.org/marcoadv/codesysparser.git
The next step will be regenerating the XML from the root on disk! After that, I would like to invoke, through 2 Python scripts, the tool for exporting and converting with just one click and reimporting it.
Hello! I'm really interested in your project. How can I get access to this repo?
Thanks
Hello! I'm really interested in your project. How can I get access to this repo?
Thanks
Hello,
Sorry for digging this topic up, but the bitbucket link does not work anymore. Have you changed the location @mondinmr ? I would be really interested in your project, even if you did not finish it.
Thank you for your time,
BR
To better track project changes in git I created a script that exports the project structure as text files.
Textual POUs are stored as text, everything else as XML (with timestamps removed).
The file structure is stored under path/to/your.project.txt
Git merge will not work, but at least tracking changes is much easier.
Script:
https://github.com/arwie/controlOS_demo/blob/main/codesys/txtfy.py
Example output:
https://github.com/arwie/controlOS_demo/tree/main/codesys/controlOS_demo.project.txt
Last edit: Artur Wiebe 2025-07-24