Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Configurer le client OPC UA sur PLCnext Control :guide étape par étape

La version 2023.0 du micrologiciel inclut un composant client OPC UA tant attendu. Le centre d'informations PLCnext comprend une bonne référence technique pour cette fonctionnalité.

Ce tutoriel est un guide étape par étape montrant comment configurer le client OPC UA dans un appareil PLCnext Control afin qu'il échange des données avec un serveur OPC UA.

Vous aurez besoin de :

L'un des points clés à retenir lors de la configuration des communications OPC UA est que, pour des raisons de sécurité, le client OPC UA et le serveur OPC UA doivent se faire confiance. Par conséquent, les certificats de sécurité doivent être échangés entre les appareils client et serveur. Cette procédure implique de passer du périphérique client au périphérique serveur, ce qui peut prêter à confusion. Si vous avez des suggestions pour simplifier la procédure (sans désactiver les contrôles de sécurité !), n'hésitez pas à les ajouter dans les commentaires.

Procédure

Périphérique du serveur OPC UA

  1. Ouvrez le site Web Based Management (WBM) en accédant à l'adresse IP de l'automate.

  2. Sélectionnez les Services système élément du menu Configuration.

  3. Activer le Serveur OPC UA service, s'il n'est pas déjà activé.

  4. Appuyez sur Appliquer et redémarrer bouton si nécessaire.

  5. Ouvrez PLCnext Engineer.

  6. Créez un nouveau projet PLCnext Engineer en utilisant le modèle de votre appareil PLCnext Control.

  7. Définissez l'adresse IP de l'automate dans le projet PLCnext Engineer.

  8. Sur le Serveur OPC UA page de configuration :

    • définir le Nom DNS / Adresse IP au nom DNS ou à l'adresse IP de l'automate, selon que le client OPC UA accédera au serveur à l'aide d'un nom DNS ou de l'adresse IP du serveur. Ces informations seront incluses dans le certificat de sécurité du serveur OPC UA. De nombreux clients OPC UA rejetteront le certificat du serveur si ces informations contenues dans le certificat ne correspondent pas à l'URL du serveur.

    • set Visibilité des variables à Marqué . Cela signifie que toutes les variables marquées avec l'attribut OPC seront accessibles via le serveur OPC UA.

  9. Créez des variables qui seront exposées par le serveur OPC UA. Assurez-vous que l'OPC la case à cocher est cochée pour ces variables. Dans l'exemple ci-dessous, deux variables ont été créées dans le programme principal.

  10. Ajoutez une logique pour modifier la variable de sortie lorsqu'une nouvelle valeur d'entrée est reçue. Dans cet exemple, le programme Main a exécuté le code suivant :

    Server_Data_Out := Server_Data_In + 1;

  11. Écrivez et démarrez le projet.

    Notez que PLCnext Engineer version 2025.0 et versions ultérieures inclut une fonctionnalité « parcourir » qui peut être utilisée pour créer des entrées de variables dans le client OPC UA. Si cette fonctionnalité de navigation est utilisée, il n'est pas nécessaire d'utiliser UaExpert pour obtenir des informations sur les variables du serveur, et les trois étapes suivantes peuvent être ignorées.

  12. Utilisez UaExpert pour vous connecter au serveur OPC UA à l'aide du nom d'utilisateur et du mot de passe de l'automate. Vous devriez voir un avertissement indiquant que le certificat est « Non fiable », mais il ne devrait y avoir aucun autre avertissement.

  13. Faites confiance au certificat du serveur, de manière permanente ou uniquement pour cette session.

  14. Pour chaque variable du serveur, notez le nom de l'ID de nœud. et l'Espace de noms pour cette variable.

  15. Ouvrez à nouveau le site WBM pour l'automate serveur.

  16. Sélectionnez l'Authentification par certificat élément du menu Sécurité.

  17. Sélectionnez les Magasins d'identité onglet.

  18. Téléchargez le certificat depuis l'OPC UA auto-signé [serveur] Magasin d'identités. La paire de clés n'a pas besoin d'être téléchargée.

Périphérique client OPC UA

  1. Ouvrez le site Web Based Management (WBM) en accédant à l'adresse IP de l'automate.

  2. Sélectionnez les Services système élément du menu Configuration.

  3. Activer le Client OPC UA service, s'il n'est pas déjà activé.

  4. Appuyez sur Appliquer et redémarrer bouton si nécessaire.

  5. Une fois le redémarrage terminé, reconnectez-vous au site WBM et sélectionnez l'Authentification par certificat. élément du menu Sécurité.

  6. Sélectionnez les Trust Stores onglet.

  7. Ajoutez le OPC UA auto-signé Certificat [serveur] (téléchargé précédemment) dans le Trust Store nommé Client OPC UA . Désormais, le client OPC UA fera confiance au certificat de sécurité utilisé par le serveur OPC UA pour vérifier son identité. Cette étape devra être répétée à chaque fois que le certificat du serveur change.

  8. Sélectionnez les Magasins d'identité onglet .

  9. Téléchargez le certificat depuis le Client OPC UA auto-signé Magasin d'identité. La paire de clés n'a pas besoin d'être téléchargée.

Périphérique du serveur OPC UA

  1. Ouvrez le site Web Based Management (WBM) en accédant à l'adresse IP de l'automate.

  2. Sélectionnez l'Authentification par certificat élément du menu Sécurité.

  3. Sélectionnez les Trust Stores onglet.

  4. Ajoutez le Client OPC UA auto-signé certificat (téléchargé précédemment) dans le Trust Store nommé OPC UA-configurable . Désormais, le serveur OPC UA fera confiance au certificat de sécurité utilisé par le client OPC UA pour vérifier son identité. Cette étape devra être répétée à chaque fois que le certificat client change.

Périphérique client OPC UA

  1. Ouvrez PLCnext Engineer.

  2. Créez un nouveau projet PLCnext Engineer à l'aide du modèle de votre appareil PLCnext Control. Si vous utilisez le même appareil pour le client OPC UA et le serveur OPC UA, le même projet PLCnext Engineer sera utilisé.

  3. Définissez l'adresse IP de l'automate dans le projet PLCnext Engineer.

  4. Requis uniquement pour les automates exécutant des versions de firmware antérieures à 2023.6 : Sur le Serveur OPC UA page de configuration, définissez la Visibilité des variables à Marqué . Oui, il semble étrange d'exiger ce paramètre du serveur OPC UA pour le client OPC UA. Ce problème est corrigé dans les versions 2023.6 et ultérieures du micrologiciel.

  5. Créez des variables qui seront connectées aux variables du serveur OPC UA. Requis uniquement pour les automates exécutant des versions de firmware antérieures à 2023.6 : Assurez-vous que l'OPC la case est cochée pour ces variables (il n'est pas nécessaire que la case soit cochée pour les automates exécutant la version 2023.6 ou ultérieure du firmware).

    Dans l'exemple ci-dessous, deux variables ont été créées dans le programme principal.

  6. Dans l'onglet Connexions client OPC UA, ajoutez un serveur et deux groupes de variables, comme indiqué ci-dessous.

    L'URL du serveur, le nom d'utilisateur et le mot de passe doivent être modifiés en fonction du serveur OPC UA que vous utilisez.

  7. Dans le groupe de variables « S'abonner », ajoutez un mappage de variable, comme indiqué ci-dessous.

    Cela transfère automatiquement la valeur de la variable distante (sur le serveur OPC UA) vers la variable locale dans le projet PLCnext Engineer.

  8. Dans le groupe de variables « Écrire », ajoutez un mappage de variable, comme indiqué ci-dessous.

    Cela transfère automatiquement la valeur de la variable locale du projet PLCnext Engineer vers la variable distante (sur le serveur OPC UA).

  9. Écrivez et démarrez le projet PLCnext Engineer.

  10. En mode Debug, changez la valeur de la variable Client_Data_out . La valeur sera écrite dans la variable Server_Data_In sur le serveur OPC UA. Cette valeur sera incrémentée par le Serveur et écrite dans la variable Server_Data_Out . La valeur de cette variable sera alors transférée à la variable Client_Data_In sur le Client.

Ça ne marche pas ?

Veuillez consulter le guide de dépannage dans le centre d'information PLCnext (en bas de la page).

Questions fréquemment posées

Q :Le client peut-il se connecter à un serveur OPC UA à l'aide de l'authentification par certificat/clé ?

R :Non, pas pour le moment.

Q :Comment le client OPC UA stocke-t-il le mot de passe du serveur ?

R :Pour le moment, le mot de passe du serveur OPC UA est stocké en texte clair dans le fichier de configuration client, mais les développeurs de PLCnext Runtime travaillent sur une méthode de stockage de mot de passe plus sécurisée.

Q :Puis-je obtenir des informations de qualité (par exemple, code d'état, horodatage) pour les données lues à partir d'un serveur OPC UA ?

R :Pas pour le moment, désolé.

Cet article a été mis à jour le 24.03.2025 pour inclure des informations sur la fonctionnalité de navigation sur le serveur qui est désormais disponible dans PLCnext Engineer.

Annexe :Configuration basée sur des fichiers

La configuration du client OPC UA dans PLCnext Engineer est stockée sur le contrôleur au format XML. Pour les applications n'utilisant pas PLCnext Engineer, il est possible de configurer le client OPC UA en écrivant la configuration XML directement sur le contrôleur.

La configuration préparée dans cet exemple est représentée dans les fichiers XML suivants :

  1. Toutes les modifications nécessaires aux paramètres par défaut du client OPC UA sont définies dans le fichier /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/client.module.config :

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <OpcUAClientModuleConfigurationDocument schemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig" xmlns="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig">
     <Application>
     <CertificateStore>
     <SelfSignedIdentityStoreName>OPC UA Client self-signed</SelfSignedIdentityStoreName>
     <GivenIdentityStoreName>OPC UA Client</GivenIdentityStoreName>
     <TrustStoreName>OPC UA Client</TrustStoreName>
     </CertificateStore>
     <SessionSecurity>
     <ApplicationAuthentication>false</ApplicationAuthentication>
     <ApplicationUriCheck>true</ApplicationUriCheck>
     <CertificateHostnameCheck>true</CertificateHostnameCheck>
     <CertificateTimeCheck>true</CertificateTimeCheck>
     <CertificateIssuerTimeCheck>true</CertificateIssuerTimeCheck>
     <PasswordEncryptionCheck>true</PasswordEncryptionCheck>
     </SessionSecurity>
     <Timeouts>
     <SessionTimeout>1200000</SessionTimeout>
     <ConnectTimeout>5000</ConnectTimeout>
     <WatchdogTimeout>5000</WatchdogTimeout>
     <CallTimeout>10000</CallTimeout>
     </Timeouts>
     </Application>
    </OpcUAClientModuleConfigurationDocument>
    
  2. Les connexions du Client OPC UA sont définies dans le fichier /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/Configs/ clientconnections.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <eUAClientConfigurationDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" xmlns="http://phoenixcontact.com/OpcUA/PLCnext/UAClientConfig/Types.xsd">
     <eUAClientConfiguration>
     <Name>ClientConnectionsConfiguration</Name>
     <NamespaceArray> 
     <uax:String>http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/</uax:String>
     </NamespaceArray>
     <ServerConnections>
     <eUAClientServerConnection>
     <EncodingMask>3</EncodingMask>
     <Endpoint> 
     <uax:EndpointUrl>opc.tcp://192.168.1.10:4840</uax:EndpointUrl>
     <uax:SecurityMode>Sign_2</uax:SecurityMode> 
     <uax:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</uax:SecurityPolicyUri>
     </Endpoint>
     <UserTokenType>UserName_1</UserTokenType>
     <UserName>admin</UserName>
     <Password>xxxxxxxx</Password>
     </eUAClientServerConnection>
     </ServerConnections>
     <VariableGroups>
     <eUAClientVariableGroup>
     <GroupType>Write_1</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_Out</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_In</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     <eUAClientVariableGroup>
     <GroupType>Subscribe_0</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_In</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_Out</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     </VariableGroups>
     </eUAClientConfiguration>
    </eUAClientConfigurationDocument>
    

    Ce fichier utilise l'Espace de noms et ID du nœud informations enregistrées précédemment (à l'aide de UaExpert) pour spécifier à quelles variables de serveur le client accédera.

  3. Dans le fichier ci-dessus, modifiez les éléments suivants en fonction de votre application :

    • L'élément uax:EndpointUrl doit inclure l'adresse IP (ou le nom DNS) de votre serveur OPC UA.

    • Le Username et Password Les éléments doivent contenir les informations d'identification requises pour le serveur OPC UA.

    IMPORTANT : Dans cet exemple, l'ID de nœud les chaînes dans UaExpert incluaient le texte ns=6 . Dans le fichier XML ci-dessus, cela a été remplacé par ns=1 , car le paramètre "namespace" (ns ) est un index dans la liste des espaces de noms sur le client local . Dans cet exemple, l'Espace de noms le nom qui a été copié depuis UaExpert est le premier (et le seul) espace de noms de la liste des espaces de noms dans notre clientconfig.xml fichier.

Le PLCnext Runtime doit être redémarré après avoir apporté des modifications aux fichiers de configuration du client OPC UA.


Technologie industrielle

  1. Qu'est-ce que la planification de la maintenance ?
  2. Six éléments que les détaillants devraient avoir en place pour la haute saison
  3. Le calculateur de retour sur investissement GMAO d'Hippo est arrivé !
  4. Condensateur classé X :Comment en utiliser un dans une alimentation sans transformateur
  5. 7 aspects de la façon dont l'éclairage intelligent apporte des économies aux environnements industriels
  6. Comment les fixations améliorent la précision dans la découpe au jet d'eau
  7. Les défis et les solutions uniques de l'impression 3D métal
  8. Comment les petits fabricants peuvent développer des stratégies de gestion des risques pour les chaînes d'approvisionnement
  9. Types de sable dans le processus de moulage au sable