Intégration · PLC

Connecter OPC UA à Siemens S7-1200

ProduitSiemens S7-1200
CatégoriePLC
Rôle OPC UAServeur

Le S7-1200 peut faire office de serveur OPC UA, configuré dans TIA Portal comme son grand frère et joignable sur opc.tcp://<plc-ip>:4840. Attendez-vous à une exigence de licence ou d'option, à un plancher de firmware, et à des limites nettement plus serrées que sur un S7-1500. Confirmez ces trois points auprès de Siemens pour votre CPU exacte avant de planifier.

Avant de commencer

  • Un niveau de firmware CPU qui inclut le serveur OPC UA. Le S7-1200 a reçu la capacité serveur plus tard que le S7-1500 et l'ensemble de fonctions est plus étroit ; vérifiez ce que supporte votre CPU plutôt que de supposer une parité.
  • La licence ou l'option qui active le serveur, si elle s'applique à votre CPU. Établissez ce point dès la phase de chiffrage.
  • Une version de TIA Portal correspondant au firmware.
  • Une conception de client réaliste. C'est un contrôleur compact et le serveur OPC UA se dispute la même CPU que le programme cyclique.
  • Un accès réseau au port TCP 4840, ou un chemin de reverse connect lorsque la couche réseau n'autorise que les connexions sortantes.

Mise en place

  1. Activez le serveur et définissez le nom d'applicationDans les propriétés de la CPU, activez le serveur OPC UA et définissez le nom d'application avant de générer le moindre certificat. Ce nom alimente l'ApplicationUri, et le modifier plus tard invalide les relations de confiance que vous aviez bâties autour de l'ancien.
  2. Exposez un ensemble de tags réduit et délibéréUtilisez les attributs d'accessibilité par tag pour ne publier que ce dont un client a réellement besoin, et marquez explicitement ce qui est accessible en écriture. Sur une CPU compacte, ce n'est pas de la propreté, c'est de la gestion de capacité : chaque nœud publié est un MonitoredItem potentiel.
  3. Définissez une interface serveur comme contratLorsque la version de TIA le permet, définissez une interface serveur avec des noms stables plutôt que d'exposer les noms de symboles bruts. L'arborescence de browse reste réduite et le client se trouve découplé de la structure interne du programme.
  4. Réglez les SecurityPolicy et générez le certificat serveurChoisissez les SecurityPolicy et les modes de sécurité des messages proposés, décidez entre identité anonyme ou nom d'utilisateur, et générez le certificat de la CPU avec, dans le Subject Alternative Name, chaque nom d'hôte et chaque IP qu'un client composera, plus l'ApplicationUri comme entrée URI.
  5. Chargez, puis validez l'endpoint depuis un client indépendantConnectez-vous d'abord avec la sécurité None pour confirmer le chemin réseau et l'endpoint, puis sur un endpoint signé et chiffré. Attendez-vous à un BadCertificateUntrusted à la première tentative sécurisée, et menez l'échange de confiance à son terme dans les deux sens.
  6. Mesurez avant de monter en chargeCréez l'abonnement que vous comptez réellement exploiter et observez les intervalles d'échantillonnage et de publication révisés que renvoie le serveur, pas ceux que vous avez demandés. Sur une CPU compacte, la révision est souvent importante et c'est la véritable cadence à laquelle vos données arriveront.
  7. Résolvez les index de namespace depuis le NamespaceArrayLisez le NamespaceArray à la connexion et associez URI et index. Stockez l'URI plus l'identifiant dans la configuration pour qu'un chargement de programme ne puisse pas casser vos références de nœuds.

À quoi ressemble l'espace d'adressage

La même arborescence de type Siemens que sur le S7-1500 : un nœud portant le nom du PLC, avec en dessous des dossiers pour les blocs de données, les entrées, les sorties et la mémoire, et des identifiants de type chaîne reprenant les noms symboliques TIA, par exemple ns=3;s="MyDB"."Count". Le contenu de spécification companion n'est pas présent, sauf si quelqu'un a construit et chargé une interface serveur mappée sur un modèle, et le chemin outillé pour le faire sur une CPU compacte est plus contraint que sur un S7-1500. Partez du principe que vous intégrez des tags nommés, et concevez votre client de façon que la correspondance des tags vive dans la configuration plutôt que dans le code.

Les pièges

  • Ne supposez pas une parité de fonctions avec le S7-1500. Les fonctions client, PubSub, l'outillage d'interface serveur et la prise en charge des méthodes sont les domaines où une CPU compacte diffère le plus souvent, et une conception qui en dépend sans le dire échoue tard.
  • Les limites de sessions et de MonitoredItems sont assez basses pour qu'un deuxième client soit à lui seul tout le problème. Un ingénieur qui laisse UaExpert connecté toute la nuit pendant qu'un historian collecte est une cause bien réelle de BadTooManySessions sur cette plateforme.
  • Le serveur révise vos intervalles d'échantillonnage et de publication à la baisse selon ses capacités, sans faire échouer la requête. Relisez les valeurs révisées et traitez-les comme le contrat, faute de quoi vos hypothèses de chronométrie TRS seront fausses d'un facteur que vous ne verrez jamais.
  • Un décalage d'index d'espace de noms après un chargement de programme casse les références de nœuds en dur avec BadNodeIdUnknown, exactement comme sur n'importe quelle autre plateforme.
  • La confiance des certificats reste le principal obstacle de déploiement, et elle doit être menée à bien à la fois sur la CPU et sur le client.
  • La qualité de l'horodatage est limitée. Attendez-vous à ce que ServerTimestamp soit le seul significatif et à ce que l'horloge exige une discipline NTP ; un enregistrement d'arrêt avec un mauvais horodatage est pire que pas d'enregistrement du tout.

En extraire les données OEE

Traitez un S7-1200 comme une source de quelques signaux bien choisis, pas comme une plateforme de données machine. Les comptages doivent venir d'un compteur tenu dans le PLC, pas de votre client détectant les fronts d'un booléen sur un intervalle d'échantillonnage que le serveur a pu élargir. L'état doit venir d'une variable d'état entière sur laquelle le programmeur s'engage, et les motifs d'arrêt d'un mot de défaut décodé avec une table documentée. La capacité en abonnements étant serrée, privilégiez un seul client, une seule session, un seul intervalle de publication, et un heartbeat afin de distinguer l'absence de changement d'une connexion morte. Le temps de production planifié, les horaires d'équipes et les temps de cycle standard ne sont pas ici et ne le seront jamais.

À vérifier avant de vous y fier :Savoir si votre CPU S7-1200 prend en charge un serveur OPC UA, à partir de quel firmware, si une licence ou une option est requise et comment elle est dimensionnée, ainsi que les limites exactes en sessions, abonnements, monitored items et intervalle d'échantillonnage minimal, sont des faits contrôlés par le constructeur, différents de ceux du S7-1500 et qui ont bougé d'une génération de firmware à l'autre. Confirmez chacun d'eux auprès de Siemens pour votre référence de CPU et votre niveau de firmware avant de chiffrer les travaux, et ne transposez jamais par hypothèse un chiffre S7-1500 sur un S7-1200.

Dernière vérification le 7 septembre 2026 par rapport à OPC UA 1.05.07. OPC UA Connect est une ressource pédagogique et n'est pas affiliée à l'OPC Foundation.

Téléchargement gratuit
OPC UA Machine Data → OEE Mapping Kit
Quels nœuds interroger, comment ils deviennent Disponibilité, Performance et Qualité, et quelle spécification companion vous donne déjà la réponse: pour que vous cessiez d'inventer des tags.
Obtenir le kit de mapping gratuit →
Gratuit, sans cours, sans connexion