Scrivere i dati byte sul buffer di invio dell'unità EtherNet/IP
Questa istruzione FP scrive i dati byte nel buffer di invio dati specificato da FP_ETHERNETIP_DATA_SEND_DUT per un messaggio EtherNet/IP trasferito con FP_ETHERNETIP_DATA_EXCHANGE_FB.
Ingresso
Indirizzo iniziale dei dati byte da scrivere sul buffer di invio dati.
Numero di byte da scrivere sul buffer di invio dati.
Flag che indica che un dato deve essere allegato a un buffer esistente.
Se viene impostato FALSE, la dimensione del buffer di invio dati viene impostata su 0 e i dati vengono scritti sulla prima posizione.
Se viene impostato TRUE, i dati vengono scritti sul buffer di invio dati alla posizione attuale e la dimensione del buffer di invio dati viene aumentato di nNumberOfBytes.
Ingresso/uscita
Tipo unità dati del buffer di invio dati
se l'area specificata utilizzando il registro indice eccede il limite.
se la funzione EtherNet/IP non è utilizzata nella configurazione dell'unità Ethernet.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se l'area specificata utilizzando il registro indice eccede il limite.
se la funzione EtherNet/IP non è utilizzata nella configurazione dell'unità Ethernet.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
All input and output variables used for programming this function have been declared in the POU header.The same POU header is used for all programming languages.
VAR
awMessageData: ARRAY [0..1] OF WORD:=[16#0B0A,16#000C];
bEncodeMessage: BOOL:=FALSE;
bAppendData: BOOL:=FALSE;
dutSendData: FP_ETHERNETIP_DATA_SEND_DUT;
iNumberOfBytes: INT:=3;
END_VAR
When the variable bEncodeMessage is set to TRUE, the function is carried out.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,bEncodeMessage,5,1,7,3,);
B(B_F,FP_ETHERNETIP_DATA_SET_BYTES!,,15,0,32,7,,?DEN?DDataStart?DnNumberOfBytes?DbAppendData?DdutSendData?AdutSendData?AENO);
B(B_VARIN,,awMessageData,13,2,15,4,);
B(B_VARIN,,iNumberOfBytes,13,3,15,5,);
B(B_VARIN,,bAppendData,13,4,15,6,);
B(B_VARIN,,dutSendData,13,5,15,7,);
L(1,0,1,7);
L(1,2,5,2);
L(7,2,15,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bEncodeMessage) then
FP_ETHERNETIP_DATA_SET_BYTES(DataStart := awMessageData,
nNumberOfBytes := iNumberOfBytes,
bAppendData := bAppendData,
dutSendData := dutSendData);
end_if;