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 ?

  1. Lecture et écriture de données depuis la mémoire de l’API (DB, M, I, Q)
  2. Demande d’informations sur l’état de l’API
  3. 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 :

  1. Communication via TCP/IP (port 102) — Ethernet standard permet l’accès via les réseaux existants.
  2. Prise en charge de plusieurs familles d’API — aussi bien les séries S7 classiques que les S7-1200/1500 modernes.
  3. 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).
  4. 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).
  5. 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 :

  1. Fonctionne via IP, port 102 et paramètres de rack/slot
  2. Prend en charge plusieurs zones de mémoire (DB, M, I, Q)
  3. Peut lire et écrire
  4. Convient aux API anciens et modernes
  5. 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 :

  1. Seuls les DB globaux sont lisibles/scriptibles via des clients externes.
  2. 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’APISériePrise en charge de Snap7Remarques
S7-200LegacyLimité / partielSeulement les modèles avec module Ethernet ; beaucoup d’anciens S7-200 communiquent via PPI/série.
S7-300ClassiqueCompletTrès utilisé ; prise en charge stable.
S7-400ClassiqueCompletPrise en charge similaire à S7-300.
S7-1200ModerneCompletNécessite ‘Autoriser la communication PUT/GET’ dans les paramètres de l’API.
S7-1500ModerneCompletMême principe que S7-1200 ; la sécurité peut être plus stricte.
LOGO!Petit APINon pris en chargeLOGO utilise un protocole différent de S7comm.
ET200 (IM)E/S décentralisées avec CPULimité / dépendantSi 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.

Foire aux questions sur Snap7 et le protocole Siemens S7

Utilisez le rack 0, emplacement 1. Il s’agit du réglage standard fixe pour tous les automates S7-1200 et S7-1500. Une erreur courante consiste à renseigner l’emplacement 2 — cela ne fonctionne que pour les S7-300 et S7-400.

La connexion ne fonctionne-t-elle toujours pas après avoir vérifié le rack/l’emplacement ? Le problème réside alors souvent dans la couche réseau ou d’accès plus large. Nos matériels, routeurs ServiceGate et Edge Controllers, sont spécialement conçus pour les environnements OT et assurent une connexion stable et sécurisée entre les systèmes externes et votre automate Siemens — sans tracas liés aux pare-feu ou aux configurations réseau du côté informatique.

Les trois causes les plus fréquentes :

  1. PUT/GET non activé dans TIA Portal → Propriétés de l’appareil → Protection et sécurité → Activer PUT/GET
  2. Mauvais emplacement → utilisez l’emplacement 1, pas l’emplacement 2
  3. Le pare-feu ou le réseau bloque le port 102

Tous ces paramètres sont-ils corrects et cela ne fonctionne-t-il toujours pas ? Le problème réside alors presque certainement dans la couche d’accès entre le client et l’automate. C’est précisément ce sur quoi nous travaillons quotidiennement — contactez-nous et nous examinerons la situation avec vous.

Oui, Snap7 bénéficie d’un support officiel pour Linux. La bibliothèque est indépendante de la plateforme et fonctionne sur Windows, Linux et macOS.

S7comm est le nom technique courant du protocole de communication S7 de Siemens. Les deux termes font référence au même protocole qui fonctionne sur le port TCP/IP 102.

Non, pas sans mesures supplémentaires. S7comm ne dispose pas de chiffrement intégré. N’exposez jamais le protocole S7 directement à l’internet public.

L’approche correcte pour un accès à distance sécurisé à un automate Siemens :

  • Tunnel VPN entre le client et le réseau de l’automate
  • Segmentation du réseau — automate dans un segment OT séparé
  • Contrôle d’accès Zero-trust — seuls les utilisateurs et systèmes autorisés ont accès

Nos routeurs Remote ServiceGate et Edge Controllers sont précisément conçus à cet effet. Ils constituent la passerelle sécurisée entre votre environnement OT et le monde extérieur — avec des tunnels VPN robustes, des principes zero-trust et des flux de données séparés. Découvrez la solution de routeur ServiceGate.

Snap7 gère le protocole. Mais dans les environnements OT, la connexion elle-même est au moins aussi importante que le protocole. Questions auxquelles vous devez répondre :

  • Qui est autorisé à se connecter à l’automate — et quand ?
  • Comment enregistrez-vous qui a eu accès et à quel moment ?
  • Comment éviter qu’une connexion non gérée ne devienne un risque de sécurité ?
  • Comment déployer cela sur plusieurs machines ou sites ?

C’est là que Remote fait la différence. Depuis 2008, nous aidons les entreprises à gérer en toute sécurité leurs installations, machines et systèmes de gestion technique de bâtiment à distance — avec notre propre matériel (routeurs ServiceGate et Edge Controllers) et un portail central Remote pour la gestion des accès, l’enregistrement des données et la surveillance.

L’équipe de Remote possède une connaissance approfondie des protocoles industriels, des réseaux OT et de la cybersécurité.

Découvrez nos solutions d’accès à distance ou contactez-nous pour un entretien technique sur votre situation.