Description fonctionnelle

Le bloc fonction UA_NodeGetHandleList permet d'obtenir des descripteurs de noeud pour plusieurs noeuds.

En transmettant à l'entrée NODEIDS un tableau [ 0 .. 31 ] d'éléments de structure NodeIds, ce bloc renvoie un tableau [ 0 .. 31 ] de NodeHdls.

Il traduit les NodeIDs en NodeHdls afin d'optimiser la charge utile des requêtes OPC UA du client vers le serveur.

Les demandes de NodeIDs du client sont enregistrées par le serveur qui revient aux NodeHdls correspondants pour les futures demandes.

Représentation en FBD

Description des paramètres

Paramètres d’entrée :

Nom

Type

Commentaire

EXECUTE

BOOL

Le FB effectue sa tâche lors d'un front montant sur cette entrée.

CONNECTIONHDL

DWORD

Descripteur de connexion.

NODEIDCOUNT

UINT

Nombre d'éléments dans un tableau de NodeIDs.

NODEIDS

AUANodeID

Tableau de UANodeID

TIMEOUT

TIME

Temps de réponse.

Paramètres de sortie :

Nom

Type

Commentaire

DONE

BOOL

Le FB a terminé sa tâche avec succès.  

BUSY

BOOL

Le FB n'a pas terminé et de nouvelles valeurs de sortie sont attendues.

ERROR

BOOL

Signale qu'une erreur s'est produite dans le FB. Défini sur true si ERRORID ou l'un au moins des NodeErrorIDs indique une erreur.

ERRORID

DWORD

Code d'erreur.

NODEERRORIDS

ANY_ARRAY_DWORD

Tableau de NodeErrorIDs. (DWORD)

NODEHDLS

ANY_ARRAY_DWORD

Tableau de descripteurs de noeud. (DWORD)

NOTE : UA_NodeGetHandleList utilise le service des noeuds de registres internes géré côté serveur pour une session : "Enregistre un ou plusieurs noeuds en vue d'une utilisation répétée au cours d'une session."

Comme les noeuds sont identiques, il n'y a aucune vérification que ces noeuds ont déjà été enregistrés. Les descripteurs sont donc incrémentés. Il incombe au client de veiller à éviter de créer un nouvel enregistrement sur les noeuds déjà enregistrés. Les applications d'automate qui utilisent des EFB client OPCUA peuvent utiliser l'EFB ReleaseHandle afin de libérer l'enregistrement des noeuds dans le serveur.

Pour limiter la taille de la variable d'application qui est remplie pour la broche NODEIDS, le nombre maximal de descripteurs de noeud est de 32.

Si vous avez besoin de plus de 32 descripteurs de noeud pour une utilisation ultérieure de UA_ReadList, UA_WriteList, UA_MonitoredAddItem (jusqu'à 251 variables), vous devez itérer l'appel de UA_NodeGetHandleList avec les ID de noeud requis et concaténer le tableau de descripteurs de la sortie pour remplir le tableau de descripteurs des autres blocs.

Erreur d'exécution

Reportez-vous à l'annexe pour consulter la liste des codes d'erreur détectée OPC UA.