LEFT

Copier les caractères à partir de la gauche

LEFT copie, à partir de la gauche, n caractères de la chaîne de caractères de la première variable d’entrée vers la variable de sortie. La deuxième variable d’entrée définit le nombre de caractères L copiés.

Paramètres

Entrée

IN (STRING)

Chaîne de caractères d’entrée

L (INT)

Nombre de caractères de la chaîne de caractères d’entrée qui sont copiés, à partir de la gauche

Sortie

Unnamed output (STRING)

Chaîne de caractères copiés

Remarques

  • 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 le nombre de caractères devant être copié est supérieur au nombre de caractères de la chaîne de caractères d’entrée, l’ensemble de la chaîne de caractères sera copié vers la variable de sortie (output_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.

Drapeaux d’erreur

sys_bIsOperationErrorHold (passe à TRUE et reste TRUE)

Si une chaîne de caractères en entrée ou sortie est invalide.

sys_bIsOperationErrorNonHold (passe à TRUE pendant un cycle)

Si une chaîne de caractères en entrée ou sortie est invalide.

sys_bIsCarry (passe à TRUE pendant un cycle)

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"

Exemple

En-tête du POU

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
		input_string: STRING[15]:='Ideas for life';
			(*sample string*)
		output_string: STRING[5]:='';
			(*result: here 'Ideas'*)
		character_number: INT:=5;
			(*characters to be delivered*)
	END_VAR

Dans cet exemple, les variables d’entrée input_string et character_number ont été déclarées. Vous pouvez également entrer la chaîne de caractères ('Ideas for life') et le nombre de caractères devant être copiés directement dans la fonction. La chaîne de caractères doit être entrée entre guillemets, à la fois dans l’en-tête du POU et dans la fonction.

Corps du POU

character_number (5) désigne le nombre de caractères de input_string ('Ideas for life’) qui sont copiés à partir de la gauche en sortie output_string ('Ideas’).

Corps en LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_F,LEFT!,Instance,11,0,16,4,,?DIN?DL?C);
B(B_VARIN,,input_string,9,1,11,3,);
B(B_VARIN,,character_number,9,2,11,4,);
B(B_VAROUT,,output_string,16,1,18,3,);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corps en ST

output_string:=LEFT(IN:=input_string, L:=character_number);

Corps en IL

LD

input_string

LEFT

character_number

ST

output_string

Modifié le : 2022-06-28Feedback on this pagePanasonic hotline