Zum Hauptinhalt springen

Neuesten Datensatz auslesen

Um einen aktuellen Datensatz aus einer Datenbanktabelle auszulesen, sortieren Sie die Tabelle nach dem Zeitstempelfeld absteigend und transferieren nur einen Datensatz. Die Datenbank muss über einen Time-Trigger im erforderlichen Intervall gepollt werden. In dieser Variante wird bei jedem Aufruf der aktuelle Datensatz übertragen. Um nur einen neuen Datensatz zu übertragen, lesen Sie im nächsten Kapitel weiter.

Sie können selbstverständlich optionale Filterkriterien einstellen, z. B. wenn die Tabelle mehrere Messwertreihen enthält.

Variante 1: Zeitstempelsortierung ohne Filter

Erforderliche Felder/Spalten:

NameBeschreibung
<Zeitstempel>Zeitstempel vom Typ Datum/Uhrzeit, nach dem sortiert wird
<Werte>Spalte(n) mit den relevanten Werten

Projektieren Sie ein DB-Transferobjekt mit folgenden Eigenschaften:

NameKonfiguration
Datenquelle<Ihre Datenbankanbindung aus dem Plug-ins-Bereich>
TypSelect

Registerkarte: Allgemein

NameKonfiguration
Tabelle<Tabelle, die Ihre Daten enthält>
SpaltenAlle benötigten Werte-Spalten von Verfügbar nach Verwendet verschieben.

Registerkarte: Filter

NameKonfiguration
FilterIn dieser Variante keine weiteren Filter

Registerkarte: Abfrage

NameKonfiguration
SortierreihenfolgeAbsteigend – damit steht der neueste Datensatz oben.
Sortierungsspalte<Zeitstempel-Spalte>
Datensätze nicht verändernAusgewählt. Der Datensatz wird bei jedem Aufruf erneut übertragen, die Quelltabelle bleibt unverändert.
Anzahl Datensätze begrenzen aufAktiviert, Wert 1 – nur der oberste und damit neueste Datensatz wird übertragen.
Verhalten bei leerem AbfrageergebnisNach Bedarf Transfer abbrechen, Lesefehler auslösen oder Leeren Datensatz zurückgeben.
hinweis

Von den drei Optionen zur Behandlung der transferierten Datensätze ist immer genau eine ausgewählt, ebenso von den drei Optionen unter Verhalten bei leerem Abfrageergebnis. Alle Eigenschaften der Registerkarte beschreibt DB Select-Transferobjekt.

Datenbank Select Transferobjekt

Ihr Transferobjekt sieht im Flow aus wie in der nächsten Abbildung. Im Beispiel wurde die Spalte Value als Wertespalte verwendet. Sie steht jetzt als Datenquelle zur Verfügung. Die Sortierung sehen Sie in der Flow-Projektierung nicht:

Transferobjekt

Projektieren Sie noch einen Time-Trigger mit dem erforderlichen Intervall, z. B. 10 Sekunden. Dann wird alle zehn Sekunden der neueste Datensatz aus der Tabelle übertragen, unabhängig davon, ob er bereits übertragen wurde oder nicht.

Variante 2: Zeitstempelsortierung mit weiterem Filter

In dieser Variante enthalte die Tabelle mehrere Messreihen, die jeweils über eine ConfigID definiert werden. Es ist ein zusätzlicher Filter zu projektieren.

Erforderliche Felder/Spalten:

NameBeschreibung
<Zeitstempel>Zeitstempel vom Typ Datum/Uhrzeit, nach dem sortiert wird
ConfigIDID der Messwertreihe
<Werte>Spalte(n) mit den relevanten Werten

Projektieren Sie ein DB-Transferobjekt mit folgenden Eigenschaften:

NameKonfiguration
Datenquelle<Ihre Datenbankanbindung aus dem Plug-ins-Bereich>
TypSelect

Registerkarte: Allgemein

NameKonfiguration
Tabelle<Tabelle, die Ihre Daten enthält>
SpaltenAlle benötigten Werte-Spalten von Verfügbar nach Verwendet verschieben.

Registerkarte: Filter

NameKonfiguration
FilterFilter hinzufügen legt einen neuen Filter an.
Filter/Filtergruppe bearbeiten

Spalte: ConfigID

Vergleichsoperator: EQUAL

VorschauHier sollte jetzt stehen: WHERE (ConfigID = ?)

Registerkarte: Abfrage

NameKonfiguration
SortierreihenfolgeAbsteigend – damit steht der neueste Datensatz oben.
Sortierungsspalte<Zeitstempel-Spalte>
Datensätze nicht verändernAusgewählt. Der Datensatz wird bei jedem Aufruf erneut übertragen, die Quelltabelle bleibt unverändert.
Anzahl Datensätze begrenzen aufAktiviert, Wert 1 – nur der oberste und damit neueste Datensatz wird übertragen.
Verhalten bei leerem AbfrageergebnisNach Bedarf Transfer abbrechen, Lesefehler auslösen oder Leeren Datensatz zurückgeben.

Datenbank Select Transferobjekt

Ihr Transferobjekt sieht wie in der Abbildung aus. Das DB-Transferobjekt mit Filter erfordert einen zweischrittigen Transfer: Der erste Schritt (blaue Pfeilspitze) definiert den Filter, der zweite (grün) liest den Wert aus.

Den Filter füllen Sie mit einem Wert:

  1. Legen Sie ein Konstanten-Objekt an und tragen Sie dort die gewünschte ConfigID ein.
  2. Verbinden Sie die Konstante über einen Item Link mit dem Filter-Element ConfigID des DB-Transferobjekts.

Transferobjekt

Projektieren Sie noch einen Time-Trigger mit dem erforderlichen Intervall, z. B. 10 Sekunden. Dann wird alle zehn Sekunden der neueste Datensatz aus der Tabelle übertragen, unabhängig davon, ob er bereits übertragen wurde oder nicht.

Variante 3: Zeitstempelsortierung mit weiterem Filter aus Vorlage

Variante 2 lässt sich auch als Flow-Vorlage projektieren. Je Messwertreihe erzeugen Sie daraus eine Instanz.

  1. Projektieren Sie keinen Flow, sondern eine Flow-Vorlage mit denselben Einstellungen für das DB-Transferobjekt wie in Variante 2.
  2. Tragen Sie in das Konstanten-Objekt aus Variante 2 nicht den Wert ein, sondern die Vorlagenvariable {ConfigID}.
  3. Projektieren Sie den Time-Trigger wie in Variante 2.
  4. Erzeugen Sie aus der Vorlage je Messwertreihe eine Instanz und tragen Sie dabei den Wert für die ConfigID ein.

Die Vorlage enthält den Time-Trigger, das Konstanten-Objekt mit der Vorlagenvariablen und das DB-Transferobjekt mit dem Filter:

Flow-Vorlage mit Time-Trigger, Konstanten-Objekt mit der Vorlagenvariablen ConfigID und DB-Select-Transferobjekt

Beim Erzeugen einer Instanz vergeben Sie deren Namen, wählen den Zielordner und füllen die Vorlagenvariable ConfigID mit dem Wert der Messwertreihe:

Dialog zum Erzeugen einer Instanz mit Instanzname, Zielordner und der Vorlagenvariablen ConfigID

In der fertigen Instanz steht der konkrete Wert im Konstanten-Objekt; links daneben sehen Sie die Vorlagenvariablen der Instanz:

Aus der Vorlage erzeugte Instanz mit dem konkreten ConfigID-Wert im Konstanten-Objekt

Flow abschließen

Bis hierher ist die Datenquelle projektiert. Zum lauffähigen Flow fehlen drei Schritte:

  1. Datenziel anbinden. Verbinden Sie die Elemente des DB-Transferobjekts über Item Links mit dem Transferobjekt Ihres Zielsystems. Welche Zielsysteme zur Verfügung stehen und welche Eigenschaften ihre Transferobjekte haben, steht im Kapitel des jeweiligen Plug-ins: alle Plug-ins von A bis Z.
  2. Produktiv schalten. Wählen Sie in der Ansicht Veröffentlichen die Änderungen aus und klicken Sie auf Änderungen produktiv schalten. Bis dahin arbeitet die Laufzeit mit dem zuletzt veröffentlichten Stand weiter.
  3. Ergebnis prüfen. Die Statusanzeige zeigt, ob der Flow läuft. Im Flow-Status sehen Sie jeden einzelnen Transfer und die übertragenen Werte.