FP_ETHERNETIP_DATA_SET_BYTES

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.

Parameter

Eingang

DataStart (BOOL, INT, UINT, WORD, DINT, UDINT, DWORD, REAL, DATE, TOD, DT, STRING)

Anfangsadresse der Byte-Daten, die in den Sendedatenpuffer geschrieben werden sollen.

nNumberOfBytes (WORD, INT, UINT)

Anzahl der Bytes, die in den Sendedatenpuffer geschrieben werden sollen.

bAppendData (BOOL)

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

dutSendData (FP_ETHERNETIP_DATA_SEND_DUT)

Strukturierter Datentyp des Sendedatenpuffers.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • 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.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • 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.

Beispiel

POE-Kopf

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

KOP-Rumpf

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

ST-Rumpf

if (bEncodeMessage) then
    FP_ETHERNETIP_DATA_SET_BYTES(DataStart := awMessageData,
                                  nNumberOfBytes := iNumberOfBytes,
                                  bAppendData := bAppendData,
                                  dutSendData := dutSendData);	
end_if;

Letzte Änderung am: 2022-04-19Feedback zu dieser SeitePanasonic Hotline