Ce bloc fonction envoie les données de configuration EcoStruxure Machine Expert d'un Advantys OTB à l'équipement physique via Modbus TCP.
Elle permet de mettre à jour les données de configuration d'un îlot d'E/S sans logiciel tiers.
Le Modbus TCP IOScanner doit être à l'état STOPPED avant l'appel de cette fonction.
L'exécution de ce bloc fonction est asynchrone. Pour vérifier l'achèvement de la configuration, les indicateurs de sortie Done, Busy, et Error doivent être testés à chaque cycle d'application.
Pour voir la représentation générale en langage IL ou ST, consultez le chapitre Représentation des fonctions et blocs fonction.
Le tableau suivant décrit les variables d'entrée :
Entrée |
Type |
Commentaire |
---|---|---|
Execute |
BOOL |
Entrée d'activation. Lance la configuration sur le front montant. |
sAddr |
STRING |
Adresse IP de l'OTB. Cette chaîne doit être au format 3{xx.xx.xx.xx} |
Le tableau suivant décrit les variables de sortie :
Sortie |
Type |
Commentaire |
---|---|---|
Done |
BOOL |
TRUE lorsque la configuration a réussi. |
Busy |
BOOL |
TRUE lorsque la configuration est en cours. |
Error |
BOOL |
TRUE lorsque la configuration s'est terminée avec une erreur détectée. |
ConfError |
Valeurs renvoyées : configurationOTBErrorCodes |
|
CommError |
Valeurs renvoyées : CommunicationErrorCodes |
Voici un exemple d'appel de cette fonction :
VAR
(*Bloc fonction pour configurer l'OTB. Nécessité d'arrêter le scrutateur d'E/S avant son exécution*)
configure_OTB1: CONFIGURE_OTB;
(*valeur init différente de 16#00000000 ; IO_start_done=0 quand le démarrage réussit*)
IO_start_done: UDINT := 1000;
(*valeur init différente de 16#FFFFFFFF , IO_start_done=16#FFFFFFFF quand l'arrêt réussit*)
IO_stop_done: UDINT := 1000;
(*Configure_OTB_done= true lorsque la configuration de l'OTB réussit. Il est ensuite possible de démarrer le scrutateur d'E/S.*)
Configure_OTB_done: BOOL;
myBusy: BOOL;
myError: BOOL;
myConfError: configurationOTBErrorCodes;
myCommError: UINT;
myExecute: BOOL;
END_VAR
(*Arrêter le scrutateur d'E/S avant de configurer l'OTB*)
IF NOT myExecute THEN
IO_stop_done:=IOS_STOP();
END_IF
(*Envoyer les données de configuration à l'OTB, à l'adresse IP 95.15.3.1, quand myExecute a la valeur TRUE *)
configure_OTB1(
Execute:= myExecute,
sAddr:='3{95.15.3.1}' ,
Done=> Configure_OTB_done,
Busy=> myBusy,
Error=> myError,
ConfError=> myConfError,
CommError=> myCommError);
(*Une fois la configuration de l'OTB achevée, démarrer le scrutateur d'E/S*)
IF Configure_OTB_done THEN
IO_start_done:=IOS_START();
END_IF