Concaténer des chaînes de caractères
CONCAT connecte la deuxième chaîne de caractères d’entrée et les suivantes ((IN1 + IN2 + ...) à la première et écrit la chaîne de caractères résultante dans la variable de sortie.
Entrée
Première chaîne de caractères d’entrée
Chaîne de caractères reliée à la première chaîne de caractères
Le nombre de contacts d’entrée peut être augmenté, voir "Modifier des éléments"
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 la chaîne de caractères de sortie est d’une longueur supérieure à celle définie pour la variable de sortie dans la zone Type, seul le nombre de caractères pouvant être contenu dans la variable de sortie sera copié. La variable système sys_bIsCarry est activée.
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.
Si la chaîne de caractères de sortie est d’une longueur supérieure à celle définie pour la variable de sortie dans la zone "Type"
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
sString1: STRING[32]:='A better ';
(*sample string 1*)
sString2: STRING[32]:='life. A ';
(*sample string 2*)
sString3: STRING[32]:='better world.';
(*sample string 3*)
sResultString: STRING[32]:='';
(*result: 'A better life. A better world.'*)
END_VAR
Dans cet exemple, les variables d’entrée (sString1, sString2 et sString3) ont été déclarées. Cependant, vous pouvez entrer la chaîne de caractères directement dans la fonction. Les chaînes de caractères doivent être entrées entre guillemets, à la fois dans l’en-tête du POU et dans la fonction.
sString3 est connecté à sString2 et cette chaîne de caractères est connectée à sString1. Le résultat est écrit dans sResultString.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_VARIN,,sString1,14,1,16,3,);
B(B_VARIN,,sString2,14,2,16,4,);
B(B_VAROUT,,sResultString,22,1,24,3,);
B(B_F,CONCAT-3!,,16,1,22,5,,?D?D?D?C);
B(B_VARIN,,sString3,14,3,16,5,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
sResultString:=CONCAT(sString1, sString2, sString3);