Leggere lo stato di un nodo
Questa istruzione FP legge lo stato del nodo specificato da s_NodeNumber e memorizza i valori nella variabile di output del tipo FP_ETHERNETIP_NODE_STATUS_DUT.
Ingresso
Numero di nodo
Uscita
Destinazione in cui viene scritto il dato
se l'area di lettura supera l'intervallo utilizzabile
se l'istruzione viene eseguita in un programma di interrupt
se l'area di lettura supera l'intervallo utilizzabile
se l'istruzione viene eseguita in un programma di interrupt
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bEnable: BOOL:=FALSE;
iNodeNumber: INT:=0;
dutNodeStatus: FP_ETHERNETIP_NODE_STATUS_DUT;
END_VAR
Quando le variabili sys_bIsEtherNetIPReady e bEnable sono impostate su TRUE, la funzione viene eseguita.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,12,1,14,3,);
B(B_VARIN,,iNodeNumber,12,4,14,6,);
B(B_VAROUT,,dutNodeStatus,30,4,32,6,);
B(B_CONTACT,,sys_bIsEtherNetIPReady,5,1,7,3,);
B(B_F,FP_ETHERNETIP_GET_STATUS!,,14,2,30,6,,?DEN?Ds_NodeNumber?AENO?Cd1_dutNodeStatus);
L(1,2,5,2);
L(7,2,12,2);
L(14,2,14,4);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPReady) AND (bEnable) then
FP_ETHERNETIP_GET_STATUS(s_NodeNumber := iNodeNumber, d1_dutNodeStatus => dutNodeStatus);
END_IF;