FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE

Prüfen des RUN/IDLE Bits auf den Status der zyklischen Kommunikation

Dieser FP-Befehl prüft den Zustand der zyklischen Kommunikation, indem er das RUN/IDLE-Bit jedes registrierten Knotens aus der Knotennummerntabelle liest und die Werte in der Ausgangsvariablen vom Typ FP_ETHERNETIP_STATE_TABLE_DUT speichert.

Parameter

Ausgang

d_dutStateTable (FP_ETHERNETIP_STATE_TABLE_DUT)

Zieladresse, an die die Daten geschrieben werden.

Anmerkungen

Bit, das der Knotennummer des FP7 entspricht, dessen Verbindung registriert wird. Wenn die folgenden zwei Bedingungen erfüllt sind, wird sie auf TRUE gesetzt, unter anderen Bedingungen wird sie auf FALSE gesetzt.

  • Die Kommunikation mit dem Zielknoten (FP7) läuft normal.

  • Die Kommunikation mit allen Knoten außer FP7 läuft normal, wenn sich der Zielknoten (FP7) im RUN-Modus befindet.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn der Lesebereich außerhalb des zulässigen Bereichs ist

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der Lesebereich außerhalb des zulässigen Bereichs ist

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

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
		bEnable: BOOL:=FALSE;
		dutNodes_RunIdleNodeTable: FP_ETHERNETIP_STATE_TABLE_DUT;
	END_VAR

POE-Rumpf

Wenn die Variable bEnable auf TRUE gesetzt wird, wird die Funktion ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_VAROUT,,dutNodes_RunIdleNodeTable,30,2,32,4,);
B(B_CONTACT,,bEnable,4,1,6,3,);
B(B_F,FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE!,,8,0,30,4,,?DEN?AENO?Cd_dutStateTable);
L(1,2,4,2);
L(6,2,8,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF (bEnable) then
    FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE(d_dutStateTable => dutNodes_RunIdleNodeTable);
END_IF;

Letzte Änderung: 2024-06-19Feedback zu dieser SeitePanasonic Hotline