FB_ReceiveVisionDataServer – Allgemeine Informationen

Überblick

Typ:

Funktionsbaustein

Verfügbar ab:

V1.7.3.0

Übernommen aus:

-

Implementiert:

-

Dieses Kapitel enthält folgende Informationen:

Aufgabe

Erfassen der Daten für ein Bildverarbeitungsprotokoll und Analysieren der Daten.

Beschreibung

Der Funktionsbaustein FB_ReceiceVisionDataServer erfasst und analysiert die Daten für ein Bildverarbeitungsprotokoll. Der Inhalt des Protokolls kann ausgelesen werden.

Sie müssen die Methode ClearVisionData aufrufen, bevor Sie ein neues Protokoll senden (auslösen). Andernfalls generiert der Funktionsbaustein eine Ausnahme.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

Eine steigende Flanke an FALSE -> TRUE aktiviert die POU (Baustein), eine fallende Flanke an TRUE -> FALSE deaktiviert sie.

Eine deaktivierte POU führt keine Aktionen aus.

i_xDiagQuit

BOOL

Eine steigende Flanke an FALSE -> TRUE bricht eine aktive Ausnahme des Bausteins (POU) ab.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

TRUE: Die POU (Baustein) ist aktiv. Wenn der Ausgang auf TRUE steht, während i_xEnable deaktiviert ist, muss die POU zuerst die laufende Verarbeitung abschließen, bevor der Ausgang zu FALSE übergehen kann.

FALSE: Die POU ist inaktiv.

q_xReady

BOOL

TRUE: Die POU ist betriebsbereit und kann Benutzerbefehle entgegennehmen.

FALSE: Der Funktionsbaustein ist nicht betriebsbereit und nimmt keine Benutzerbefehle an.

q_etDiag

ET_DiagExt

POU-spezifischer Ausgang zur Diagnose.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_etDiagExt

ET_DiagExt

POU-spezifischer Ausgang zur Diagnose.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand übergibt.

q_xClientConnected

BOOL

Gibt an, ob ein verbundener Client vorhanden ist.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert von q_etDiagExt

Beschreibung

Ok

Ok

0

Ok

Disabled

11

Deaktiviert

WaitUntilDisabled

10

Wird deaktiviert

ConfigurationFailed

ConfigurationInvalid

16

Konfiguration ungültig

ExecutionAborted

AddressInUse

18

Adresse wird verwendet

AnotherProtocolAlreadyExecuting

20

Es wird bereits ein anderes Protokoll ausgeführt.

CertificateFailureServer

73

Das Zertifikat ist nicht gültig; TCP-Server.

CertificateNotFound

72

Das Zertifikat wurde nicht gefunden.

CertificateNoKey

76

Es ist kein privater Schlüssel verfügbar.

EndSignalOfDataInvalid

21

Endsignal der Daten ungültig.

InitTlsContextFailed

75

Es werden zu viele Sockets verwendet.

ProtocolHeaderInvalid

5

Protokoll-Header ungültig

StartOfProductDataInvalid

6

Start der Produktdaten ungültig

VisionDataHasNotBeenCleared

24

Bildverarbeitungsdaten wurden nicht gelöscht.

InputParameterInvalid

InputStringInvalid

77

Die empfangene Zeichenfolge ist ungültig.

LimitReached

AdditionalStringLengthExceeded

33

Länge der zusätzlichen Zeichenfolge überschritten.

ProductsPerProtocolExceeded

19

Anzahl der Produkte pro Protokoll überschritten

ProtocolLengthExceeded

15

Protokolllänge überschritten

UserDataLengthExceeded

32

Länge der Benutzerdaten überschritten

UnexpectedProgramBehavior

UnexpectedFeedback

4

Ein Rückgabewert ist nicht bestimmbar.

AdditionalStringLengthExceeded

Enumerationsname:

AdditionalStringLengthExceeded

Enumerationswert:

33

Beschreibung:

Länge der zusätzlichen Zeichenfolge überschritten

Problem

Ursache

Lösung

Länge der zusätzlichen Zeichenfolge überschritten.

Die Länge der zusätzlichen Zeichenfolge überschreitet die maximale Länge von 80 Zeichen.

Reduzieren Sie die Benutzerdaten auf eine maximale Länge von 80.

AddressInUse

Enumerationsname:

AddressInUse

Enumerationswert:

18

Beschreibung:

Doppelte Adresse

Problem

Ursache

Lösung

Adresse/Port bereits verwendet.

Die Kombination IP-Adresse/Port ist nicht eindeutig.

Stellen Sie sicher, dass die Kombination aus IP-Adresse und Port eindeutig ist und nicht von einem anderen Client verwendet wird.

AnotherProtocolAlreadyExecuting

Enumerationsname:

AnotherProtocolAlreadyExecuting

Enumerationswert:

20

Beschreibung:

Anderes Protokoll wird bereits ausgeführt

Problem

Ursache

Lösung

Anderes Protokoll wird bereits ausgeführt.

Ein Protokoll wurde nicht vollständig analysiert, als ein neues Protokoll übergeben wurde.

Stellen Sie sicher, dass kein neues Protokoll ausgelöst wird, bevor das aktuelle Protokoll vollständig analysiert wird.

CertificateFailureServer

Enumerationsname:

CertificateFailureServer

Enumerationswert:

73

Beschreibung:

Das Zertifikat ist nicht gültig; TCP-Server.

Problem

Ursache

Lösung

Das Zertifikat ist nicht gültig.

Das Zertifikat ist nicht gespeichert unter Vertrauenswürdiges Zertifikat.

Verschieben Sie das Zertifikat von Zertifikat in Quarantäne nach Vertrauenswürdiges Zertifikat und starten Sie die Steuerung neu.

Weitere Informationen erhalten Sie unter Verwaltung der TLS-Zertifizierung oder im Security-Screen (Machine Expert > V2.0 > Software > Programmierung > Menü-Befehle – Online-Hilfe > Security-Screen ) in der Online-Hilfe.

CertificateNotFound

Enumerationsname:

CertificateNotFound

Enumerationswert:

72

Beschreibung:

Das Zertifikat wurde nicht gefunden.

Problem

Ursache

Lösung

Das Zertifikat wurde auf der Steuerung nicht gefunden.

Für das Zertifikat wurde ein falscher Name ausgewählt.

Stellen Sie sicher, dass der korrekte Name ausgewählt ist unter Name des Zertifikats.

CertificateNoKey

Enumerationsname:

CertificateNoKey

Enumerationswert:

76

Beschreibung:

Es ist kein privater Schlüssel verfügbar.

Problem

Ursache

Lösung

Es ist kein privater Schlüssel verfügbar.

Das Zertifikat besitzt keinen privaten Schlüssel.

Verwenden Sie ein Zertifikat mit einem privaten Schlüssel oder das Standardzertifikat.

ConfigurationInvalid

Enumerationsname:

ConfigurationInvalid

Enumerationswert:

16

Beschreibung:

Konfiguration ungültig

Problem

Ursache

Lösung

Die Konfiguration ist ungültig.

Es wurde keine Methode Configuration erfolgreich aufgerufen.

Stellen Sie sicher, dass die Methode Configuration, die verwendet wurde (ConfigurationTls() oder ConfigurationNoTls() ), erfolgreich aufgerufen wurde, bevor Sie FB_ReceiveVisionDataServer aktivieren.

Disabled

Enumerationsname:

Disabled

Enumerationswert:

11

Beschreibung:

Deaktiviert

Statusmeldung: Funktionsbaustein deaktiviert, es werden keine Aktionen ausgeführt. Setzen Sie FB_ReceiveVisionDataClient.xEnable auf TRUE, um den Funktionsbaustein zu aktivieren.

EndSignalOfDataInvalid

Enumerationsname:

EndSignalOfDataInvalid

Enumerationswert:

21

Beschreibung:

Endsignal der Daten ungültig

Problem

Ursache

Lösung

Endsignal der Daten ist ungültig.

Das Endsignal (CarriageReturn) der Bildverarbeitungsdaten wurde nicht erfasst.

Stellen Sie sicher, dass die Daten mit einem Endsignal CarriageReturn abgeschlossen werden.

InitTlsContextFailed

Enumerationsname:

InitTlsContextFailed

Enumerationswert:

75

Beschreibung:

Es werden zu viele Sockets verwendet.

Problem

Ursache

Lösung

Es werden zu viele Sockets verwendet. Es sind nur 10 Sockets verfügbar.

Es sind zu viele Sockets für die TCP-Verbindung offen.

Stellen Sie sicher, dass nicht mehr als 10 Sockets verwendet werden. Für die gesamte Steuerung sind 10 Sockets gültig. Wenn andere Verbindungen verwendet werden, dann stellen Sie sicher, dass diese ordnungsgemäß geschlossen werden.

InputStringInvalid

Enumerationsname:

InputStringInvalid

Enumerationswert:

77

Beschreibung:

Die empfangene Zeichenfolge ist ungültig.

Problem

Ursache

Lösung

Die empfangene Zeichenfolge ist ungültig.

Die empfangene Zeichenfolge ist nicht korrekt.

Stellen Sie sicher, dass eine korrekte Protokoll-Zeichenfolge gesendet wird.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Erfolg

Statusmeldung: Das Lesen der Daten war erfolgreich.

ProductsPerProtocolExceeded

Enumerationsname:

ProductsPerProtocolExceeded

Enumerationswert:

19

Beschreibung:

Maximale Anzahl an Produkten pro Protokoll überschritten

Problem

Ursache

Lösung

Anzahl der Produkte pro Protokoll überschritten.

Die Anzahl der Produkte in einem Bildverarbeitungsprotokoll überschreitet die maximale Anzahl (Gc_uiMaxNumberOfProductsPerProtocol).

Passen Sie den Parameter Gc_uiMaxNumberOfProductsPerProtocol an.

Senden Sie die Produktdaten in mehreren Protokollen.

ProtocolHeaderInvalid

Enumerationsname:

ProtocolHeaderInvalid

Enumerationswert:

5

Beschreibung:

Protokoll-Header ungültig

Problem

Ursache

Lösung

Protokoll-Header ungültig.

Die Protokolllänge im Header beträgt 0 (uiProtocolLength).

Stellen Sie sicher, dass der Header die richtige Länge des Protokolls bereitstellt.

Der Header des Protokolls enthält nicht die Zeichenfolge Vision (sHeaderId).

Vergewissern Sie sich, dass das Protokoll mit der Zeichenfolge Vision beginnt.

Der Header enthält ungültige Zeichen nach der Zeichenfolge Vision.

Stellen Sie sicher, dass der Header nur die Zeichenfolge Vision enthält, gefolgt von 16 Ziffern.

Ein anderer Client sendet Daten.

Stellen Sie sicher, dass die Kombination aus IP-Adresse und Port eindeutig ist und nicht von einem anderen Client verwendet wird.

Siehe ST_VisionDataHeader.

ProtocolLengthExceeded

Enumerationsname:

ProtocolLengthExceeded

Enumerationswert:

15

Beschreibung:

Länge des Protokolls überschritten

Problem

Ursache

Lösung

Protokolllänge überschritten.

Die Länge des Bildverarbeitungsprotokolls überschreitet die maximale Länge (Gc_uiMaxLengthProtocol).

Passen Sie den Parameter Gc_uiMaxLengthProtocol an.

Senden Sie die Produktdaten in mehreren Protokollen.

Siehe GPL.

StartOfProductDataInvalid

Enumerationsname:

StartOfProductDataInvalid

Enumerationswert:

6

Beschreibung:

Start der Produktdaten ungültig

Problem

Ursache

Lösung

Start der Produktdaten ungültig.

Die Produktdaten beginnen nicht mit dem Objektindex O.

Stellen Sie sicher, dass die Produktdaten mit O beginnen (Beispiel: O1I1X10…).

Die ersten Zeichen nach dem Header müssen P, A oder CarriageReturn sein.

Vergewissern Sie sich, dass die Produktdaten nach dem Header mit P, A oder CarriageReturn beginnen.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

4

Beschreibung:

Interner Fehler festgestellt.

Problem

Ursache

Lösung

Rückgabe war ungültig.

Der Empfang der Daten war nicht erfolgreich, der Server wurde heruntergefahren.

Starten Sie den Server neu.

UserDataLengthExceeded

Enumerationsname:

UserDataLengthExceeded

Enumerationswert:

32

Beschreibung:

Länge der Benutzerdaten überschritten

Problem

Ursache

Lösung

Länge der Benutzerdaten überschritten.

Die Länge der Benutzerdaten überschreitet die maximale Länge von 80 Zeichen.

Passen Sie die Länge der Benutzerdaten an.

VisionDataHasNotBeenCleared

Enumerationsname:

VisionDataHasNotBeenCleared

Enumerationswert:

24

Beschreibung:

Bildverarbeitungsdaten nicht gelöscht

Problem

Ursache

Lösung

Bildverarbeitungsdaten wurden nicht gelöscht.

Die Bildverarbeitungsdaten wurden nicht gelöscht, bevor neue Daten empfangen wurden.

Stellen Sie sicher, dass die Methode ClearVisionData aufgerufen wurde, bevor neue Daten empfangen werden.

WaitUntilDisabled

Enumerationsname:

WaitUntilDisabled

Enumerationswert:

10

Beschreibung:

Warten auf Deaktivierung

Statusmeldung: Der Funktionsbaustein wird deaktiviert.

Methoden

Name

Beschreibung

ClearVisionData

Löschen der Bildverarbeitungsdaten und Vorbereiten des Funktionsbausteins für den Empfang neuer Daten.

ConfigurationTLS

Konfigurieren der IP-Adresse und des vom Server überwachten Ports und Festlegen der TLS-Einstellungen.

ConfigurationNoTLS

Konfigurieren der IP-Adresse und des vom Server überwachten Ports.

GetAdditionalString

Auslesen der zusätzlichen Zeichenfolge des Bildverarbeitungsprotokolls.

GetHeader

Auslesen der Header-Daten des Bildverarbeitungsprotokolls.

GetProducts

Auslesen der Produktdaten des Bildverarbeitungsprotokolls.

GetVisionString

Lesen der Bildverarbeitungszeichenfolge.

RegisterLoggerPoint

Registrieren des Funktionsbausteins FB_ReceiveVisionDataServer im Anwendungs-Logger.

Eigenschaften

Name

Datentyp

Zugriff

Beschreibung

xVisionDataReceived

BOOL

Get

Signalisieren, dass neue Bildverarbeitungsdaten empfangen wurden und ausgelesen werden können.