Aufrufmuster wählen

Jede Funktion einer LumiScan-App wird auf eine von drei Arten aufgerufen.

Handshake Execute-Methode Stream

Für

Operationen, die länger als etwa 1 s dauern oder deren Dauer unbekannt ist

Operationen innerhalb von etwa 1 s

jedes Element, das eine Quelle erzeugt, sobald es eintrifft

Der Client

schreibt request, pollt ready und den Status; nichts blockiert

schreibt die Methode einmal; der Schreibvorgang kehrt zurück, wenn die Operation abgeschlossen ist

abonniert einmal; die Apps senden jedes Ergebnis

Das Ergebnis

control/status/code und die Ausgaben

das Ergebnis des Schreibvorgangs (konnte die Operation ausgeführt werden?), dann der Status (war sie erfolgreich?)

jedes gesendete Ergebnis

Beispiele

connect-camera, reset, inference

capture, trigger, transform, find-template

Kamerabilder in AI Object Matching, einen Finder oder einen Code Reader

Warum etwa 1 s

Eine Execute-Methode hält ihren Aufrufer fest, bis die Operation abgeschlossen ist: eine SPS-Task oder einen Client, dessen Anfrage in ein Timeout läuft. Bei LumiScan Keryx gibt ein Client standardmäßig nach 2 s auf. Eine Operation, die länger dauern kann, ist daher ein Handshake, den der Aufrufer pollt, statt zu warten. Deshalb bietet der Cam Driver connect-camera, disconnect-camera und reset nur als Handshakes an.

Auf Anfrage oder als Stream

Auf Anfrage (Handshake oder Execute) Stream

Wer die Arbeit anstößt

Ihr Programm: ein Aufruf pro Bild oder pro Punkt

die Quelle: Jedes Bild, das die Kamera liefert, startet die nächste App

Wie die Apps zusammenhängen

unabhängig; Ihr Programm trägt die Daten von einer zur nächsten

verkettet; jede App abonniert die vorherige

Geschwindigkeit (eine Kamera, ein PC, gemessen)

etwa 34 Bilder pro Sekunde vom Cam Driver

63 bis 68 Bilder pro Sekunde vom Cam Driver

Verwenden Sie auf Anfrage für einzelne, langsame oder unregelmäßige Operationen: die Kamera verbinden, ein Bild aufnehmen, einige bereits vorhandene Punkte transformieren. Verwenden Sie einen Stream für kontinuierliche Arbeit: Die Kamera liefert ein Bild, AI Object Matching findet die Objekte, Calibration wandelt sie in Koordinaten um, und Ihr Programm liest nur das Ergebnis.

Eine Implementierung, mehrere Muster. Wo eine App dieselbe Arbeit in mehr als einem Muster anbietet, teilen diese sich eine Implementierung und eine Sperre pro Modul. Das Ergebnis ist dasselbe, und zwei Operationen eines Moduls überschneiden sich nie.

Welche App was bietet

App Handshake Execute Stream

Cam Driver

ja

ja

erzeugt Bilder

AI Object Matching

ja

ja

konsumiert Bilder, erzeugt Detektionen

Calibration

ja

ja

konsumiert Punkte oder Ergebnisse, erzeugt 3D-Punkte

Template Finder, Object Finder, Area Detector, Text Reader

–

ja

konsumieren Bilder, erzeugen Ergebnisse

DMC, QR, Aztec und Barcode Reader

–

ja

konsumieren Bilder, erzeugen Codes

Das Handbuch jeder App listet ihre Funktionen auf und welche Muster jede davon bietet.