FP_IPV4_SET_ADDRESS

Impostare indirizzo IP utilizzando il protocollo IPv4

Questa istruzione FP imposta una connessione con l'indirizzo IP specificato da sAddress tramite protocollo internet V4.

Parametri

Ingresso

sAddress (STRING)
  • 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.

Esempi:
  1. 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'

  2. 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

bError (BOOL)
  • 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.

Note

  • 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.

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • 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.

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • 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.

sys_bIsCarry (passa a TRUE per una scansione)
  • 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".

Esempio

Intestazione del POU

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

Corpo del POU

Questo esempio imposta i parametri di connessione Ethernet specificati da s_Address. Assicurarsi che i parametri adatti siano stati impostati anche nel navigatore in Registri sistema > Ethernet > Indirizzi IP. 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.

Corpo LD

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

Corpo ST

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;

L'ultima revisione: 2024-04-25Feedback su questa paginaPanasonic hotline