Description de la fonction
La fonction PRINT_CHAR_QX
permet d'envoyer une
chaîne de caractères de 1000 octets maximum à un équipement
série connecté à un module de communication série Modicon X80 (BMXNOM0200) situé dans une station EIO.
La chaîne de caractères peut être contenue dans une variable statique ou définie sous forme de valeur immédiate (série d'octets entre apostrophes, par exemple 'Message à envoyer').
Ces chaînes de caractère peuvent contenir des caractères
spéciaux, ils doivent débuter par le caractère $
suivi par la valeur hexadécimale du caractère
à transmettre, exemple $0D
.
Certains caractères spéciaux peuvent être utilisés, par exemple :
$R = CR
(retour chariot) $L = LF
(retour à la ligne) $N = CR+LF
Les paramètres supplémentaires EN
et ENO
peuvent être configurés.
Les blocs fonction de communication utilisent un chemin de transaction de données et requièrent plusieurs cycles pour effectuer une opération. Le nombre de chemins de transaction disponibles par module et par cycle MAST dépend du port de communication utilisé :
Les modules à port intégré Modbus Plus ou NOM prennent en charge jusqu'à 4 blocs simultanément.
Le port intégré Ethernet TCP/IP prend en charge jusqu'à 4 blocs simultanément.
Les modules TCP/IP Ethernet NOE, NOC et 140 CRP 312 00 prennent en charge jusqu'à 16 blocs simultanément.
D'autres blocs fonction de communication peuvent être programmés sur le même port de communication. Toutefois, le bloc de communication qui dépasse le nombre maximum sur ce port n'est traité qu'après la mise à disposition d'un des chemins de transaction. Le bloc suivant sur le port devient alors actif et commence à utiliser un chemin disponible.
Représentation en FBD
Représentation :

Représentation en LD
Représentation :

Représentation en IL
Représentation :
CAL PRINT_CHAR_QX_Instance
(ENABLE:=PrintCharEnable, ABORT:=PrintCharAbort, ADDR:=ModuleAddress,
SEND_LEN:=NbCharToSend, SEND_BUF:=SendBuffer, DONE=>PrintCharSuccessfull,
ACTIVE=>PrintCharActive, ERROR=>PrintCharFaulty, STATUS=>ErrorCode)
Représentation en ST
Représentation :
PRINT_CHAR_QX_Instance (ENABLE:=PrintCharEnable,
ABORT:=PrintCharAbort, ADDR:=ModuleAddress, SEND_LEN:=NbCharToSend,
SEND_BUF:=SendBuffer, DONE=>PrintCharSuccessfull, ACTIVE=>PrintCharActive,
ERROR=>PrintCharFaulty, STATUS=>ErrorCode);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre |
Type |
Commentaire |
---|---|---|
|
|
Réglé sur 1 pour envoyer une chaîne de caractères. |
|
|
Réglé sur 1 pour abandonner l'opération en cours. |
|
|
Tableau contenant l'adresse du module Modicon X80 cible, qui est le résultat de la fonction ADDMX. |
|
|
Nombre de caractères à envoyer. |
|
|
Caractères à envoyer. Remarque : ce paramètre de caractères doit être défini, même en l'absence de données à envoyer. |
Description des paramètres de sortie :
Paramètre |
Type de données |
Signification |
---|---|---|
|
|
Réglé sur 1 lorsque la fonction s'est exécutée correctement. |
|
|
Réglé sur 1 lorsque la fonction est en cours d'exécution. |
|
|
Réglé sur 1 si une erreur est détectée par le bloc fonction. |
|
|
Fournit le code d'erreur si une erreur est détectée par le bloc fonction. |
Règles de programmation
Les caractères spéciaux doivent être précédés
du caractère $
dans la chaîne à transmettre.
Les caractères $
ne sont pas transmis par l'émetteur
et ne doivent donc pas être comptés lors de l'initialisation
du paramètre de longueur.
Les espaces entre deux caractères sont comptés dans un octet.
Par conséquent, dans l'exemple PRINTING IN PROGRESS$L$R
, la longueur des données à
transmettre est de 22 octets.
utiliser des chaînes localisées,
initialiser
SEND_LEN
avec le nombre de caractères à envoyer.