SetSerialConf : modifier la configuration de la ligne série

Description de la fonction

SetSerialConf permet de modifier la configuration de la ligne série.

Représentation graphique

NOTE : La modification de la configuration du ou des ports de ligne(s) série pendant l'exécution du programme peut interrompre les communications avec d'autres équipements connectés.
 AVERTISSEMENT
PERTE DE CONTRÔLE DUE À UNE MODIFICATION DE LA CONFIGURATION
Validez et testez tous les paramètres de la fonction SetSerialConf avant de mettre votre programme en service.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Description des paramètres

Entrée

Type

Commentaire

Link

LinkNumber (voir EcoStruxure Machine Expert - Fonctions de lecture/écriture Modbus et ASCII - Guide de la bibliothèque PLCCommunication)

LinkNumber est le numéro du port de communication.

PointerToSerialConf

PointerToSerialConf

PointerToSerialConf est l'adresse de la structure de configuration (variable de type SERIAL_CONF) dans laquelle les nouveaux paramètres de configuration sont stockés. La définition du pointeur associé nécessite l'utilisation de la fonction standard ADR. (Voir l'exemple ci-dessous.) Si la valeur est 0, définissez la ligne série comme configuration par défaut de l'application.

Sortie

Type

Commentaire

SetSerialConf

WORD

Cette fonction renvoie :

  • 0 : la nouvelle configuration est définie.

  • 255 : la nouvelle configuration est refusée car :

    • la fonction est en cours d'exécution ;

    • les paramètres saisis ne sont pas valides.

Exemple

VAR 
  MySerialConf: SERIAL_CONF 
  result: WORD;
END_VAR
(*Get current configuration of serial line 1*)
GetSerialConf(1, ADR(MySerialConf));
(*Change to modbus RTU slave address 9*)
MySerialConf.Protocol := 0;          (*Modbus RTU/Machine Expert protocol (in this case CodesysCompliant selects the protocol)*)
MySerialConf.CodesysCompliant := 0; (*Modbus RTU*)
MySerialConf.address := 9;          (*Set modbus address to 9*)
(*Reconfigure the serial line 1*)
result := SetSerialConf(1, ADR(MySerialConf));