Description de la fonction

Le bloc fonction GET_TS_EVT_Q obtient les données horodatées d'un module d'E/S distantes Ethernet BMX CRA 312 10 ou d'un module BMX ERT 1604T dans une station d'E/S distantes (architecture Quantum). Il permet de lire le tampon d'événements du module d'E/S horodatées source (BMX CRA 312 10 ou BMX ERT 1604T) et de le rendre disponible à l'application automate Quantum.

Les paramètres supplémentaires EN et ENO peuvent être configurés.

Représentation en FBD

Représentation :

Représentation en LD

Représentation :

Représentation en IL

Représentation :

CAL GET_TS_EVT_Q_Instance (CTRLSTAMP:=RawBuffer, ENABLE:=GetTsEnable, ADR:=ModuleAddress, ABORT:=GetTsAbort, NUMBER:=NbEventsToRead, TIMEOUT:=TimeToWait, CMD:=ModuleCmd, DONE=>GetTsSuccessfull, ACTIVE=>GetTsActive, ERROR=>GetTsFaulty, STATUS=>ErrorCode, DIAG_BUFF=>DiagBuffer, BUFFER=>TimeStamp, NB_EVT=>NbNewEvents)

Représentation en ST

Représentation :

GET_TS_EVT_Q_Instance (CTRLSTAMP:=RawBuffer, ENABLE:=GetTsEnable, ADR:=ModuleAddress, ABORT:=GetTsAbort, NUMBER:=NbEventsToRead, TIMEOUT:=TimeToWait, CMD:=ModuleCmd, DONE=>GetTsSuccessfull, ACTIVE=>GetTsActive, ERROR=>GetTsFaulty, STATUS=>ErrorCode, DIAG_BUFF=>DiagBuffer, BUFFER=>TimeStamp, NB_EVT=>NbNewEvents)

Description des paramètres

Le tableau suivant décrit les paramètres d’entrée :

Paramètre

Type

Commentaire

ENABLE

BOOL

Réglé sur 1 pour envoyer la requête au module concerné.

ADR

ANY_ARRAY_INT

Tableau contenant l'adresse de l'esclave Modbus, c'est-à-dire le résultat de la fonction ADDMX.

ABORT

BOOL

Réglé sur 1 pour abandonner l'opération en cours.

NUMBER

INT

Nombre maximum d'événements à lire dans le tampon local du module.

NOTE : Lorsque le numéro de l'élément demandé est 0, une erreur de paramètre incorrect apparaît (compte rendu de communication (octet 0) = 06 hex) et le tampon de diagnostic n'est pas mis à jour.

TIMEOUT

INT

Délai d'attente maximum de la réponse de la station. La base de temps pour ce paramètre est de 100 ms.

NOTE : TIMEOUT = 0 correspond à un délai d'attente infini.

CMD

INT

Réglé sur:

  • 0 : lire le tampon du module

  • 1 : réinitialiser le tampon du module

Le tableau suivant décrit les paramètres de sortie :

Paramètre

Type

Commentaire

DONE

BOOL

Exécution terminée du bloc fonction. Réglé sur 1 lorsque l'exécution du bloc fonction a abouti.

ACTIVE

BOOL

Bloc fonction en cours d'exécution. Réglé sur 1 lorsque l'exécution du bloc fonction est en cours.

ERROR

BOOL

Réglé sur 1 si une erreur est détectée par le bloc fonction.

STATUS

WORD

Code fournissant un compte rendu de communication et d'opération.

  • Octet 0 : compte rendu de communication

  • Octet 1 : compte rendu d'opération

DIAG_BUFF

ANY_ARRAY_INT

Description:

  • Octet 0 : pourcentage de saturation du tampon

  • Octet 1 : indicateurs de diagnostic :

    • Bit 0 = 1 : l'heure est OK et synchronisée

    • Bit 1 = 1 : le tampon est saturé, des événements peuvent être perdus

      Cela se produit en mode Ecrasement, lorsque certains ou la totalité des événements ont été écrasés depuis la dernière réponse.

      Le mode Ecrasement n'est disponible que si le BM• CRA 312 10 est en mode Application et il n'est pas pris en charge par le BMX ERT 1604T.

    • Bit 2 = 1 : le tampon est saturé et l'horodatage s'est arrêté

      Cela se produit en mode Arrêt en cas de tampon saturé, lequel est pris en charge par le BMX ERT 1604T et le BM• CRA 312 10 en mode Système.

      Tout nouvel événement détecté avant la lecture du tampon d'événements est perdu.

    • Bit 3 = 1 : la requête de lecture est la première car le module 140 CRA 312 10 ou BM• CRA 312 10 était alimenté (le BMX ERT 1604T n'utilise pas ce bit).

BUFFER

ANY_ARRAY_INT

Tampon brut contenant des entrées horodatées d'événement :

  • Mot 0 :

    • Octet 0 : Réservé

    • Octet 1 : valeur de la variable après détection de la modification

  • Mot 1 : ID de l'événement

  • Mot 2 : nombre de secondes depuis le 01/01/1970 minuit (bits 15 à 0)

  • Mot 3 : nombre de secondes depuis le 01/01/1970 minuit (bits 31 à 16)

  • Mot 4 : fraction de seconde (bits 15 à 0)

  • Mot 5 :

NOTE : la taille du paramètre BUFFER doit être un multiple de 6. Sinon, l'erreur 16#0900 est générée.

NB_EVENT

INT

Nombre de nouveaux événements lus dans le tampon local du module BMX CRA 312 10 ou BMX ERT 1604T (station d'E/S distantes Ethernet).

Le tableau suivant décrit les paramètres d’entrée/sortie :

Paramètre

Type

Commentaire

CTRLSTAMP

DDT CTRL_STAMP

Spécifie le tampon d'enregistrements bruts de l'UC :

  • index de DEBUT : INT

  • index de FIN : INT

  • Mode de fonctionnement (une description détaillée du mode du mot de fonctionnement est fournie ci-dessous) : WORD.

Description du paramètre STATUS

Le tableau suivant décrit le paramètre STATUS :

Compte rendu de communication (octet 0)

Compte rendu d'opération (octet 1)

Valeur

Description

Valeur

Description

00 hex

Echange correct (requête traitée correctement)

00 hex

Résultat positif

01 hex

Le nombre d'événements dans le tampon de l'automate a atteint la valeur maximale.

02 hex

Le tampon est saturé et des événements ont été écrasés depuis le dernier échange.

04 hex

Le tampon est saturé et l'enregistrement est interrompu.

01 hex

Echange arrêté suite à un timeout

00 hex

Valeur par défaut

02 hex

Echange arrêté à la demande de l'utilisateur (CANCEL)

00 hex

Valeur par défaut

03 hex

Format d'adresse incorrect

00 hex

Valeur par défaut

04 hex

Adresse cible incorrecte

00 hex

Valeur par défaut

06 hex

Paramètres spécifiques incorrects

00 hex

Valeur par défaut ou numéro d'événement réglé sur 0

01 hex

Paramètre CMD non valide

02 hex

Des paramètres utilisateur ont été modifiés entre deux invocations pendant l'exécution de l'EFB

09 hex

Taille insuffisante du tampon de réception (<1 EVT) ou taille du tampon ne correspondant pas à un multiple de 6 entiers

00 hex

Valeur par défaut

0B hex

Processeur sans ressources système

00 hex

Valeur par défaut

FF hex

Echange incorrect (échec du traitement de la requête)

FF hex

Erreur de communication générale détectée

NOTE : si un code d'erreur ne figure pas dans le tableau ci-dessus, consultez les codes d'erreur génériques.
NOTE : le paramètre ENO est réglé sur 1 en cas d'échange correct.

Description du paramètre CTRLSTAMP

Exemple de structure de DDT CTRL_STAMP et lien avec le tampon de l'automate :

L'exemple ci-dessus montre le contenu de CTRL_STAMP après l'écriture de 32 événements (1 entrée d'événement compte 6 mots) dans le tampon d'automate configuré comme suit :

  • Le tampon de l'automate est localisé et il y a 32 événements à écrire.

  • Arrêtez l'enregistrement lorsque le tampon est saturé et continuez avec la valeur précédente à la mise sous tension.

Structure du mot de MODE de marche :

Niveau du tampon :

  • Si index de DEBUT = index de FIN, le tampon est vide

  • Si index de FIN + 6 = index de DEBUT, le tampon est saturé (dans l'équation précédente, 6 représente la taille d'un événement). Le tampon est saturé lorsqu'il reste de l'espace pour un seul événement (6 x INT).

Le comportement de l'EFB en cas de tampon saturé dépend de la valeur du bit 1 du paramètre MODE de marche :

  • Si le bit de comportement en cas de débordement du tampon d'enregistrements bruts est réglé sur 0 (arrêter l'enregistrement), le tampon n'est pas alimenté en nouvelles données.

  • Si le bit de comportement en cas de débordement du tampon d'enregistrements bruts est réglé sur 1 (remplacer le tampon), les données anciennes sont remplacées par les nouvelles. Dans ce cas, l'EFB met à jour à la fois l'index de DEBUT et l'index de FIN.

Mode de fonctionnement des paramètres Enable, Active, Done et Error

Les paramètres ENABLE, ACTIVE, DONE (ou SUCCESS) et ERROR fonctionnent de la manière suivante :

(1) DONE = 1 si aucune erreur, DONE = 0 si erreur

(2) ERROR = 0 si aucune erreur, ERROR = 1 si erreur

Le paramètre ENABLE est écrit par l'application.

Les paramètres ACTIVE, DONE et ERROR sont lus par l'application.

Pour ne lancer la fonction de communication qu'une seule fois, le signal ENABLE doit être remis à 0 dès que le paramètre ACTIVE est réglé sur 0. Si le paramètre ENABLE est maintenu à 1 lorsque le paramètre ACTIVE est réglé sur 0, la fonction de communication est relancée et le paramètre ACTIVE sera réglé sur 1 lors du cycle suivant.