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 |
|
NODEERRORIDS |
ANY_ARRAY_DWORD |
Tableau de NodeErrorIDs. (DWORD) |
NODEHDLS |
ANY_ARRAY_DWORD |
Tableau de descripteurs de noeud. (DWORD) |
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.