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:
Die Konfiguration erfolgt über die Konfigurationsdatei DataGraph.ini sowie über die Befehlszeile.
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 | 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. |
[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
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()