FEHLER

Eine Zelle, die #ERR anzeigt, gibt an, dass sie ihre Funktion nicht korrekt ausführen konnte. In der Regel ist dies auf einen ungültigen Eingabeparameter zurückzuführen. Ein #ERR-Zustand kann aus unterschiedlichen Gründen auftreten. Einige Fehler sind auf den normalen Betrieb der Anwendung zurückzuführen, und andere entstehen durch Fehler in der Arbeitsblattlogik selbst. Einige häufige #ERR-Ereignisse sind unten aufgeführt.

  1. Grundlegende mathematische Fehler: Zelle A4 = A3 / A2. Wenn der Wert von Zelle A2 gleich 0 ist, generiert die Funktion in Zelle A4 einen Division-durch-Null-Fehler.
  2. Bereichsgrafikfehler: Bereich verschiebt sich aus dem Bild. Wenn Sie ein PatternMatch-Werkzeug für die Suche im Bild verwenden und anschließend mithilfe der Ergebnisdaten die Position anderer Vision-Werkzeuge festlegen, ist es möglich, dass der Bereich eines Vision-Tools an eine Position verschoben wird, bei der ein Teil des Bereichs außerhalb der Bildgrenzen liegt. Wenn dieser Fall eintritt, gibt das Vision-Werkzeug #ERR zurück, anstatt eine gültige Ergebnisstruktur für das Vision-Werkzeug zurückzugeben.
  3. Fehler der "Get"-Funktionen: Das Vision-Werkzeug liefert keine Ergebnisse, wenn Sie eine GetX-Funktion in Verbindung mit einem DetectBlobs-Werkzeug verwenden. Es können Bedingungen vorliegen, unter denen das DetectBlobs-Werkzeug die erwartete Anzahl der Blobs nicht finden kann. In diesem Fall gibt die GetX-Funktion den Wert #ERR zurück, wenn der gewünschte Blob nicht im Bild gefunden werden konnte.

Fehlerbehebung bei #ERR-Zellen

Die meisten #ERR-Zustände geben eine Fehlerzeichenkette zurück. Um zu sehen, ob eine Fehlerzeichenkette angegeben wird, bewegen Sie den Mauszeiger über die Zelle, die #ERR enthält, um die Fehlerzeichenkette anzuzeigen. Auch wenn im Eigenschaftsblatt ein rotes Ausrufezeichen angezeigt wird, bewegen Sie den Mauszeiger darüber, um die Fehlerzeichenfolge anzuzeigen. Fehlerzeichenfolgen können mithilfe derGetErrorString-Funktion programmgesteuert zurückgegeben werden. Für jede Fehlerzeichenkette gibt es einen entsprechenden Diagnosecode, der mithilfe der GetErrorCode-Funktion zurückgegeben wird.

Wie kann man #ERR überschreiben, um die Fehlerweitergabe zu verhindern?

Angenommen, die Summe der Bereiche, die von einem DetectBlobs-Werkzeug gefunden wurden, soll für mehrere Blobs berechnet werden. Sie verwenden die GetArea-Funktion, um die Fläche der einzelnen Blobs aus der Blob-Struktur zu beziehen. Wenn ein Blob nicht gefunden wird, schlägt die GetArea-Funktion fehl, was jedoch ein gültiges Szenario in Ihrer Anwendung sein kann.

Zelle

Funktion

Beschreibung

A1

DetectBlobs([Parameter])

Erkennt Blobs und gibt eine Blobs-Struktur zurück

B1

GetArea(A1,0)

Gibt den Bereich von Blob 0 zurück

B2

GetArea(A1,1)

Gibt den Bereich von Blob 1 zurück

B3

GetArea(A1,2)

Gibt den Bereich von Blob 2 zurück

B4

Sum(B1:B3)

Berechnet die Summe der Blob-Bereiche

Wenn das DetectBlobs-Tool nicht mindestens 3 Blobs finden kann, gibt die Formel Sum(B1:B3) #ERR zurück, da mindestens eine Zelle, auf die diese Formel verweist, ebenfalls #ERR zurückgibt. Um diese Fehlerbedingung zu umgehen, können Sie die ErrFree Lookup-Funktion verwenden.

B4

Sum(ErrFree(B1:B3))

Berechnet die Summe der Blob-Bereiche.

Hinweis: Bei Verwendung der ErrFree-Funktion werden die Eingabewerte von anderen Zellen, die #ERR zurückgeben, in den Wert 0 konvertiert. In diesem Fall addiert die Sum-Funktion 0 für jede Eingangszelle mit #ERR, anstatt einen Fehler zurückzugeben.