Variablen exportieren mit WinCC und Excel

PHW

Level-1
Beiträge
32
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,


Bis jetzt hab ich mit MSRTExt DLL einen Störungsexport eingerichtet mit dem ich das Langzeit- und Kurzzeitarchiv und die Meldungen der letzte 8 Stunden exportiere!
Dieser funktioniert auch.

Ich möchte nun aber unabhängig vom Störungsexport andere Variablen auswerten. Bei den Variablen handelt es sich um einen vorzeichenlosen 8-Bit-Wert, der mir bei Wertigkeit „0“ Teillast und bei Wertigkeit „1“ Volllast signalisiert.

Ziel soll es sein einmal täglich, monatlich und jährlich eine Auswertung zu machen wie viel Prozent die entsprechende Anlage auf Teillast und Volllast war…aber das wird dann über Excel gemacht.
Welche Möglichkeiten gibt es diese Variablen mit Zeitstempel/ Dauer zu exportieren? Die Volllast- und Teillast Meldungen sollen nicht über das Langzeitarchive etc. laufen. Kann ich da ein Archiv selber erstellen in dem die ganzen Werte gespeichert werden und dieses dann nach Excel exportieren?


Bin Anfänger was WinCC angeht, falls ich mich undeutlich ausgedrückt hab, einfach nochmals nachfragen ;)


Danke schonmal


Grüße Philipp
 
Hallo Philipp,

warum schreibst Du nicht ein kleines VB-Skript, das in eine Textdatei (kann ja z.B. monatlich wechseln) den Zeitstempel und aktuellen Stand der Variable(n) speichert?
Das Skript kannst Du dann auf die Melde-Variable triggern und hast somit immer den aktuellen Wert, wenn sie sich aendert.

Andy_L
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hört sich prinzipiell gut an ;)
Allerdings sind meine Kenntnisse was Hochsprachen allgemein angeht ziemlich fürn **** auf Deutsch gesagt!

Ich bin zwar auf ähnliche Themen gestoßen, allerdings werd ich da leider nciht schlau draus!
 
Hi,

guck mal, ich mache das so ungefaehr auf die Art (Du musst es natuerlich noch auf Deine Gegebenheiten anpassen).

Code:
Sub Save_Log(Byval LogText)
 
   Const ForReading = 1, ForWriting = 2, ForAppending = 8
   Dim fso, f
   Dim dateiname
   
   dateiname = "c:\daten\temp\Logs\SQL_Log.txt"
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile(dateiname, ForAppending, True)
 
   f.WriteLine LogText
  
   f.Close

End Sub

Ich bin kein WinCC-Spezialist, normalerweise programmiere ich eher in Delphi. Aber das Skript funktioniert zumindest so bei mir.

Das ist jetzt natuerlich nur ein Skript, das einen uebergebenen String in eine Datei schreibt. Den Rest musst Du ja noch "drumherum" bauen. Wenn Du dabei nicht weiter kommst kannst Du Dich ja wieder melden.

Andy_L
 
Hallo,

hmm damit komme ich nicht wirklich klar. Da sind meine Kenntnisse wohl zu gering! Hab nochmals genau beschrieben was ich eigendlich will ;)

Ich habe einen Pc mit WinCC mit dem ich diverse Anlagen visualisiert habe und somit steuern und beobachten kann!
Jede Anlage schaltet auf "Volllast" wenn sie produziert und wenn sie ohne produzieren eingeschaltet ist, schaltet sie automatisch auf "Teilllast".

Ich hab mir eine Variable für jede Anlage angelegt die mir bei Vollast den Wert "2" liefert und bei Teillast den Wert "1".

Ziel soll es sein, das ich einmal täglich, wöchentlich und monatlich auswerten kann wieviel die Anlage auf Teil-bzw. Vollast gelaufen ist.
Dies soll über Excel geschehen.

Ich hab es bereits über eine OPC DA Verbindung versucht, allerdings bekomm ich da immer nur den aktuellen Wert der Variable in einer Zelle angezeigt!

Ist es möglich über VB oder ähnliches automatisch eine Exceltabelle zu generieren mit der ich die gewünschten Variablenwerte erfasse und in Excel aufliste. Am Besten wirds nur eingetragen bei Änderung des Wertes der Variablen und dann eben mit "Zustandsdauer" eingetragen. Sodass ich eben eine Exceltabelle habe mit der ich die Zeiten auswerten kann und graphisch darstellen. Aber das ist dann ein anderes Thema!

Wie die Exceltabelle aussehen könnte hab ich mal angehängt. Nur das es vielleicht besser verständlich wird. Selbstverständlich müssen die einzelnen Perioden von Wertigkeit "1" und "2" nicht extra aufgelistet werden. Falls es einfacher ist soetwas wie einen "Zähler" im Hintergrund mitlaufen zu lassen und einmal täglich die Zeitwerte in eine Tabelle zu schreiben ist das auch ok. Bin da für alle Lösungsvorschläge offen.

Wär super wenn mir dabei jemand helfen könnte. Meine Kenntnisse in VB oder anderen Hochsprachen beschränkt sich leider auf das Anwenden von vorgefertigten Skripten etc. Hab bis jetzt immer nur mit S7 und eben WinCC gearbeitet.

Vielen Dank
 

Anhänge

  • Unbenannt.JPG
    Unbenannt.JPG
    90,3 KB · Aufrufe: 29
Zurück
Oben