SQL - Client (sqlarchiv) Datenarchivierung leicht gemacht

Werbung
Bibliotheken
SQL - Client (sqlarchiv)
Lesen und Schreiben von Werten aus / in SQL- Datenbank
Datenarchivierung
leicht gemacht
Enthaltene Typen
•
•
•
•
•
•
SQLputBool
SQLputInt
SQLputFloat
SQLputDouble
SQLputString
SQLget
Funktionsweise
Diese Bibliothek ermöglicht als MySQL-Client einen lesenden und schreibenden Zugriff auf die plattformunabhängige SQL-Datenbank MySQL (http://www.tcx.se).
Mit der Bibliothek können skalare Werte, die im iFBSpro in Form von Instanz-Ports zur Verfügung stehen,
via Netzwerk in der Datenbank archiviert werden. Die Anzahl zu archivierender Zeitpunkte und Werte ist frei
und online parametrierbar. Das Archiv ist als Umlaufpuffer realisiert.
Zu der Datenbank existieren diverse Treiber, mit denen die Werte, z.B. mit MS Excel, ausgelesen und
visualisiert werden können.
Voraussetzungen
•
•
In der MySQL-Datenbank müssen eine Database „ifbspro“ und ein Benutzer „ifbsproclient“ existieren,
der in der Database „ifbspro“ vollen Zugriff auf Tabellen hat.
Es muss eine Netzwerkverbindung (TCP/IP) zu dem Rechner bestehen, auf dem die MySQL-Datenbank
verfügbar ist.
Aufbau
Inputs
Hidden
Outputs
____________________________________________
Hostname
AnzW
Float
Count
OldHost
Out
AnzVerb
TabName
ConnectOK
Die genannten Namen sind eingetragene Warenzeichen der jeweiligen Hersteller
ltspc01/fb_database/ TechUnits/SQL
Hostname= ltspc10
Ö Tabellenname auf LTSPC10 in Datenbasis
iFBSpro:
ltspc03$database$SQL$FLOAT
Funktion
Parametrieren der Eingänge
•
Hostname
Hostname des SQL-Servers
Hier wird der Name des Rechners eingegeben, auf dem
der MySQL-Server verfügbar ist. Der Hostname kann auch
bei ausgeschalteter Instanz eingegeben werden.
Beim Setzen des Hostnamens wird in der Datenbank auf
dem entsprechenden SQL-Server eine Tabelle in der
Database „ifbspro“ angelegt.
Der Tabellenname setzt sich wie folgt zusammen:
Hostname:
Database:
Path of Instanz:
Type:
Hostname iFBSpro-Server
Datenbasis-Name iFBSpro-Server
Pfad der Instanz im iFBSpro-Server
Variablenart der Tabelle
Durch diese Struktur lassen sich in einer SQL-Datenbank
iFBSpro-Werte von verschiedenen iFBSpro-Servern und
Datenbasen eineindeutig speichern.
Beispiele:
•
1. acplt/ks-Pfad der SQL-Instanz
(Name: SQL, Typ: SQLputFloat)
ltspc01/fb_database/ TechUnits/SQL
Ö Tabellenname: ltspc01$database$SQL$FLOAT
•
2. acplt/ks-Pfad der SQL-Instanz
(Name: SQL, Typ: SQLputDouble)
ltspc01/fb_demodb/ TechUnits/ TEST/testsql
Ö Tabellenname:
ltspc01$demodb$TEST_testsql$DOUBLE
•
AnzW
Anzahl zu archivierender Zeitpunkte
Mit diesem Parameter wird die "Tiefe" des Werte-Archivs
gesetzt. Das Archiv ist als Umlaufpuffer realisiert, in dem
die ältesten Werte überschrieben werden.
Die Anzahl zu archivierender Zeitpunkte ist zur Laufzeit
änderbar. Es können maximal 2.592.000 Zeitpunkte
archiviert werden (1 Sekunden-Werte über 30 Tage)
Beispiel: AnzW = 10
Es werden 10 Zeitpunkte in der Datenbank abgelegt.
•
Float
Dieser Eingang dient als Referenz auf die zu archivierenden Werte. Wird von einem Instanzport eine Verbindung
auf diesen Port gelegt, legt der SQL-Typ in der zugehörigen Tabelle eine Spalte an, in der die Werte dieses Ports
archiviert werden.
Die Verbindungen auf den Port der SQL-Instanz können
ausgeschaltet bleiben. Es können mehrere Verbindungen
auf diesen Port gelegt werden, so daß in einer Tabelle
mehrere Spalten angelegt werden.
Wird eine bestehende Verbindung auf den Eingangsport
gelöscht, bleibt die entsprechende Spalte in der zugehörigen Tabelle bestehen.
Beispiel
•
ACPLT/KS-Pfad der SQL-Instanz
(Name: SQL, Typ: SQLputFloat)
•
•
•
ACPLT/KS-Pfad der 1. Instanz, von der der Port
"OutS" archiviert werden soll:
ltspc01/fb_database/TechUnits/Sinus.OutS
ACPLT/KS-Pfad der 2. Instanz, von der der Port
"OutS" archiviert werden soll:
ltspc01/fb_database/TechUnits/Rampe.OutS
ACPLT/KS-Pfad der 3. Instanz, von der der Port "out"
archiviert werden soll:
ltspc01/fb_database/TechUnits/Beispiel/Sum.out
Existieren nun von den Instanzen/Ports 1-3 Verbindungen
auf den Float-Port der SQL-Instanz, sieht die Tabelle auf
dem SQL-Server wie folgt aus:
> select * from LTSPC01$database$SQL$FLOAT;
+---+-----------------------------+----------------+---------------+-----------------------+
| nr |
time
| Rampe1 | Sinus1 | Beispiel_Sum1 |
| |
| _OutS |
_Out |
_out
|
+---+-----------------------------+----------------+---------------+-----------------------+
| 1 | 2000-03-08 14:38:17 | 0.000000 | 5.157080 |
8.355160 |
| 2 | 2000-03-08 14:38:18 | 2.000000 | 5.351120 |
5.039430 |
| 3 | 2000-03-08 14:38:19 | 4.000000 | 7.320870 |
7.618470 |
| 4 | 2000-03-08 14:38:20 | 6.000000 | 10.314000 |
11.871100 |
| 5 | 2000-03-08 14:38:21 | 8.000000 | 13.187100 |
16.936899 |
| 6 | 2000-03-08 14:38:22 | 10.000000 | 14.842900 |
21.644800 |
| 7 | 2000-03-08 14:38:23 | 12.000000 | 14.648900 |
24.960600 |
| 8 | 2000-03-08 14:38:14 | 6.000000 | 11.243400 |
17.243500 |
| 9 | 2000-03-08 14:38:15 | 4.000000 | 9.686050 |
17.243500 |
| 10 | 2000-03-08 14:38:16 | 2.000000 | 6.812880 |
13.063100 |
+----+-----------------------------+---------------+---------------+-----------------------+
Hidden und Output-Ports
•
Count
Gibt die aktuelle Zeilennummer an, in die die SQL-Instanz
die Werte sichert
•
OldHost
Interner Merker
•
Out
Klartext - Meldungen
•
AnzVerv
Anzahl der Verbindungen auf den Float-Port und damit
Anzahl der archivierten Werte
•
TabName
Name der Tabelle in der SQl-Datenbank
•
ConnectOK
Status der Verbinding zum SQL-Server
Parametrieren der Instanz
•
cyctime
Die Werte werden mit der Cycletime in das SQL-Archiv
geschreieben.
Ist die Cycltime z.B. 1 Sec, werden die Werte jede Sekunde geschrieben.
•
iexreq
Die interne Bearbeitungsanforderung sollte auf TRUE
gesetzt werden.
Bei iexreq = TRUE verhält sich die SQL-Instanz wie ein
zyklisches Archiv.
Ist iexreq = FALSE und die Verbindungen auf "Float" sind
eingeschaltet, verhält sich die SQL-Instanz wie ein änderungsgetriebenes Archiv.
.
C:\_LTSoft\iFBSpro\info\iFBSpro_sqlarchiv.doc
____________________________________________________________________________________________________________
Geschäftsführer
Bankverbindungen
Tel. 02237/92869-0
J. Nagelmann
Volksbank Kerpen, BLZ 370 691 41, Kto 200 631 9010
Fax 02273/92869-9
HRB 2456
http://www.ltsoft.de
Amtsgericht Kerpen
e-mail ltsoft @ ltsoft.de
Bibliotheken
SQL - Client (sqlarchiv)
Lesen und Schreiben von Werten aus / in SQL- Datenbank
Die genannten Namen sind eingetragene Warenzeichen der jeweiligen Hersteller
Herunterladen