Skip to main content

Exemple : Utilisation de la OPC UA PubSub SL Bibliothèque

Produit :CODESYS OPC UA PubSub SL

Le OPC UA PubSub SL Example.project l'exemple montre comment utiliser OPC UA PubSub SL bibliothèque pour échanger des messages via le protocole Pub/Sub tel que défini par la Fondation OPC UA.

Le package contient également un deuxième exemple : PubSubDataSet.project. Il montre comment utiliser le OPC UA PubSub SL bibliothèque afin de fournir différents ensembles de données et de les connecter à des instances GVL.

Description

Outre la communication Client/Serveur, la communication via le protocole OPC UA Pub/Sub offre également une capacité supplémentaire d'échange de données entre les abonnés d'un réseau dans le respect des règles de la Fondation OPC UA.

La structure des données (DataSet) peut être défini librement et est convenu à l'avance entre l'expéditeur et le destinataire. Cela élimine le besoin de transporter des (méta) données supplémentaires. Les données sont transférées à l'aide du OPC UA PubSub SL bibliothèque via UDP/IP selon les règles définies pour UADP.

Un Éditeur publie ses données auprès d'un nombre inconnu d'Abonnés. En conséquence, l'expéditeur et le destinataire ne se connaissent pas. C'est pourquoi le nombre de destinataires n'a pas non plus de répercussion sur l'expéditeur. Une réponse à l'expéditeur indiquant si ses messages sont parvenus ou non aux destinataires ne peut pas être envoyée via le protocole en raison de la nature du protocole. Si nécessaire, une telle réponse doit être gérée de manière spécifique à l'application.

Les données sont transférées dans un format binaire selon les règles de l'OPC UA Foundation. Le OPC UA PubSub SL La bibliothèque gère la conversion des types de données CEI en types de données OPC UA correspondants et inversement.

La mise en œuvre suit les profils suivants :

  • Publisher: PubSub Publisher UADP Periodic Fixed Settings

  • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

La longueur du message est limitée à 1 500 octets (MTU) (les NetworkMessages Chunked ne sont pas pris en charge). Tant que les règles d'un réseau sensible au temps ne sont pas disponibles, les conditions de temps réel dur ne peuvent pas être respectées. Cependant, la mise en œuvre de la OPC UA PubSub SL la bibliothèque tente de maintenir la gigue aussi faible que possible.

La bibliothèque comprend les blocs fonctionnels suivants :

  • DataSet: :

    Définit un DataSet message

  • Configuration :

    Gère les ressources partagées, telles que la connexion ou le groupe

  • RootDiagnostics :

    Notifie avec des données de diagnostic supérieures

  • Connection :

    Gère la connexion à l'éditeur et à l'abonné

  • ConnectionDiagnostics :

    Notifie avec des données de diagnostic sur la connexion (Connection)

  • ReaderGroup :

    Gère Reader blocs fonction (création d'un NetworkMessage à partir DataSet messages)

  • ReaderGroupDiagnostics :

    Notifie avec des données de diagnostic sur le ReaderGroup

  • Reader :

    Gère la DataSet bloc fonction (Abonné)

  • ReaderDiagnostics :

    Notifie avec des données de diagnostic sur un Reader bloc fonction

  • WriterGroup :

    Gère Writer blocs fonction (création d'un NetworkMessage à partir DataSet messages)

  • WriterGroupDiagnostics :

    Notifie avec des données de diagnostic sur le WriterGroup

  • Writer :

    Gère un DataSet bloc fonction (Publisher)

  • WriterDiagnostics :

    Notifie avec des données de diagnostic sur un Writer bloc fonction

_example_img_opc_ua_blocks.png

Fonctionnalité prise en charge

  • Publication/abonnement de messages selon OPC 10000-14 : OPC Unified Architecture Part 14 : PubSub Release 1.04

  • Taille maximale d'un NetworkMessage : 1 500 octets

  • La taille de paquet actuelle et la charge utile peuvent être configurées au moyen de la configuration du ReaderGroup/WriterGroup respectif et DataSet blocs fonctionnels.

  • Support avec une tâche en arrière-plan pour le respectif Connection bloc fonction

  • Les profils suivants sont pris en charge :

    • Publisher: PubSub Publisher UADP Periodic Fixed Settings

    • Subscriber: PubSub Subscriber UADP Periodic Fixed Settings

Informations Complémentaires

Le Device_1 l'application montre comment lire un NetworkMessage.

Le Device_2 L'application montre comment envoyer des messages au moyen des blocs fonctionnels contenus.

  1. Matériel

    1. il te faut deux CODESYS API connectés sur un réseau prenant en charge la multidiffusion UDP.

    2. Dans le projet, adaptez la configuration des appareils aux appareils en mettant à jour Device_1 et Device_2 au matériel utilisé.

  2. Personnalisations dans le projet

    1. Définissez les adresses IP dans le GlobalIP GVL au matériel que vous avez configuré. Vous trouverez ce GVL dans le POU zone.

    2. Définissez l'adresse Multicast sur une adresse libre de votre réseau.

      Remarque : Si vous n'êtes pas dans un réseau privé, demandez à votre administrateur réseau de vous attribuer une adresse libre.

    3. Définissez le port. Le port par défaut 4840 est le port recommandé pour OPC UA PubSub.

  3. Connectez-vous aux deux contrôleurs et démarrez les applications.

  4. Démarrez à la fois l'expéditeur et le destinataire :

    Device_2: PLC_PRG.xEnable := TRUE

    Device_1: Communication_PRG.xEnable := TRUE

    Du côté du récepteur, vous devriez maintenant voir comment les valeurs du sinus changent. Vous pouvez modifier manuellement les autres valeurs dans l'expéditeur et voir les modifications dans le récepteur.

Procédure. Suggestion pour étendre l'exemple

Ajouter une variable au DataSet qui a déjà été envoyé.

  1. Étendre SensorDataSet._aIndex par une entrée. Sélectionnez n'importe quel type de données.

  2. Dans SensorDataSet.Init, adapter la version de DataSet en mettant à jour l'entrée de date.

  3. Dans le PLC_PRG programme de l'expéditeur, créez une variable du type de données sélectionné. Attribuez la valeur txSensorDataSet.PrepareValues à la variable.

  4. Dans rxSensorDataSet.PrepareValues, répétez cette étape côté récepteur. Créez au préalable ici également une nouvelle variable du même type.

  5. Effectuez un nouveau téléchargement.

    La nouvelle variable doit également être transmise.

Exemple 1. Exemple de configuration type
_example_img_opc_ua_pubsub_config.png


Configuration système requise et restrictions

Système de programmation

CODESYS Development System (version 3.5.17.0 ou supérieure)

Système d'exécution

CODESYS Control Win (version 3.5.14.0)

Note

Selon les capacités du système d'exécution respectif, les messages peuvent être envoyés via Unicast, Multicast ou Broadcast.

Plates-formes/appareils pris en charge

Astuce

Utilisez le Device Reader project pour connaître les fonctionnalités prises en charge par votre appareil. Device Reader est disponible gratuitement dans CODESYS Store International.

Restrictions

  • La longueur maximale d'un message réseau est de 1 500 octets.

    (Chunked NetworkMessages not supported)

  • L'instant de transmission est déterminé via la configuration de la tâche.

    Le udiPublishingInterval paramètre n'a aucun effet.

Composants complémentaires

CODESYS OPC UA PubSub SL

Avis

_example_icon.png TÉLÉCHARGER Projet