Surveillance des données des API Siemens via le protocole S7 et Snap7
Dernière mise à jour le 19 mai 2026
Dans l’automatisation industrielle moderne, une communication fiable entre les API et les systèmes externes est essentielle. Cet article explique ce qu’est Snap7, comment fonctionne le protocole S7 et comment configurer un API Siemens pour qu’un client externe puisse s’y connecter. Vous apprendrez ce que fait précisément S7comm, comment Snap7 implémente le protocole et quels types d’API sont pris en charge — y compris les paramètres de rack et d’emplacement appropriés pour les S7-300, S7-400, S7-1200 et S7-1500.
Pour les outils d’arrière-plan et les solutions à distance, vous pouvez également consulter l’accès à distance sécurisé pour les systèmes industriels.
Qu’est-ce que le protocole S7 Snap7 ?
Le protocole S7 (également appelé protocole S7comm) est un protocole de communication développé par Siemens pour les API SIMATIC S7. Il fonctionne sur TCP/IP et utilise généralement le port 102. Initialement, il a été conçu pour les outils d’ingénierie tels que STEP 7 ou TIA Portal, mais il est également largement utilisé par les systèmes SCADA, les plateformes MES et d’autres applications de surveillance des données. Snap7 implémente ce protocole en open source afin que vous puissiez lire et écrire sans logiciel Siemens.
Avec quoi pouvez-vous communiquer ?
- Lecture et écriture de données depuis la mémoire de l’API (DB, M, I, Q)
- Demande d’informations sur l’état de l’API
- Téléchargement et diagnostic de programmes (environnements Siemens)
Caractéristiques principales du S7comm
Points techniques importants à connaître lors de l’intégration avec S7 et Snap7 :
- Communication via TCP/IP (port 102) — Ethernet standard permet l’accès via les réseaux existants.
- Prise en charge de plusieurs familles d’API — aussi bien les séries S7 classiques que les S7-1200/1500 modernes.
- Utilisation de rack et de slot — le rack et le slot indiquent la position de la CPU dans l’armoire de l’API (S7-300/400 souvent rack 0 slot 2 ; S7-1200/1500 souvent rack 0 slot 1).
- Accès à différentes zones de mémoire telles que les blocs de données (DB), les marqueurs (M), les entrées (I) et les sorties (Q).
- Pas de chiffrement standard dans S7comm — la sécurité doit être gérée au niveau du réseau ou de l’API.
Qu’est-ce que Snap7 ?
Snap7 est une bibliothèque open-source qui implémente le protocole S7. Elle permet aux ingénieurs et aux développeurs de lire et de contrôler les API Siemens sans licences Siemens. Snap7 fonctionne via IP (port 102) et utilise la même logique de rack/slot que les outils officiels.
Principales propriétés de Snap7 :
- Fonctionne via IP, port 102 et paramètres de rack/slot
- Prend en charge plusieurs zones de mémoire (DB, M, I, Q)
- Peut lire et écrire
- Convient aux API anciens et modernes
- Libre d’utilisation (pas de frais de licence)
Snap7 est souvent utilisé pour la journalisation et le traitement des données ; pour la surveillance des données et la gestion infrastructurelle plus poussée, vous pouvez trouver des informations générales sur la surveillance des données.
Configuration de l’API Siemens pour Snap7
Pour une connexion Snap7 réussie, un certain nombre de paramètres dans l’API et le réseau doivent être corrects. Voici les points de contrôle pratiques.
Accès réseau et pare-feu (port 102)
Assurez-vous que l’API est accessible sur le port 102 et que le client se trouve dans le même réseau ou peut atteindre l’API via le routage. Pour les connexions externes, une configuration réseau correcte et un contrôle du pare-feu sont essentiels ; pour les intégrations avec des systèmes distants, il est courant de configurer et de surveiller un accès distant contrôlé. Pour plus d’informations sur les solutions externes sécurisées, consultez remote access.
Paramètres rack et slot pour S7-300, S7-400, S7-1200 et S7-1500
Lors de l’établissement de la connexion, le logiciel demande un numéro de rack et de slot. Cela indique la position du CPU :
- Siemens S7-1200 → Utilisez généralement rack 0, slot 1
- Siemens S7-1500 → Utilisez généralement rack 0, slot 1
- Siemens S7-300 / S7-400 → Utilisez généralement rack 0, slot 2
Communication PUT/GET (S7-1200 / S7-1500)
Avec S7-1200 et S7-1500, l’option ‘Autoriser la communication PUT/GET’ doit être explicitement activée dans TIA Portal. Sans cette option, l’API refuse souvent les connexions externes via Snap7.
Vérification des paramètres de sécurité
Vérifiez les droits d’accès, les règles de pare-feu et la protection de l’API. Pour certains systèmes S7-1500, la protection doit être réglée sur « Accès complet » ou similaire pour autoriser l’écriture et la lecture externes.
Préparation des blocs de données
Définissez des blocs de données clairs avec des adresses et des types de données fixes. Attention :
- Seuls les DB globaux sont lisibles/scriptibles via des clients externes.
- L’« Accès optimisé aux blocs » doit être désactivé si vous souhaitez un adressage fixe et un accès simple.
Types d’API Siemens pris en charge
Snap7 prend en charge presque tous les API qui utilisent le protocole S7 classique (S7comm). Voici un aperçu avec des annotations.
| Type d’API | Série | Prise en charge de Snap7 | Remarques |
|---|---|---|---|
| S7-200 | Legacy | Limité / partiel | Seulement les modèles avec module Ethernet ; beaucoup d’anciens S7-200 communiquent via PPI/série. |
| S7-300 | Classique | Complet | Très utilisé ; prise en charge stable. |
| S7-400 | Classique | Complet | Prise en charge similaire à S7-300. |
| S7-1200 | Moderne | Complet | Nécessite ‘Autoriser la communication PUT/GET’ dans les paramètres de l’API. |
| S7-1500 | Moderne | Complet | Même principe que S7-1200 ; la sécurité peut être plus stricte. |
| LOGO! | Petit API | Non pris en charge | LOGO utilise un protocole différent de S7comm. |
| ET200 (IM) | E/S décentralisées avec CPU | Limité / dépendant | Si la CPU prend en charge S7comm, Snap7 fonctionne également ici. |
Remarque : avec S7-200, la prise en charge est limitée car de nombreux modèles plus anciens communiquent via le bus PPI série et non via S7comm standard. Les API LOGO! ne sont pas compatibles avec Snap7. S7-1200 et S7-1500 sont généralement entièrement utilisables à condition que les options de communication appropriées soient activées côté API.
En résumé : le protocole S7 et Snap7 forment ensemble une manière pratique et ouverte d’extraire ou d’écrire des données dans les API Siemens. Lors de la mise en œuvre, faites particulièrement attention à l’accès réseau (port 102), au rack/slot, aux paramètres PUT/GET dans TIA Portal et à la configuration correcte des blocs de données. Pour les intégrations avancées et la documentation supplémentaire sur les solutions à distance et l’enregistrement des données, vous pouvez consulter les ressources de Remote.


