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.
Eingang
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.
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'
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
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.
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.
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.
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.
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.
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
In diesem Beispiel werden die Ethernet-Verbindungsparameter durch s_Address festgelegt. Stellen Sie sicher, dass auch im Navigator unter 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.
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;