ConnectToServer - Methode

Überblick

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Aufgabe

Die Methode ConnectToServer initialisiert eine TCP-Verbindung zum Server.

Funktionsbeschreibung

Diese Methode löst den Aufbau einer TCP-Verbindung zum Server aus, die über die zugehörige IPv4-Adresse und den entsprechenden Port vorgegeben wird. Die Standardports für HTTP sind 80 und 443 (gesichert, HTTPS). Stellen Sie den Parameter i_xUseTls auf TRUE ein, um anzugeben, dass eine gesicherte Verbindung hergestellt wurde.

Der Rückgabewert der Methode gibt nur an, ob die Verbindung erfolgreich initialisiert werden konnte. Der Status der Verbindung muss über die Eigenschaft State geprüft werden. Werten Sie die Diagnoseausgänge der Methode aus, wenn der Rückgabewert FALSE sein sollte. Ein von diesen Ausgängen signalisierter Fehler braucht nicht zurückgesetzt zu werden.

Hinweise zur Verwendung mit einem HTTP-Proxy

Wenn zwischen Ihrer Steuerung und dem dezentralen HTTP-Server ein HTTP-Proxy zwischengeschaltet ist, müssen Sie die Verbindungsparameter des Proxys in der Methode ConnectToServer angeben. Wenn der Client mit einem Proxy verbunden ist, wird der HTTP-Datenverkehr zwischen dem Client und dem dezentralen Server über den Proxy-Server weitergeleitet. Die Adresse und der Port werden vom Proxy-Server aus dem Header der gesendeten HTTP-Anfrage abgerufen. Sie entsprechen dem Parameter i_sHost der zugeordneten Methode zum Senden einer HTTP-Anfrage.

HINWEIS: Detaillierte Informationen finden Sie im Beispielcode.

Wenn ein Proxy-Server die Weiterleitung des HTTP-Datenverkehrs zwischen Ihrem Client und dem HTTP-Server verhindert, jedoch das Einrichten eines Tunnels zum dezentralen Server unterstützt, können Sie die Verbindung zum dezentralen Server über die Methode ConnectToServerByProxy implementieren.

Hinweise zu gesicherten Verbindungen mit TLS

TLS dient der Verschlüsselung der Kommunikation zwischen Client und Server. Zusätzlich zur Verschlüsselung bietet TLS die Möglichkeit, die Identität des Kommunikationspartners anhand von Zertifikaten zu prüfen.

Zertifikate werden beim Aufbau einer Verbindung ausgetauscht, beim TLS-Handshake. Das Senden von Zertifikaten während des TLS-Handshakes ist optional, aber für den Kommunikationspartner ist das Zertifikat möglicherweise erforderlich. Wenn das Ergebnis der Überprüfung des Zertifikats positiv ist, kann eine Verbindung zum Kommunikationspartner hergestellt werden. Wenn die Ausführung der Methode ConnectToServer mit xUseTls = TRUE im Zustand Error mit ErrorResult = ConnectFailed endet, liegt möglicherweise ein Zertifikatsproblem vor.

In diesem Fall müssen Sie die TLS-Konfiguration für den Server und Client überprüfen.

Aktion

Folge

Der Server wurde zur Prüfung des Client-Zertifikats konfiguriert.

Stellen Sie sicher, dass der Parameter i_stTlsSettings.xSendClientCertificate auf TRUE eingestellt ist.

Der Client wurde zur Prüfung des Server-Zertifikats konfiguriert, i_stTlsSettings.etCertVerifyMode unterscheidet sich von NotVerified.

Stellen Sie sicher, dass der Server sein Zertifikat sendet.

Der Client wurde zur Annahme ausschließlich vertrauenswürdiger Zertifikate konfiguriert, i_stTlsSettings.etCertVerifyMode = TrustedOnly.

Stellen Sie sicher, dass das Server-Zertifikat als vertrauenswürdig eingestuft wird.

Dazu müssen die Zertifikate in Ihrer Steuerung manuell verwaltet werden. Das kann mithilfe des Editors Security-Screen in Machine Expert Logic Builder erfolgen.

Weitere Informationen zur Zertifikatverwaltung in der Steuerung finden Sie unter Verwalten von Zertifikaten in der Steuerung im EcoStruxure Machine Expert - Benutzerhandbuch.

Übergang des Clientzustands

Phase

Beschreibung

1

Ausgangszustand: Idle

2

Funktionsaufruf

3

Status: Connecting, andernfalls wird ein Fehler erkannt.

4

Endstatus: Connected, andernfalls wird ein Fehler erkannt.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_sServerIP

STRING[15]

Gibt die IP-Adresse des Servers an, zu dem eine Verbindung hergestellt werden soll.

i_uiServerPort

UINT

Gibt die Portadresse des Servers an.

i_xUseTls

BOOL

Auf TRUE gesetzt, um auf die Verwendung einer gesicherten Verbindung mit TLS zu verweisen.

i_stTlsSettings

TlsSettings

Gibt die TLS-Einstellungen für die gesicherte Verbindung an.

Ausgang

Datentyp

Beschreibung

q_xError

BOOL

Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg,

q_etResult

ET_Result

Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit.

q_sResultMsg

STRING[80]

Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit.