Last year, I finished my bachelor’s thesis with the topic “Implementing version control into the TIA Portal” at Leipzig University of Applied Science. In this post, I’ll summarize it and give a quick look at the resulting TIA Portal Add-In that connects to GitHub as a file server for the projects of my company’s department.
The TIA Portal is the central programming environment for industry controllers of Siemens AG, where I currently work. It is a great tool for implementing complex control schemes and is used for programming HVAC systems in my department. Until now, version control for our engineers mainly consisted of manually copying project files to a local server. This is suboptimal for a variety of reasons and often leads to errors in coordination and a lack of documentation of changes.
Of course, there are several tools and built-in functions, that you can already use to implement version control but they all have weaknesses and are not suitable for the needs of the engineers. That’s why I created an Add-In to address those problems. It can be used directly in the TIA software by clicking on your project to make the experience as seamless as possible. The code is written in C# and based on a dummy Add-In that Siemens provides for developers.
Unfortunately, I cannot publish the code or specifics because of contractual limitations but this is what the Add-In looks like at the moment:
You can see the main menu upon clicking on your project. It will be German or English depending on the language settings of your computer. From there, you can interact with all the projects on the server with the Server View, your locally stored project with the Local View, or directly push or pull your current project to or from the server. You can make adjustments to your repository and other features in the settings menu.
You can download any project from the server within the Server View as long as no one else has it locked. It is important to note that the terminology for most actions is based on a different version control system of another Siemens programming tool that is currently in use at my department.
The Local View provides an overview of your downloaded projects and if you currently have them locked. From here, you can open the projects to quickly switch between them, or push them to the repository to release them for someone else.
Whenever you upload a project, the Add-In will ask you to enter a commit message, that will be stored in a log file with your name attached. This file can be looked at online or by clicking “Display Log” in the main menu.
That sums up the main features of the program. The bachelor’s thesis is already finished and has been graded with an A but the company is interested in further developing the Add-In so that it can be used in our region or integrated into the TIA Portal itself.
Shortly, the GitHub server will be switched to the company GitLab server for increased security. However, the changes to this GitLab server are delayed at the moment so I am to work on a different project and haven’t come around to fixing every problem and some translation errors yet but I hope that changes soon.