FP_HTTP_SET_CONNECTION

Servereinstellungen für die HTTP-Verbindung

Dieser FP-Befehl definiert die Servereinstellungen für die Verbindung zu dem in der CPU angegebenen HTTP-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=HTTP.pidsx.com'

  • Portnummer (optionaler Parameter)

    Schlüsselwort: 'PORT'

    Syntax: 'PORT=xxxxx'

    Werte: 1–65535 (Standardeinstellung: 80)

  • 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 HTTP-Server Nummer 0 mit der IP-Adresse 192.255.2.10, Schnittstellennummer 80, unter Verwendung von SSL3/TLS1-Authentifizierung: 'SV0,IPv4=192.255.2.10,PORT=80,SSL'

  2. Verbindung zum HTTP-Server Nummer 1 mit der IP-Adresse 1111:1222::1555:0:0:1888, Schnittstellennummer 8080, unter Verwendung von SSL3/TLS1-Authentifizierung: 'SV1,IPv6=1111:1222::1555:0:0:1888,PORT=8080,SSL'

  3. Verbindung zum HTTP-Server Nummer 2 mit dem Host-Namen HTTP.pidsx.com, Schnittstellennummer 80, keine Authentifizierung verwenden: 'SV2,HOST=HTTP.pidsx.com,PORT=80,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. Setzen Sie den Benutzernamen auf "Support“, Passwort nicht verändern: 'USER=Support'

  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.

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

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

  • Wenn der Teil vor einem angegebenen Schlüsselwort fehlt, darf nur das Schlüsselwort, aber nicht das Komma "," fehlen, das die Schlüsselwörter trennt: ',RTRY=25,RTTM=3000'.

  • Wenn der Teil nach einem angegebenen Schlüsselwort fehlt, dürfen das Komma "," und das Schlüsselwort fehlen: 'TOUT=30,RTRY=25'.

  • Geben Sie das Schlüsselwort nicht mehr als einmal an. Wenn dasselbe Schlüsselwort mehr als einmal angegeben ist, tritt ein Fehler auf.

  • 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 Datenübertragungsmerker für die angegebene Datenübertragungseinstellung "FALSE: Kein Datenübertragungsauftrag“ ist. Wenn der Datenübertragungsmerker "TRUE: Datenübertragung beauftragt“ 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 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 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
		bSetConnectionError: BOOL:=FALSE;
		bSetConnection: BOOL:=FALSE;
		wErrorCode: WORD:=0;
		bSetConnectionOK: 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 := 10 ;
        NETWORK_BODY
B(B_VARIN,,'SV1~IPv4=192.255.2.10~PORT=21~OPEN=act~SSL',20,6,22,8,);
B(B_VARIN,,'USER=root~PASS=passwd',20,7,22,9,);
B(B_VARIN,,'TOUT=30~RTRY=2~RTTM=500',20,8,22,10,);
B(B_CONTACT,,bSetConnection,4,1,6,3,R);
B(B_VAROUT,,bSetConnectionError,36,6,38,8,);
B(B_CONTACT,,sys_bIsEthernetInitializing,17,1,19,3,N);
B(B_F,FP_HTTP_SET_CONNECTION!,,22,4,36,10,,?DEN?DsServer?DsLogin?DsCommunication?AENO?CbError);
L(1,2,4,2);
L(6,2,17,2);
L(19,2,19,6);
L(19,6,22,6);
L(1,0,1,10);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_CONTACT,,bSetConnectionError,4,1,6,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(6,2,25,2);
L(1,2,4,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,,bSetConnectionError,4,1,6,3,N);
B(B_COIL,,bSetConnectionOK,28,1,30,3,);
L(6,2,28,2);
L(1,2,4,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_HTTP_SET_CONNECTION(sServer := 'SV1,IPv4=192.255.2.10,PORT=21,OPEN=act,SSL',
                           sLogin := 'USER=root,PASS=passwd',
                           sCommunication := 'TOUT=30,RTRY=2,RTTM=500', 
                           bError => bSetConnectionError);
End_if;
If (bSetConnectionError) then
    wErrorCode := sys_iEthernetConnectionErrorCode;
Else
    bSetConnectionOK := True;   
End_if;

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