Gerätesuche

Einen Treiber nach Geräten oder Punkten suchen lassen, was jeder Suchlauf braucht und zurückgibt, Fortschritt und Verhalten beim Abbrechen, Ergebnisse hinzufügen und ein Matter-Gerät über Bluetooth koppeln.

Als Markdown ansehen

Bei Treibern, deren Protokoll einen echten Suchlauf unterstützt, findet Suchen Geräte oder Punkte für Sie, statt dass Sie sie eintippen. Der Befehl wohnt auf der Befehlsleiste eines Treiberknotens (und bei Modbus RTU in der Karte Einheiten suchen auf der Seite einer seriellen Leitung), während alles, was der Suchlauf nimmt, in der Karte Umfang des Suchlaufs auf der Seite des Treibers wohnt: Die Leiste trägt den Befehl, die Karte trägt seinen Umfang. Alles davon braucht Connector konfigurieren: Einer Rolle ohne dieses Bit werden weder die Karte für den Umfang noch die Schaltfläche gezeichnet. Ein Suchlauf lehnt ab, solange ein Lauf die Station hält oder die Runtime gestoppt ist. Gibt ein Suchlauf nichts zurück, ist das ein Ergebnis des Suchlaufs und keine fehlende Funktion: Die Schaltfläche erscheint nur dort, wo ein Suchlauf Ergebnisse liefern kann.

Welche Treiber suchen

Treiber Was der Suchlauf tut Braucht
Simulated Führt seinen Katalog simulierter Gerätemodelle auf, je eine fertige Instanz, mit ihren Kanälen. Nichts.
Modbus TCP Sendet Read Device Identification (Funktion 43/14) an ausdrücklich genannte Hosts und Unit-IDs; eine geprüfte Modbus-Ausnahme beweist eine Einheit, ohne sie zu benennen. Gibt den Endpunkt zurück und keine Tags. Die Karte Umfang des Suchlaufs.
Modbus RTU Tastet einen einschließenden Bereich von Unit-IDs nacheinander über das gespeicherte Tupel einer Leitung ab, mit derselben Anfrage und ohne Zugriff auf Register. Eine Leitung, deaktiviert oder ohne aktivierte Geräte, und einen Bereich von Unit-IDs.
OPC UA Fragt einen Server nach seinen angebotenen Endpunkten ab und durchsucht dann den Adressraum jedes Endpunkts nach Punkten. Die Adresse des Servers, in der Karte Umfang des Suchlaufs auf der Seite des Treibers ("Adresse eines OPC UA-Servers, z. B. opc.tcp://plc-host:4840"). Ohne sie oder mit einer Adresse, die keine ist, graut Suchen aus und sagt, was erwartet wird.
Rockwell EtherNet/IP Sendet ListIdentity als Rundruf und durchsucht die Tags jeder Steuerung. Nichts.
BACnet Sendet Who-Is als Rundruf und hört auf Antworten vom Typ I-Am, wobei jedes Gerät in dem Augenblick erscheint, in dem es antwortet. Gibt Adresse, Port und Geräteinstanz zurück und keine Tags. Nichts.
Redfish Liest die Adresse des Dienstes, die er bekommt, und geht dessen erstes System, ersten Verwaltungscontroller und erstes Gehäuse durch. Gibt den Dienst und seine Punkte zurück. Die Karte Umfang des Suchlaufs.
AVEVA PI Durchläuft das AF-Element, das er bekommt, und alles darunter. Gibt den Dienst und einen Punkt je Attribut zurück. Die Karte Umfang des Suchlaufs.
OCPP Führt die Ladestationen auf, die gerade mit dieser Station verbunden sind. Nichts.
Matter Führt die Knoten auf, die bereits in das Fabric dieser Station aufgenommen sind. Nichts.

Siemens S7, Beckhoff ADS, Mitsubishi MC, IEC 61850, LoRaWAN und HTTP haben keinen Suchlauf und zeigen keine Schaltfläche. Die Schaltfläche erscheint erst, wenn der eingebettete Server läuft, denn es ist das Treiberverzeichnis des Servers, das beantwortet, ob ein Suchlauf laufen kann, und sie erscheint nur für die Treiber, die diese Version installiert: Antwortet das Verzeichnis mit einer Programmbibliothek, die die Anwendung nicht kennt, bleibt die Schaltfläche weg, und die Seite Ereignisse hält fest, dass der installierte Treiber nicht der ist, den diese Version ausliefert.

Modbus TCP: die Karte Umfang des Suchlaufs

Die Karte erscheint auf der Seite des Treibers Modbus TCP: "Nur lesende Identifikation der Geräte; Register werden nach dem Hinzufügen eingerichtet."

Feld Werte / Standard Wirkung
IPv4-Host oder CIDR Eine Adresse oder ein CIDR von /24 bis /32; die Anwendung leitet das lokale Teilnetz nie ab. Jede Hostadresse des Bereichs, Netz- und Broadcast-Adresse ausgenommen.
Port 1 bis 65535; 502. Der Port, unter dem jeder Host angewählt wird.
Unit-IDs Werte, durch Komma getrennte Listen oder aufsteigende Bereiche, 0 bis 255 ("1, 3, 8-16"); "1". Jeder Host wird nach jeder Kennung gefragt.
Minimales Transaktionsintervall (ms) 0 bis 1000; 0. Ruhe zwischen abgeschlossenen Abtastungen auf demselben Host; die Hosts werden unabhängig voneinander getaktet. Nur für den Suchlauf: Es wird nicht in die Geräte geschrieben, die Sie hinzufügen.

Die Zeile unter den Feldern ist der Rahmen: "2 Hosts × 3 Unit-IDs = 6 Abtastungen · Grenze 256", mit "· 100 ms Ruhe je Host.", wenn gesetzt. Ein Suchlauf darf höchstens 256 Abtastungen senden; über den Rahmen hinaus wird die Zeile rot ("Dieser Suchlauf würde 512 Abtastungen senden; verkleinern Sie den Netz- oder Unit-ID-Bereich auf 256 oder weniger."), und Suchen graut aus. Falsche Eingaben werden ebenso benannt ("'10.0.0' ist keine gültige IPv4-Adresse aus vier Oktetten.", "Das CIDR-Präfix muss zwischen /24 und /32 liegen.", "Geben Sie mindestens eine Unit-ID ein (0-255).", "Der Unit-ID-Bereich '9-3' muss aufsteigen."). Ein Feld des Umfangs zu ändern verwirft die Ergebnisse des vorherigen Suchlaufs, weil sie einen anderen Umfang beschrieben. Höchstens vier Hosts werden zugleich abgesucht, mit einer Verbindung je Host.

Modbus RTU

Der Suchlauf steht auf der Seite der Leitung, nicht auf der des Treibers: Erste Unit-ID und Letzte Unit-ID (1 bis 247, aufsteigend, standardmäßig 1 bis 32) und ihre eigene Schaltfläche Suchen, mit einer Schätzung des schlechtesten Falls ("32 Abtastungen · bis zu ~32,1 s, einschließlich 4,011 ms Ruhe vor jeder Abtastung."). Der Suchlauf öffnet den Anschluss einmal mit den gespeicherten Einstellungen der Leitung, tastet jede Einheit der Reihe nach ab und lehnt eine Leitung in Betrieb ab, statt sie zu unterbrechen: "Diese Leitung ist in Betrieb. Deaktivieren Sie sie vor der Gerätesuche; Ganter Lab unterbricht den Bus nicht und aktiviert ihn nicht automatisch wieder." Eine anstehende Änderung an der Leitung wird gespeichert, bevor der Suchlauf beginnt; geht das nicht, beginnt er nicht ("Die Gerätesuche wurde nicht gestartet, weil die Änderung an der seriellen Leitung nicht gespeichert werden konnte."). Die Seite Serielle Leitungen behandelt den Rest dieser Karte.

Redfish und AVEVA PI: der Dienst, den der Suchlauf liest

Weder ein Redfish-Dienst noch ein PI System kündigt sich in einem Netz an, in dem diese Station lauschen kann, diese beiden Suchläufe lesen also den einen Dienst, auf den Sie sie richten, in der Karte Umfang des Suchlaufs auf der Seite des Treibers. Redfish nimmt die Adresse des Dienstes (https://bmc-host oder https://bmc-host:8443, wo er anderswo antwortet) und liest sie immer über HTTPS, weil die Anmeldedaten des Geräts bei jeder Anfrage mitreisen; eine Adresse, die den unverschlüsselten Weg verlangt, wird dort abgelehnt, wo sie eingetippt wird. AVEVA PI nimmt die Adresse des Dienstes und, nach einem #, das AF-Element, bei dem der Durchlauf beginnt: https://pi-host/piwebapi#\\AF-SRV\Plant\Line 3. Ohne dieses Element gibt es nichts zu durchlaufen, Suchen graut also aus und sagt, was erwartet wird.

Beide Suchläufe lesen den Dienst ohne Anmeldedaten, weil sie laufen, bevor es das Gerät gibt, das sie hielte. Ein Dienst, der jede Anfrage anmeldepflichtig macht, antwortet daher nichts, und der Suchlauf findet nichts: Legen Sie diesen Dienst von Hand an und seine Punkte dazu.

Einen Suchlauf ausführen

Solange der Suchlauf läuft, schreibt die Seite des Treibers eine Statuszeile, und Suchen auf der Leiste wird zu Abbrechen. Der Status kommt aus zwei unabhängigen Stufen, der Suche nach Endpunkten und dem Durchsuchen der Kanäle: "Endpunkte werden abgesucht…", "Endpunkt 2 wird untersucht…", "Kanäle von opc.tcp://plc:4840 werden gelesen…", dann "3 Gerät(e) gefunden."; die Treiber, die ihren eigenen Fortschritt melden, sagen "OPC UA-Server … wird nach angebotenen Endpunkten gefragt…" und "2 Endpunkte gefunden.", "Rockwell-Steuerungen werden gesucht…", "BACnet-Geräte werden abgesucht…", "In Betrieb genommener Matter-Knoten 1 von 2 wird untersucht…", "2 Hosts × 3 Unit-IDs werden abgesucht…" oder "Einheit 5 wird abgetastet (5 von 32)…". Ein Suchlauf, der an einem Fehler des Treibers endet, behält, was er gefunden hat, und sagt es: "Der Suchlauf endete mit einem Fehler, nachdem er 1 Gerät(e) gefunden hatte. Die Liste kann unvollständig sein." Ein Endpunkt, dessen Kanäle sich nicht lesen ließen, wird trotzdem aufgeführt, mit null Tags.

Der Suchlauf besitzt den Treiber, solange er läuft: Sie können keinen anderen Knoten wählen ("Brechen Sie die Gerätesuche ab, bevor Sie diesen Treiber verlassen."), kein Gerät und keine Leitung hinzufügen, keine Leitungen aktivieren oder deaktivieren und keine Zeilenbefehle verwenden, bis er endet. Die Ergebnisse gehören dem Fenster, das den Suchlauf gestartet hat: Ein anderer Browser-Tab an derselben Station sieht sie nicht.

Abbrechen

Abbrechen ("Wird abgebrochen…", sobald gedrückt) hält beide Stufen an. Kandidaten, die vor dem Abbruch vollständig vorbereitet waren, bleiben aufgeführt; der Endpunkt, dessen Kanäle noch gelesen wurden, wird verworfen. Der Status liest "Gerätesuche abgebrochen." und das Aktionsprotokoll "Gerätesuche für OPC UA abgebrochen; 2 fertige Ergebnis(se) behalten." Der Suchlauf gilt als beschäftigt, bis der vorübergehende Socket, Client oder die Sitzung des Treibers geschlossen ist; nach zwei Sekunden sagt der Status "Es wird darauf gewartet, dass der Treiber seine Mittel für die Gerätesuche freigibt…", statt so zu tun, als wäre der Suchlauf schon vorbei, denn ein Treiber lässt nicht immer in dem Augenblick los, in dem er gefragt wird.

Die Ergebnisse

Die Karte Gefundene Geräte (an einer Leitung Gefundene Einheiten) führt eine Karte je Kandidat auf: einen änderbaren Namen, den Endpunkt und "2 von 5 Tags ausgewählt". Darunter eine kompakte Tabelle der Kandidaten für Tags mit einem Haken Hinzufügen (standardmäßig gesetzt), Tag, Typ und Zugriff; gibt es keine: "Keine Tags gemeldet. Fügen Sie das Gerät hinzu, um Tags in seinem Editor einzurichten." Nichts wird gespeichert, bis Sie auf einer Karte Gerät hinzufügen drücken ("Wird hinzugefügt…", während es läuft): Das Gerät wird unter einem am Treiber eindeutigen Namen mit genau den angehakten Tags angelegt, die Karte verlässt die Liste, die Seite öffnet sich auf dem neuen Gerät, und das Aktionsprotokoll liest "'Pump' mit 3 Tag(s) hinzugefügt." Gefundene Tags kommen nur lesend oder schreibbar an, so wie der Treiber sie gemeldet hat, mit ihrem Typ und mit der Standardkette; sonst wird nichts abgeleitet.

Ein Kandidat, der zu einem Gerät passt, das Sie schon haben, wird als Bereits eingerichtet gekennzeichnet und bietet Öffnen statt Hinzufügen an, ein Suchlauf legt also nie ein versehentliches Duplikat an. Verglichen werden nur feste Identitäten: eine Modbus RTU-Einheit auf derselben Leitung und die Node-ID eines Matter-Knotens. Andere Treiber vergleichen nichts, denn ein erreichbarer Endpunkt ist kein Beweis, dass es dieselbe Anlage ist.

Verwerfen leert die Liste und wartet auf den Suchlauf: Solange einer läuft, ist es ausgegraut, denn die Liste mitten im Suchlauf zu leeren bricht ihn auch ab und wirft alles weg, was bereits geantwortet hatte. Einen anderen Treiber zu wählen oder den Umfang zu ändern leert sie ebenfalls. Solange ein Suchlauf läuft, grauen das Löschen eines Geräts oder eines Tags und das Verschieben eines Geräts in einen Ordner mit demselben Grund aus: Der Suchlauf hält den Treiber, und der Befehl wäre fehlgeschlagen, nachdem Sie ihn bestätigt hätten. Bei Modbus RTU ist die Unit-ID eine eigene Spalte, und eine Kennung, die auf der Leitung schon eingerichtet ist, wird beim Hinzufügen abgelehnt: "Die Einheit 5 ist auf 'Line 1' bereits eingerichtet."

Ein Matter-Gerät koppeln

Matter nimmt das physische Gerät über Bluetooth in Betrieb, bevor es hier existiert, der erste Befehl des Treibers Matter ist deshalb Gerät koppeln und nicht Gerät hinzufügen, und er öffnet ein Formular auf der Seite des Treibers (das Menü Neu… und das Rechtsklickmenü des Treibers bieten dasselbe an). Das Koppeln braucht Connector konfigurieren, einen brauchbaren Bluetooth-LE-Funk an diesem Rechner und ein vorhandenes Thread-Netz, dessen Datensatz Sie erhalten dürfen. Das Formular sagt es: "Versetzen Sie das physische Gerät in den Kopplungsmodus, bevor Sie fortfahren. Die Kopplung verwendet Bluetooth an diesem Rechner."

Feld Was es ist
Gerätename Der änderbare Name, den das Gerät im Connector haben wird; standardmäßig "Matter device", mit "Kitchen light" als Platzhalter.
Matter-Einrichtungscode Der offizielle Code aus 11 oder 21 Ziffern, der auf dem Gerät aufgedruckt ist, oder die vollständige QR-Nutzlast, die mit MT: beginnt. Beim Tippen verdeckt; Einrichtungscode anzeigen deckt ihn auf.
Thread Operational Dataset Der vollständige aktive Datensatz des Thread-Netzes, hexadezimal, von der Netzverwaltung oder vom Border Router; "Ganter Lab kann für ein vorhandenes Netz keine Zugangsdaten erfinden." Beim Tippen verdeckt; Datensatz anzeigen deckt ihn auf.

Gerät koppeln ist freigegeben, sobald alle drei gefüllt sind und die Station Änderungen annimmt. Das Formular geht dann fünf Schritte durch, Prüfen, Suchen, Koppeln, Thread beitreten und Speichern, mit einer Statuszeile darunter: "Einrichtungscode und Thread-Datensatz werden geprüft…", "Das Gerät wird über Bluetooth gesucht…", "Das Gerät wird angemeldet und gekoppelt…", "Die Konfiguration des vorhandenen Thread-Netzes wird gesendet…", "Es wird darauf gewartet, dass das Gerät dem Thread-Netz beitritt…", "Der in Betrieb genommene Knoten wird im lokalen Fabric gespeichert…", "Kopplung abgeschlossen." Abbrechen wird nur angenommen, bis die passende Ankündigung ausgewählt ist ("Anhalten, bevor das Gerät verändert wird"); von da an liest die Schaltfläche "Wird sicher beendet…", weil das Gerät verändert wurde und die Station den Knoten festhalten muss, auch wenn Sie gehen. Schließen blendet das Formular aus, solange nichts läuft.

Bei Erfolg wird das Gerät nur mit der Node-ID als Identität angelegt (Einrichtungscode und Datensatz werden nie gespeichert, nie protokolliert und nie wieder gezeigt), die Seite öffnet sich darauf, und das Aktionsprotokoll liest "Matter-Gerät 'Kitchen light' gekoppelt." Wurde der Knoten in Betrieb genommen, sein Gerät ließ sich aber nicht anlegen, sagt das Aktionsprotokoll es, und Suchen ist der Weg zurück. Fehlschläge werden klar benannt, und das Formular bleibt für einen zweiten Versuch offen: ein ungültiger Code oder Datensatz, kein brauchbarer Bluetooth-Adapter, verweigertes oder abgeschaltetes Bluetooth, kein passendes Gerät ("Versetzen Sie es in den Kopplungsmodus, halten Sie es in der Nähe und versuchen Sie es erneut."), ein abgelehnter Einrichtungscode, ein Gerät, das dem Thread-Netz nicht beigetreten ist (sein Knoten bleibt im Fabric und lässt sich mit Suchen zurückholen), ein Fabric, das sich nicht speichern ließ (wenn das Gerät bereits in Betrieb genommen war: "Setzen Sie das Gerät nicht zurück, bis das Problem mit dem Speicher des Fabric behoben ist."), oder eine bereits laufende Kopplung. Es läuft immer nur eine Kopplung; solange sie läuft, können Sie den Treiber nicht verlassen ("Warten Sie, bis die Matter-Kopplung fertig ist, bevor Sie diesen Treiber verlassen.").

Was die Gerätesuche nicht tut

Ein Suchlauf speichert nie von sich aus etwas, ändert nie ein vorhandenes Gerät und läuft nie von selbst erneut. Er leitet weder Teilnetze noch Registerbelegungen noch serielle Einstellungen ab, aktiviert und deaktiviert keine Leitung und entfernt verworfene Kandidaten nicht aus der Anlage. Er wird bei einem Treiber abgelehnt, den das Paket nicht mitbringt. Was die Ergebnisse jedes Treibers enthalten, steht auf der Seite dieses Treibers unter Treiber.