Réception de données : lecture des données cycliques, optimisation du contrôle et de la surveillance
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.
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
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.