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

ENABLE

BOOL

Réglé sur 1 pour envoyer une chaîne de caractères.

ABORT

BOOL

Réglé sur 1 pour abandonner l'opération en cours.

ADDR

ANY_ARRAY_INT

Tableau contenant l'adresse du module Modicon X80 cible, qui est le résultat de la fonction ADDMX.

SEND_LEN

INT

Nombre de caractères à envoyer.

SEND_BUF

ANY

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

DONE

BOOL

Réglé sur 1 lorsque la fonction s'est exécutée correctement.

ACTIVE

BOOL

Réglé sur 1 lorsque la fonction est en cours d'exécution.

ERROR

BOOL

Réglé sur 1 si une erreur est détectée par le bloc fonction.

STATUS

WORD

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.

NOTE : Pour envoyer des chaînes de caractères contenant des caractères de fin de chaîne (ZERO), vous devez :
  • utiliser des chaînes localisées,

  • initialiser SEND_LEN avec le nombre de caractères à envoyer.