Présentation
Le bloc XXMIT permet à l'utilisateur de définir l'utilisation d'un tampon FIFO de réception, du contrôle de flux et de la fonction des caractères de retour arrière reçus.
Tampon FIFO de réception ASCII
La mise à 0 du bit 7 du mot de commande désactive la fonction. Lorsque le tampon FIFO reçoit 512 caractères, un débordement interne se produit. Dans ce cas, tous les caractères suivants sont ignorés, toutes les opérations d'entrée ASCII (aux formats simple et terminé) sont arrêtées et le bloc renvoie une erreur jusqu'à ce que vous basculiez l'état du bit 7. Lorsque vous basculez l'état du bit 7, toutes les données du tampon FIFO sont supprimées, les deux bits de contrôle des entrées ASCII sont ignorés (Entrée ASCII simple [bit 10] et Entrée ASCII terminée [bit 11]) et lorsque aucun contrôle de sortie ASCII n'est sélectionné, le contrôle du port série (1) est renvoyé à l'automate.
Vous devez mettre à 1 le bit 11 (Entrée ASCII terminée) ou le bit 10 (Entrée ASCII simple) pour supprimer les caractères ASCII du tampon FIFO à traiter. Un seul des trois bits suivants peut être activé à la fois : Entrée ASCII terminée (bit 11), Entrée ASCII simple (bit 10) ou Messages sous forme de chaînes ASCII (bit 9).
L'opération Full duplex peut être réalisée en mettant à 1 le bit 7 (Tampon FIFO de réception ASCII) et le bit 9 (Messages sous forme de chaînes ASCII). Vous pouvez ainsi émettre une entrée ASCII simple à partir de l'automate tout en continuant à recevoir des caractères ASCII dans le tampon FIFO. Cette fonction est utile lors de l'utilisation de terminaux muets. Lorsque le bit 7 (Tampon FIFO de réception ASCII) est à 1, aucun des contrôles de sortie ASCII suivants n'est autorisé : Messages Modbus maîtres (bit 8), Modem à numérotation par impulsion (bit 3), Raccrochage du modem (bit 2), Modem à numérotation à tonalité (bit 1) et Initialisation du modem (bit 0).
Validation du caractère de retour arrière
Lorsqu'un caractère de retour arrière (BS) est détecté, il N'EST PAS stocké dans le tableau MsgIn. En fait, il supprime le caractère précédent et diminue donc le compteur de caractères RecCount. En revanche, lorsqu'un caractère ASCII standard est détecté, il est stocké dans le tableau MsgIn et augmente le compteur de caractères RecCount.
Cette fonctionnalité spéciale de caractère de retour arrière et l'écho interne activé sur le terminal sont très utiles lors de l'utilisation de terminaux muets. Un seul bloc XXMIT d'entrée ASCII terminée recherchant un « cr » est activé lorsque le bit 7 (Tampon FIFO de réception ASCII) et le bit 6 (Caractère de retour arrière) sont à 1. Aucune autre logique de programme n'est nécessaire lorsque vous entrez et éditez des caractères en utilisant la touche retour arrière à la volée. Lorsque vous tapez « cr », le bloc XXMIT active la sortie Done et les données corrigées sont toutes alignées correctement dans le tableau MsgIn.
Validation du contrôle de flux RTS/CTS
Les informations suivantes s'appliquent au mode de sortie. Le bloc XXMIT passe à l'état BLOQUE lorsque l'équipement récepteur indique qu'il ne peut pas traiter de caractères supplémentaires en désactivant le signal CTS. De même, le bloc XXMIT passe à l'état DEBLOQUE lorsque le signal CTS est activé et que l'équipement récepteur indique qu'il PEUT traiter des caractères supplémentaires.
Lorsque l'émission est DEBLOQUEE et que le bit 9 (Sortie ASCII simple) et le bit 5 (Contrôle de flux RTS/CTS) sont à 1, les données de la sortie d'émission sont envoyées par paquets de 16 octets. Une fois tous les paquets envoyés, la sortie Done du bloc XXMIT est activée pour indiquer que l'opération a abouti.
Si, au cours d'une émission, elle passe soudainement à BLOQUEE, seuls les caractères restants dans le paquet de sortie courant sont envoyés (16 caractères au plus) et le bloc XXMIT reste ACTIF indéfiniment. La sortie ASCII reprend l'envoi des paquets de sortie restants dès l'instant où le signal CTS est activé.
Les informations suivantes s'appliquent au mode d'entrée. Le signal RTS étant un signal de sortie, il peut être utilisé indépendamment du processus d'émission de sortie ASCII pour BLOQUER ou DEBLOQUER des équipements émetteurs. Lorsque le bit 7 (Tampon FIFO de réception ASCII) est à 1, le contrôle de flux RTS/CTS fonctionne en mode d'entrée. Lorsque le bit 7 (Tampon FIFO de réception ASCII) est à 1 et qu'aucune des deux entrées ASCII n'est activée (Entrée ASCII simple [bit 10] ou Entrée ASCII terminée [bit 11]), les caractères reçus remplissent le tampon FIFO dans lequel ils sont insérés. Au même moment, le contrôle de flux RTS (bit 5) est activé, permettant ainsi à l'équipement émetteur de poursuivre ses opérations.
Lorsque le tampon FIFO (512 caractères) est plus qu'aux trois-quarts plein, le bit 5 (contrôle de flux RTS) est mis à 0 pour BLOQUER l'équipement émetteur. Ce bit reste à 0 jusqu'à ce que l'entrée ASCII simple (bit 10) ou l'entrée ASCII terminée (bit 11) ait supprimé assez de caractères du tampon FIFO pour réduire le contenu de celui-ci à moins d'un quart et permettre au bit 5 (Contrôle de flux RTS) de passer à 1.
ATTENTION | |
---|---|
en lançant un temporisateur au démarrage du bloc XXMIT et en avertissant le programme d'application lorsque l'heure interne du temporisateur est atteinte.
en réinitialisant le bit de démarrage du bloc XXMIT.
Validation du contrôle de flux Xon/Xoff
Les informations suivantes s'appliquent au mode de sortie. Le bloc XXMIT passe à l'état BLOQUE lors de la réception d'un caractère Xoff. De même, le bloc XXMIT passe à l'état DEBLOQUE lors de la réception d'un caractère Xon. Xon ou Xoff ne sont en aucun cas insérés dans le tampon FIFO.
Lorsque l'émission est DEBLOQUEE et que le bit 9 (Sortie ASCII simple) et le bit 4 (Contrôle de flux Xon/Xoff) sont à 1, les données de la sortie d'émission sont envoyées par paquets de 16 octets. Une fois tous les paquets envoyés, la sortie Done du bloc XXMIT est activée.
Si, au cours d'une émission, elle passe soudainement à l'état BLOQUEE, seuls les caractères restants dans le paquet de sortie courant sont envoyés (16 caractères au plus) et le bloc XXMIT reste ACTIF indéfiniment. Ce n'est que lors de la réception du caractère Xon suivant que la sortie ASCII reprend l'envoi de tous les paquets de sortie restants.
Les informations suivantes s'appliquent au mode d'entrée. Le signal Xon/Xoff peut être utilisé pour BLOQUER ou DEBLOQUER des équipements émetteurs. Lorsque le bit 7 (Tampon FIFO de réception ASCII) est à 1, le contrôle de flux Xon/Xoff (bit 4) fonctionne en mode d'entrée. Lorsque le bit 7 (Tampon FIFO de réception ASCII) est à 1 et qu'aucune des deux entrées ASCII n'est activée (Entrée ASCII simple [bit 10] ou Entrée ASCII terminée [bit 11]), les caractères reçus remplissent le tampon FIFO dans lequel ils sont insérés.
Lorsque le tampon FIFO est plus qu'aux trois-quarts plein et qu'il reçoit des caractères supplémentaires, la variable d'état du tampon FIFO est mise à 1. Elle entraîne l'envoi de caractères XOFF à partir du port série après un retard de 16 caractères BLOQUANT l'émetteur et mettant à 0 la variable d'état du tampon FIFO.
Lorsque toutes les fonctions de sortie ASCII (bits 8, 3, 2, 1 et 0) sont désactivées et que le contrôle de flux Xon/Xoff (bit 4) est activé, le retard est par défaut d'un caractère. En revanche, lorsque toutes les fonctions de sortie ASCII (bits 8, 3, 2, 1 et 0) sont activées et que le contrôle de flux Xon/Xoff (bit 4) est activé, la sortie ASCII est répartie dans des paquets de 16 octets. Par conséquent, les caractères Xoff en attente N'ONT PAS BESOIN d'attendre que le temps nécessaire à l'émission de 16 caractères soit écoulé pour BLOQUER l'émetteur.
Une fois que l'émetteur a interrompu l'émission, l'automate supprime finalement les caractères du tampon FIFO en utilisant le bit 10 (Entrée ASCII simple) ou le bit 11 (Entrée ASCII terminée).
Lorsque le tampon FIFO est rempli à moins d'un quart, sa variable d'état est mise à 1 de façon à permettre l'envoi d'un caractère XON à partir du port série pour DEBLOQUER l'émetteur.