Combinazione byte
Questa istruzione FP unifica il numero di byte specificato in n_Bytes dei dati a partire da s_Start se il trigger EN è TRUE. Il risultato viene memorizzato in d.
Ingresso
Valore di ingresso
Numero di byte da unificare, intervallo: 0–65535
Per n_Bytes=0, l’istruzione non viene eseguita
Le porzioni non utilizzate dell'area di memoria sono riempite con caratteri zero.
Uscita
Risultato
se l'area specificata utilizzando il registro indice eccede il limite.
se il valore in n_Bytes è fuori intervallo
se l'area specificata utilizzando il registro indice eccede il limite.
se il valore in n_Bytes è fuori intervallo
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;
dwSourceData: DWORD:=0;
dwResult: DWORD:=0;
END_VAR
Quando la variabile bStart è impostata su TRUE, la funzione viene eseguita.
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_F,FP_UNIFY_BYTES!,,14,1,23,6,,?DEN?Ds_Start?Dn_Bytes?AENO?Cd);
B(B_VARIN,,dwSourceData,12,3,14,5,);
B(B_VARIN,,3,12,4,14,6,);
B(B_VAROUT,,dwResult,23,3,25,5,);
B(B_CONTACT,,bStart,5,2,7,4,);
L(1,3,5,3);
L(7,3,14,3);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStart) then
FP_UNIFY_BYTES(s_Start := dwSourceData,
n_Bytes := 4,
d => dwResult);
END_IF;