Benutzer-Werkzeuge

Webseiten-Werkzeuge


ebus:datagraph

Dies ist eine alte Version des Dokuments!


Was ist das Programm DataGraph

Dabei handelt es sich um ein Programm zur grafischen Darstellung von Daten aus einer Datenbank. Das erste Datenfeld muss ein Datum enthalten und wird als x-Achse verwendet. Danach können beliebig viele Felder mit darzustellenden Werten folgen, welche jeweils als eine Linie auf der y-Achse verbunden werden. Die erstellte Grafik kann direkt angezeigt oder als Grafkdatei abgespeichert werden. Somit kann das Programm zur direkten Anzeige oder zur Einbindung in Batchdateien oder für die Erstellung von Webseiten verwendet werden.

Beispiel mit 7 Datenreihen und Bereich von -20 bis 100 °C:

Beispiel mit einer Datenreihe und automatischer Bereichsanpassung:

Wie wird DataGraph konfiguriert

Die Konfiguration erfolgt über die Konfigurationsdatei DataGraph.ini sowie über die Befehlszeile.

Konfigurationsdatei

Gruppe Parameter Beschreibung
[Image] Width Breite der Grafik
Height Höhe der Grafik
TopSpacing Rand oben
BottomSpacing Rand unten
LeftSpacing Rand links
RightSpacing Rand rechts
GridLineCountX Anzahl Hilfslinien vertikal
GridLineCountY Anzahl Hilfslinien horizontal
Range Darzustellender Bereich auf der Y-Achse in der Form Von/Bis oder auto, um den Datenbereich aus den Minimal- und Maximalwerten der Datenreihen zu berechnen
[Db] Connection Connectionstring für die Datenbank (Siehe Konfiguration von EBusConnector)
User Datenbankbenutzername
Pwd Kennwort für die Datenbank
Provider Datenbankprovider
SqlData SQL-Befehl welcher die Datenreihen liefert. Das 1. Feld muss die Datumswerte für die X-Achse zurückliefern. Die restlichen Felder müssen numerisch sein und die Werte der Y-Achse beinhalten. Mit %1, %2, %3, etc. können Parameter aus der Befehlszeile oder aus dem Konfigurationsparameter !DefaultParams eingefügt werden.
SqlMin SQL-Befehl welcher die Minimalwerte aller zuvor definierten Datenreihen zurückliefert. Parameterersetzung wie bei !SqlData
SqlMax SQL-Befehl welcher die Maximalwerte aller zuvor definierten Datenreihen zurückliefert. Parameterersetzung wie bei !SqlData
DefaultParams Mit <literal></literal> getrennte Parameter, welche verwendet werden, wenn diese nicht in der Befehlszeile übergeben wurden
[Font1] Name Schriftartenname 1
Height Schriftgröße
[Font2] Name Schriftartenname 2
Height Schriftgröße
[Label] Feldname | Anzeigename | Farbcode | Stiftbreite | Stiftstil
Feldname ist dabei der Name des Feldes aus der SQL-Abfrage,
Anzeigename legt den Namen in der Legende fest,
Farbcode ist die Stiftfarbe als RGB-Wert und
Stiftbreite die Breite der Linie.
ist der Stiftstil > 0 dann wird die Stiftbreite immer mit 1 festgelegt.
Folgende Stile sind möglich:
0 (default) ____
1 ——-
2 …….
3 _._._._
4 _.._.._
Für jedes Feld aus der SQL-Abfrage muss ein Eintrag vorgenommen werden.

Beispiel Konfigurationsdatei

[Image]
Width''800
Height''600
TopSpacing''20
BottomSpacing''20
LeftSpacing''40
RightSpacing''200
Range''auto

[Db]
; Access
Connection''Provider''Microsoft.Jet.OLEDB.4.0;Data Source''eBus.mdb
User''
Pwd''?
; MySQL
; Connection''Driver''{MySQL ODBC 3.51 Driver};Server''localhost;Database''ebus;Option''3
; User''ebus
; Pwd''

Provider''MSDASQL

SqlData''SELECT Timst, AussenTemp, SammlerTemp, S1KollektorTemp, S1WWTemp, WWTemp FROM eBusHistory WHERE Timst>%1 AND Timst<%2 ORDER BY Timst
SqlMin'' SELECT MIN(Timst), MIN(AussenTemp), MIN(SammlerTemp), MIN(S1KollektorTemp), MIN( S1WWTemp ), MIN( WWTemp ) FROM eBusHistory WHERE Timst>%1 AND Timst<%2
SqlMax'' SELECT MAX(Timst), MAX(AussenTemp), MAX(SammlerTemp), MAX(S1KollektorTemp), MAX( S1WWTemp ), MAX( WWTemp ) FROM eBusHistory WHERE Timst>%1 AND Timst<%2
; Access
DefaultParams''now()-5|now()
; MySQL
; DefaultParams''date_sub(now(), INTERVAL 3 DAY)|now()


[Font1]
Name''Arial
Height''16

[Font2]
Name''Arial
Height''12

[Label]
; Feldname''Anzeigename | Farbcode | Stiftbreite | Stil
;                         0xRRGGBB   --??         0-4
; Stil:
; 0 ****//****//****////; 1  -------
; 2  .......
; 3  _._._.//; 4  _.._..//S1KollektorTemp''Kollektor-Temperatur | 0x0000ff | 2
S1WWTemp''Boilertemperatur Solar | 0xff0000 | 2
AussenTemp''Aussentemperatur | 0x00ff00 | 2
SammlerTemp''Sammlertemperatur | 0x777777 | 2
WWTemp''WWTemp | 0xaa0000 | 2

Befehlszeile

folgende Parameter sind möglich:

DataGraph.exe [/i Konfigurationsdatei.ini] [/n] [/o Outputfilename.jpg]|[/u nUpdateinterval] Param1 [Param2 [...]]

/n … es werden keine Achsenbeschriftungen angezeigt

/u „5 s“ …. Update der Grafik im Intervall (nicht mit /o kombinierbar!) z.B. Millisekunden: 2000, Sekunden: „10 s“, Minuten: „1 m“, kombiniert: „1 m 30 s“

Die übergebenen Parameter Param1, Param2, etc können in den Konfigurationsparametern SqlData, SqlMin und SqlMax mit %1, %2, … eingefügt werden.

Beispiele für Programmaufruf:

DataGraph.exe /i Solarertrag.ini /o Solarertrag.jpg now()-365 now()

DataGraph.exe /i !ShowLive.ini /u "10 s" now()-1 now()

Download:

ebus/datagraph.1444589376.txt.gz · Zuletzt geändert: 2015/10/11 13:49 von bernhardh