Leggere i dati dal buffer di ricezione dell'unità EtherNet/IP
Questa istruzione FP legge i dati dal buffer di ricezione dati specificato da FP_ETHERNETIP_DATA_RECEIVE_DUT per un messaggio EtherNet/IP trasferito con FP_ETHERNETIP_DATA_EXCHANGE_FB.
Ingresso
Tipo unità dati del buffer di ricezione dati
Ingresso/uscita
Offset di byte attuale nel buffer di ricezione dati.
Per leggere i dati dall'indirizzo iniziale, impostare l'offset di byte 0.
Uscita
Dati che verranno letti dal buffer di ricezione.
La quantità di dati che verrà letta dal buffer di ricezione dipende dal tipo di dati della variabile collegata.
Per il tipo di dato STRING, la lunghezza attuale della stringa e i caratteri vengono letti dal buffer.
Le variabili booleane non sono ammesse.
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
sData: STRING[32]:='';
iOffset: INT:=0;
bEnable: BOOL:=FALSE;
dutReceive: FP_ETHERNETIP_DATA_RECEIVE_DUT;
END_VAR
When the variable bEnable is set to TRUE, the function is executed.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,FP_ETHERNETIP_DATA_GET!,,17,0,31,5,,?DEN?DdutReceiveData?DByteOffset?AByteOffset?AENO?CData);
B(B_VARIN,,dutReceive,15,2,17,4,);
B(B_VAROUT,,sData,36,2,38,4,);
B(B_VARIN,,iOffset,15,3,17,5,);
L(1,0,1,6);
L(1,2,4,2);
L(6,2,17,2);
L(31,3,36,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If (bEnable) Then
FP_ETHERNETIP_DATA_GET(dutReceiveData := dutReceive,
ByteOffset := iOffset,
Data => sData);
End_if;