Skip to content
Switch branches/tags



If you have TIA Portal but don't have any machine to program, then this project is for you. It is a 3D simulation of Packing Machine which is controlled by Siemens S7-PLCSIM (virtual PLC). So basically you can program PLCSIM using TIA Portal, and test the program visually in the 3D graphical simulation.


Get Started

It is important to do the following steps in order they are written in.


  1. Restart your computer (optional, read the Note below).
  2. Start NetToPLCsim.exe as Administrator.
  3. If dialog window about Port 102 pops up, click on Yes to make the port available.
  4. In NetToPLCSim open the defualt.ini file contained in this repo.
  5. Click on Start Server button.

Note: The computer restart is not needed if you haven't started TIA Portal or PLCSIM yet since the computer power-up.



  1. Start PLCSIM.
  2. Create new S7-1200 project or open existing one.

TIA Portal

  1. Start TIA Portal.
  2. Open the PackingMachine_Clean project contained in this repo.
  3. Download the project to running PLCSIM instance.

Packing Machine App

  1. Start the PackingMachine.exe app contained in this repo.
  2. Choose screen resolution and hit Play button.
  3. Click on the Connect button in lower left corner.
  4. If everything goes ok, it should change its text to Disconnect (which means it is successfully connected to PLCSIM).


How to Program

Now you can Save as the opened PackingMachine_Clean TIA Portal project under different name and start programming. The list of Inputs and Outputs can be found in the same-named PLC Tag tables. Even in the simulation app after pressing Esc or Space and clicking on the Help icon, a list of keyboard shortcuts is present which can be used to manually trigger individual outputs (only when Disconnected from PLCSIM).


After pressing Esc a pause menu is triggered. You can also use Space shortcut to restart the scene.



If you have any questions, feel free to open New Issue.

Special Thanks to


Project for students who want to learn PLC programming but don't have access to real-world machines or constructions to learn programming on.




No releases published


No packages published