Les blocs PLCopen sont définis pour prendre en charge la communication UA du client dans un programme IEC1131-3. UA_Connect crée une connexion de transport pour une session OPC UA. UA_Connect doit être exécuté une fois pour chaque connexion. UA_NamespaceGetIndexList est exécuté une fois pour chaque espace de noms. Le descripteur NodeHdl d'un noeud spécifique est récupéré une fois pour toutes. UA_ReadList et UA_WriteList peuvent être exécutés aussi souvent que nécessaire dans l'application dans la limite imposée par le système (en fonction du temps de réponse global du serveur OPC UA) . Une fois la communication terminée, le descripteur de noeud n'est plus requis et il est libéré via UA_NodeReleaseHandleList (exécuté pour tous les descripteurs concernés). Le descripteur de connexion est libéré à l'aide de UA_Disconnect.

Une liste est traitée comme un tableau du type de base associé (par exemple, UANodeID ou UANodeAdditionalInfo). En outre, une longueur définie contient le nombre d'éléments du tableau. Bien que plusieurs tableaux puissent être connectés au bloc fonction (par exemple, les descripteurs de noeud et les variables dans le cas de UA_ReadList), la longueur est unique car tous les tableaux ont le même nombre d'éléments à traiter.
UA_NodeGetHandleList renvoie un tableau d'éléments UANodeHdl. Cet appel ne vérifie pas que l'identifiant UANodeID indiqué est valide.
UANodeID est vérifié uniquement pour déterminer s'il est structurellement correct (par exemple, il ne s'agit pas de l'une des valeurs UAIdentifierType mentionnées). Si sa structure n'est pas correcte, une erreur est détectée et l'élément d'erreur correspondant (NodeErrorIDs) est renvoyé. Le tableau de sortie de UA_NodeGetHandleList peut être utilisé tel quel pour les appels ultérieurs aux blocs fonction UA_ReadList et UA_WriteList, mais l'implémentation du contrôle vérifie l'élément d'erreur correspondant (NodeErrorIDs). Si une erreur générale est détectée, aucune sortie n'est modifiée par rapport à l'implémentation sous-jacente.