Einrichten einer Ethernet-Verbindung
Mit diesem FP-Befehl wird eine Ethernet-Verbindung mit den durch sMode und sAddress angegebenen Einstellungen in einem durch nStartPort und nEndPort angegebenen Bereich von Benutzerverbindungen eingerichtet. Stellen Sie sicher, dass auch im Navigator unter die passenden Parameter eingestellt sind.
Eingang
Kommunikationsmodus und Verbindungsparameter einstellen.
Kommunikationsmodus (erforderlicher Parameter)
Parameter für den Kommunikationsmodus angeben.
Schlüsselwörter:
'MEWCOM'
: MEWTOCOL-COM (Voreinstellung)
'MEW7COM'
: MEWTOCOL7-COM
'MODBUS'
: MODBUS-TCP
'MEWDAT'
: MEWTOCOL-DAT
'GP'
: Programmgesteuert [Andere Geräte] (nur für 16 Benutzerverbindungen verfügbar)
'GP_LARGE'
: Programmgesteuert [Andere Geräte] mit großer Empfangskapazität (nur bei der ersten Benutzerverbindung und nur bei den SPS-Typen CPS4* und CPS3* Version 4.32 oder höher)
Optionseinstellung (erforderlicher Parameter)
Einige Kommunikationsmodi haben eine zusätzliche Protokolloption, die aktiviert werden kann. Geben Sie an, ob die Option für den ausgewählten Kommunikationsmodus verwendet werden soll oder nicht.
'OPTAV'
: Die für die ausgewählte Kommunikationsmodus verfügbare Option ist aktiviert
'OPTNAV'
: Entweder ist für die ausgewählte Kommunikationsmodus keine Option verfügbar oder die verfügbare Option ist nicht aktiviert (Standardeinstellung)
Kommunikationsmodus |
|
|
---|---|---|
MEWTOCOL-COM |
Verbinden mit FP2 ET-LAN |
Nicht verbinden |
MEWTOCOL7-COM |
Nicht verfügbar |
Nicht verfügbar |
MODBUS-TCP |
Nicht verfügbar |
Nicht verfügbar |
MEWTOCOL-DAT |
Verbinden mit FP2 ET-LAN |
Nicht verbinden |
Programmgesteuert [Andere Geräte] |
Keinen speziellen Header anhängen |
Einen speziellen Header anhängen |
Programmgesteuert [Andere Geräte] mit großer Empfangskapazität |
Keinen speziellen Header anhängen |
Nicht verfügbar. Wenn dieses Schlüsselwort angegeben ist, tritt ein Operationsfehler auf. |
Geben Sie die Art der Ethernet-Verbindung an, die geöffnet werden soll (erforderlicher Parameter).
'CL'
: Client-Verbindung (Standardeinstellung)
Bei Client-Verbindungen wird die IP-Adresse der Zieleinheit für jede Benutzerverbindung von der durch nStartPort angegebenen Benutzerverbindung bis zu der durch nEndPort angegebenen Benutzerverbindung inkrementiert.
'SV'
: Serververbindung
Bei Serververbindungen wird die Schnittstellennummer des Mastermoduls für jede Benutzerverbindung von der durch nStartPort angegebenen Benutzerverbindung bis zu der durch nEndPort angegebenen Benutzerverbindung inkrementiert.
Geben Sie die Methode zum Öffnen der Ethernet-Verbindung an (erforderlicher Parameter).
'AUTO'
: Die Verbindung automatisch öffnen (Standardeinstellung)
'MANU'
: Öffnen Sie die Verbindung nicht automatisch (verwenden Sie stattdessen den Befehl FP_ETHERNET_CONNECTION_OPEN)
Geben Sie die Art der Ethernet-Kommunikation an (erforderlicher Parameter).
'TCP'
: TCP/IP-Einstellung (Standardeinstellung)
'UDP'
: UDP/IP-Einstellung (nicht verfügbar für die Kommunikationsmodus GP_LARGE)
Hinweise:
Wenn Sie UDP als Kommunikationsart angegeben haben, besteht ein Unterschied zwischen der Verwendung der FP-Befehle und den Konfigurationseinstellungen im Projektnavigator. Im Projektnavigator gibt es keinen Parameter der "offenen Art". In den FP-Befehlen muss jedoch die "offene Art" angegeben werden. Verwenden Sie die Schlüsselwörter 'SV'
für eine Slave-Verbindung und 'CL'
für eine Master-Verbindung.
Geben Sie nicht UDP für die Kommunikationsmodus GP_LARGE an, da dies zu einem Operationsfehler führt.
Zurücksetzen auf Standardeinstellungswerte
'INITIAL'
: Setzt alle Einstellungen auf die Standardeinstellungen zurück
Beispiele:
MEWTOCOL-COM als Kommunikationsmodus einstellen, Option zur Verbindung mit FP2 ET-LAN verwenden, Client-Verbindung automatisch aufbauen und öffnen, Kommunikationsart ist TCP/IP: 'MEWCOM,OPTAV,CL,AUTO,TCP'
MODBUS-TCP als Kommunikationsmodus einstellen, Option ist nicht verfügbar, Serververbindung aufbauen, aber nicht automatisch öffnen, Kommunikationsart ist UDP/IP: 'MODBUS,OPTNAV,SV,MANU,UDP'
Kommunikationsmodus auf programmgesteuert einstellen, einen speziellen Header anhängen, Serververbindung automatisch aufbauen und öffnen, Kommunikationsart ist UDP/IP: 'GP,OPTNAV,SV,AUTO,UDP'
Kommunikationsmodus auf programmgesteuert mit Empfang mit großer Kapazität einstellen, keinen speziellen Header anhängen, Serververbindung aufbauen, aber nicht automatisch öffnen, Kommunikationsart ist TCP/IP: 'GP_LARGE,OPTAV,SV,MANU,TCP'
Wenn Sie die Konfiguration auf die Standardeinstellungen zurücksetzen möchten, also Kommunikationsmodus MEWTOCOL-COM einstellen, keine Verbindung zum FP2 ET-LAN herstellen, Client-Verbindung automatisch aufbauen und öffnen, Kommunikationsart ist TCP/IP: 'INITIAL'
Adressparamete einstellen. Die Einstellungen sind unterschiedlich, je nachdem, ob Sie Client- oder Serververbindungen angeben.
Für Client-Verbindungen müssen Sie die IP-Adressen und die Schnittstellennummern der Zieleinheiten sowie die Trennungszeit für unbenutzte Verbindungen angeben.
Für Serververbindungen müssen Sie die Schnittstellennummern des Mastermoduls sowie die Trennungszeit für unbenutzte Verbindungen angeben.
Angeben einer Client-Verbindung
IP-Adresse der Zieleinheit (erforderlicher Parameter)
Geben Sie die IP-Adresse der Zieleinheit für die erste Benutzerverbindung in dem durch nStartPort und nEndPort angegebenen Bereich von Benutzerverbindungen an. Die IP-Adresse für die anderen Benutzerverbindungen wird eingestellt, indem der letzte Block der IP-Adresse inkrementiert wird. Die Einstellung für die Zielschnittstellennummer und die Trennungszeit ist für alle Benutzerverbindungen gleich und wird nicht inkrementiert.
Für eine IP-Adresse geben Sie am Anfang das Schlüsselwort IPv4
oder IPv6
an.
Syntax für IPv4: z.B. 'IPv4=111.122.133.144'
Syntax für IPv6: z.B. 'IPv6=1111:122:2:1555:0:0:1888'
Bitte beachten Sie, dass es für IPv4-Adressen Bereichseinschränkungen gibt. Für Ipv4 kann 000.000.000.000 (0.0.0.0) nicht angegeben werden. Wenn ein Befehl eine ungültige IP-Adresse enthält, tritt kein Operationsfehler auf, aber der Ausgang bError wird auf TRUE gesetzt. Die Systemvariable sys_iEthernetConnectionErrorCode wird eingestellt auf "1: Falsche IP-Adresse angegeben".
Zieleinheit-Schnittstellennummer (erforderlicher Parameter)
Schlüsselwort: 'PORT'
Syntax:'PORT=xxxxx'
Werte: 1–65535
Trennungszeit für unbenutzte Verbindungen (erforderlicher Parameter)
Schlüsselwort: 'DISCONT'
Syntax: 'DISCONT=xxxx'
Werte: 0–4294967295 ms in Schritten von 10 ms. 0: Die Verbindung wird nicht automatisch getrennt.
Anfangsadresse Empfangspuffer (optionaler Parameter)
Dieser Parameter ist nur für FP0H C32ET/EP und FP-XH C40ET, C60ET, FP-XH C60ETF verfügbar, wenn die Kommunikationsart auf programmgesteuert [Allgemeiner Zweck] eingestellt ist.
Schlüsselwort: 'BUFTOP'
Syntax: 'BUFTOP=xxxx'
Werte: DT0 bis zum letztmöglichen DT
Empfangspufferlänge (optionaler Parameter)
Dieser Parameter ist nur für FP0H C32ET/EP und FP-XH C40ET, C60ET, FP-XH C60ETF verfügbar, wenn die Kommunikationsart auf programmgesteuert [Allgemeiner Zweck] eingestellt ist.
Schlüsselwort: 'BUFSIZE'
Syntax: 'BUFSIZE=xxxx'
Werte: 0–2048
Beispiele:
Stellen Sie die Adresse der Zieleinheit auf 192.244.2.10, und die Schnittstellennummer der Zieleinheit auf 9000 ein, trennen Sie nicht automatisch, selbst wenn die Verbindung unbenutzt ist: 'IPv4=192.244.2.10,PORT=9000,DISCONT=0'
Stellen Sie die Adresse der Zieleinheit auf 1222::1555:0:0:1999, und die Schnittstellennummer der Zieleinheit auf 10000 ein, trennen Sie automatisch, nachdem die Verbindung für 30 Sekunden nicht benutzt wurde: 'IPv6=1222::1555:0:0:1999,PORT=10000,DISCONT=30000'
Stellen Sie die Adresse der Zieleinheit auf 192.168.1.5 und die Schnittstellennummer der Zieleinheit auf 4000 ein, trennen Sie automatisch, nachdem die Verbindung für 50 Sekunden nicht benutzt wurde, stellen Sie die Anfangsadresse des Empfangspuffers auf DT4 und die Empfangspufferlänge auf 256 ein: 'IPv4=192.168.1.5, PORT=4000, DISCONT=100, BUFTOP=DT4, BUFSIZE=256'
Angeben einer Serververbindung
Mastermodul-Schnittstellennummer (erforderlicher Parameter)
Schlüsselwort: 'PORT'
Syntax: 'PORT=xxxxx'
Werte: 1–65535
Trennungszeit für unbenutzte Verbindungen (erforderlicher Parameter)
Schlüsselwort: 'DISCONT'
Syntax: 'DISCONT=xxxx'
Werte: 0–4294967295 ms in Schritten von 10 ms. 0: Die Verbindung wird nicht automatisch getrennt.
Beispiele:
Stellen Sie die Adresse der Zieleinheit auf 9000 ein, trennen Sie nicht automatisch, selbst wenn die Verbindung unbenutzt ist: 'PORT=9000,DISCONT=0'
Stellen Sie die Adresse der Zieleinheit auf 10000 ein, trennen Sie automatisch, nachdem die Verbindung für 30 Sekunden nicht benutzt wurde:'PORT=10000,DISCONT=30000'
Setzen Sie die Schnittstellennummer des Mastermoduls auf 11111 ein, trennen automatisch, wenn die Verbindung 70 Millisekunden lang nicht verwendet wurde: 'PORT=11111,DISCONT=70'
Einstellen der Nummer der ersten Benutzerverbindung
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
Einstellen der Nummer der letzten Benutzerverbindung
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
Ausgang
wenn eine IP-Adresse ungültig ist
wenn dieser Befehl ausgeführt wird, während die IP-Adresse nicht aufgebaut wird.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
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.
Verwenden Sie ein Komma "," um ein Schlüsselwort und seine Einstellung vom nächsten Schlüsselwort zu trennen.
Achten Sie darauf, dass nStartPort £ nEndPort
Achten Sie darauf, nStartPort und nEndPort anzugeben, sodass alle IP-Adressen des Zielmoduls (Client-Verbindung) bzw. alle Schnittstellennummern des Mastermoduls (Server-Verbindung) innerhalb des zulässigen Bereichs liegen.
Die maximale Anzahl der Ethernet-Benutzerverbindungen beträgt 216.
Wenn Sie diesen Befehl ausführen, während eine Benutzerverbindung geöffnet ist oder eine Benutzerverbindung so eingestellt ist, dass sie automatisch geöffnet wird, tritt ein Operationsfehler auf. Wenn jedoch mehrere Benutzerverbindungen mit diesem Befehl eingestellt werden, werden die Einstellungen für die Benutzerverbindungen geändert, bevor die Benutzerverbindung, bei der ein Operationsfehler auftritt, ausgeführt wird. Die Einstellungen für die Benutzerverbindungen nach der Benutzerverbindung, bei der ein Operationsfehler auftritt, werden nicht geändert.
Wenn Sie diesen Befehl für mehrere, zum Teil bereits konfigurierte Client-Verbindungen verwenden, tritt ein Operationsfehler auf, da die für einen Server konfigurierten Benutzerverbindungen gebündelt werden und alle gleichzeitig geöffnet und geschlossen werden.
Dieser Befehl ist in Interrupt-Programmen nicht verfügbar.
Es können sowohl Groß- als auch Kleinbuchstaben verwendet werden. "Abcd", "ABCD" und "abcd" sind synonym.
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, stellen Sie sicher, dass sys_bIsEthernetIPAddressAssigned TRUE ist. Wenn Sie diesen Befehl ausführen, während sys_bIsEthernetIPAddressAssigned FALSE ist, wird bError auf TRUE gesetzt, und der Befehl wird ohne Ausführung abgebrochen.
Wenn eine falsche IP-Adresse angegeben ist, wird bError eingestellt, und es wird kein Vorgang ausgeführt.
Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.
Dieser Befehl überschreibt die in der SPS gespeicherten Ethernet-Konfigurationsdaten nicht permanent. Nach dem Aus- und Wiedereinschalten der SPS werden die in der SPS gespeicherten Ethernet-Konfigurationsdaten wieder verwendet.
Wenn ein Fehler auftritt, prüfen Sie die Systemvariable sys_iEthernetConnectionErrorCode auf die Fehlercodenummer.
wenn nStartPort > nEndPort
wenn die Benutzerverbindungsnummer außerhalb des zulässigen Bereichs ist
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 eine Schnittstellennummer ungültig ist
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn eine offene Verbindung vorhanden ist
wenn eine Verbindung eingestellt ist, sich automatisch zu öffnen
wenn eine oder mehrere Benutzerverbindungen in dem durch nStartPort und nEndPort angegebenen Bereich zu einer bereits bestehenden Serverkonfiguration gehören.
wenn GP_LARGE als Kommunikationsart angegeben ist, und OPTNAV als Protokolloption angegeben ist
wenn GP_LARGE als Kommunikationsart angegeben ist, und UDPals Ethernet-Kommunikationsart angegeben ist
wenn GP_LARGE als Kommunikationsart angegeben ist, und nStartPort oder nEndPort nicht 1 ist
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
wenn nStartPort > nEndPort
wenn die Benutzerverbindungsnummer außerhalb des zulässigen Bereichs ist
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 eine Schnittstellennummer ungültig ist
wenn die Zeichenanzahl für Zeichenfolgendaten 256 überschreitet.
wenn eine offene Verbindung vorhanden ist
wenn eine Verbindung eingestellt ist, sich automatisch zu öffnen
wenn eine oder mehrere Benutzerverbindungen in dem durch nStartPort und nEndPort angegebenen Bereich zu einer bereits bestehenden Serverkonfiguration gehören.
wenn GP_LARGE als Kommunikationsart angegeben ist, und OPTNAV als Protokolloption angegeben ist
wenn GP_LARGE als Kommunikationsart angegeben ist, und UDPals Ethernet-Kommunikationsart angegeben ist
wenn GP_LARGE als Kommunikationsart angegeben ist, und nStartPort oder nEndPort nicht 1 ist
wenn der Befehl in einem Interrupt-Programm ausgeführt wird
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
bSetConnection: BOOL:=FALSE;
bOpenConnection: BOOL:=FALSE;
bCloseConnection: BOOL:=FALSE;
END_VAR
Wenn die Variable bSetConnection von FALSE auf TRUE gesetzt wird und die Systemvariable sys_bIsEthernetInitializing nicht auf TRUE gesetzt ist, wird die Funktion ausgeführt.
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,,'GP~OPTNAV~SV~AUTO~UDP',30,2,32,4,);
B(B_VARIN,,'PORT=9000~DISCONT=0',30,3,32,5,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_1,30,4,32,6,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_13,30,5,32,7,);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,1,17,3,N);
B(B_CONTACT,,bSetConnection,5,1,7,3,R);
B(B_VAROUT,,bError,48,2,50,4,);
B(B_F,FP_ETHERNET_CONNECTION_SET!,,32,0,48,7,,?DEN?DsMode?DsAddress?DnStartPort?DnEndPort?AENO?CbError);
L(17,2,32,2);
L(1,2,5,2);
L(7,2,15,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bSetConnection) AND NOT sys_bIsEthernetInitializing Then
FP_ETHERNET_CONNECTION_SET(sMode := 'GP,OPTNAV,SV,AUTO,UDP',
sAddress := 'PORT=9000,DISCONT=0,BUFTOP=DT10000,BUFSIZE=100',
nStartPort := SYS_ETHERNET_USER_CONNECTION_1,
nEndPort := SYS_ETHERNET_USER_CONNECTION_13);
END_IF;