Remplacer les caractères
REPLACE remplace les caractères de la chaîne de caractères IN1 par les caractères de la chaîne de caractères IN2. P indique la position à partir de laquelle le remplacement commence et L indique le nombre de caractères qui doivent être remplacés. Le résultat est écrit dans la variable de sortie.
Entrée
Chaîne de caractères d’entrée
Chaîne de caractères de remplacement
Nombre de caractères dans la chaîne de caractères d’entrée, devant être remplacés
Position de départ de la chaîne de caractères d’entrée remplacée, 1 étant le premier caractère de la chaîne de caractères
Sortie
Chaîne de caractères résultante
Si cette instruction est utilisée avec des chaînes de caractères en UTF-8, consultez les remarques concernant les chaînes de caractères en UTF-8 sous “STRING”.
Si les chaînes de caractères sont d’une longueur supérieure à celle définie pour les variables d’entrée input_string_1 et input_string_2 dans la zone Type, une erreur apparaît (voir .
Si une chaîne de caractères en entrée ou sortie est invalide.
Si une chaîne de caractères en entrée ou sortie est invalide.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
output_value: STRING[32]:='';
END_VAR
Dans cet exemple, les valeurs constantes sont entrées directement aux contacts d’entrée de la fonction. Cependant, vous pouvez également déclarer les variables dans l’en-tête du POU. Les chaînes de caractères doivent être entrées entre guillemets, soit dans l’en-tête du POU soit aux contacts d’entrée. Dans la chaîne de caractères 'MrSpock', le 'c' a été remplacé par un 'o', donnant 'MrSpook'.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_VARIN,,'MrSpock',6,1,8,3,);
B(B_VARIN,,'o',6,2,8,4,);
B(B_VARIN,,1,6,3,8,5,);
B(B_VARIN,,6,6,4,8,6,);
B(B_VAROUT,,output_value,14,1,16,3,);
B(B_F,REPLACE!,Instance,8,0,14,6,,?DIN1?DIN2?DL?DP?C);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY