Description de la fonction

Le bloc fonction GET_TS_EVT_M obtient les données horodatées dans :

  • BMX ERT 1604T dans une station locale Modicon M340,

  • BMX ERT 1604T dans des stations locales et distantes Modicon M580,

  • UC BME P58 xxx Modicon M580,

  • BMX CRA 312 10 d'un Modicon M580,

  • BME CRA 312 10 d'un Modicon M580.

Cette fonction permet de lire la mémoire tampon des événements afin de les rendre accessibles à l'application automate.

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_M_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_M_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, le résultat de la fonction ADDM ou 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 : Pour modifier la valeur NUMBER, vous devez définir au préalable ENABLE sur 0.

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 remplissage 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•CRA31210 est en mode Application et il n'est pas pris en charge par le module   BMXERT1604T.

    • 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   BMXERT1604T et le    BM•CRA31210 est 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•CRA31210 était alimenté (le   BMXERT1604T 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 d'é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 :

    • Octet 0 : fraction de seconde (bits 23 à 16)

    • Octet 1 : Qualité horaire

NOTE : La taille minimale du paramètre BUFFER est de 12 mots et doit être un multiple de 6. Sinon, l'erreur 16#0009 est générée.

NB_EVENT

INT

Nombre de nouveaux événements lus dans le tampon local du module BMX ERT 1604T.

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 mot de mode 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

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.

07 hex

Problème lors de l'envoi à la cible

00 hex

Valeur par défaut

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 demande)

FF hex

Erreur de communication générale

NOTE : Si un code d'erreur n'est pas décrit dans le tableau ci-dessus, consultez les Autres codes d'erreur.
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 fonctionnement :

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 fonctionnement :

  • 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

(3) Si le bit ENABLE est remis à 0 avant la fin, le bloc fonction est arrêté (bit actif à 0). Pour que l'exécution du bloc soit terminée, la valeur 1 doit être appliquée au bit ENABLE jusqu'à la fin de l'opération ou jusqu'à ce qu'une erreur se produise.

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.