# Geräte

> Die Seite eines Geräts: ihre Kopfzeile und ihre Befehle, die Karte Gerät, die Karte Verbindung mit den Feldern, die jeder Treiber zeigt, Anmeldedaten und Zertifikate, die Tabelle Tags mit Massenbearbeitung, ein Gerät kopieren und wie Duplikate und Namenskonflikte behandelt werden.

Ein **Gerät** ist eine Anlage, mit der die Station über einen Treiber spricht: wie sie erreicht wird und welche Tags von ihr gelesen werden. Wählen Sie eine Gerätezeile in der Spalte Kommunikation oder drücken Sie Öffnen in einer Gerätezeile der Tabelle eines Treibers, einer Leitung, eines Brokers oder eines Ordners, um seine Seite zu öffnen. Connector anzeigen liest sie; Connector konfigurieren bearbeitet sie. Serielle Leitungen haben ihre eigene Seite, [Serielle Leitungen](connector-lines), und MQTT-Broker sind unter [MQTT](driver-mqtt#the-broker) beschrieben.

## Ein Gerät anlegen {#creating-a-device}

| Geste | Ergebnis |
| --- | --- |
| **Neu…** > `<Treiber>` > **Neues Gerät** im Fuß der Spalte | Ein Gerät auf der Ebene des Treibers selbst, unter jedem Treiber, dessen Geräte direkt unter ihm hängen. |
| **Gerät hinzufügen** in der Tabelle Geräte auf der Seite eines Treibers | Dasselbe. |
| **Neues Gerät** in der Tabelle Geräte eines Ordners oder in seinem Rechtsklickmenü, oder **Neu…** > `<Treiber>` > `<Ordner>` > **Neues Gerät** | Ein Gerät, das in diesem Ordner liegt; unter Matter öffnet sich das Formular für die Kopplung, und der gekoppelte Knoten wird in diesem Ordner abgelegt. |
| **Gerät hinzufügen** auf der Karte Geräte einer seriellen Leitung oder in ihrem Rechtsklickmenü, oder **Neu…** > `<Treiber>` > `<Leitung>` > **Neues Gerät** | Ein Modbus RTU-Gerät an dieser Leitung, unter der ersten freien Unit-ID, oder auf einer Leitung des Treibers Generic serial and TCP oder des Treibers SCPI instruments ein Gerät dieses Treibers auf der Leitung. Auf einer Leitung des Omron-Treibers eine Steuerung auf der Leitung unter der ersten freien Einheitennummer von 0 bis 31. |
| **Gerät hinzufügen** auf der Karte Geräte eines Brokers oder in seinem Rechtsklickmenü, oder **Neu…** > MQTT > `<Broker>` > **Neues Gerät** | Ein MQTT-Gerät an diesem Broker, in einfachem MQTT. |
| **Gerät hinzufügen** an einem Ergebnis der Gerätesuche | Ein Gerät mit dem Endpunkt, den der Suchlauf gefunden hat, und den Tags, die Sie angehakt haben; siehe [Gerätesuche](connector-discovery). |
| **Gerät koppeln** auf der Leiste des Treibers Matter, oder **Neu…** > Matter > **Gerät koppeln** | Ein in Betrieb genommener Matter-Knoten auf der eigenen Ebene des Treibers; siehe [Gerätesuche](connector-discovery#pairing-a-matter-device). |
| **Gerät kopieren** an einem Gerät | Eine Kopie des gewählten Geräts, mit Tags. |

Ein neues Gerät heißt "Neues Gerät" (dann "Neues Gerät 2" und so fort), ist aktiviert, hat ein Abfrageintervall von 1000 ms, die Unit-ID 1 und den Port, den sein Treiber verwendet (siehe die Karte Verbindung weiter unten; ein Gerät des Treibers Generic serial and TCP beginnt ohne), und es wird nicht geöffnet: Es erscheint markiert und in den sichtbaren Bereich gerollt in der Tabelle Geräte der Seite, die es aufführt (der des Treibers, des Ordners, der Leitung oder des Brokers), und das Aktionsprotokoll liest "Gerät 'Neues Gerät' hinzugefügt. Öffnen Sie es, um seine Angaben zu bearbeiten." Aus dieser Tabelle heraus bleibt die Ansicht, wo sie ist; aus Neu… oder einem Rechtsklick wechselt sie auf diese Seite. **Öffnen** in der Zeile oder ihre Zeile im Baum öffnet das Gerät. Ein Gerät wird unter einem Treiber abgelehnt, den das Paket nicht mitbringt, und unter Matter, wo ein Gerät nur aus einer Kopplung oder aus der Gerätesuche kommt ("Verwenden Sie Gerät koppeln, um einen neuen Matter-Knoten anzulegen, oder Geräte suchen, um einen bereits in Betrieb genommenen aufzunehmen."). Jede dieser Gesten steht unter einem bereits hinzugefügten Treiber; wie man einen hinzufügt, steht auf [Die Treiberliste und die Seite eines Treibers](connector-drivers#row-actions).

Ein Gerät, dessen Treiber seine Anlage über einen Host erreicht (jeder Treiber mit dem Feld **Hostadresse**), beginnt mit leerem Host, und die Station versucht nicht, es zu verbinden, bis der Host eingetragen ist: Sein Punkt bleibt grau, Zeile und Seite zeigen "Hostadresse noch nicht eingetragen", seine Tags lesen als Lücken, und kein Verbindungsfehler kann erscheinen, bevor es eine Adresse zum Versuchen gibt. In der Zwischenzeit wird es nie auf diesen Rechner gerichtet; für eine Anlage, die wirklich auf diesem Rechner läuft, tragen Sie `localhost` ein. Ein NI-DAQmx-Gerät hat keinen Host: Es wartet ebenso auf sein Feld **Gerätename** und zeigt "NI-DAQmx-Gerät noch nicht eingetragen", bis es einen hat (siehe [NI-DAQmx](driver-ni-daqmx#the-ni-daqmx-device-card)). Ein Fluke-NetDAQ-Gerät wartet auf seine Hostadresse und dann auf den **Basiskanal** seines Messgeräts und zeigt "Basiskanal noch nicht eingetragen", bis es einen hat (siehe [Fluke NetDAQ](driver-fluke-netdaq#device)). Ein File-Gerät wartet auf seinen **Ordnerpfad** und zeigt "Ordner noch nicht eingetragen", bis es einen hat (siehe [File](driver-file#device)). Ein Database-Gerät wartet darauf, wo seine Datenbank ist (sein Server und der Datenbankname, seine Datei oder seine Datenquelle), und zeigt "Server noch nicht eingetragen", bis es einen Server hat (siehe [Database](driver-database#the-database-card)). Ein LoRaWAN-Gerät wartet auf seine **DevEUI des Sensors** (ein Sensor) oder seine **EUI der Station** (ein Konzentrator) und zeigt "DevEUI noch nicht eingetragen" oder "EUI der Station noch nicht eingetragen", bis es eine hat (siehe [LoRaWAN](driver-lorawan#connection-fields)); auf eine Kennung, die eingetragen ist und nicht aus 16 hexadezimalen Ziffern besteht, wird nicht gewartet, sie wird abgewiesen.

Sobald es einen Host hat, ist das Verbinden nie ein Schritt, der blockiert: Der Connector nimmt das Gerät auf und verbindet in einer Wiederholschleife im Hintergrund, ein nicht erreichbares Gerät kostet also nichts. Seine Tags lesen als Lücken, bis die Verbindung steht, und die Seite zeigt währenddessen den letzten Verbindungsfehler.

## Die Kopfzeile {#the-header}

Der Name, die Zeile "Eine Anlage, mit der diese Station spricht: wie sie erreicht wird und welche Tags aus ihr gelesen werden." und eine Pille mit dem **Basis-URI**, der genauen Adresse, mit der sich der Connector verbindet, live aus der Karte Verbindung zusammengesetzt (zum Beispiel `modbus+tcp://192.168.0.10:502/1`, `opc.tcp://plc:4840`, `simulated://CompressedAir`). Ein Gerät ohne Host hat noch keinen Basis-URI, deshalb fehlt die Pille, bis der Host eingetragen ist. Sie fehlt auch, solange die Felder keine Adresse ergeben, die der Treiber annimmt, etwa bei einem Modbus-RTU-Gerät, dessen Leitung fehlt oder dessen Leitung einen Wert hält, den ihre Seite nicht gespeichert hat. Darunter einer von sechs Hinweisen:

- **Treiber in diesem Paket nicht enthalten**: "Dieses Gerät braucht den Treiber …, den diese Installation nicht enthält, deshalb bleibt es getrennt. Seine Einstellungen bleiben erhalten, und es lässt sich löschen; sonst ändert hier nichts, was es liest." Die Auslassungspunkte stehen für den Namen des Treibers.
- **VISA ist auf diesem Rechner nicht installiert** (SCPI instruments, ein über VISA erreichtes Gerät): "Dieses Gerät erreicht sein Messgerät über VISA, das auf diesem Rechner fehlt, deshalb bleibt es getrennt. Installieren Sie NI-VISA oder die Keysight IO Libraries Suite, dann verbindet sich das Gerät. Ein Messgerät mit Netzwerkanschluss lässt sich auch über TCP erreichen." Siehe [SCPI instruments](driver-scpi#visa-on-this-computer).
- **NI-DAQmx ist auf diesem Rechner nicht installiert** (NI-DAQmx, auf einem Rechner ohne es): "Dieses Gerät wird über NI-DAQmx gelesen, das auf diesem Rechner fehlt, deshalb bleibt es getrennt. Ganter Lab enthält NI-DAQmx nicht: Installieren Sie es kostenlos von ni.com, dann verbindet sich das Gerät mit seiner bestehenden Konfiguration." Siehe [NI-DAQmx](driver-ni-daqmx#ni-daqmx-on-this-computer).
- **Wartet auf Freigabe des Zertifikats** (OPC UA, Redfish, AVEVA PI, HTTP über HTTPS, MQTT über TLS): "Diese Anlage hat ein Zertifikat vorgelegt, das diese Station nie freigegeben hat, deshalb wird noch nichts aus ihr gelesen. Prüfen Sie den Fingerabdruck mit derjenigen Person, die die Anlage in Betrieb genommen hat, und geben Sie ihn dann unter Anlagenzugriff auf der Seite des OPC UA-Treibers frei.", mit dem eigenen Treiber des Geräts genannt, oder bei einem MQTT-Gerät "Der Broker dieses Geräts hat ein Zertifikat vorgelegt, das diese Station nie freigegeben hat, deshalb wird aus diesem Gerät noch nichts gelesen. Prüfen Sie den Fingerabdruck mit derjenigen Person, die den Broker betreut, und geben Sie ihn dann unter Anlagenzugriff auf der Seite des MQTT-Treibers frei.", mit einer Schaltfläche **Zertifikat prüfen**, die den Anlagenzugriff auf der Seite des Treibers auf diesem Zertifikat öffnet ([OPC UA](driver-opc-ua#equipment-access), [Redfish](driver-redfish#equipment-access), [AVEVA PI](driver-aveva-pi#equipment-access), [HTTP](driver-http#equipment-access), [MQTT](driver-mqtt#equipment-access)).
- **Hostadresse noch nicht eingetragen**, ein neutraler Hinweis an einem aktivierten Gerät, dessen Host noch leer ist: "Die Station versucht nicht, dieses Gerät zu erreichen, solange es keine Hostadresse hat. Deshalb wird noch nichts aus ihm gelesen, und es gibt keinen Fehler anzuzeigen. Tragen Sie die Hostadresse unten in der Karte Verbindung ein, dann verbindet sich die Station mit ihm." Ein NI-DAQmx-Gerät ohne Gerätenamen zeigt stattdessen **NI-DAQmx-Gerät noch nicht eingetragen**: "Die Station versucht nicht, dieses Gerät zu erreichen, solange es keinen NI-DAQmx-Gerätenamen hat. Deshalb wird noch nichts aus ihm gelesen, und es gibt keinen Fehler anzuzeigen. Tragen Sie den Namen, den NI MAX dem Gerät gibt, unten in der Karte NI-DAQmx-Gerät ein, dann verbindet sich die Station mit ihm." Ein File-Gerät ohne Ordner zeigt **Ordner noch nicht eingetragen**: "Die Station liest dieses Gerät nicht, solange es keinen Ordner hat. Deshalb wird noch nichts aus ihm gelesen, und es gibt keinen Fehler anzuzeigen. Tragen Sie den Ordner unten in der Karte Ordner und Datei ein, dann beginnt die Station, es zu lesen." Ein Database-Gerät, das nicht angibt, wo seine Datenbank ist, zeigt **Server noch nicht eingetragen**, **Datenbankname noch nicht eingetragen**, **Datenbankdatei noch nicht eingetragen** oder **Datenquelle noch nicht eingetragen**, je nachdem, was ihm noch fehlt: "Die Station erreicht dieses Gerät nicht, solange es nicht angibt, wo seine Datenbank ist. Deshalb wird noch nichts aus ihm gelesen, und es gibt keinen Fehler anzuzeigen. Tragen Sie es unten in der Karte Datenbank ein (den Server und den Datenbanknamen, die Datei oder die Datenquelle), dann verbindet sich die Station damit."
- Sonst, bei einem Gerät, das über eine serielle Leitung oder einen Broker mit Fehler läuft, ein neutraler Hinweis, der dorthin verweist, "Dieses Gerät läuft über die serielle Leitung Bench bus, die einen Fehler hat. Die Seite der Leitung sagt, warum.", oder andernfalls der eigene Fehler des Geräts in Rot, wenn es einen gibt (siehe [Aktivierung und Zustand](connector-health#last-error)).

Darunter nennt das Gerät seine Tags, die einen eigenen Fehler haben, hinter derselben roten Marke, die der Baum zeigt: "3 Tags mit Fehler: C3, Opt_Int, T5", die übrigen nach drei Namen gezählt. Der Grund jedes Tags bleibt am Tag. Solange das Gerät nicht verbunden ist, nennt es keines: Sein eigener Fehler sagt, warum.

## Die Befehlsleiste {#the-command-bar}

| Befehl | Wirkung | Ausgegraut, wenn (Situation) | Nicht gezeichnet, wenn (Rolle) |
| --- | --- | --- | --- |
| **Neu verbinden** | Schließt die Verbindung dieses Geräts und öffnet sie wieder, ohne ein anderes Gerät anzurühren. Das Aktionsprotokoll wartet auf den Treiber und sagt dann, was geschah: "'Furnace' neu verbunden." oder "'Furnace' ließ sich nicht neu verbinden:" mit der Ursache. Es wird nichts neu geladen, und ein Gerät, das erst später antwortet, kommt trotzdem von selbst zurück. | Ein Suchlauf oder eine Kopplung läuft, ein Lauf hält die Station, die Runtime ist gestoppt, oder das Gerät wartet noch auf seine Adresse. Sein Tooltip nennt dann, was seinem Treiber fehlt, mit den Worten der eigenen Zeile des Geräts: "Hostadresse noch nicht eingetragen, deshalb gibt es keine Verbindung, die neu geöffnet werden könnte." bei einem Treiber, der seine Anlage über einen Host erreicht, und derselbe Satz, eröffnet von "NI-DAQmx-Gerät noch nicht eingetragen" bei NI-DAQmx, von "Ordner noch nicht eingetragen" und danach "Dateiname noch nicht eingetragen" bei File sowie von "Server noch nicht eingetragen", "Datenbankname noch nicht eingetragen", "Datenbankdatei noch nicht eingetragen" oder "Datenquelle noch nicht eingetragen" bei Database sowie von "DevEUI noch nicht eingetragen" oder "EUI der Station noch nicht eingetragen" bei LoRaWAN. | Ohne Connector konfigurieren. |
| **Aktivieren** | Lässt das Gerät an der Erfassung teilnehmen. | Schon aktiviert, oder die Station lehnt Änderungen ab. | Ohne Connector konfigurieren. |
| **Deaktivieren** | Hält jede Kommunikation mit dem Gerät an und zieht seine Tags aus dem laufenden Adressraum zurück; jedes Tag behält seinen eigenen Schalter Aktiviert. | Schon deaktiviert, oder die Station lehnt Änderungen ab. | Ohne Connector konfigurieren. |
| **Gerät kopieren** | Legt eine Kopie an, markiert in der Tabelle der Seite, die sie aufführt (unten). | Das Paket bringt den Treiber nicht mit ("Treiber in diesem Paket nicht enthalten."), oder die Station lehnt Änderungen ab. | Ohne Connector konfigurieren. |
| **Gerät löschen** (in der Gefahrenfarbe, rechts) | Fragt "'Furnace' löschen? Damit werden auch alle seine Tags gelöscht. Das lässt sich nicht rückgängig machen.", löscht dann und wählt den Elternknoten, im Baum geöffnet und mit seiner Tabelle im Blick (die Leitung, den Broker, den Ordner, in dem das Gerät abgelegt war, oder den Treiber). | Die Station lehnt Änderungen ab. | Ohne Connector konfigurieren. |

Das Rechtsklickmenü ergänzt **Tag hinzufügen** und **Verschieben nach** (siehe [Geräteordner](connector-folders#moving-a-device)).

## Die Karte Gerät {#the-device-card}

| Feld | Was es ist | Werte / Standard | Wirkung |
| --- | --- | --- | --- |
| **Bezeichnung** | Der sprechende Name; das letzte Segment der Identität des Geräts auf dem Bus und in der Adresse. | Pflichtfeld; eindeutig innerhalb des Treibers, ohne Rücksicht auf Groß- und Kleinschreibung. | Beim Tippen wird vorgezeigt, was das Umbenennen mit sich bringt ("Verweise werden geprüft…", dann wie viele Verweise mitgehen, oder "Die wirksame Adresse ändert sich nicht; es müssen keine Verweise aktualisiert werden."); die Eingabetaste oder das Verlassen des Feldes übernimmt, und jeder Verweis auf die alten Adressen wird im selben Vorgang umgeschrieben: "Gerät umbenannt und 3 Verweise aktualisiert." Ein leerer Name wird abgelehnt: "Der Name des Geräts ist erforderlich." |
| **Treiber** | Das Protokoll, das das Gerät spricht. | Wird nur gelesen. | Beim Anlegen festgelegt; siehe [Treiber](drivers). |
| **Abfrageintervall (ms)** | Wie oft die Station die Tags des Geräts liest, sofern ein Tag es nicht selbst festlegt. | 1000; ein Wert von null oder weniger wird als 1000 gespeichert. | Verborgen bei Treibern, die fest im Sekundentakt lesen oder Daten gesendet bekommen (Mitsubishi MC, BACnet, OCPP, LoRaWAN, MQTT). |

## Die Karte Verbindung {#the-connection-card}

Die Karte erscheint bei jedem Treiber, der Verbindungsfelder erklärt, und zeigt nur die Felder, die dieser Treiber liest. Die Seite jedes Treibers erklärt seine Felder in der Tiefe; das hier ist die vollständige Aufstellung, so wie der Bereich sie zeichnet.

| Feld | Gezeigt bei | Was es ist |
| --- | --- | --- |
| **Hostadresse** | Modbus TCP, OPC UA, Siemens S7, Rockwell, Omron, Beckhoff, Mitsubishi, BACnet, Redfish, AVEVA PI, HTTP, Generic serial and TCP (TCP-Client), SCPI instruments (TCP), SNMP | Hostname oder IP-Adresse. Solange sie leer ist, wird das Gerät überhaupt nicht verbunden (siehe [Ein Gerät anlegen](#creating-a-device)); für eine Anlage auf diesem Rechner schreiben Sie `localhost`. Ein IPv6-Literal wird im Basis-URI für Sie in Klammern gesetzt. Eine vollständige Adresse kann eingefügt werden: Das eigene Schema des Treibers (`opc.tcp://`, `modbus+tcp://` und ähnliche) entfällt, ein Port nach dem Host geht in das Portfeld und ein Pfad in den Ressourcenpfad. Was das Gerät in keinem Feld hält (das Schema eines anderen Protokolls, ein Pfad oder Port, den der Treiber nicht führt, eine IPv6-Adresse ohne Klammern nach einem Schema), wird mit dem Grund unter dem Feld abgelehnt, und das Feld zeigt wieder den geltenden Host. Ebenso ein Host, der kein Name sein kann: einer der durch Punkte getrennten Teile leer (`plc..local`), länger als 63 Zeichen oder mit einem Bindestrich am Anfang oder Ende. |
| **Port** | Modbus TCP, OPC UA, Beckhoff, Mitsubishi, Omron (FINS), BACnet, Redfish, AVEVA PI, HTTP, Generic serial and TCP (TCP-Client), SCPI instruments (TCP), SNMP | TCP-Port, 1 bis 65535, oder der UDP-Port, auf dem ein SNMP-Agent antwortet. Ein neues Gerät beginnt auf dem Port, den sein Treiber verwendet (502, 4840, 851, 5007, 5025, 9600, 47808, 443, 161). Ein leeres Feld zeigt diesen Port grau, und das Gerät wird über ihn angewählt: So liest sich ein mit 0 gespeichertes Gerät, und ein geleertes Feld kehrt zu ihm zurück. AVEVA PI und HTTP beginnen leer, weil ihr Port dem gewählten Übertragungsweg folgt: 443 über HTTPS, 80 im Klartext, und der graue Port wechselt mit dem Übertragungsweg. Generic serial and TCP beginnt ebenfalls leer, ohne grauen Port: Für solche Anlagen ist kein Port üblich, und das Gerät wird nicht verbunden, solange es keinen hat. |
| **Unit-ID** | Modbus TCP, Modbus RTU | Die Modbus-Kennung der Einheit: 0 bis 255 über TCP; 1 bis 247 an einer seriellen Leitung, eindeutig je Leitung. An einer seriellen Leitung wird jede andere Zahl abgelehnt, bevor sie das Gerät erreicht: das Aktionsprotokoll sagt, warum ("Die Unit-ID muss zwischen 1 und 247 liegen."), und das Feld zeigt wieder die geltende Unit-ID. |
| **Rahmenformat** | Modbus TCP | Wie jede Anfrage über die Verbindung geht: MBAP (Modbus TCP selbst, die Voreinstellung) oder RTU, der RTU-Rahmen mit seiner CRC unverändert gesendet, für einen Seriell-Ethernet-Umsetzer im transparenten Modus. Der Basis-URI trägt dann `framing=rtu`. Siehe [RTU über TCP](driver-modbus-tcp#rtu-over-tcp). |
| **Mindestabstand zwischen Transaktionen (ms)** | Modbus TCP | Ruhe nach einem abgeschlossenen Versuch, bevor der Endpunkt den nächsten beginnt, 0 bis 1000, standardmäßig 0 ("Hilfe zur Verträglichkeit, 0-1000 ms. Null fügt keine künstliche Verzögerung hinzu."). Aktivierte Geräte, die sich Host und Port teilen, verwenden den größten Wert unter ihnen, und die Karte sagt es, wenn ein anderes Gerät ihn hebt: "Wirksam 200 ms · ein anderes aktiviertes Gerät auf 192.168.0.10:502 hebt das Maximum des Endpoints an." |
| **Serielle Leitung · fest** | Modbus RTU, Generic serial and TCP (ein Gerät auf einer Leitung), SCPI instruments (ein Gerät auf einer Leitung), Omron (ein Gerät auf einer Leitung) | Der Name der Leitung und ihr Tupel, nur gelesen; geändert auf der eigenen Seite der Leitung. "Fehlende Leitung" oder "Keine physikalische Leitung zugewiesen" bedeutet, dass das Gerät seine Leitung verloren hat und sich nicht speichern lässt: "Eine serielle Leitung ist erforderlich." |
| **Broker · fest** | MQTT | Der Name des Brokers über seiner Adresse, nur gelesen; Verbindung und Anmeldung werden auf der eigenen Seite des Brokers geändert. "Fehlender Broker" bedeutet, dass das Gerät seinen Broker verloren hat und sich nicht speichern lässt: "Ein MQTT-Broker ist erforderlich." |
| **Protokoll** | MQTT, Omron | Bei MQTT **Einfaches MQTT** oder **Sparkplug B**: ob jedes Tag ein Topic oder eine Metrik nennt. Siehe [MQTT](driver-mqtt#device). Bei Omron **FINS** oder **NJ/NX-Tags nach Name**: ob jedes Tag eine Speicheradresse oder eine Variable nennt und ob das Gerät einen Port und eine Karte FINS hat. Siehe [Omron](driver-omron#connection). |
| **Gruppen-ID**, **Edge-Node-ID**, **Geräte-ID** | MQTT, nur Sparkplug B | Der Edge-Node, der das Gerät ist, oder das Gerät dahinter; eine leere Geräte-ID liest die eigenen Metriken des Edge-Nodes. Eine Sparkplug B-Identität wird je Broker nur einmal eingerichtet. |
| **Rack / Steckplatz** | Siemens S7 | Zwei Zahlen; der Basis-URI liest `s7://host:rack:slot`. |
| **Steckplatz** | Rockwell EtherNet/IP | Eine Zahl, der Platz im Baugruppenträger, auf dem die Steuerung sitzt; eine CIP-Route trägt kein Rack, und der Basis-URI liest `eip://host:slot`. |
| **Lokale IP (AMS)** | Beckhoff ADS | Die IP dieser Station auf der AMS-Route; beide AMS Net Ids werden als `<ip>.1.1` abgeleitet. Leer verwendet die Adresse dieser Station in dem Netz, das die Steuerung erreicht, grau angezeigt. |
| **AMS Net Id der Steuerung** | Beckhoff ADS | Die eigene AMS Net Id der Steuerung, für eine Steuerung, deren Id nicht ihre IP gefolgt von `.1.1` ist. Leer verwendet die IPv4-Adresse des Hosts gefolgt von `.1.1` (ein Name wird zuerst aufgelöst), grau angezeigt. |
| **Geräte-ID** | BACnet | Die Instanz des BACnet-Geräts. |
| **Server / Schlüssel** | LoRaWAN | Der Anwendungsschlüssel. |
| **Kennung** | OCPP, LoRaWAN | Die Kennung der Ladestation oder die DevEUI (eine Schreibweise mit Doppelpunkten oder Bindestrichen wird auf das nackte Hexadezimal gebracht). Leer fällt auf den bereinigten Namen des Geräts zurück. |
| **Ressourcenpfad** | OPC UA, AVEVA PI, HTTP | Ein Pfad, der an die Autorität angehängt wird: der Serverpfad von OPC UA, die Dienstwurzel der PI Web API (standardmäßig `piwebapi`) oder das Präfix, mit dem jeder Pfad eines HTTP-Tags verbunden wird. |
| **Übertragungsweg** | AVEVA PI, HTTP, Generic serial and TCP, SCPI instruments | Bei einem Netzwerkgerät des Treibers Generic serial and TCP eine Liste: TCP-Client oder UDP-Empfang, die Host und Port zu Annehmen von und Lokaler Port macht (siehe [Generic serial and TCP](driver-generic-serial-tcp#connection)). Bei einem Gerät des Treibers SCPI instruments, das nicht auf einer Leitung liegt, eine Liste: TCP (LXI-Socket) oder VISA (USB, GPIB, Netzwerk), die Host und Port zur VISA-Ressource macht (siehe [SCPI instruments](driver-scpi#connection)). Bei AVEVA PI und HTTP das Kontrollkästchen **Über einfaches HTTP senden**. Aus bedeutet HTTPS, mit dem Hinweis "HTTPS. Das Bearer-Token oder das Passwort bleibt auf dem Weg zur PI Web API verschlüsselt."; ein wird der Hinweis zu einer Warnung, dass Token oder Passwort bei jeder Anfrage unverschlüsselt gesendet werden, für eine PI Web API, die auf keinem anderen Weg antwortet. Ein HTTP-Gerät trägt dasselbe Kästchen mit einem eigenen Hinweis, über die Anfragen und alle Anmeldedaten, die es sendet, und dort verschiebt auch ein Host, vor dem `http://` oder `https://` steht, dieses Kästchen; der Host wird ohne ihn gespeichert. |
| **VISA-Ressource** | SCPI instruments (VISA) | Der Name des Messgeräts, wie VISA ihn auflistet, etwa `USB0::0x0957::0x1A07::MY12345678::INSTR`, statt Host und Port. Geräte suchen trägt ihn ein. |
| **Benutzername**, **Passwort** | OPC UA, Redfish, AVEVA PI | Anmeldedaten je Gerät; ein leerer Benutzername bedeutet eine anonyme Verbindung ("Leer = anonym. Je Gerät gespeichert; das Passwort ist im Ruhezustand geschützt."). |
| **Bearer-Token** | AVEVA PI | Ein Token, das gegen Benutzername und Passwort gewinnt, wenn es gesetzt ist; **Token anzeigen** deckt es auf. |

Ein Matter-Gerät zeigt eine andere Karte Verbindung: **Node-ID · nur lesbar**, die 64-Bit-Kennung des Knotens, die die Kopplung vergeben hat (oder "Neue Kopplung nötig", wenn sich die gespeicherte Identität nicht lesen lässt), **Netzwerk · nur lesbar**, den Namen des Netzes, dem das Gerät bei der Kopplung beigetreten ist (ein Gerät, das gekoppelt wurde, bevor Ganter Lab ihn aufzeichnete, oder mit Suchen hinzugefügt wurde, sagt, dass er nicht aufgezeichnet ist), und **Zustand**, das Zustandswort des Geräts. Nichts darauf ist änderbar. Ein Gerät unter Simulated hat überhaupt keine Karte Verbindung. Ein Gerät des Treibers Generic serial and TCP trägt unter seiner Karte Verbindung zwei weitere Karten, Nachrichten und Prüfsumme, die sagen, wie eine Nachricht endet und wie sie geprüft wird; siehe [Generic serial and TCP](driver-generic-serial-tcp#the-messages-card). Ein über FINS gelesenes Omron-Gerät trägt unter seiner Karte Verbindung eine Karte FINS mit Transport, Netzwerk, Knoten, Einheit und Zeitlimit für die Antwort; siehe [Omron](driver-omron#the-fins-card). Ein Gerät des Treibers SCPI instruments trägt unter seiner Karte Verbindung eine Karte Messgerät mit der Identität des Messgeräts, dem Endezeichen, dem Zeitlimit für die Antwort, der Schreibbestätigung und den Einrichtungsbefehlen; siehe [SCPI instruments](driver-scpi#the-instrument-card). Ein NI-DAQmx-Gerät hat keine Karte Verbindung: An ihrer Stelle steht die Karte NI-DAQmx-Gerät, mit dem Namen, den NI MAX dem Gerät gibt, und dem Produkt, das NI-DAQmx aus ihm liest; siehe [NI-DAQmx](driver-ni-daqmx#the-ni-daqmx-device-card). Ein Gerät des Treibers SNMP trägt unter seiner Karte Verbindung eine Karte SNMP-Agent mit der Version, der Community oder dem SNMPv3-Benutzer samt Sicherheitsstufe, Protokollen und Passwörtern, dem Zeitlimit für die Antwort und den Wiederholungen; siehe [SNMP](driver-snmp#the-snmp-agent-card). Ein File-Gerät hat keine Karte Verbindung: An ihrer Stelle steht die Karte Ordner und Datei, mit Ordner, Datei und Format, gefolgt von der Karte Text der Datei und, bei einem Gerät, das eine Datei liest, der Karte Schreiben; siehe [File](driver-file#the-folder-and-file-card). Ein Database-Gerät hat keine Karte Verbindung: An ihrer Stelle steht die Karte Datenbank, mit dem Datenbanktyp und dem Ort der Datenbank, gefolgt von der Karte Anmeldung bei jeder Datenbank außer SQLite; siehe [Database](driver-database#the-database-card).

### Anmeldedaten und Zertifikate {#credentials-and-certificates}

Passwörter, Bearer-Token und SNMP-Communitys sind im Ruhezustand mit dem Datenschutz von Windows je Benutzer geschützt, die Konfigurationsdatenbank hält den Klartext also nie. Dieser Schutz ist an das Windows-Konto und den Rechner gebunden, in dem das Geheimnis eingegeben wurde: Auf einem anderen Konto kommt das Feld leer zurück, mit dem Hinweis "Unter diesem Windows-Konto nicht lesbar: Es öffnet sich nur auf dem Rechner und unter dem Windows-Konto, das es eingegeben hat. Geben Sie es hier erneut ein." Die Anmeldedaten werden dem Treiber unmittelbar übergeben; sie erscheinen nie im Basis-URI und nie im Journal, und sie werden aus den Fehlermeldungen entfernt, die das Aktionsprotokoll zeigt.

Ein OPC UA-Gerät weist sein Zertifikat der Anlage vor, bevor eine Sitzung öffnet, und ebenso die Anlage, die ein Redfish-, AVEVA PI- oder HTTP-Gerät über HTTPS erreicht, oder der Broker eines MQTT-Geräts über TLS. Eines, dem Windows nicht vertraut und das diese Station nie freigegeben hat, scheitert nicht stillschweigend: Das Gerät liest im Baum und auf der Seite "Wartet auf Freigabe des Zertifikats", und die Schaltfläche des Hinweises öffnet den Anlagenzugriff auf der Seite seines Treibers auf dem Zertifikat, um es freizugeben oder zu sperren. Eine Freigabe später zurückzunehmen schließt die Verbindungen, die darauf laufen. Einzelheiten stehen auf der Seite jedes Treibers: [OPC UA](driver-opc-ua#equipment-access), [Redfish](driver-redfish#equipment-access), [AVEVA PI](driver-aveva-pi#equipment-access), [HTTP](driver-http#equipment-access) und [MQTT](driver-mqtt#equipment-access).

## Die Karte Befehle {#the-commands-card}

Drei Treiber erreichen Anlagen, die nicht nur gelesen, sondern auch um etwas gebeten werden: **HTTP**, **Redfish** und **AVEVA PI**. Die Seite ihrer Geräte trägt zwischen den Karten Verbindung und Tags eine Karte **Befehle** mit der Überschrift "Worum diese Anlage gebeten werden kann. Jeder Befehl nennt den Pfad, an den die Anfrage unter der Adresse des Geräts gesendet wird." Jeder sieht die Liste; erklären, bearbeiten und erteilen brauchen Connector konfigurieren, und einer Rolle ohne dieses Bit werden weder die Felder noch die Befehle gezeichnet.

**Befehl hinzufügen** fügt eine Zeile namens "Befehl 1" hinzu (durchnummeriert nach dem, was schon da ist). Jede Zeile trägt:

| Spalte | Was es ist |
| --- | --- |
| **Bezeichnung** | Wie der Befehl heißt. Er ist zugleich der Name der Methode am Gerät im eigenen OPC UA-Adressraum dieser Station, also innerhalb des Geräts eindeutig. |
| **Pfad** | Wohin die Anfrage geht, unter der eigenen Adresse des Geräts: der Pfad, den die Dokumentation der Anlage nennt, zum Beispiel `redfish/v1/Systems/1/Actions/ComputerSystem.Reset`. Ein Befehl ohne Pfad wird nie am Gerät angelegt. |
| **Nimmt** | Der Name des einen Werts, den der Befehl nimmt, so wie die Anlage ihn nennt (`ResetType`), oder leer für einen Befehl, der nichts nimmt. |
| **Ein** | Ob der Befehl überhaupt angeboten wird. Ein ausgeschalteter Befehl wird weder am Gerät angelegt noch erteilt, und so parkt man einen, ohne zu verlieren, was er adressiert. |
| **Wert** | Was dieser Druck sendet, bei einem Befehl, der einen Wert nimmt. Er gehört zum Druck, nicht zum Gerät, und wird deshalb nie gespeichert. |

Die nachfolgende Gruppe trägt die zwei Befehle, die allein auf diese Zeile wirken: **Ausführen**, das ihn sendet und meldet, was die Anlage geantwortet hat ("'Zurücksetzen' hat geantwortet: accepted"), und **Löschen**. Ausführen sagt, warum es abgelehnt wird, statt zu verschwinden: ein Befehl ohne Pfad ("Dieser Befehl hat noch keinen Pfad, deshalb gibt es nichts zu senden."), einer, der aus ist, einer, der noch darauf wartet, in die Laufzeit gespeichert zu werden, ein Gerät, das nicht verbunden ist, und die eigene Grenze der Station für Projektierung oder Lauf. Andere Treiber tragen die Karte überhaupt nicht: Eine Ladestation nimmt auch Befehle, aber ihre stehen im Protokoll fest und kommen vom Treiber, nicht aus dem, was Sie hier eintippen, und ein Matter-Knoten nimmt keine, denn jede Änderung an ihm ist das Schreiben eines seiner Tags.

Absetzen ist ein Schreibvorgang an der Anlage, deshalb nimmt Ausführen denselben Trichter wie das manuelle Schreiben eines Tags: Der Befehl wartet hinter dem, was die Station gerade tut, erreicht die Anlage auf demselben Weg wie ein Aufruf von außen, und jeder Druck wird mit dem festgehalten, was verlangt wurde, an welchem Gerät und was zurückkam. Solange die Station keine Arbeit mehr annimmt, wird der Druck beantwortet, statt still zu bleiben: "Die Station nimmt gerade keine Befehle an." Ein Connector, der nicht läuft, antwortet "Der Connector läuft nicht, deshalb lässt sich der Anlage nichts absetzen.", und eine Ablehnung der Anlage selbst wird mit ihren eigenen Worten weitergegeben. Ein Befehl, den der Connector nicht ausführen konnte, sagt in der Sprache der Station, worauf er gestoßen ist, wie die rote Zeile eines Geräts es sagt: "Das Gerät ist nicht verbunden, deshalb wurde nichts an es gesendet." für ein Gerät, das abgefallen ist, ein Gerät, das nicht rechtzeitig antwortet, eine Anfrage, die das Netzwerk abgewiesen hat, oder einen Treiber, der fehlgeschlagen ist; das Journal behält die technische Zeile.

## Die Karte Tags {#the-tags-card}

Die Karte trägt die Überschrift **Tags**, dann "Adressformat · `<Hinweis>`", das sagt, wie dieser Treiber ein Tag adressiert ("Freier Name des Tags (z. B. sim/temperature).", "Registernummer + Anzahl (typisierte Felder).", "Node-ID, z. B. ns=2;s=Temperature."), und für Connector konfigurieren die Anweisung "Haken Sie Zeilen an und bearbeiten Sie dann eine Zelle, um sie auf alle anzuwenden. Die Haken verschwinden, sobald es angewendet ist." sowie die Schaltfläche **Tag hinzufügen**. Tag hinzufügen legt "Tag 5" an (nach der Anzahl nummeriert), als Float oder als ersten Typ, den der Treiber unterstützt, mit Nur lesen. Das Tag wird nicht geöffnet: Es erscheint markiert in der Tabelle, in der Gruppe seines Typs und in den sichtbaren Bereich gerollt, wo seine Felder in der Zeile bearbeitet werden, und sein **Öffnen** führt zu seiner Seite. Das Aktionsprotokoll liest "Tag zu 'Furnace' hinzugefügt." oder, wenn dem neuen Tag noch etwas fehlt, "Tag zu 'Furnace' hinzugefügt. Füllen Sie seine Angaben in seiner Zeile aus." Im Menü Neu… der Spalte bietet der Eintrag eines Geräts **Neues Tag**, und das Rechtsklickmenü des Geräts **Tag hinzufügen**: Beide bringen die Ansicht auf die Seite des Geräts und tun dasselbe. Neben der Schaltfläche Tag hinzufügen steht, wo der Treiber des Geräts die Punkte eines einzelnen Geräts lesen kann, **Tags suchen**: Es durchsucht das Gerät nach den Werten, die es veröffentlicht, und bietet die an, für die es noch kein Tag hat (siehe [Die Tags eines Geräts suchen](connector-discovery#discovering-a-devices-tags)).

### Die Tabelle {#the-grid}

Die Zeilen sind nach Datentyp gruppiert, in dieser Reihenfolge: **Numerisch**, **Wahrheitswert**, **Text & Sonstiges**, jede Gruppe mit ihrer Anzahl überschrieben. Die Spalten folgen der Reihenfolge der Karten auf der Seite eines Tags; eine Zelle, die für eine Zeile nicht gilt (ein numerisches Feld an einem Tag vom Typ Boolean), wird leer und gesperrt gezeichnet.

| Spalte | Gruppe | Was sie bearbeitet |
| --- | --- | --- |
| Haken | | Wählt die Zeile für eine Massenbearbeitung. Nur für Connector konfigurieren gezeichnet. |
| **Bezeichnung** | Allgemein | Der Name des Tags, mit derselben Vorschau des Umbenennens und demselben Umschreiben der Verweise wie auf der Seite. Wird nie vervielfältigt. Ein Tag mit einem eigenen Fehler trägt die rote Marke des Baums hinter dem Namen, mit dem Grund als Tooltip. |
| **Typ** | Allgemein | Der Datentyp; ihn zu ändern zieht die Signalart der Zeile, die Modbus-Registerklasse, die Aktion bei Grenzverletzung und die NaN-Regel nach, wie auf [Tags](connector-tags#the-general-card) beschrieben. |
| **Zugriff** | Allgemein | Nur lesen, Nur schreiben, Lesen und schreiben (allein Nur lesen bei OCPP und LoRaWAN). |
| **Einheit** | Allgemein | Die technische Einheit. |
| **Abfrage (ms)** | Allgemein | Die Übersteuerung je Tag; 0 bedeutet den Standard des Geräts. Verborgen bei Treibern mit festem Takt und bei solchen, die Daten gesendet bekommen. |
| **Adresse** | Quelle | Die Freitextadresse, bei den Treibern, die eine nehmen. Wird nie vervielfältigt. |
| **Signal** | Quelle | Die Signalart der Simulation, mit einem Bild der Form neben jedem Namen. Nur bei Geräten unter Simulated. |
| **Rohwert** | Quelle | Der jüngste Rohwert, wird nur gelesen. |
| **Skal. ×**, **Skal. +**, **Skaliert** | Umrechnung | Faktor und Versatz der Stufe Skalierung und ihr Ergebnis. |
| **Kal. ein**, **Kal. ×**, **Kal. +**, **Kalibriert** | Umrechnung | Die Stufe Kalibrierung: ihr Schalter, ihr Faktor und ihr Versatz und ihr Ergebnis. |
| **Grenzen ein**, **Min.**, **Max.**, **Grenze**, **Begrenzt** | Umrechnung | Die Stufe Grenzen: ihr Schalter, ihre Schranken, ihre Aktion und ihr Ergebnis. |
| **Dez. ein**, **Dez.** | Umrechnung | Die Stufe Nachkommastellen: ihr Schalter und ihre Stellen, 0 bis 15. |
| **Invertieren** | Umrechnung | Die Negation des Wahrheitswerts. |
| **Teil ab**, **Teil Länge** | Umrechnung | Das Fenster für den Ausschnitt einer Zeichenkette. |
| **Wert** | Live-Wert | Der technische Wert, wird nur gelesen. |
| Befehle | | **Öffnen**; dann für Connector konfigurieren **Aktivieren**, **Deaktivieren** und **Löschen**, das letzte mit einer Bestätigung. |

Die drei Schalter der Stufen sind Spalten wie die Felder, die sie regeln, und sie werden mit ihnen zusammen massenbearbeitet: Zeilen anzuhaken, die Koeffizienten zu tippen und die Stufe einzuschalten ändert in derselben Bearbeitung, was diese Zeilen lesen, ohne jeden Punkt zu öffnen. Was die Tabelle weiterhin nicht trägt, sind die Regeln für ungültige Messwerte, die Zwei-Punkt-Assistenten, das Schreibfeld und die Querverweise: Die stehen auf der Seite des Tags. Eine Rolle, die nur kalibrieren darf, liest die Tabelle und bearbeitet nichts darin, die Zellen Kal. und den Schalter Kal. ein eingeschlossen; ihre Kalibrierungen gehen über die Seite des Tags.

### Massenbearbeitung {#mass-edit}

Haken Sie die Zeilen an, die sich ändern sollen, und bearbeiten Sie dann eine Zelle irgendeiner Zeile: Der neue Wert wird auf diese Zeile und auf jede angehakte Zeile angewendet, und die Haken sind verbraucht. Solange Zeilen angehakt sind, sagt ein Streifen über der Tabelle "3 Zeilen ausgewählt. Eine Zelle zu bearbeiten wendet es auf alle an und nimmt die Haken weg." mit einer Schaltfläche **Auswahl aufheben**. Die Haken gehören zum Gerät: Wer später zurückkommt, findet sie gelöscht. Drei Regeln halten eine gemischte Auswahl ehrlich: Name und Adresse werden nie vervielfältigt; die Zelle Typ zieht die abhängigen Felder jeder Zeile nach, während sie landet; und ein Wert, den eine Zeile nicht annehmen kann, wird für diese Zeile abgelehnt und bleibt, wie er war, und so übersteht eine Zeile vom Typ String eine ihr gereichte numerische Signalart und eine ganzzahlige Zeile eine NaN-Aktion bei Grenzverletzung.

## Gerät kopieren {#copy-device}

Gerät kopieren legt aus dem gewählten Gerät ein eigenes an: dieselben Verbindungsfelder und Anmeldedaten, jedes Tag unter einer frischen Identität geklont, mit seiner ganzen Kette, seinem Zustand der Aktivierung und seinem Abfrageintervall. Die Kopie nimmt den Namen der Quelle, solange er am Treiber frei ist, dann "Furnace (2)", "Furnace (3)", und landet auf der Ebene des Treibers selbst, in welchem Ordner die Quelle auch lag; eine Kopie unter Modbus RTU bleibt auf derselben Leitung unter der nächsten freien Unit-ID, eine Kopie auf einer Leitung des Treibers Generic serial and TCP oder des Treibers SCPI instruments auf dieser Leitung, eine MQTT-Kopie auf demselben Broker, eine Sparkplug B-Kopie mit ebenso nummerierter innerster ID ("Press1 (2)"), damit nie zwei Geräte des Brokers dieselbe Identität nennen. Die Kopie wird nicht geöffnet: Die Ansicht wechselt auf die Seite, die sie aufführt (den Treiber, die Leitung oder den Broker), mit der Kopie markiert in ihrer Tabelle Geräte und in den sichtbaren Bereich gerollt, das Original daneben: "'Furnace' wurde nach 'Furnace (2)' kopiert. Öffnen Sie die Kopie, um sie zu bearbeiten." Eine Omron-Kopie auf einer Leitung bleibt auf dieser Leitung unter der nächsten freien Einheitennummer.

## Duplikate und Namenskonflikte {#duplicates-and-collisions}

Namen von Geräten sind innerhalb eines Treibers eindeutig, ohne Rücksicht auf Groß- und Kleinschreibung: Die Befehle zum Anlegen weichen mit einem Zahlenzusatz aus, und ein Umbenennen auf einen vergebenen Namen wird beim Übernehmen abgelehnt. Zwei aktivierte Geräte unter einem Treiber, deren Namen auf dasselbe technische Segment führen (`Line A` und `Line-A`), werden beide vom zyklischen Lesen zurückgehalten, statt dass eines gewinnt, und ihre Tags lesen nichts, bis eines umbenannt oder deaktiviert wird. Die technische Identität ist auf 128 Zeichen begrenzt: "Die technische Gerätekennung darf 128 Zeichen nicht überschreiten." Zwei Modbus TCP-Geräte dürfen sich Host und Port mit verschiedenen Unit-IDs teilen und teilen sich dann die Taktung der Transaktionen dieses Endpunkts. Zwei Matter-Geräte dürfen dieselbe Node-ID nennen: Die Gerätesuche bietet an, das vorhandene zu öffnen, verbietet das zweite aber nicht. Zwei NI-DAQmx-Geräte dürfen ebenso dasselbe Gerät von NI MAX lesen, etwa ein Modul in zwei Abfrageintervallen.

## Was die Seite eines Geräts nicht tut {#what-the-device-page-does-not-do}

Der Treiber lässt sich nicht wechseln, der Ordner wird hier nicht bearbeitet, und weder die Leitung eines Geräts auf einer seriellen Leitung noch der Broker eines MQTT-Geräts lassen sich neu zuweisen; ein Gerät des Treibers Generic serial and TCP wechselt zwischen TCP und UDP und eines des Treibers SCPI instruments zwischen TCP und VISA, nie zwischen einer Leitung und dem Netzwerk. Ein Gerät zu aktivieren aktiviert nicht seine Tags, und ein Gerät zu deaktivieren legt deren Schalter nicht um. Es gibt weder Import noch Export je Gerät und keinen Verbindungstest außer dem, das Gerät zu aktivieren und seinen Zustand und seinen letzten Fehler zu lesen. Ein Omron-Gerät wechselt zwischen UDP und TCP, nie zwischen einer Leitung und dem Netzwerk.
