Speicherung der Vorlagen
Vorlagen sind gewöhnliche PNG-Dateien im Konfigurationsverzeichnis der Anwendung. Sie können sie mit normalen Werkzeugen ansehen, kopieren und sichern, und eine anderswo vorbereitete Vorlage kann einfach hochgeladen (ctrlX OS) oder hineinkopiert werden (PC).
Wo sie liegen
Das Konfigurationsverzeichnis und darin ein Ordner templates werden beim ersten Start der Anwendung angelegt,
sodass es auf einer ganz neuen Installation einen Ort zum Hochladen oder Kopieren gibt. Wo es liegt, hängt von
der Plattform ab.
Auf ctrlX OS
Auf einem ctrlX-Gerät ist das Konfigurationsverzeichnis Teil der aktiven Solution:
/var/snap/rexroth-solutions/common/solutions/activeConfiguration/lumiscan-template-finder
Weil es zur Solution gehört, werden Vorlagen beim Export der Solution mitgenommen und mit ihr auf einem anderen Gerät wiederhergestellt.
Aufbau
<configuration directory>/
├── lumiscan-template-finder.json module list, chosen template folder, log level
├── module-1.json saved settings of one module
└── templates/ default template folder
├── screw.png
└── bracket.png
Ein Ordner dient der gesamten Anwendung, nicht einer pro Modul: Jedes Modul durchsucht ihn, und
create-template schreibt hinein; eine von einem Modul erstellte Vorlage ist also sofort für alle nutzbar.
module-1.json wird von system/save-module-inputs geschrieben - siehe
Modulverwaltung.
Log-Level
lumiscan-template-finder.json enthält auch, wie viel die Anwendung protokolliert, im selben Block system,
den die anderen LumiScan-Anwendungen verwenden:
{
"system": {
"logLevel": "TRACE"
}
}
Akzeptiert werden TRACE, DEBUG, INFO, WARN, ERROR, FATAL und OFF, von den meisten Details bis zu
keinen. TRACE ist der Wert, den Sie setzen, bevor Sie ein Problem für einen Support-Bericht reproduzieren.
Der Level wird einmal, beim Start gelesen; starten Sie die Anwendung nach einer Änderung also neu. Fügen Sie
den Block von Hand hinzu: Die Anwendung schreibt in diese Datei nur template-dir und modules und lässt alles
andere darin unverändert.
Der Schlüssel ist optional. Ohne ihn protokolliert die Anwendung auf ihrem eingebauten Level DEBUG, und ein
Wert, der keiner der obigen Namen ist, wird im Protokoll gemeldet und ändert nichts - ein Tippfehler hier kann
die Anwendung nie zum Schweigen bringen.
Den Ordner wählen
system/template-dir read-only, the folder in use system/templates read-only, what is in it system/set-template-dir/execute change it system/set-template-dir/input/template-dir the folder to change to
template-dir und templates sind schreibgeschützte Ausgaben von set-template-dir, sodass die Liste nie
von dem Ordner abweichen kann, aus dem sie stammt. Um den Ordner zu wechseln, schreiben Sie
set-template-dir/input/template-dir, führen dann die Methode aus und prüfen, dass
set-template-dir/output/status-code 1 ist.
Der Ordner muss bereits vorhanden sein. Er wird nicht für Sie angelegt: Der Standardordner templates wird
beim Start angelegt; ein fehlender Ordner bedeutet also, dass der Name falsch ist, und stillschweigend einen
leeren anzulegen würde den Fehler verbergen. Die Wahl wird gespeichert und beim nächsten Start
wiederhergestellt.
Wird der Aufruf abgelehnt, ändert sich nichts - die Anwendung verwendet weiter den bisherigen Ordner.
system/templates
Jede Vorlage im Ordner, ohne die Erweiterung .png, sortiert:
["bracket", "screw"]
Ein Eintrag kann direkt in find-template/input/template-name übernommen werden. Die Liste wird beim Start,
nach einem erfolgreichen set-template-dir und beim Speichern einer neuen Vorlage durch create-template
aktualisiert.
|
Sie wird nicht aktualisiert, wenn eine Datei auf anderem Weg ankommt, etwa durch ein Hochladen über die
ctrlX-Weboberfläche (ctrlX OS) oder eine in den Ordner kopierte Datei (PC). Führen Sie Nur Dateien, die auf |
Vorlagen auf das Gerät bringen
- Aus einem Live-Bild
-
Eine Vorlage erstellen schreibt die Datei direkt. Keine Dateiübertragung nötig.
- Über die ctrlX-Weboberfläche (ctrlX OS)
-
Der Datenordner der Anwendung ist durchsuchbar, sodass ein vorbereitetes PNG in
templateshochgeladen werden kann. - Mit der Solution (ctrlX OS)
-
Vorlagen, die in der Konfiguration der aktiven Solution gespeichert sind, wandern mit ihr auf ein anderes Gerät.
- Durch Kopieren (PC)
-
Ein vorbereitetes PNG kann in
templatesim Konfigurationsverzeichnis kopiert werden.
Eine im laufenden Betrieb hinzugefügte Vorlage wird bei der nächsten Suche übernommen - die Datei wird jedes Mal gelesen, nicht beim Start zwischengespeichert; ein Neustart ist also nicht nötig.
Dateiformat
-
PNG, 8-Bit-RGB. Erstellte Vorlagen werden immer so geschrieben, unabhängig vom Pixelformat der Kamera.
-
Ein Graustufen-PNG funktioniert ebenfalls.
-
.pngwird angehängt, wenn der Name keine Erweiterung hat;screwundscrew.pngbezeichnen also dieselbe Datei.
Pfadregeln
Ordner- und Dateinamen werden immer relativ zum Konfigurationsverzeichnis interpretiert. Zwei Dinge werden mit
Statuscode -2 abgelehnt:
-
ein absoluter Pfad, etwa
/tmp/templates -
ein Pfad, der aus dem Konfigurationsverzeichnis hinausführt, etwa
../../etc
Die Anwendung kann also immer nur innerhalb ihres eigenen Konfigurationsverzeichnisses lesen und schreiben. Ein
Pfad, der darin bleibt, ist in Ordnung, auch wenn er .. enthält.
Fehlerbehebung
Probleme mit dem Vorlagenordner und den Vorlagendateien sind Schritt für Schritt unter Fehlerbehebung beschrieben:
-
Statuscode
-4(Quelle nicht gefunden) - nennt ein Verzeichnis oder eine Datei, oder eine Datei ist da, wird aber nicht gefunden -
Statuscode
-2(ungültige Eingabe) - ein absoluter Pfad oder einer, der aus dem Konfigurationsverzeichnis hinausführt -
Die Vorlagendatei liegt auf dem Gerät, fehlt aber in
system/templates
Mit einem Beispiel beginnen (PC)
Auf einem PC schreibt der Template Finder ein Beispiel seiner Einstellungen in einen Ordner Ihrer Wahl und beendet sich, ohne zu starten. Zum Beispiel unter Windows:
lumiscan-templ-find --generate-settings C:\work\template-finder-settings
Ohne Ordner (-g allein) schreibt er in den aktuellen Ordner. Das Beispiel ist die Einstellungsdatei der
Anwendung lumiscan-template-finder.json, die das Modul module-1 benennt, und daneben die Moduldatei
module-1.json: jede Eingabe von find-template mit ihrem Standardwert, außer der Bildadresse, die auf
camera1 des Cam Driver zeigt.
Daneben, in schemas/, liegen die Schemas, die die beiden Dateien in "$schema" nennen:
lumiscan-template-finder.schema.json, lumiscan-template-finder-module.schema.json und stream.schema.json
für den Abschnitt stream einer Moduldatei. Sie beschreiben jeden Schlüssel, den der Template Finder liest -
jede Eingabe von find-template mit ihrem Typ, ihrem Standardwert und dem Bereich, den ein Durchlauf
akzeptiert -, sodass ein Editor, der JSON Schema versteht, die Dateien prüfen und zeigen kann, was jeder Wert
bedeutet. Kopieren Sie den Ordner schemas zusammen mit den Dateien: system/save-module-inputs behält das
"$schema" einer Moduldatei bei, die es speichert.
Vorhandene Dateien werden nie überschrieben: Liegt eine von ihnen bereits im Ordner, wird nichts geschrieben,
und der Template Finder nennt welche.
Der Template Finder nennt dann den Ordner, aus dem er seine Einstellungen liest - unter Windows standardmäßig
C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-templ-find\etc\lumiscan-template-finder.
Bearbeiten Sie das Beispiel, kopieren Sie es dorthin und starten Sie den Template Finder. Siehe auch
Speicherorte der Dateien (Windows).