Réception de données : lecture des données cycliques, optimisation du contrôle et de la surveillance

Généralités

Au contraire de l'envoi, lors de la réception, le comportement en matière d'utilisation de la MTU par le module est défini par la configuration.

Configuration

Pour optimiser le contrôle et la surveillance de chaque étape individuelle, définissez la configuration comme suit :

oIl est interdit d'avoir plusieurs segments dans une MTU

oLa taille de segment ne dépasse pas la taille de la MTU

oL'utilisation ou non du mécanisme Block Forward  ne fait aucune différence quant au traitement MTU

Étape

Action

1

Vérifiez si le numéro de séquence de récepteur dans le registre OutputSequence a changé depuis le dernier cycle.

Si oui, RxByte1 est un octet de contrôle. S'il s'agit du début d'une trame, le tampon de réception doit être initialisé (pointeur d'écriture au début du tampon, longueur de trame reçue = 0, etc.).

2

Évaluez les informations relatives à l'octet de contrôle dans RxByte1 pour déterminer la longueur de données dans la MTU et si la détection de fin de trame a été définie.

3

Si des données sont disponibles, copiez le premier bloc des données série du registre RxByte2 dans le registre RxByteX.

Enregistrez la position actuelle du pointeur d'écriture et ajoutez la nouvelle longueur de trame. Si la détection de fin de trame a été définie, marquez la trame comme complète.

4

Augmentez la valeur d'acquittement du numéro de séquence de récepteur dans le registre OutputSequence. Si Block Forward = 1, le bloc MTU suivant est préparé seulement après que le module a reçu l'acquittement du transfert cyclique. Si Block Forward = 2 à 7, le module n'attend pas les acquittements individuels. Au lieu de cela, il crée de nouveaux blocs MTU jusqu'à ce que le nombre de blocs indiqué soit atteint.

5

Répétez les étapes 1 à 4 jusqu'à ce que les données série aient été reçues en blocs.

Organigramme de réception de données : contrôle maximum avec/sans registre Block Forward

G-SE-0064577.2.gif-high.gif

 

 

Exemple de partitionnement de l'octet de contrôle et des données reçues

La taille de la MTU est définie sur 7 octets. Vous recevez une trame de 27 octets.

G-SE-0064578.2.gif-high.gif