Connecter OPC UA à Siemens S7-1200
| Produit | Siemens S7-1200 |
|---|---|
| Catégorie | PLC |
| Rôle OPC UA | Serveur |
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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.