plc-programmable-3d-simulation
plc-programmable-3d-simulation copied to clipboard
Project for students who want to learn PLC programming but don't have access to real-world machines or constructions to learn programming on.
Introduction
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.
Prequisites
- Windows operating system
- Installed TIA Portal and Simatic S7-PLCIM (both tested with V13)
- Download and unzip NetToPLCSim
- Clone/download this repository
Get Started
It is important to do the following steps in order they are written in.
NetToPLCSim
- Restart your computer (optional, read the Note below).
- Start NetToPLCsim.exe as Administrator.
- If dialog window about Port 102 pops up, click on Yes to make the port available.
- In NetToPLCSim open the defualt.ini file contained in this repo.
- 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.
PLCSIM
- Start PLCSIM.
- Create new S7-1200 project or open existing one.
TIA Portal
- Start TIA Portal.
- Open the PackingMachine_Clean project contained in this repo.
- Download the project to running PLCSIM instance.
Packing Machine App
- Start the PackingMachine.exe app contained in this repo.
- Choose screen resolution and hit Play button.
- Click on the Connect button in lower left corner.
- 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.
Support
If you have any questions, feel free to open New Issue.
Special Thanks to
- Davide Nardella for creating Sharp7
- Thomas Wiens for creating NetToPLCSim
- Michele Cattafesta (www.mesta-automation.com) for great tutorial on Sharp7