Was ist LumiScan Keryx?
LumiScan Keryx ist das Daten-Rückgrat der LumiScan-Vision-Apps. Jede App legt ihre Werte, Funktionen und Ergebnisse in einen Baum benannter Knoten, und alles andere - eine SPS, ein SCADA-System, Ihr eigenes Programm, ein Testskript, die Menschen, die die Zelle in Betrieb nehmen - erreicht sie unter einer Adresse. Nichts wird Punkt zu Punkt verbunden.
Der Name kommt vom griechischen kēryx, dem Herold: dem Boten, der Nachrichten zwischen den Parteien überbringt.
%% LumiScan Keryx - Konzept. Mermaid rendert es im Browser; bearbeiten und Vorschau unter https://mermaid.live
flowchart LR
subgraph users["Wer die Daten nutzt: lesen · schreiben · aufrufen · abonnieren"]
plc["`**SPS oder SCADA**
über den OPC UA Connector`"]
prog["`**Ihr Programm**
C++, Python oder OPC UA`"]
tests["`**Skripte und Tests**
krxclient`"]
people["`**Menschen**
Keryx-Seite, Cockpit`"]
end
keryx["`**LumiScan Keryx**
der Broker, eine Adresse für alle:
tcp://127.0.0.1:5555
ein Baum benannter, typisierter Knoten:
hdvisionsystems/lumiscan-cam-driver/camera1/...`"]
subgraph apps["Wer sie bereitstellt: Knoten registrieren · veröffentlichen"]
cam["`**Cam Driver**
Kamerabilder`"]
ai["`**AI Object Matching**
neuronale Netze`"]
find["`**Finder und Leser**
Teile, Codes, Text`"]
calib["`**Calibration**
Pixel zu 3D`"]
own["`**Ihre eigene Funktion**
C++ oder Python`"]
end
plc & prog & tests & people <--> keryx
keryx <--> cam & ai & find & calib & own
class keryx key
classDef key fill:#faf6dc,stroke:#a8961f,color:#1f2328
Warum Keryx
In einem Vision-Projekt ist die Bildverarbeitung nur ein Teil der Arbeit. Der Rest ist, sie in die Maschine zu bringen: ein Handshake mit der SPS, ein Ergebnisformat, das die SPS lesen kann, eine Live-Ansicht, eine Möglichkeit herauszufinden, warum ein Teil aussortiert wurde, und Tests ohne die echte Linie. Ohne ein gemeinsames Rückgrat wird das für jedes Projekt und jeden Kunden neu gebaut.
Keryx erledigt diese Arbeit einmal, für alle LumiScan-Apps:
-
Jede App bietet ihre Funktionen auf dieselbe Weise an, unter Adressen nach denselben Regeln.
-
Eine SPS, ein Programm oder ein Mensch nutzt alle Apps über eine Verbindung.
-
Eine zweite Kamera oder eine weitere App hinzuzufügen heißt, einen Teilnehmer mehr anzuschließen, nicht die Zelle neu zu verdrahten.
Das Konzept
Ein Baum aus Knoten
Alles auf Keryx ist ein Knoten mit einer Adresse, geschrieben wie ein Dateipfad:
hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute
Ein Knoten ist ein Wert (eine Zahl, ein Merker, ein Text, ein Bild), eine Funktion, die Sie aufrufen können, oder ein Ordner, der andere Knoten zusammenfasst. Jeder Knoten beschreibt sich selbst: was er ist, sein Typ und ob er gelesen, geschrieben, aufgerufen oder abonniert werden darf. Ein Client kann den Baum also durchsuchen und herausfinden, was eine App anbietet, ohne eine eigene Schnittstellenbeschreibung - so wie bei einem OPC-UA-Server.
Die Adressen folgen in jeder App einem Schema: <App>/<Modul>/control/… für die Funktionen,
input/… für das, was Sie vor einem Aufruf schreiben, output/… für die Ergebnisse. Siehe
Adressen und Module.
Provider, Clients und der Broker
| Rolle | Was sie tut |
|---|---|
Provider |
eine App, die Knoten bereitstellt: Sie registriert sie und veröffentlicht Änderungen. Cam Driver, AI Object Matching, die Finder, die Leser und Calibration sind Provider. |
Client |
jeder, der liest, schreibt, aufruft oder abonniert: eine SPS, Ihr Programm, |
Broker |
das eine Programm, mit dem sich alle verbinden ( |
Gateway |
ein Client, der den Baum über ein anderes Protokoll verfügbar macht. Der OPC UA Connector zeigt den ganzen Baum als OPC-UA-Server, sodass jede SPS und jedes SCADA-System mit OPC-UA-Client die Apps nutzen kann. |
Drei Arten, eine Funktion aufzurufen
Wie eine Funktion aufgerufen wird, hängt davon ab, wie lange sie dauert:
| Muster | Verwenden Sie es für |
|---|---|
Arbeit, die in etwa einer Sekunde erledigt ist: ein Schreibzugriff, beantwortet, wenn die Arbeit fertig ist. Beispiel: ein Bild aufnehmen. |
|
Arbeit, die länger dauern kann: Der Client setzt |
|
Stream (experimentell) |
fortlaufende Arbeit: einmal abonnieren und jedes Ergebnis erhalten. Beispiel: Jedes Kamerabild geht an AI Object Matching und jede Detektion an Ihr Programm. |
Die meisten Funktionen von Cam Driver, AI Object Matching und Calibration werden in mehr als einem Muster angeboten, mit einer Implementierung dahinter: Das Ergebnis ist dasselbe. Siehe Aufrufmuster wählen.
Gleich auf ctrlX OS und auf einem PC
Auf einem PC mit Windows 11 oder Ubuntu 24.04 nutzen die Apps den Keryx-Broker. Auf ctrlX OS nutzen sie stattdessen den ctrlX Data Layer. Adressen, Typen und Aufrufmuster sind auf beiden gleich; ein SPS-Programm oder eine Anwendung, die für das eine geschrieben ist, funktioniert mit dem anderen. Siehe ctrlX Data Layer und LumiScan Keryx.
Was es Ihnen bringt
Entscheider und Projektleiter
-
Weniger Engineering je Projekt. Die Anbindung an SPS, Live-Ansicht und Testwerkzeuge ist Teil des Produkts und wird nicht für jede Zelle neu gebaut.
-
Standardschnittstellen, keine Abhängigkeit. Keryx folgt der Schnittstelle des ctrlX Data Layer; zur Maschine hin spricht es OPC UA; strukturierte Ergebnisse nutzen FlatBuffers, ein offenes Format mit veröffentlichtem Schema.
-
Modular. Jede Funktion ist eine eigene App. Fügen Sie eine Kamera oder eine App hinzu oder ersetzen Sie eine, ohne die anderen anzufassen.
-
Ein Entwurf für zwei Plattformen. Dieselben Apps und dieselbe Integration laufen auf einer ctrlX CORE und auf einem Windows- oder Linux-PC.
SPS-Programmierer und Systemintegratoren
-
Vertraute Muster. Lange Operationen sind ein ready/request-Handshake, kurze ein einziger Aufruf.
-
Einfache Werte für die SPS-Logik. Statuscodes, Zähler, Positionen und Texte sind einfache Variablen. Vollständige Ergebnisse gibt es als strukturierte Daten mit ihrem Schema.
-
Jede SPS mit OPC UA. Auf einem PC zeigt der OPC UA Connector jeden Knoten als OPC-UA-Knoten; seine NodeId ist die Keryx-Adresse. Auf ctrlX OS liest die ctrlX PLC die Knoten direkt.
-
Apps arbeiten zusammen, ohne die SPS dazwischen. Per Stream versorgt die Kamera AI Object Matching, und dessen Ergebnisse gehen an Calibration; die SPS liest nur das Endergebnis.
Inbetriebnahme und Service
-
Alles sehen. Die Keryx-Seite zeigt den ganzen Baum: jeden Wert, seinen Typ und seine Rechte. Werte schreiben, Funktionen aufrufen und Werte beim Ändern beobachten - ohne SPS und ohne Code zu schreiben.
-
Jedes Modul sagt, wie es ihm geht.
control/status/codeundcontrol/status/textzeigen, was die letzte Operation getan hat und warum sie fehlschlug. Siehe Statuscodes und Ergebnisse. -
Es läuft weiter. Jede App ist ein eigener Prozess: Eine App, die stoppt, reißt keine andere mit. Stoppt der Broker, wird er innerhalb von Sekunden neu gestartet, und die Apps verbinden sich von selbst wieder.
-
Ergebnisse erklären sich selbst. Jedes Stream-Ergebnis nennt die Kamera und das Bild, aus dem es stammt, die Module, die es durchlaufen hat, und die Einstellungen, die sie verwendet haben - so lässt sich ein aussortiertes Teil bis zu seinem Bild zurückverfolgen.
Softwareentwickler
-
Kein SDK nötig, um die Apps zu nutzen. Jede OPC-UA-Client-Bibliothek, in jeder Sprache, erreicht jede Funktion. Für Skripte und Tests gibt es den Kommandozeilen-Client
krxclient. Siehe Werkzeuge. -
Jeden Schritt einzeln testen. Rufen Sie eine Funktion einmal auf, prüfen Sie ihr Ergebnis, und verketten Sie die Schritte erst danach.
-
Selbstbeschreibend. Durchsuchen Sie den Baum, um Knoten zu finden; die Schemas strukturierter Ergebnisse liegen im Baum selbst, unter
types/hdvisionsystems/<App>/…. -
Eigene Funktionen einbringen. Algorithmen und Geräte lassen sich als eigene Provider hinzufügen, in C++ oder Python, neben den LumiScan-Apps. Fragen Sie HD Vision Systems nach dem Entwicklerpaket.
IT und Sicherheit
-
Standardmäßig geschlossen. Der Broker nimmt nur Verbindungen vom selben PC an (
127.0.0.1), ebenso die Keryx-Seite. Ihn für ein Netzwerk zu öffnen, ist eine bewusste Einstellung. -
Keine Cloud. Keryx läuft vollständig auf der Maschine; es braucht keine Internetverbindung.
-
Kontrolle am Rand. Der OPC UA Connector kann nur einen Teil des Baums bereitstellen und schreibgeschützt laufen. Auf ctrlX OS nutzen die Apps den ctrlX Data Layer mit der Benutzerverwaltung von ctrlX OS.
|
Der Keryx-Broker und der OPC UA Connector haben derzeit keine Authentifizierung und keine Verschlüsselung. Betreiben Sie sie auf einem PC oder in einem getrennten, vertrauenswürdigen Maschinennetz hinter einer Firewall. Siehe OPC UA Connector: Sicherheit. |
Gut zu wissen
-
Ein Broker je PC. Alle Apps einer Installation nutzen denselben Broker. Mehrere Broker an verschiedenen Ports sind voneinander unabhängig; Broker auf mehreren PCs teilen sich keinen Baum.
-
Werte tragen keinen eigenen Zeitstempel. Eine App, die einen braucht, veröffentlicht ihn in einem Knoten oder im Ergebnis.
-
Ein neuer Abonnent erhält keinen Anfangswert. Lesen Sie den Knoten einmal, dann abonnieren Sie ihn.
-
Streams sind in den aktuellen Versionen experimentell.
Mehr unter LumiScan Keryx auf einem PC: Gut zu wissen.
Wie es weitergeht
-
Selbst ausprobieren in 30 Minuten: Erste Schritte mit LumiScan Keryx.
-
Keryx auf einem PC installieren und betreiben: LumiScan Keryx auf einem PC.
-
Die Apps auf ctrlX OS nutzen: ctrlX Data Layer auf ctrlX OS.
-
Die Knoten einer App finden: Adressen und Module und die Data-Layer-Referenz im Handbuch der App.
-
Eine SPS anbinden: OPC UA Connector (PC) Eine SPS anbinden (ctrlX OS).