Bei SQL-Abfragen werden analoge und digitale Signale immer mit der Abfrage verknüpft. Somit stehen die abgefragten Werte als Signale für Visualisierung und Aufzeichnung zur Verfügung.
Die Signale können Sie in den Registern Analog und Digital des SQL-Abfragemoduls sehen.
Wenn der Abfragetest erfolgreich war, können Sie über den Button <Alle SQL-Ergebnisse hinzufügen> die abgefragten Werte in die Signaltabellen eintragen lassen.
Beispiel für die Abfrage einer Wertereihe (der ersten) aus einer Tabelle mit 8 Spalten:
Falls nicht genügend Signale im Modul zur Verfügung stehen, werden Sie gefragt, ob Sie die Anzahl der Signale erhöhen wollen.
Der Bezug der hinzugefügten Signale zu den Abfrageergebnissen wird über die Spalten- und Zeilennummern hergestellt, die automatisch in die Signaltabelle eingetragen werden, wenn Sie auf den Button <Alle SQL-Ergebnisse hinzufügen> klicken. Wenn die Abfrage mehr als ein Ergebnis liefert, dann werden die Ergebnissätze untereinander nach Zeilennummer in die Signaltabelle eingefügt.
Eine SQL-Abfrage der ersten 3 Zeilen einer Tabelle mit der folgenden Anweisung würde z. B. das nachfolgende Ergebnis liefern.
Tipp |
|
|---|---|
|
Nutzen Sie bei SQL-Abfragen mit mehrzeiligen Ergebnissen die Anweisung ORDER BY, um eine definierte Sortierung der Ergebnisse und damit eine korrekte Referenzierung der Signale über die Zeilennummer zu erreichen. |
|
Signale können auch manuell konfiguriert werden, indem Sie die korrekten Spalten- und Zeilennummern entsprechend dem zu erwartenden Abfrageergebnis eintragen.
Hinweis |
|
|---|---|
|
Wenn Sie die zu erwartenden Signale der Abfrage nicht von Hand in die Signaltabelle eintragen wollen, dann sind die Aktionen <Anweisung testen> und anschließend <Alle SQL-Ergebnisse hinzufügen> zwingend erforderlich. Ansonsten werden die Signale nicht angelegt und das Modul wird später im Signalbaum nicht angezeigt. |
|
Bei SQL-Befehlen findet eine Verbindung mit ibaPDA-Signalen nur mittelbar über Parameter statt.
Hinweis |
|
|---|---|
|
Falls ein Signal in ibaPDA den Wert "NaN" hat (möglich, z. B. beim Teilen durch Null oder ein falsches Format in der Steuerung) und dieser Wert mit einem SQL-Befehl in eine DB-Tabelle geschrieben wird, dann ersetzt ibaPDA diesen durch "NULL". Damit wird berücksichtigt, dass die meisten Datenbanken den Wert "NaN" bei Parametern nicht unterstützen. Voraussetzung dafür ist, dass die entsprechende Spalte in der DB-Tabelle "NULLable" ist, also der Wert "NULL" erlaubt ist. Falls beim Lesen über die SQL-Schnittstelle der Wert "NULL" zurückgegeben wird, behandelt ibaPDA diesen als "NaN". Alternativ können Sie die SQL-Abfrage so schreiben, dass "NULL" in andere Ersatzwerte überführt wird. |
|


