FP_ETHERNETIP_DATA_GET

Daten aus dem Empfangspuffer des EtherNet/IP-Moduls lesen

Dieser FP-Befehl liest Daten aus dem durch FP_ETHERNETIP_DATA_RECEIVE_DUT angegebenen Empfangsdatenpuffer für eine EtherNet/IP-Nachricht, die mit FP_ETHERNETIP_DATA_EXCHANGE_FB ausgetauscht wurde.

Parameter

Eingang

dutReceiveData (FP_ETHERNETIP_DATA_RECEIVE_DUT)

Strukturierter Datentyp des Empfangsdatenpuffers.

Ein-/Ausgang

ByteOffset (WORD, INT, UINT)
  • Aktueller Byte-Offset im Empfangsdatenpuffer.

  • Um Daten von der Anfangsadresse zu lesen, stellen Sie den Byte-Offset 0 ein.

Ausgang

Data (WORD, INT, UINT)
  • Daten, die aus dem Empfangspuffer gelesen werden sollen.

  • Die Menge der Daten, die aus dem Empfangspuffer gelesen werden, hängt vom Datentyp der verbundenen Variablen ab.

  • Beim Datentyp STRING werden die aktuelle Zeichenfolgenlänge und die Zeichen aus dem Puffer gelesen.

  • Boolesche Variable sind nicht zulässig.

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
		sData: STRING[32]:='';
		iOffset: INT:=0;
		bEnable: BOOL:=FALSE;
		dutReceive: FP_ETHERNETIP_DATA_RECEIVE_DUT;
	END_VAR

KOP-Rumpf

Wenn die Variable bEnable 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 := 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

ST-Rumpf

If (bEnable) Then
    FP_ETHERNETIP_DATA_GET(dutReceiveData := dutReceive,
                           ByteOffset := iOffset,
                           Data => sData);
End_if;

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