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
messageConfiguration
: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 à partirDataSet
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 fonctionWriterGroup
:Gère
Writer
blocs fonction (création d'un NetworkMessage à partirDataSet
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
![]() |
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 fonctionLes 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.
Matériel
il te faut deux CODESYS API connectés sur un réseau prenant en charge la multidiffusion UDP.
Dans le projet, adaptez la configuration des appareils aux appareils en mettant à jour
Device_1
etDevice_2
au matériel utilisé.
Personnalisations dans le projet
Définissez les adresses IP dans le
GlobalIP
GVL au matériel que vous avez configuré. Vous trouverez ce GVL dans le POU zone.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.
Définissez le port. Le port par défaut 4840 est le port recommandé pour OPC UA PubSub.
Connectez-vous aux deux contrôleurs et démarrez les applications.
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.
Ajouter une variable au DataSet
qui a déjà été envoyé.
Étendre
SensorDataSet._aIndex
par une entrée. Sélectionnez n'importe quel type de données.Dans
SensorDataSet.Init
, adapter la version deDataSet
en mettant à jour l'entrée de date.Dans le
PLC_PRG
programme de l'expéditeur, créez une variable du type de données sélectionné. Attribuez la valeurtxSensorDataSet.PrepareValues
à la variable.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.Effectuez un nouveau téléchargement.
La nouvelle variable doit également être transmise.
![]() |
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) NoteSelon 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 | AstuceUtilisez le |
Restrictions |
|
Composants complémentaires | CODESYS OPC UA PubSub SL |
Avis
TÉLÉCHARGER Projet