ContextShared rail, no crossing
Approach7 synchronized Grafcets (TIA Portal)
ResultZero collision, HMI + Node-RED
Context
Automation lab in the first-year Master's MESI, as a pair with Leroy Makita Loubaki, supervised by Mr Pierre Paul Zeil. Two carts share a rail above five baths and carry tanks from loading to unloading. No crossing is allowed.
What I did
- Seven independent Grafcets (carts, baths, transfer zones), programmed in GRAPH in TIA Portal.
- Synchronization with no central lock. A cart only moves if the next position is confirmed free.
- WinCC HMI on a SIMATIC Touch panel, with the tanks and carts in real time.
- Node-RED web supervision connected to the S7-1500 PLC.
What I noticed and learned
- Exchange variables and wait steps are easier to reason about and extend than a central manager.
- A web layer like Node-RED can be changed without recompiling the TIA Portal project.
My mistakes
- The movement of the carts on screen relies on pixels calibrated by hand. It breaks as soon as the panel changes, and a position calculation would have been more robust.
- On the Node-RED screenshots, the link with the PLC shows as offline.
Results
- The two carts carry the tanks from loading to unloading without ever crossing.
- The state logic is in the PLC, the display in the HMI, and the code stays readable.
- Validated on the teaching test bench, not on an industrial line.
Tech stack
TIA Portal (langage GRAPH)
Automate SIMATIC S7-1500
IHM WinCC / pupitre SIMATIC Touch
Node-RED (protocole S7)
VBScript (WinCC)
Grafcet (IEC 60848)
7 Grafcets synchronisés
Variables d'échange entières