F10_BKMV_NUMBER_OFFSET

Transfert de blocs par nombre de mots avec offset

Cette instruction est une modification de l’instruction F10_BKMV générée par le compilateur.

Le bloc de données spécifié par la zone de départ de 16 bits désignée par s1_Start et le nombre de mots indiqué par s2_Number sont copiés vers le bloc à partir de la zone de 16 bits désignée par l’offset d_Offset de s1_Start lorsque le déclencheur EN est TRUE.

Paramètres

Entrée

s1_Start (WORD, INT, UINT)

Zone de départ de 16 bits (source)

s2_Number (WORD, INT, UINT)

Nombre de mots qui doivent être copiés (source)

d_Offset (WORD, INT, UINT)

Zone de départ de 16 bits (destination)

Remarques

  • Lorsque d_Offset = 0 : les données sont recopiées vers la même zone de données.

  • La valeur de s2_Number doit être supérieure à 0.

  • Les variables s1_Start, s2_Number et d_Offset doivent être du même type de données.

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
		Array1: ARRAY [0..5] OF INT:=[6(0)];
		CopyArrayInArray: BOOL:=FALSE;
	END_VAR

Corps du POU

La fonction est exécutée lorsque la variable CopyArrayInArray passe de FALSE à TRUE. Elle copie le bloc de données à partir de de la zone de 16 bits désignée par s1_Start et le nombre de mots indiqué par s2_Number vers le bloc à partir de la zone de 16 bits désignée par l’offset d_Offset de s1_Start.

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 := 7 ;
        NETWORK_BODY
B(B_F,F10_BKMV_NUMBER_OFFSET!,Instance,9,1,23,7,,?DEN?Ds1_Start?Ds2_Number?Dd_Offset?AENO);
B(B_VARIN,,CopyArrayInArray,7,2,9,4,);
B(B_VARIN,,Array1[0],7,3,9,5,);
B(B_VARIN,,4,7,4,9,6,);
B(B_VARIN,,2,7,5,9,7,);
L(1,0,1,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Modifié le : 2024-11-07Commentaires sur cette pageAssistance téléphonique