
After finishing my Bachelor’s thesis about a Siemens TIA Portal add-in for a TIA project server in the cloud (see here), I got hired as a working student by Siemens to work on a new tool. The so-called “IBN-Tool” (Commissioning Tool) is supposed to help technicians during the commissioning phase of constructing a new HVAC system.
The developed tool can be used to check online values on Siemens S7 industry controllers, overwrite those values in case of faulty programming, and set outputs of the controller to desired values to test connected field devices. The commissioning results are saved locally and on the controller with the technician’s name and comments to help contractors fix issues.
A commissioning report can be printed, where every data point is listed, and grouped by test results. This report is still under development and is not yet fully functional.
At the commissioning stage, the HVAC system – such as one in a large manufacturing hall – has been built, and the cable connections and programming need to be tested. Until now, this has been done manually by changing the programming in the TIA Portal and tediously tracking changes and results in Excel files. This often leads to mistakes and inefficient testing.
Working with the Tool

After importing all relevant data point information into the tool, you get a table of all blocks connected to an input or output. That is, every device connected to your controller. Blocks represent connected devices, such as temperature sensors, and are displayed in lavender.
You can expand a block to show the associated data points, such as the present value or minimum value. Those are displayed in white beneath the main data point. There are dozens of data points connected to each block type, which is why per block type (analog input, binary output, …) you can select which ones to show when expanding. This menu can be seen in the next picture.
Displayed in yellow are the current values of the data points on the controller. They update every few seconds. In the red column, you can enter a new value to override the existing one on the controller.

In the shown menu, you can also change which columns are displayed based on what your requirements are. Because there are 30 columns and up to 100 data points per block type, these settings can be exported and imported. This significantly simplifies the tool setup process.

Finally, if you want to test – say the control command of a blocking flap, you can double-click on any data point within the ‘Command 1’ block in the hierarchy below your blocking flap (“Befehl 1” in German in the picture). This opens the commissioning overview. There, you can toggle between connected outputs, see the present value, force the connected output, and set a test status with a comment. This test status will be automatically uploaded to the CPU so that it can be seen in the TIA portal.
Current Status of the Project
The tool was primarily developed as a prototype to demonstrate the feasibility of this approach. The tool is now a working prototype and will be worked on and improved by the R&D department of Siemens.
I left Siemens in the fall of 2024 to study in Spain, so I am no longer working on the project, but I learned a lot during the development process. I was the sole developer on this project and had to figure out how to communicate with S7 industry controllers and overwrite and force values with them. Few people in the company knew how to do this, and there was no documentation for working with the uncommented libraries. I ended up having lots of calls and talking to one of the leading engineers at Siemens before I had a working solution.
If you have any questions about the tool or are interested in its current status, feel free to reach out – I’ll do my best to help. 🙂