Zum Hauptinhalt springen
Version: 5.3

... einen aktuellen 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:

<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:

DB-Anbindung<Ihre DB-Anbindung aus der Plug-in-Konfiguration>
TypSelect

Registerkarte: Allgemein

Tabelle<Tabelle, die Ihre Daten enthält>
Verfügbare Spalten/Verwendete Spalten<Alle Werte-Spalten>

Registerkarte: Filter (Abfragen, Aktualisieren, Löschen)

FilterIn dieser Variante keine weiteren Filter

Registerkarte: Abfrage

Datensätze nicht verändernAktivieren, wenn die Datensätze nicht verändert werden sollen
Transferierte Datensätze markierenAktivieren, wenn transferierte Datensätze genutzt werden sollen. In der Spalte zum Markieren können die entsprechenden Datensätze ausgewählt werden.
Transferierte Datensätze löschenAktivieren, wenn transferierte Datensätze gelöscht werden sollen.
Sortierung nach Spalte<Zeitstempel-Spalte>
SortierreihenfolgeAbsteigend (neuester Wert oben)
Anzahl der Datensätze begrenzen auf1 (nur der erste Datensatz = der neueste soll transferiert werden)
Lesefehler auslösennach Bedarf
Transfer abbrechennach Bedarf

Datenbank Select Transferobjekt

Ihr Transferobjekt sieht in der Verbindung 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 Verbindungsprojektierung 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:

<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:

DB-Anbindung<Ihre DB-Anbindung aus der Plug-in-Konfiguration>
TypSelect

Registerkarte: Allgemein

Tabelle<Tabelle, die Ihre Daten enthält>
Verfügbare Spalten/Verwendete Spalten<Alle Werte-Spalten>

Registerkarte: Filter

Filter„Filter hinzufügen“ legt einen neuen Filter an.
Filter/Filtergruppe bearbeiten

Spalte: ConfigID

Vergleichsoperator: EQUAL

VorschauHier sollte jetzt stehen: WHERE (ConfigID = ?)

Registerkarte: Abfrage

Sortierung nach Spalte<Zeitstempel-Spalte>
SortierreihenfolgeAbsteigend (neuester Wert oben)
Anzahl der Datensätze begrenzen auf1 (nur der erste Datensatz = der neueste soll transferiert werden)
Fehler bei leerem Abfrageergebnisnach Bedarf
Transfer bei leerem Abfrageergebnis abbrechennach Bedarf

Datenbank Select Transferobjekt

Ihr Transferobjekt sieht wie in der Abbildung aus. Denken Sie daran, den Filter zu mit einem Wert zu füllen, z. B. über ein Konstanten-Objekt. Das DB-Transferobjekt mit Filter erfordert einen zweischrittigen Transfer. Der erste Schritt (blaue Pfeilspitze) definiert den Filter, die zweite, grün, liest den Wert aus. Da das Datenziel beliebig sein kann, sei es hier nur am Rande erwähnt.

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 eignet sich auch als Projektierung über eine Verbindungsvorlage.

  1. Projektieren Sie keine Verbindung, sondern eine Verbindungsvorlage mit denselben Einstellungen für das DB-Transferobjekt wie in Variante 2.
  2. Ins Konstanten-Objekt tragen Sie dann nicht den Wert ein, sondern eine Vorlagenvariable {ConfigID}.
  3. Projektieren Sie den Time-Trigger wie in Variante 2.
  4. Erzeugen Sie aus der Vorlage eine Instanz und tragen Sie den Wert für die ConfigID ein.

So erzeugen Sie im Handumdrehen Verbindungen für alle vorhandenen Messreihen (=ConfigIDs): Je ConfigID eine Instanz. Abbildung oben: Vorlage; Abbildung unten: Instanz.

Transferobjekt

Transferobjekt

Transferobjekt