Aggiornare l'ingresso EtherNet/IP
Questa istruzione FP aggiorna i dati di ingresso dal buffer di ricezione del nodo e del numero di connessione specificati. I dati vengono copiati dal buffer di ricezione del PLC nella memoria operativa del PLC.
Ingresso
Numero del nodo dei dati di ingresso da aggiornare. Intervallo lista scan: 1–256
Si verifica un errore quando il valore specificato supera l'intervallo lista scan.
Si verifica un errore anche quando viene specificato un nodo riservato.
Numero della connessione di nodo dei dati di ingresso da aggiornare. Campo: 1–256
Si verifica un errore quando il valore specificato supera l'intervallo lista scan.
Uscita
Area di memoria per la memorizzazione dei risultati di aggiornamento.
0: Operazione di aggiornamento completata con successo.
1: Nessun dato ricevuto. Aggiornamento non eseguito.
2: EtherNet/IP non pronto per la comunicazione.
Prima di eseguire l'istruzione, controllare se la comunicazione di una determinata connessione funziona normalmente utilizzando FP_ETHERNETIP_GET_STATE_TABLE_RUN.
Richiamare questa istruzione dopo che sys_bIsEtherNetIPReady passa a TRUE. Se viene richiamata prima che sys_bIsEtherNetIPReady passi a TRUE, viene restituito un errore che indica che EtherNet/IP non è pronto per la comunicazione.
Non eseguire continuamente questa istruzione in una scansione per ridurre il carico di comunicazione.
Utilizzare questa istruzione solo per la connessione per la quale l'istruzione viene selezionata come Metodo di aggiornamento in impostazione EtherNet/IP.
se la funzione EtherNet/IP non è utilizzata nella configurazione dell'unità Ethernet.
se l'area specificata utilizzando il registro indice eccede il limite.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se il nodo o la connessione specificata da s1_NodeNumber e s2_ConnectionNumbernon esiste.
se il metodo di aggiornamento selezionato per la connessione è diverso da istruzione.
se il numero di dati di ingresso della connessione specificata è 0.
se il numero di dati aggiornati della connessione specificata è 0.
se la funzione EtherNet/IP non è utilizzata nella configurazione dell'unità Ethernet.
se l'area specificata utilizzando il registro indice eccede il limite.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se il nodo o la connessione specificata da s1_NodeNumber e s2_ConnectionNumbernon esiste.
se il metodo di aggiornamento selezionato per la connessione è diverso da istruzione.
se il numero di dati di ingresso della connessione specificata è 0.
se il numero di dati aggiornati della connessione specificata è 0.
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;
iConnectionNumber: INT:=0;
wResult: WORD:=0;
END_VAR
VAR
bEnable: BOOL:=FALSE;
iNodeNumber: INT:=0;
iConnectionNumber: INT:=0;
wResult: WORD:=0;
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 := 7 ;
NETWORK_BODY
B(B_VARIN,,iNodeNumber,13,4,15,6,);
B(B_VARIN,,iConnectionNumber,13,5,15,7,);
B(B_VAROUT,,wResult,31,4,33,6,);
B(B_CONTACT,,bEnable,13,1,15,3,);
B(B_CONTACT,,sys_bIsEtherNetIPReady,5,1,7,3,);
B(B_F,FP_ETHERNETIP_REFRESH_INPUT!,,15,2,31,7,,?DEN?Ds1_NodeNumber?Ds2_ConnectionNumber?AENO?Cd_Result);
L(1,2,5,2);
L(7,2,13,2);
L(15,2,15,4);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPReady) AND (bEnable) then
FP_ETHERNETIP_REFRESH_INPUT(s1_NodeNumber := iNodeNumber,
s2_ConnectionNumber := iConnectionNumber,
d_Result => wResult);
END_IF;