Siemens
In moderne industriële automatisering is betrouwbare communicatie tussen PLC’s en externe systemen essentieel. Dit artikel legt in begrijpelijke taal uit wat het S7 protocol Snap7 betekent, welke kenmerken het heeft en hoe je een Siemens PLC instelt zodat een externe client verbinding kan maken. Je leest wat S7-protocol precies doet, hoe Snap7 werkt en welke PLC‑typen worden ondersteund. Voor achtergrondinformatie en tools kun je ook kijken naar Remote.
Wat is het S7 protocol Snap7
Het S7-protocol is een door Siemens ontwikkeld communicatieprotocol voor SIMATIC S7‑PLC’s. Het loopt bovenop TCP/IP en gebruikt doorgaans poort 102. Oorspronkelijk is het ontworpen voor engineeringtools zoals STEP 7 of TIA Portal, maar het wordt ook veel gebruikt door SCADA-systemen, MES-platformen en andere externe toepassingen. Snap7 implementeert dit protocol open-source zodat je zonder Siemens‑software kunt uitlezen en schrijven.
Waarmee kun je communiceren
- Gegevens uit PLC‑geheugen lezen en schrijven (DB, M, I, Q)
- Statusinformatie van de PLC opvragen
- Programma’s downloaden en diagnosticeren (Siemens‑omgevingen)
Belangrijkste kenmerken
Belangrijke technische punten die je moet weten bij integratie met S7 en Snap7:
- Communicatie via TCP/IP (poort 102) — standaard Ethernet maakt toegang via bestaande netwerken mogelijk.
- Ondersteuning van meerdere PLC‑families — zowel klassieke S7‑series als moderne S7‑1200/1500.
- Gebruik van rack en slot — rack en slot geven de positie van de CPU aan binnen de PLC‑kast (S7‑300/400 vaak rack 0 slot 2; S7‑1200/1500 vaak rack 0 slot 1).
- Toegang tot verschillende geheugenbereiken zoals databestanden (DB), merkers (M), ingangen (I) en uitgangen (Q).
- Geen standaardversleuteling binnen S7comm — beveiliging moet op netwerk‑ of PLC‑niveau geregeld worden.
Wat is Snap7
Snap7 is een open‑source bibliotheek die het S7‑protocol implementeert. Het stelt engineers en ontwikkelaars in staat Siemens PLC’s uit te lezen en aan te sturen zonder Siemens‑licenties. Snap7 werkt via IP (poort 102) en gebruikt dezelfde rack/slot‑logica als de officiële tools.
Belangrijkste eigenschappen van Snap7:
- Werkt via IP, poort 102 en rack/slot‑instellingen
- Ondersteunt meerdere geheugenbereiken (DB, M, I, Q)
- Kan zowel lezen als schrijven
- Geschikt voor oudere en moderne PLC’s
- Vrij te gebruiken (geen licentiekosten)
Snap7 wordt veel toegepast voor logging en dataverwerking; voor datamonitoring en verder infrastructureel beheer kun je achtergrondinformatie vinden bij datamonitoring.
Instellen van de PLC voor Snap7
Voor een succesvolle verbinding moeten een aantal instellingen in de PLC en het netwerk kloppen. Hieronder de praktische controlepunten.
Netwerktoegang
Zorg dat de PLC bereikbaar is op poort 102 en dat de client in hetzelfde netwerk zit of via routing bij de PLC kan. Voor externe verbindingen is correcte netwerkconfiguratie en firewall‑controle essentieel; voor integraties met remote systemen is het gebruikelijk om gecontroleerde remote access in te richten en te bewaken. Voor informatie over veilige externe oplossingen bekijk remote access.
Rack‑ en slotinstellingen
Controleer in de hardwareconfiguratie welke waarden gebruikt worden:
- S7‑300/400 → meestal rack 0, slot 2
- S7‑1200/1500 → meestal rack 0, slot 1
PUT/GET communicatie (S7‑1200/1500)
Bij S7‑1200 en S7‑1500 moet in TIA Portal expliciet ‘PUT/GET communicatie toestaan’ ingeschakeld zijn. Zonder deze optie weigert de PLC vaak externe verbindingen via Snap7.
Beveiligingsinstellingen nalopen
Controleer toegangsrechten, firewallregels en PLC‑protection. Voor sommige S7‑1500 systemen moet protection op “Full access” of vergelijkbaar staan om extern schrijven en lezen toe te staan.
Datablokken voorbereiden
Definieer duidelijke datablokken met vaste adressen en datatypes. Let op:
- Alleen globale DB’s zijn lees/schrijfbaar via externe clients.
- “Optimized block access” moet uitgeschakeld zijn als je vaste adressering en eenvoudige toegang wilt.
Ondersteunde PLC‑typen
Snap7 ondersteunt vrijwel alle PLC’s die het klassieke S7‑protocol (S7comm) gebruiken. Hieronder een overzicht met kanttekeningen.
PLC‑type | Serie | Ondersteuning Snap7 | Opmerkingen |
---|---|---|---|
S7‑200 | Legacy | Beperkt / deels | Alleen modellen met Ethernet‑module; veel oude S7‑200 communiceren via PPI/serieel. |
S7‑300 | Klassiek | Volledig | Veel gebruikt; stabiele ondersteuning. |
S7‑400 | Klassiek | Volledig | Ondersteuning vergelijkbaar met S7‑300. |
S7‑1200 | Modern | Volledig | Vereist ‘PUT/GET communicatie toestaan’ in PLC‑instellingen. |
S7‑1500 | Modern | Volledig | Zelfde principe als S7‑1200; beveiliging kan strenger zijn. |
LOGO! | Kleine PLC | Niet ondersteund | LOGO gebruikt een ander protocol dan S7comm. |
ET200 (IM) | Decentrale I/O met CPU | Beperkt / afhankelijk | Als de CPU S7comm ondersteunt, werkt Snap7 ook hier. |
Opmerking: bij S7‑200 is de ondersteuning beperkt omdat veel oudere modellen via seriële PPI‑bus communiceren en niet via standaard S7comm. LOGO! PLC’s zijn niet compatibel met Snap7. S7‑1200 en S7‑1500 zijn doorgaans volledig bruikbaar mits de juiste communicatieopties aan PLC‑zijde zijn ingeschakeld.
Samengevat: het S7‑protocol en Snap7 vormen samen een praktische, open manier om gegevens uit Siemens PLC’s te halen of erin te schrijven. Let bij implementatie vooral op netwerktoegang (poort 102), rack/slot, PUT/GET‑instellingen in TIA Portal en op correcte datablokconfiguratie. Voor geavanceerde integraties en verdere documentatie over remote oplossingen en datalogging kun je de resources van Remote raadplegen.