# Dashboard-Komponenten

> Was eine Dashboard-Komponente ist: der Katalog der Arten, die Adressen, die sie binden, wie ein Messwert gezeichnet wird, und die Eigenschaftsabschnitte, die jede Art teilt.

Eine **Komponente** ist ein Ding auf einem Dashboard: ein Rechteck aus Rasterzellen, das
etwas zeichnet. Die meisten Komponenten lesen den lebenden Adressraum und stellen ihn dar,
einige schreiben hinein, und einige zeichnen nur. Sie setzen eine aus dem Bereich
**Hinzufügen** der Werkzeugleiste des [Dashboard-Editors](view-editor), indem Sie sie auf
eine bestimmte Zelle ziehen oder sie anklicken, damit sie die erste freie nimmt, und sie
öffnet in den Eigenschaften, damit Sie sie einrichten.

Jede Art hat eine eigene Referenzseite, aufgeführt unter [Der Katalog](#the-catalog) und in
der Liste dieser Gruppe. Diese Seite hält, was sie alle gemeinsam haben: die Adressen, die
sie binden, wie ein Messwert gezeichnet wird, und die Eigenschaftsabschnitte, die sich bei
jeder Art wiederholen. Welche Rolle ein Bedienelement drücken darf und das Sperrzeichen, das
eine Komponente trägt, wenn die angemeldete Rolle es nicht darf, stehen unter
[View und Dashboards](home).

## Der Katalog {#the-catalog}

Die Palette Hinzufügen gruppiert den Katalog nach Kategorie, und die Kategorien sagen, was
eine Familie tut. **Anzeige** ist alles, was meldet: die schlichten Anzeigen und Tabellen,
die Lampen und die Diagramme, die Datenpunkte über die Zeit verfolgen oder sie nebeneinander
vergleichen. **Bedienung** ist die Familie, die dem Schreiben gewidmet ist: jede ihrer
Komponenten ist dafür da, einen Wert auf einen Datenpunkt zu legen. Sie ist aber nicht die
einzige Fläche, die ein Bediener drückt. **Alarm** bringt das Verzeichnis der anstehenden
Alarme auf ein Bild, und ihr Hinweis wird von dort quittiert, je Zeile und für alle
zusammen. **Medien** setzt Bilder,
Zeichen aus der Bibliothek und industrielle Grafik. **Anordnung** fasst einen Bereich hinter
dem Rest des Bildes zusammen.

| Kategorie | Komponenten |
|---|---|
| Anzeige | [Beschriftung](component-label) · [Wert](component-value) · [Datenpunkttabelle](component-point-table) · [Status-LED](component-status-led) · [Liniendiagramm](component-line-chart) · [Balkendiagramm](component-bar-chart) · [Kreisdiagramm](component-pie-chart) · [Zeigerinstrument](component-gauge) · [KPI-Karte](component-kpi-card) · [Fortschritt](component-progress) |
| Bedienung | [Schalter](component-toggle) · [Eingabe](component-input) · [Schaltfläche](component-button) · [Auswahl](component-selector) · [Sollwertschieber](component-setpoint-slider) · [Schritttasten](component-step-keys) |
| Alarm | [Alarmhinweis](component-alarm-banner) |
| Medien | [Bild](component-image) · [Icon](component-icon) · [Symbol](component-symbol) |
| Anordnung | [Rahmen](component-frame) |

Drei Seiten dieser Gruppe beschreiben Teile des [Einheitenbereichs](view-unit-panels), keine
Komponenten: den Hinweis der [Verriegelung](component-interlock), die
[Ereignisliste](component-occurrence-list) und den
[Kommentarverlauf](component-comment-timeline). Der Einheitenbereich zeichnet sie für seine
eigene Einheit; sie werden nie auf ein Bild gesetzt, und die Palette Hinzufügen bietet sie nicht
an.

Die Bilder, Zeichen und Grafiken, die die Arten unter Medien zeichnen, kommen aus der eigenen
Bibliothek der Station auf der Seite Logic: [Die Bibliothek der Ressourcen](logic-assets) hält
die Bilder, Icons und Farben, und [Symbole](assets-symbols) den Katalog, aus dem ein
[Symbol](component-symbol) gewählt wird, mit den Anschlusspunkten, zwischen denen seine
Verbindungslinien gezeichnet werden.

## Adressen und lebende Messwerte {#addresses-and-live-readings}

Lebende Komponenten binden **Adressen**: verwurzelte Namen in den lebenden Adressraum der
Station, denselben Raum, den Logic liest (siehe die [Seite Logic](logic)). Eine Adresse nennt
einen Datenpunkt, wo immer er wohnt:

| Form der Adresse | Was sie nennt |
|---|---|
| `Connector.<Driver>.<Device>.<Tag>` | Den technischen Wert eines Tags im Connector, mit den Ordnern des Geräts zwischen Treiber und Gerät, wenn es in welchen liegt (siehe die [Seite Connector](connector)) |
| `Variables.<name>` | Eine Variable in Logic (Merker oder berechnet) |
| `Alarms.<name>` | Den anstehenden Zustand eines Alarms |
| `Assets.Icons.<name>` | Ein Zeichen der Icon-Bibliothek |
| `Process.<Model>.<Unit>.…` | Die Datenpunkte eines Laufs einer Einheit: Messwerte, `Commands.*`, `Next.<field>`, `Commands.Comment` |

Adressfelder sind freier Text mit Vorschlägen: die Liste wird aus der lebenden Liste der
Datenpunkte gezogen, auf 50 Zeilen begrenzt, auf die Wertkategorie eingeengt, die das Feld
verbraucht (ein Zeigerinstrument schlägt Zahlen vor, ein Schalter führt mit Wahrheitswerten,
ein schreibendes Bedienelement führt nur auf, was sich schreiben lässt), und jede Zeile ist
mit ihrem Typ gekennzeichnet. Sie dürfen immer eine Adresse tippen, die die Liste nicht
anbietet, auch eine, die es noch nicht gibt. Sobald ein Feld einen Datenpunkt nennt, zeigt
der Editor unter dem Feld, **was dieser Datenpunkt gerade liest**: die Bestätigung, die eine
Komponente, die selbst keine Zahl zeichnet, nicht geben kann. Auf einem Bild, das an einem
Process-Modell definiert ist, führen die abstrakten Kanäle des Modells jede Liste an; einen
davon zu wählen bindet den Kanal und lässt die Einheit offen, bis eine Einheit das Bild
öffnet.

Die Zeichenfläche frischt ihre Komponenten alle 150 ms auf dem Fenster der Station und alle
400 ms in einem entfernten Browser aus dem Adressraum auf, über die Werte, die der Zyklus der
Logik veröffentlicht. Zwei Regeln gelten für jede lebende Komponente:

- **Nie ein alter Wert.** Ein Datenpunkt, der nicht mehr liest, fällt auf den eigenen
  Platzhalter dieser Komponente zurück (der Strich für die Lücke, eine hohle Lampe, eine
  Lücke im Diagramm), nie auf die letzte Zahl.
- **Ein Zeichen für den misslungenen Messwert.** Eine Komponente, deren gebundener Datenpunkt
  *nicht liest* (die Adresse löst sich auf nichts auf, oder der Datenpunkt antwortet mit
  schlechter Qualität), trägt ein gemeinsames Zeichen: eine gestrichelte Umrandung der Zelle
  in Vorsichtsfarbe und ein kleines eingekreistes `!` in ihrer oberen rechten Ecke. Jede Art
  trägt dasselbe Zeichen, es wird also einmal gelernt. Ein aufgelöster Datenpunkt, der mit
  guter Qualität und *ohne Wert* antwortet, ist kein Fehlschlag (ein Prüfstand zwischen zwei
  Läufen, ein Zähler außerhalb eines Zyklus), die Komponente behält also ihren leisen
  Platzhalter, und das Zeichen bleibt dunkel. Eine **ungebundene** Adresse ist niemandes
  Schuld: ein Bild, das noch zusammengestellt wird, liest sich nie wie ein Bild voller
  Warnungen.

## Anzeige eines Wertes {#value-display}

Wie groß ein Messwert gezeichnet wird, regelt ein Vertrag, den jede Textfläche der
Zeichenfläche teilt (Anzeigen, Beschriftungen, Tastenflächen, Zustandswörter):

- Jede Fläche ist entweder **automatisch** (die Zelle entscheidet über die Größe, begrenzt
  von der Breite, die die Erklärungen der Fläche reservieren: Stellen, Nachkommastellen,
  Einheit oder die verfassten Wörter) oder **angegeben**, eine Größe in Punkt, die Sie geben
  (9 bis 144). Eine angegebene Größe ist wörtlich: sie wird in jeder Zelle in dieser Größe
  gezeichnet und nie verkleinert, damit der Inhalt passt. Nichts an der Größe folgt je dem
  Wert, der gerade eintrifft, eine Zahl, die zwischen vier und sechs Zeichen springt, bewegt
  die Schrift also nie.
- **Eine Zahl wird nie abgeschnitten gezeichnet.** Wo sie sich nicht ganz zeigen lässt (mehr
  Stellen, als das Feld erklärt, oder eine angegebene Größe, die breiter als die Zelle ist),
  zeichnet die Fläche `####`, das Zeichen der Tabellenkalkulation und des Leitsystems für ein
  Feld, das für seinen Wert zu schmal ist, mit dem ganzen Messwert im Tooltip.
- **Freier Text wird mit Auslassungspunkten gekürzt**, der ganze Text steht im Tooltip.
  Wörter tragen nie das Zeichen der Zahl.
- Ein Datenpunkt, der **nicht liest**, ist wieder eine andere Tatsache: der Strich für die
  Lücke, dazu das gemeinsame Zeichen für den misslungenen Messwert, wo das Schweigen ein
  echter Fehlschlag ist. Das Fehlen eines Messwerts und das Fehlen von Platz borgen sich nie
  gegenseitig ihr Zeichen.
- Zahlen ruhen rechts in ihrem Feld, in Tabellenziffern, damit Spalten von Messwerten mit
  sich selbst fluchten.

Der Boden von 11 px für die Lesbarkeit gilt überall, und der gemeinsame Regler
**Inhaltsskalierung** vervielfacht die aufgelöste Größe: nach unten zeigt er immer Wirkung (mit
dem Boden), nach oben wächst er nur so weit, wie die Zeile noch ungekürzt passt.

## Die gemeinsamen Eigenschaftsabschnitte {#the-shared-property-sections}

Eine Komponente zu wählen öffnet ihre Eigenschaften. Die Abschnitte, die nach der eigenen Art
der Komponente benannt sind (ihr Inhalt, ihre Daten, ihr Format), kommen zuerst und stehen
auf der Seite dieser Komponente. Darum herum teilt sich jede Komponente dieselben Abschnitte.
Der Bereich, der sie zeichnet, der lebende Messwert unter jedem Adressfeld und die
Bedienelemente, die sich über die Arten hinweg wiederholen (Anzeigegröße, Liest als, die
Bänder der Skala, der Werkzeugkasten des Diagramms), stehen unter
[Der Dashboard-Editor](view-editor).

**Kennung** benennt die Komponente für den, der das Bild bearbeitet: der Name steht
über dem Eigenschaftsbereich, beschriftet die Zeile in der Liste der Komponenten und
antwortet ihrer Suche. Auf dem Bild des Bedieners zeichnet ihn nichts; das ist der Titel
unter Darstellung.

**Darstellung** ist der Kasten der Komponente:

| Feld | Was es tut | Werte | Vorgabe |
|---|---|---|---|
| Rahmen anzeigen | Zeichnet die eigene Umrandung der Komponente. | ein / aus | aus |
| Rahmenstärke (px) | Wie schwer diese Umrandung ist. Ein Pixel ist die Kante einer Karte; ein schwererer Strich hebt eine Gruppe von ihrer Umgebung ab, ohne eine zweite Farbe. | 1 bis 4 | 1 |
| Hintergrund anzeigen | Füllt das Rechteck der Komponente mit dem Farbpaar und macht sie zu einer Karte. Aus scheint das Raster durch. | ein / aus | aus |
| Hintergrundfarbe | Die Füllung als Paar, eine Hälfte je Design, beide Hälften zugleich bearbeitet, denn das laufende Design entscheidet, welche Hälfte auf dem Bild ist. | je `#RRGGBB` | `#FFFFFF` hell · `#2B2B2B` dunkel |
| Titel (Ecke) | Die eigene Beschriftung der Komponente in der Ecke, das, was die Karte *ist*, über dem, was die Art zeichnet. Leer heißt keine Zeile mit Beschriftung. | Freier Text | leer |
| Titelgröße (px) | Leer lässt jede Karte ihren Titel aus ihrer Zelle bemessen; eine angegebene Größe ist wörtlich und ist das, was die Titel eines ganzen Bildes übereinstimmen lässt. Was nicht mehr passt, wird mit Auslassungspunkten gekürzt, der ganze Titel steht im Tooltip. | 11 bis 96 oder leer | leer (Automatisch) |
| Titelfarbe | Das Farbpaar der Schrift des Titels. Unberührt folgt der Titel dem eigenen leisen Ton des Designs. | je `#RRGGBB` | `#6B6B6B` hell · `#A0A0A0` dunkel |
| Inhaltsskalierung | Wie viel von seinem Kasten der Inhalt einnimmt: die Zelle, die Sie gezogen haben, bemisst den Inhalt bereits, und dieser Regler stellt ihn innerhalb der Zelle, ohne das Raster neu zu zeichnen. Grafik antwortet ihm geometrisch, eine Anzeige typografisch. | 0,25 bis 3 | 1 |

**Position und Ebene** hält die Zahlen X / Y / B / H, die Ebene (Z) und das Paar **In den Vordergrund**
/ **In den Hintergrund**. **Erweitert** erscheint nur bei den Arten, die seltene
Extras haben. **Aktionen** dupliziert oder entfernt die Komponente.

Halten Sie **Strg**, um mehrere Komponenten zu wählen und zu bearbeiten, was sie gemeinsam
haben: die Felder unter Darstellung fächern sich über die ganze Auswahl (ein Feld, in dem die
Mitglieder uneins sind, sagt "Gemischt"), die Befehle der Ebene behalten die Reihenfolge des
Stapels untereinander, und Duplizieren und Entfernen wirken auf alle. Felder je Art brauchen
eine einzelne Komponente.
