FP_IPV4_SET_ADDRESS

IP -Adresse unter Verwendung des IPv4-Protokolls einstellen

Mit diesem FP-Befehl wird eine Verbindung zu der durch sAddress angegebenen IP-Adresse über das Internetprotokoll V4 eingestellt.

Parameter

Eingang

sAddress (STRING)
  • IPv4-Adresse (erforderlicher Parameter)

    Schlüsselwort: IP

  • Netzmaske (optionaler Parameter)

    Schlüsselwort: MASK

  • Gateway (optionaler Parameter)

    Schlüsselwort: GWIP

    Wenn das Standardgateway nicht verwendet wird, geben Sie "0" an.

Beispiele:
  1. Vergeben Sie die IP-Adresse 192.168.1.5 und verwenden Sie die Netzmaske 255.255.255.0 und das Gateway 192.168.1.1: 'IP=192.168.1.5,MASK=255.255.255.0,GWIP=192.168.1.1'

  2. Vergeben Sie die IP-Adresse 192.168.1.5, verwenden Sie keine Netzmaske und verwenden Sie das Gateway 192.168.1.1: 'IP=192.168.1.5,,GWIP=192.168.1.1'

Ausgang

bError (BOOL)
  • wenn eine Zeitüberschreitung der Verbindung überschritten wird,

  • wenn eine IP-Adresse ungültig ist

Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.

Anmerkungen

  • Es wird empfohlen, diesen Befehl nur einmal beim Start der SPS auszuführen. Führen Sie ihn nicht wiederholt aus.

  • Es dauert drei Sekunden oder länger, bis die Initialisierung abgeschlossen ist.

  • Die Zeichenanzahl für Zeichenfolgen darf 256 nicht überschreiten.

  • Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.

  • Stellen Sie sicher, dass die Zeichenfolge an sAddress keine Leerzeichen enthält. Verwenden Sie das Komma nur als Trennmusterzeichen.

  • Die IPv4-Adresse ist zwingend. Netzmaske und Gateway können wegfallen.

  • Ein Teil der Parameter kann fehlen. Die Einstellungen werden nicht geändert, wenn Parameter teilweise fehlen.

  • Für die Angabe von Schlüsselwörtern können Groß- und Kleinzeichen verwendet werden.

  • Reihenfolge der Schlüsselwörter nicht verändern. Geben Sie die Schlüsselwörter und ihre Einstellparameter in der Reihenfolge an, in der sie hier aufgeführt sind.

  • Bevor Sie den Befehl ausführen, stellen Sie sicher, dass sys_bIsEthernetInitializing FALSE ist. sys_bIsEthernetInitializing wird auf TRUE gesetzt, wenn der Befehl ausgeführt wird. Wenn Sie den Befehl ausführen, während sys_bIsEthernetInitializing TRUE ist, tritt ein Fehler auf.

  • Bevor Sie den Befehl ausführen, prüfen Sie, ob die Systemvariable sys_bIsEthernetIPAddressAssigned TRUE ist. Wenn sie FALSE ist, wenn der Befehl ausgeführt wird, tritt ein Fehler auf.

  • Der Befehl kann nur ausgeführt werden, wenn sys_bIsEthernetCableNotConnected FALSE ist.

  • Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.

  • wenn dasselbe Schlüsselwort mehr als einmal angegeben ist

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

  • wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn ein für einen Parameter angegebener Wert außerhalb des zulässigen Bereichs liegt.

  • wenn dasselbe Schlüsselwort mehr als einmal angegeben ist

  • wenn der Befehl in einem Interrupt-Programm ausgeführt wird

  • wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.

sys_bIsCarry (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der Befehl mit einer falschen IP-Adresse, einer falschen Netzmaske, einem falschen Gateway oder einer Kombination von falschen IP-Adressen ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf den entsprechenden Fehlercode (1–4) gesetzt.

  • wenn der Befehl ausgeführt wird, während das Ethernet-Kabel nicht angeschlossen ist. sys_iEthernetConnectionErrorCode wird eingestellt auf "10: Ethernet-Kabel getrennt".

  • wenn der Befehl während der Initialisierung des Ethernets ausgeführt wird, wird sys_iEthernetConnectionErrorCode auf "11: Ethernet wird initialisiert“ gesetzt.

Beispiel

POE-Kopf

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
		bSetIpv4Address: BOOL:=FALSE;
		bGetConnection: BOOL:=FALSE;
		bGetMac: BOOL:=FALSE;
		dutIPv4Connection: FP_IPv4_CONNECTION_DUT;
		dutIPv4MAC: FP_IPv4_MAC_DUT;
	END_VAR

POE-Rumpf

In diesem Beispiel werden die Ethernet-Verbindungsparameter durch s_Address festgelegt. Stellen Sie sicher, dass auch im Navigator unter Systemregister > Ethernet > IP-Adressen die passenden Parameter eingestellt sind. Wenn bGetConnection auf TRUE gesetzt wird, werden die Verbindungsparameter in den SDT FP_IPv4_CONNECTION_DUT eingegeben. Wenn bGetMac auf TRUE gesetzt wird, werden die MAC-Adresse-Einstellungen in den SDT FP_IPv4_MAC_DUT eingegeben.

KOP-Rumpf

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

ST-Rumpf

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;

Letzte Änderung: 2024-04-25Feedback zu dieser SeitePanasonic Hotline