DOCA0272FR-00

Données cycliques

Tous les blocs de fonction qui accèdent aux données cycliques utilisent deux variables d’interface pour paramétrer l’accès aux données cycliques :

  • i_hwStartAddress pour les données d’entrée cycliques

  • iq_hwQWAddress pour les données de sortie cycliques

La variable d’interface « i_hwStartAddress » (type de données « Variant ») est utilisée par les blocs de fonction pour récupérer la totalité des données d’entrée cycliques associées à l’avatar. Pour ce faire, le bloc fonction doit être paramétré avec l’adresse de début de la plage d’entrée de l’avatar (sous-module d’entrée de l’avatar pour PROFINET IO, module de l’avatar pour PROFIBUS DP). La méthode habituelle consiste à créer des étiquettes d’automate pour une adresse en début de plage. La taille des données de l’étiquette d’automate est sans importance, tant qu’elle se trouve au début de la plage (par exemple, BOOL « PompeAv02_AdresseDébut » pointant sur l’adresse « %I4.0 » pour l’avatar Pompe dans l’exemple ci-dessous).

Pour la direction des données de sortie, les blocs de fonction utilisent la variable d’entrée/sortie « iq_hwQWAddress » (dans certains cas également « iq_hwQBAddress » car il n’y a qu’un seul octet de données de sortie pour l’avatar). Contrairement aux données d’entrée, cette variable se réfère aux données de sortie complètes de l’îlot (dans la plupart des cas de type Mot) et est connectée comme variable d’entrée/sortie au bloc de fonction. En effet, dans certains cas, plusieurs blocs de fonction accèdent aux données de sortie du même avatar dans différentes zones (par exemple, le bloc de fonction de contrôle d’avatar en conjonction avec un bloc de fonction de diagnostic d’avatar). L’état actuel doit donc être lu avant qu’une modification ne soit écrite sur la sortie. Habituellement, l’accès à la zone de sortie de l’avatar doit également être configuré à l’aide d’une étiquette d’automate pour la zone de sortie complète (dans l’exemple ci-dessus, « RépTransporteurUneDir03_AdresseSor » de type Mot faisant référence à « %QW5 »).

NOTE: Les blocs de fonction de la bibliothèque TeSys™ island pour TIA  Portal ne peuvent pas détecter de mauvaise configuration des zones d’entrée/sortie des avatars. Par conséquent, il incombe à l’utilisateur de s’assurer que les zones d’entrée et de sortie correctes sont configurées et utilisées avec les types de blocs de fonction appropriés. Dans le cas contraire le TeSys™ island pourrait montrer un comportement inattendu.

Dès que la variable d’entrée « i_xEnable » est définie sur VRAI dans le programme, les blocs de fonction impliquant une communication cyclique exécutent et mettent à jour les données cycliques. Cela signifie que toute variable d’entrée à l’interface du bloc de fonction contrôlant l’avatar par communication cyclique (par exemple, « i_xRunFwd » dans l’exemple ci-dessus) sera écrite dans la zone de données de sortie de l’avatar. En même temps, toute information d’état pertinente provenant de la zone de données d’entrée de l’avatar est lue par le bloc de fonction et copiée sur l’interface de sortie (par exemple, « q_xRunFwd »).

La sortie d’état « q_xActive » des blocs de fonction est la contrepartie de « i_xEnable ». Si l’exécution du bloc de fonction est activée et qu’aucune erreur n’a été détectée, « q_xActive » est réglée sur VRAI. Si une erreur détectée se produit pendant l’exécution du bloc de fonction, elle est signalée par un front montant sur « q_xError ». La récupération des données d’entrée cycliques et l’exécution du bloc de fonction sont interrompues. En outre, « q_dwErrorID » indique le type d’erreur détectée à l’aide de l’une des valeurs de code d’erreur du bloc de données ConstTeSysIsland (voir Bloc de données ConstTeSysIsland). En même temps, toutes les sorties du bloc de fonction résultant d’une communication cyclique ou acyclique avec TeSys island sont réinitialisées à leurs valeurs par défaut respectives. Il s’ensuit que :

  • Tous les résultats de type numérique (INT, UINT, etc.) de champ binaire (WORD, DWORD, etc.) sont mis à 0

    .
  • Tous les résultats de type chaîne de caractères sont définis comme chaîne vide.

  • Tous les résultats de type booléen sont réglés sur FAUX.

  • Tous les résultats de type date et heure (DTL dans cette bibliothèque) sont réinitialisés à la valeur minimale pour ce type (DTL#1970-01-01-00:00:00.0).

  • Tous les résultats regroupés dans un type défini par l’utilisateur (UDT) ou struct sont réinitialisés aux valeurs par défaut spécifiées dans la définition du type. En général, ces derniers suivent également les règles ci-dessus.

NOTE: Les modifications des définitions des UDT contenues dans la bibliothèque entraînent également le changement des valeurs par défaut utilisées par les blocs de fonction lorsqu’une erreur se produit. Elles doivent donc être évitées.
AVERTISSEMENT
Risque de fonctionnement inattendu
  • Pour éviter une interruption du fonctionnement de la charge représentée par l’avatar lorsqu’une erreur se produit, les données de sortie cycliques envoyées à l’îlot (par exemple, les commandes Lancer) restent inchangées. S’il est nécessaire d’arrêter la charge lorsqu’une erreur se produit, c’est à vous de supprimer tout bit d’entrée actif du bloc de fonction en fonction de la situation.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Le bloc de fonction ne sort de l’état d’erreur détectée qu’après qu’un nouveau front montant sur « i_xEnable » a été détecté et si la condition qui a conduit le bloc de fonction à entrer en état d’erreur détectée a été résolue.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Contenu utile ?