====== 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: {{:ebus:datagraph.jpg?nolink&800|}} Beispiel mit einer Datenreihe und automatischer Bereichsanpassung: {{:ebus:solartagesertrag.jpg?nolink&800|}} ====== 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 %%|%% 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:download:ebusconnector|DownloadEbusConnector]]