Impostare indirizzo IP utilizzando il protocollo IPv4
Questa istruzione FP imposta una connessione con l'indirizzo IP specificato da sAddress tramite protocollo internet V4.
Ingresso
Indirizzo Ipv4 (parametro richiesto)
Parola chiave: IP
Netmask (parametro opzionale)
Parola chiave: MASK
Gateway (parametro opzionale)
Parola chiave: GWIP
Specificare "0" quando il gateway di default non deve essere usato.
Impostare l'indirizzo IP su 192.168.1.5, usare netmask 255.255.255.0 e il gateway 192.168.1.1: 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1'
Impostare l'indirizzo IP su 192.168.1.5, non usare netmask, usare il gateway 192.168.1.1: 'IP=192.168.1.5,,GWIP=192.168.1.1'
Uscita
se un timeout della connessione viene superato
se un indirizzo IP non è valido
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
Viene raccomandato di eseguire questa istruzione soltanto una volta all'avvio del PLC. Non eseguirlo ripetutamente.
Servono tre secondi o più per completare l'inizializzazione.
Il numero di caratteri per dati stringa non deve superare 256.
Questa istruzione non è disponibile nei programmi di interrupt.
Assicurarsi che la stringa in sAddress non contenga spazi vuoti. Utilizzare la virgola solo come carattere separatore.
L'indirizzo IPv4 è obbligatorio. Netmask e gateway possono essere omessi.
Una parte dei parametri può essere omessa. Le impostazioni non vengono modificate se i parametri vengono omessi parzialmente.
I caratteri maiuscoli e minuscoli possono essere utilizzati per specificare le parole chiave.
Non modificare l'ordine delle parole chiave. Specificare le parole chiave e i loro parametri di impostazione nell'ordine in cui vengono elencati qui.
Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetInitializing sia FALSE. sys_bIsEthernetInitializing passa a TRUE quando l'istruzione viene eseguita. Se si esegue l'istruzione mentresys_bIsEthernetInitializing è TRUE, si verifica un errore.
Prima di eseguire l'istruzione, controllare che la variabile di sistema sys_bIsEthernetIPAddressAssigned sia TRUE. Se è FALSE al momento di eseguire l'istruzione, si verifica un errore.
L'istruzione può essere eseguita solo se sys_bIsEthernetCableNotConnected è FALSE.
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se la stessa parola chiave è specificata più di una volta
se l'istruzione viene eseguita in un programma di interrupt
se il numero di caratteri per dati stringa supera 256.
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se la stessa parola chiave è specificata più di una volta
se l'istruzione viene eseguita in un programma di interrupt
se il numero di caratteri per dati stringa supera 256.
se l'istruzione viene eseguita con un indirizzo IP non corretto, una netmask non corretta, un gateway non corretto o una combinazione di indirizzi IP non corretti sys_iEthernetConnectionErrorCode viene impostato con il relativo codice di errore (1–4).
se l'istruzione viene eseguita mentre il cavo Ethernet è disconnesso. sys_iEthernetConnectionErrorCode viene impostato su "10: Cavo Ethernet disconnesso".
se l'istruzione viene eseguita durante l'inizializzazione di Ethernet, sys_iEthernetConnectionErrorCode viene impostato su "11: Ethernet viene inizializzato".
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
bSetIpv4Address: BOOL:=FALSE;
bGetConnection: BOOL:=FALSE;
bGetMac: BOOL:=FALSE;
dutIPv4Connection: FP_IPv4_CONNECTION_DUT;
dutIPv4MAC: FP_IPv4_MAC_DUT;
END_VAR
Questo esempio imposta i parametri di connessione Ethernet specificati da s_Address. Assicurarsi che i parametri adatti siano stati impostati anche nel navigatore in .Quando bGetConnection è impostato su TRUE, i parametri di connessione vengono immessi nella DUT FP_IPv4_CONNECTION_DUT. Quando bGetMac è impostato su TRUE, i parametri dell'indirizzo MAC vengono immessi nella DUT FP_IPv4_MAC_DUT.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bSetIpv4Address,4,2,6,4,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,2,17,4,N);
B(B_F,FP_IPV4_SET_ADDRESS!,,31,1,43,5,,?DEN?DsAddress?AENO?CbError);
B(B_VARIN,,'IP=192.168.1.5~MASK=255.255.255.0~GWIP=192.168.1.1',29,3,31,5,);
B(B_VAROUT,,bError,43,3,45,5,);
L(1,0,1,5);
L(1,3,4,3);
L(6,3,15,3);
L(17,3,31,3);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bGetConnection,4,1,6,3,);
B(B_F,FP_IPV4_GET_CONNECTION!,,31,0,45,4,,?DEN?DnPort?AENO?CdutIPv4Connection);
B(B_VAROUT,,dutIPv4Connection,45,2,47,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bGetMac,4,1,6,3,);
B(B_F,FP_IPV4_GET_MAC!,,31,0,41,4,,?DEN?AENO?CdutIPv4MAC);
B(B_VAROUT,,dutIPv4MAC,41,2,43,4,);
L(1,0,1,4);
L(1,2,4,2);
L(6,2,31,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bSetIpv4Address) AND not(sys_bIsEthernetInitializing) then
FP_IPV4_SET_ADDRESS(sAddress := 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1',
bError => bError);
END_IF;
IF (bGetConnection) then
FP_IPV4_GET_CONNECTION(nPort := SYS_ETHERNET_USER_CONNECTION_2, dutIPv4Connection => dutIPv4Connection);
END_IF;
IF (bGetMac) then
FP_IPV4_GET_MAC(dutIPv4MAC => dutIPv4MAC);
END_IF;