Die sechs Tag-Arten
Woher ein Tag seinen Wert nimmt, entscheidet seine Art. Es gibt sechs, und die Liste ist fest. Sie wählen die Art beim Anlegen, unter Art; sie steht danach fest.
| Art | Der Wert ist | Auf der Seite steht |
|---|---|---|
| Memory-Tag | ein Wert, der hier gehalten wird | von Hand gesetzt |
| Query-Tag | das Ergebnis einer Abfrage auf Ihre Betriebsdaten | die Datenbank |
| Konnektor-Tag | was eine Maschine über eine Verbindung meldet | eine Verbindung |
| Datensatz-Tag | ein Datensatz oder ein Feld daraus | die Datenbank |
| Skript-Tag | das Ergebnis eines Skripts | hier gerechnet |
| Timer-Tag | die Zeit, in einem festen Takt | die Uhr |
Wozu welche Art
Abschnitt betitelt „Wozu welche Art“Memory-Tag hält einen Wert und sonst nichts: Hier gehalten und sonst nirgends. Nichts von außen setzt ihn. Gut für einen Sollwert, einen Schalter, eine Liste, die mehrere Masken lesen.
Query-Tag rechnet über viele Datensätze — Stückzahlen einer Schicht, eine Kennzahl, ein Verlauf. Die Abfrage schreiben Sie selbst in SQL oder lassen sie im Baukasten entstehen. Ein Query-Tag darf nur lesen.
Konnektor-Tag hängt an einer Verbindung, heute MQTT oder TCP. Es hat eine Richtung — lesend, schreibend oder beides (siehe Werte schreiben). Seine übrigen Felder — bei MQTT das Topic — gibt der Konnektor vor. Passt eines nicht zu dem, was der Konnektor erwartet, speichert Speichern das Tag trotzdem und zeigt unter den Feldern eine Warnung. Das gilt auch, wenn jemand anderes dem Tag zuerst seinen Konnektor gegeben hat: Das Tag behält diesen Konnektor, und die Warnung nennt ihn — prüfen Sie, ob Ihre Felder dazu passen.
Datensatz-Tag hat zwei Ebenen, und der Unterschied ist wichtig:
- Die ganze Datensatz-Art — Lesen liefert den letzten Datensatz, Schreiben fügt einen an. Auf diese Ebene sendet eine Erfassungsmaske.
- Ein Feld davon — Lesen liefert den letzten Wert dieses Feldes. Schreiben wird abgelehnt — den Wert besitzt die Datensatz-Art.
Skript-Tag rechnet beim Lesen. Es kann außerdem eine Umrechnung in beide Richtungen tragen: die Tafel zeigt bar, die Maschine spricht Pascal, und dazwischen steht ein Tag statt zweier plus eines Skripts. Ein Skript, das auf einen Auslöser hin handelt, ist etwas anderes und liegt unter Skripte — ein Tag ist kein Knopf.
Der Editor auf dieser Seite ist derselbe wie auf der Skripte-Seite. Alles, was TrakState einem
Skript anbietet, steht unter einem Namen: system. — tippen Sie ihn, und der Punkt zeigt die
ganze Liste; Sie müssen also keinen Namen vorher kennen. Einfügen setzt eine lauffähige Zeile
an der Cursorstelle ein, und innerhalb der Anführungszeichen von system.tag.read("…") werden
Ihre eigenen Tag-Pfade angeboten. Ein neues Skript-Tag öffnet mit einem dreizeiligen
Ausgangspunkt statt mit einem leeren Kasten; gespeichert ist er erst, wenn Sie speichern, und bis
dahin liest das Tag ungewiss. Die vollständige Liste steht unter Skripte → Die
Skript-Schnittstelle.
Timer-Tag taktet. Taktet alle legt den Abstand fest: Zwischen 250 ms und 24 Stunden. Alles, was an dieses Tag gebunden ist, rechnet mit jedem Takt neu. Unter Wert wählen Sie zwischen Lesbarer Zeitpunkt und Millisekunden (zum Rechnen). Der Takt ändert nicht, was gelesen wird — er entscheidet, wann eine Änderung angesagt wird.
Anlegen fragt nur zwei Dinge
Abschnitt betitelt „Anlegen fragt nur zwei Dinge“Neues Tag fragt nach Art und Tag (Pfad) — mehr nicht. Der Dialog sagt es selbst: Alles Weitere — Quelle, Wert, Intervall — wird auf der Seite des Tags eingestellt. Nach dem Anlegen landen Sie dort.
Ein Tag ohne eingestellte Quelle ist ein gültiger Zustand. Es liest dann Unsicher — die ehrliche Antwort auf „was ist das”, solange niemand gesagt hat, was es liest. Nur das Timer-Tag kommt mit einer Vorgabe von fünf Sekunden, weil eine Uhr ohne Takt keine Uhr ist.