Daten zum Sendepuffer des EtherNet/IP-Moduls schreiben
Dieser FP-Befehl schreibt Daten in den durch FP_ETHERNETIP_DATA_SEND_DUT angegebenen Sendedatenpuffer für eine EtherNet/IP-Nachricht, die mit FP_ETHERNETIP_DATA_EXCHANGE_FB ausgetauscht wurde.
Eingang
Anfangsadresse der Byte-Daten, die in den Sendedatenpuffer geschrieben werden sollen.
Anzahl der Bytes, die in den Sendedatenpuffer geschrieben werden sollen.
Merker, der anzeigt, dass Daten an einen bestehenden Puffer angehängt werden sollen.
Wenn FALSE eingestellt ist, wird die Größe des Sendedatenpuffers auf 0 eingestellt und die Daten werden an die erste Position geschrieben.
Wenn TRUE eingestellt ist, werden Daten an der aktuellen Position in den Sendedatenpuffer geschrieben und die Größe des Sendedatenpuffers wird um nNumberOfBytes erhöht.
Ein-/Ausgang
Strukturierter Datentyp des Sendedatenpuffers.
wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich
wenn die EtherNet/IP-Funktion in der Ethernet-Modulkonfiguration nicht verwendet wird.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich
wenn die EtherNet/IP-Funktion in der Ethernet-Modulkonfiguration nicht verwendet wird.
wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden.Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
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
Wenn die Variable bEncodeMessage auf TRUE gesetzt wird, wird die Funktion ausgeführt.
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;