FP_FTP_SET_CONNECTION

Servereinstellungen für die FTP-Verbindung

Dieser FP-Befehl definiert die Servereinstellungen für die Verbindung zu dem in der CPU angegebenen FTP-Client gemäß den angegebenen Parametern.

Parameter

Eingang

sServer (STRING)
  • Serveradresse (erforderlicher Parameter)

    Schlüsselwort: SV

    Werte: SV0–SV3 (Server 0–Server 3)

  • IP-Adresse oder Host-Name (erforderlicher Parameter).

    • IP-Adresse

      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. Wenn ein Befehl eine ungültige IP-Adresse enthält, tritt kein Operationsfehler auf, aber der Ausgang bError wird auf TRUE gesetzt.

    • Host-Name

      Schlüsselwort: HOST

      Syntax: z. B.'HOST=FTP.pidsx.com'

  • Portnummer (optionaler Parameter)

    Schlüsselwort: 'PORT'

    Syntax: 'PORT=xxxxx'

    Werte: 1–65535 (Standardeinstellung: 21)

  • Verbindungsmodus (optionaler Parameter)

    Schlüsselwort: OPEN

    Syntax: 'OPEN=xxxx'

    Werte: act (aktiv), pasv (passiv) (Standardeinstellung: act)

  • SSL3/TSL1-Authentifizierung (optionaler Parameter)

    Geben Sie an, ob die SSL3/TSL1-Authentifizierung verwendet werden soll oder nicht.

    Schlüsselwörter:

    • SSL: SSL3/TLS1 verwenden

    • NON: SSL3/TLS1 wird nicht verwendet (Standardeinstellung)

Beispiele:
  1. Verbindung zum FTP-Server Nummer 0 mit der IP-Adresse 192.255.2.10, Schnittstellennummer 21, aktiver Verbindungsmodus, unter Verwendung von SSL3/TLS1-Authentifizierung: 'SV0,IPv4=192.255.2.10,PORT=21,OPEN=act,SSL'

  2. Verbindung zum FTP-Server Nummer 1 mit der IP-Adresse 1111:1222::1555:0:0:1888, Schnittstellennummer fehlt (Standardport 21 verwenden), Verbindungsmodus fehlt (Standardeinstellung = aktiv verwenden), unter Verwendung von SSL3/TLS1-Authentifizierung: 'SV1,IPv6=1111:1222::1555:0:0:1888,SSL'

  3. Verbindung zum FTP-Server Nummer 2 mit dem Host-Namen FTP.pidsx.com, Schnittstellennummer 28, passiver Verbindungsmodus, keine Authentifizierung verwenden: 'SV2,HOST=FTP.pidsx.com,PORT=28,OPEN=pasv,NON'

sLogin (STRING)

Login-Daten einstellen

  • Benutzername (max. 32 Zeichen)

    Schlüsselwort: USER

    Syntax: 'USER=xxx' (Standardeinstellung: root). Verwenden Sie 'USER=', um den Benutzernamen zu löschen.

  • Passwort (max. 32 Zeichen, Groß- und Kleinbuchstaben sind erlaubt)

    Schlüsselwort: PASS

    Syntax: 'PASS=passwd' (Standardeinstellung: root). Verwenden Sie 'PASS=', um den Benutzernamen zu löschen.

Für diesen Parameter sind zwei zusätzliche Schlüsselwörter verfügbar:
  • INITIAL: Setzt den Benutzernamen und das Passwort auf die Standardeinstellungen "root" und "root" zurück.

  • KEEP: Behält die aktuellen Login-Einstellungen bei.

Beispiele:

  1. Benutzernamen auf "Admin" und Passwort auf "Panasonic" einstellen: 'USER=Admin,PASS=Panasonic'

  2. Benutzernamen auf "Supervisor“ einstellen und Passwort löschen: 'USER=Supervisor,PASS='

  3. Benutzernamen und Passwort auf die Standardwerte zurücksetzen: 'INITIAL'
  4. Benutzernamen und Passwort löschen: 'USER=,PASS='

  5. Benutzernamen und Passwort auf die Standardwerte zurücksetzen: 'INITIAL'

  6. Benutzernamen und Passwort beibehalten: 'KEEP'

sCommunication (STRING)

Optionale Kommunikationseinstellungen nach Bedarf einstellen.

  • Verbindungs-Zeitüberschreitung

    Schlüsselwort: TOUT

    Syntax: 'TOUT=xxx' (Standardeinstellung: 60 Sekunden)

    Werte: 30–300 Sekunden

  • Anzahl der Wiederholungen

    Schlüsselwort: RTRY

    Syntax: 'RTRY=x' (Standardeinstellung: 3 Mal)

    Werte: 0–3

  • Wiederholungsintervall

    Schlüsselwort: RTTM

    Syntax: 'RTTM=xxxxx' (Standardeinstellung: 600 Sekunden)

    Werte: 10–86400 Sekunden

    Der Wert kann in 10 Sekunden angegeben werden. Er wird auf 10 abgerundet.

    Beispiel: Wenn Sie 38 Sekunden angeben, werden 30 Sekunden eingestellt.

Für diesen Parameter sind zwei zusätzliche Schlüsselwörter verfügbar:

  • INITIAL: Setzt die Verbindungs-Zeitüberschreitung, die Anzahl der Wiederholungen und das Wiederholungsintervall auf die Standardeinstellungen zurück.

  • KEEP: Behält die aktuellen Kommunikationseinstellungen bei.

Beispiele:

  1. Verbindungs-Zeitüberschreitung einstellen: 30 Sekunden, Anzahl der Wiederholungen: 2, Wiederholungsintervall 500 Sekunden: 'TOUT=30,RTRY=2,RTTM=500'

  2. Verbindungs-Zeitüberschreitung einstellen: 270 Sekunden, keine Wiederholungen, Wiederholungsintervall: 4900 Sekunden: 'TOUT=270,RTRY=0,RTTM=4900'

  3. Verbindungs-Zeitüberschreitung einstellen: 30 Sekunden, Anzahl der Wiederholungen: 25, Wiederholungsintervall: nicht verändern: 'TOUT=30,RTRY=25'

  4. Verbindungs-Zeitüberschreitung einstellen: nicht verändern, Anzahl der Wiederholungen: 25, Wiederholungsintervall 3000 Sekunden: ',RTRY=25,RTTM=3000'

  5. Zurücksetzen auf Standardeinstellungen (Verbindungs-Zeitüberschreitung: 60 Sekunden, Anzahl der Wiederholungen: 3, Wiederholungsintervall 600 Sekunden): 'INITIAL'

  6. Beibehalten aller aktuellen Einstellungen: 'KEEP'

Ausgang

bError (BOOL)

Wird unter den folgenden Bedingungen auf TRUE gesetzt:

  • 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

  • Trennen Sie alle Schlüsselwörter durch Komma, z.B. 'NAME=abcd,FROM=sender@server.com'

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

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

  • Groß- und Kleinbuchstaben können für Operanden verwendet werden, für die eine Zeichenkonstante angegeben werden kann. "Abcd", "ABCD" und "abcd" sind gleichbedeutend, bei Dateinamen wird jedoch zwischen Groß- und Kleinschreibung unterschieden.

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

  • Der Befehl kann nur ausgeführt werden, wenn der Merker Datenübertragungsauftrag für die angegebene Datenübertragungseinstellung oder die angegebene nLogID Nummer FALSE ist. Wenn der Merker Datenübertragungsauftrag TRUE ist, tritt ein Operationsfehler auf.

  • Wenn dieser Befehl erfolgreich ausgeführt wurde, werden die Systemvariablen sys_bIsCarry und sys_iEthernetConnectionErrorCode zurückgesetzt.

  • 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 Merker Datenübertragungsauftrag für die angegebene Datenübertragungseinstellung "TRUE: Datenübertragung angefordert" ist, wenn der Befehl ausgeführt wird.

  • wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.

  • wenn Servernummern nicht in aufsteigender Folge angegeben werden.

  • 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 Merker Datenübertragungsauftrag für die angegebene Datenübertragungseinstellung "TRUE: Datenübertragung angefordert" ist, wenn der Befehl ausgeführt wird.

  • wenn der Merker Datenübertragungsauftrag für eine angegebene nLogID Nummer TRUE ist, z.B. wenn sys_blsLog0DataRecordingActive TRUE ist.

  • wenn Servernummern nicht in aufsteigender Folge angegeben werden.

  • 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 inkorrekten IP-Adresse ausgeführt wird, wird sys_iEthernetConnectionErrorCode eingestellt auf "1: Falsche IP-Adresse angegeben"

  • 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
		bError: BOOL:=FALSE;
		wErrorCode: WORD:=0;
		bSetConnectionOK: BOOL:=FALSE;
		bSetConnectionError: BOOL:=FALSE;
		bSetConnection: BOOL:=FALSE;
	END_VAR

POE-Rumpf

Wenn bSetConnection von FALSE auf TRUE wechselt, und sys_bIsEthernetInitializing FALSE ist, wird der Befehl ausgeführt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_CONTACT,,bSetConnection,5,1,7,3,R);
B(B_CONTACT,,sys_bIsEthernetInitializing,16,1,18,3,N);
B(B_VARIN,,'SV0~IPv4=192.168.178.64~PORT=21~OPEN=pasv~NON',21,5,23,7,);
B(B_VARIN,,'USER=user~PASS=user',21,6,23,8,);
B(B_VARIN,,'TOUT=30~RTRY=0~RTTM=120',21,7,23,9,);
B(B_VAROUT,,bSetConnectionError,36,5,38,7,);
B(B_F,FP_FTP_SET_CONNECTION!,,23,3,36,9,,?DEN?DsServer?DsLogin?DsCommunication?AENO?CbError);
L(7,2,16,2);
L(1,2,5,2);
L(18,2,18,5);
L(18,5,23,5);
L(1,0,1,9);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bSetConnectionError,6,1,8,3,);
B(B_F,E_MOVE!,,25,0,31,4,,?DEN?D?AENO?C);
B(B_VARIN,,sys_iEthernetConnectionErrorCode,23,2,25,4,);
B(B_VAROUT,,wErrorCode,31,2,33,4,);
L(8,2,25,2);
L(1,2,6,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_CONTACT,,bError,6,1,8,3,N);
B(B_COIL,,bSetConnectionOK,28,1,30,3,);
L(8,2,28,2);
L(1,2,6,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

If DF(bSetConnection) AND NOT sys_bIsEthernetInitializing then
    FP_FTP_SET_CONNECTION(sServer := 'SV0,IPv4=192.168.178.64,PORT=21,OPEN=pasv,NON',
                          sLogin := 'USER=user,PASS=user',
                          sCommunication := 'TOUT=30,RTRY=0,RTTM=120', 
                    bError => bSetConnectionError);
End_if;
If (bSetConnectionError) then
    wErrorCode := sys_iEthernetConnectionErrorCode;
End_if;
If NOT bError then
    bSetConnectionOK := TRUE;
End_if;

Letzte Änderung: 2024-11-28Feedback zu dieser SeitePanasonic Hotline