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.
Ausgang
Zieladresse, an die die Daten geschrieben werden.
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.
wenn der Lesebereich außerhalb des zulässigen Bereichs ist
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn der Lesebereich außerhalb des zulässigen Bereichs ist
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
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
Wenn die Variable bEnable auf TRUE gesetzt wird, wird die Funktion ausgeführt.
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
IF (bEnable) then
FP_ETHERNETIP_GET_STATE_TABLE_RUN_IDLE(d_dutStateTable => dutNodes_RunIdleNodeTable);
END_IF;