SET_BYTE

Scrivere un valore di byte nei dati di byte con offset

Questa funzione imposta il valore del byte a 8 bit di Data con iByteOffset che indica l'offset in byte. La numerazione dei byte parte da 0, che si riferisce al primo byte di Data.

Ingresso

Value (WORD, DWORD)

I dati di ingresso da cui il valore del byte inferiore viene scritto nei dati del byte di ingresso/uscita Data.

iByteOffset (INT, DINT, UINT, UDINT)

Offset di byte rispetto al primo byte di Data a partire da 0, deve essere maggiore o uguale a 0

Ingresso/uscita

Data (ANY) tutti i tipi di dati semplici e derivati (ARRAY, DUT) che non contengono dati BOOL

Dati del byte a cui il byte è impostato

Note

  • Si prega di verificare la validità dei dati di ingresso, poiché Control FPWIN Pro7 non controlla la validità dei dati a cui si accede.

NOTA

Per ottenere le migliori prestazioni, utilizzare il più possibile valori di ingresso costanti!

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		bStart: BOOL:=FALSE;
		awByteData: ARRAY [0..4] OF WORD:=[100,101,111,2(0)];
		iOffset: INT:=2;
	END_VAR

Corpo LD

Quando la variabile bStart è impostata su TRUE, la funzione viene eseguita.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,5,3,7,5,);
B(B_F,E_SET_BYTE!,,12,2,20,8,,?DEN?DValue?DiByteOffset?DData?AData?AENO);
B(B_VARIN,,16#11FE,10,4,12,6,);
B(B_VARIN,,iOffset,10,5,12,7,);
B(B_VARIN,,awByteData,10,6,12,8,);
L(1,0,1,8);
L(1,4,5,4);
L(7,4,12,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

if (bStart) then
	SET_BYTE(Value := wByteValue, iByteOffset := iOffset, Data := awByteData);
end_if;

L'ultima revisione: 2025-03-12Feedback su questa paginaPanasonic hotline