Siemens

Dernière mise à jour le 16 octobre 2025

Dans l’automatisation industrielle moderne, une communication fiable entre les automates programmables industriels (API) et les systèmes externes est essentielle. Cet article explique dans un langage compréhensible ce que signifie le protocole S7 Snap7, quelles sont ses caractéristiques et comment configurer un API Siemens pour qu’un client externe puisse se connecter. Vous découvrirez ce que fait exactement le protocole S7, comment fonctionne Snap7 et quels types d’API sont pris en charge. Pour des informations générales et des outils, vous pouvez également consulter Remote.

Qu’est-ce que le protocole S7 Snap7 ?

Le protocole S7 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 externes. 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)

Principales caractéristiques

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 pour Snap7

Pour une connexion 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

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 de rack et de slot

Vérifiez dans la configuration matérielle quelles valeurs sont utilisées :

  1. S7-300/400 → généralement rack 0, slot 2
  2. S7-1200/1500 → généralement rack 0, slot 1

Communication PUT/GET (S7-1200/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 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.