Cette rubrique décrit le comportement des entrées et sorties des blocs fonction OPC UA.

Comportement des blocs fonction avec l'entrée Execute

Le front montant de l'entrée Execute lance l'exécution du bloc fonction. Le bloc fonction poursuit son exécution et la sortie Busy prend la valeur TRUE. Les fronts montants supplémentaires sur l'entrée Execute sont ignorés pendant l'exécution du bloc fonction.

Une fois l'exécution terminée, les sorties Done ou Error restent sur TRUE jusqu'à ce que l'entrée Execute soit définie sur FALSE. Si l'entrée est réinitialisée avant la fin de l'exécution, les sorties Done ou Error sont définies sur TRUE pendant un cycle.

Comportement du timeout

Chaque bloc dispose d'une broche TimeOut paramétrable. Il s'agit du temps maximal d'attente d'une réponse au serveur.

Lorsque le timeout est activé, la broche ERROR est définie sur 1 et une erreur spécifique est générée sur la broche ErrorID E_TIMEOUT.

Pour certains blocs, par exemple UA_ReadList, cette broche peut être utilisée périodiquement pour mettre en commun la valeur de la variable ou, dans le cas de UA_WriteList, pour écrire une valeur de manière répétitive.

Par ailleurs, sur le bloc de connexion inclus dans UASessionConnectInfo, il existe des paramètres de TimeOut supplémentaires :

  • VendorSpecificParameter.OPCUARequestTimeOut : Timeout de toutes les requêtes OPCUA envoyées via la connexion actuelle ; si la valeur est 0 en interne, la valeur par défaut est 30 s.

  • SessionTimeout : Définit la durée de vie de la session en l'absence de connexion.

Consultez l'objet UASessionConnectInfo pour plus d'informations sur VendorSpecificParameter.OPCUARequestTimeOut et SessionTimeout.

Block Time Out ne peut pas être utilisé pour essayer de répéter immédiatement l'action si le timeout est déclenché. Dans ce cas, la connexion au serveur a peut-être été perdue (connexion filaire rompue et temps de réparation en cours, ou le serveur est occupé, en général par une compilation sur l'automate derrière un serveur BMENUA0100).

Vous devez estimer le temps d'occupation du serveur ou de réparation du réseau et harmoniser le TimeOut du bloc et OPCUARequestTimeOut en conséquence. Ces paramètres peuvent être configurés avec la même valeur.

Routage

Le client OPC UA ne peut accéder au serveur UA que via le port externe du module BMENUA0100 ou les ports Ethernet intégrés des UC.