# Tages-, Monats- und Jahres-Diagramm erstellen [Energieverbrauch | e!COCKPIT]



## Lex (8 Februar 2018)

Hi an alle Users,

ich wollte nachfragen ob ggf. jemand ein Programm in *e!COCKPIT* bereits realisiert hat, dass ein Diagramm (z.B. mit einer Exceltabelle) als Tages-, Monats- und Jahresansicht für z.B. einen Energieverbrauch, für die Visu zu Verfügung stellt. 
Im nachfolgendem Bild ist mein Vorhaben denke ich eindeutig zu erkennen:




Derzeitig ist es möglich das ganze mit dem Datalogger v2.2 für jeden Tag sehr schön zu realisieren. Man besitzt viele Funktionen wenn der Datalogger per Browser aufgerufen wird und ist optisch ebenso gut umgesetzt. Jedoch weiß ich nicht, wie ich die vorhandenen Exceltabellen die jeden Tag erstellt werden, in eine Monats-Exceltabelle umzuwandeln und das selbe nochmal für eine Jahres-Exceltabelle, um diese dann im Datalogger aufrufen zu können. Es ist nicht zwingend erforderlich dies über den Datalogger zu realisieren, jedoch ist diese Option schon einmal zu Verfügung seitens Wago.

Würde mich sehr über bereits realisierte Projekte oder Hilfestellung freuen.


Gruß Lex


----------



## .:WAGO::018636:. (12 Februar 2018)

Hallo Lex,

du kannst eine zweite Instanz vom Datalogger nutzen um die Monatswerte aufzeichnen zu lassen und eine dritte Instanz vom Datalogger für die Jahreswerte. Hier solltest du das Aufzeichnungsintervall nur anpassen, da sonst die Dateien zu groß werden können.

Die neuen Dateien erzeugst du einfach durch Änderung der Dateinamen des jeweiligen FB's. Mit der Funktion FuGetLocalTimeComponents aus der WagoAppTime bekommst du die einzelnen Elemente der Zeit und des Datums, kannst diese in String konvertieren (to_string) und mit Concat zusammensetzen.

Ändert sich der Monat dann ändert sich auch der Dateiname und eine neue Datei wird für jeden Monat angelegt. Dieses kannst du dann für Jahreswerte auch anwenden.


----------



## Lex (12 Februar 2018)

Wie immer, vielen lieben Dank für diese Hilfestellung!

Jedoch verstehe ich eines nicht so richtig...
Was genau soll mit der Baustein "Concat" bringen? Ist der Baustein "Concat" lediglich für das zusammensetzen der einzelnen Wochen-, Monats-, Jahres-Zahlen um den Dateiname für die CSV-Datei zu erstellen?
Im darunterliegendem Bild ist ein Screenshot über diesen Baustein und die Konvertierung der Zeitkomponenten zu einem String Datentyp, zu sehen.




Wenn ja, weiß ich leider nicht wie ich dem Baustein "FbDatalogger" diesen zusammengesetzten Namen übermittel und zeitgleich auch sage wann er jeweils eine neue CSV-Datei erstellen soll?
Wie würde ich dem "FbDatalogger" das Signal übermittel, für z.B. der Wochenübersicht sprich alle 7 Tage, eine neue CSV-Datei zu erstellen? 
Ebenso sollte wenn möglich der Dateiname passend dazu erstellt werden. In diesem Fall z.B. "7_Woche_2018", "8_Woche_2018", etc....
Wäre es möglich hierzu ein schnelles Beispiel zu erstellen, falls dies nicht zu viel Aufwand wäre?


----------



## .:WAGO::018636:. (13 Februar 2018)

Hallo Lex,

mit dem Baustein Concat können Sie zwei String Variablen/Werte zu einem zusammenfassen. Dieses würde ich für die Wochen- und den Monatswerte anwenden, da sich diese Daten jedes Jahr wiederholen. Ansonsten finden Sie die Werte vom 2019 in der alten Datei von 2018.
Beispiel in ST:    Die Variablen zwischen den $-Zeichen müssen durch Ihre Variablen ersetzt werden.
smonatswerte:=Concat(str1:=$Variable_Monat$, str2:='_');
smonatswerte:=Concat(str1:=smonatswerte, str2:=$Variable_Jahr$);

Die Variable smonatswerte muss an die Variable typconfigDatalogger.sFilename von der Datalogger Instanz.


----------



## Lex (13 Februar 2018)

Vielen Dank für die schnelle Rückmeldung!
Habe es jedoch heute morgen gerade selbst hinbekommen, leider waren Sie ein wenig zu schnell ;-)
Allerdings habe ich momentan jetzt das Problem als ich die Monatsanzeige noch in das Programm hinzugefügt habe, dass sämtliche FbDatalogger Bausteine die Daten nicht mehr aufzeichenen in die CSV-Datei. Die Dateien sind quasi leer. Sie beinhalten nur Datum und Zeit.
Außerdem ist der Dateiname der CSV-Dateien nach dem hochladen des neuen Programms nicht richtig. Dieser heißt z.B. bei der Kalenderwoche "Logfile_dp.csv" und nicht "2018_7_KW.csv". Der Dateiname bei der Monatsansicht ist ebenso nicht korrekt übernommen worden.
Ich habe herausgefunden das nach dem herumspielen an den Eingängen des FbDatalogger Baustein die Dateinamen irgendwann dann korrekt übernommen werden. Durch das herumspielen der Eingänge erzwinge ich einen Neustart des FbDatalogger Bausteins. Leider stimmt dann nur der Dateiname, aber die Daten werden nicht in die CSV-Datei mitgeloggt (das Spricht nur für die zwei neu erstellen Datalogger-Instanzen (Dataplotter_Kalenderwoche + Dataplotter_Monat)). Ich habe somit keine Channel Auswahl bei den neu erstellten CSV-Dateien. Meine Instanz "Dataplotter" wie im Bild 1 zu sehen, funktioniert einwandfrei.

Im Nachfolgendem sind Ausschnitte aus dem Programm zu sehen:

Nach dem frischen hochladen des neu programmierten Programm:
1. 
	

		
			
		

		
	




2. 
	

		
			
		

		
	




3. 
	

		
			
		

		
	




Nach dem herumspielen der Eingänge am FbDatalogger_Kalenderwochen:   (jedoch keine Channel Auswahl)
4. 
	

		
			
		

		
	




Woran könnte es liegen? Bitte um Hilfe.

P.S.: Die Endung "dp" bleibt jedoch egal was ich mache im Dateiname bestehen, obwohl die "xAppendDate" aus FALSE eingestellt ist und auch korrekt übernommen wird.


*EDIT:

*Also ich habe es doch gelöst bekommen mit den Channels. Dies lag daran das ich in der "init_Kalenderwoche + init_Monat" die Variable ".atypChannelConfig[1]" und die anderen Channels nicht eingepflegt hatte. Jedoch bleibt immer noch das Problem mit dem Dateiname, dass ein "dp" im Namen vorhanden ist. Momentan ist es so das der Dateiname für die Kalenderwoche so aussieht: *2018_7_KW_dp.csv
*Würde es nur sehr gerne habe das es so aussieht: *2018_7_KW.csv
*
Ist es überhaupt möglich diese zwei Buchstaben zu entfernen?

Gruß Lex


----------

