WinCC Datum & Uhrzeit in Ausgabe anzeigen

Holle-52499

Level-2
Beiträge
62
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich stehe gerade vor einem kleinen Problem.
Ich würde gerne im WinCC ein Ausgabefenster machen inwelchem Datum & Uhrzeit angezeigt werden.
Das Datum und die Uhrzeit würde ich gerne von der SPS in die Variable schreiben, zu dem Zeitpunkt wann eine Aktion das letzte Mal ausgeführt wurde.
Gibt es hierzu eine einfache Möglichkeit?

Habe bei Siemens bisher nur eine Möglichkeit gefunden dies mit dem Datum zu machen, allerdings nicht mit der Uhrzeit Link

Habe über die Suche leider nichts finden können.
 
Da wäre es erstmal wichtig, dass du uns etwas mehr Informationen gibst.
Welche Software, welches Panel, welche CPU
Wie (welches Format) speicherst du das Datum/Uhrzeit die du anzeigen möchtest in der CPU?
 
WinCC Runtime V7.4 + SP+ 1 + Update16
Das ganze läuft einem Server/Client Konstrukt.
SPS ist eine CPU 417-4.
Speichern wollte ich das ganze als Date-and-Time und über den SFC1 auslesen.
 
Das Datum und die Uhrzeit würde ich gerne von der SPS in die Variable schreiben, zu dem Zeitpunkt wann eine Aktion das letzte Mal ausgeführt wurde.
Gibt es hierzu eine einfache Möglichkeit?
Du speicherst einfach in dem Moment wo dein Ereignis anfällt den Date&Time aus dem SFC1 in deine Variable. Diese zeigst du dann auf der Visu an.
Ich verstehe gerade nicht wo du ein Problem hast ... vielleicht schreibst du dazu mal etwas ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Variable ist in der Visu als Datentyp "Datum/Uhrzeit" angelegt mit der Formatanpassung "DateTimeToDateTime". Allerdings wird in der Visu immer 0 angezeigt, obwohl in der Variable in der PLC das Datum drin steht.
 
Ich habe das ganze jetzt nochmal mit Screenshots dargestellt. Einen Fehler den ich zuerst gemacht habe war, dass ich das E/A Feld nicht mit dem Datenformat Datum/Uhrzeit eingestellt hatte sondern in Dezimal. Aber selbst nachdem ich das behoben habe, wird bei mir im WinCC nur ein Default Wert von WinCC angezeigt.

So habe ich die Variable im Variablenhaushalt angelegt:
Variablenhaushalt.png


So sieht die Eigenschaft des E/A Feldes aus:
Eigenschaften WinCC.png

Das ist die aktuelle Anzeige im WinCC:
Anzeige im WinCC.png

Im Variablenhaushalt im WinCC sieht der Aktualwert wiefolgt aus:
Anzeige im WinCC mit aktuellen Daten.png
 

Anhänge

  • Anzeige im WinCC mit aktuellen Daten.png
    Anzeige im WinCC mit aktuellen Daten.png
    43,6 KB · Aufrufe: 6
Aus der WinCC Hilfe - Arbeiten mit Variablen, Suchen: DateTimeToSimaticDateAndTime
Der Datentyp "Datum/Uhrzeit" hat eine Länge von 8 Byte als Gleitkommazahl 64-Bit IEEE 754.

Die Variable nimmt Datum und Zeit auf und wird als Gleitkommazahl implementiert, deren ganzzahlige Komponente die Anzahl der Tage vor oder nach Mitternacht am 30. Dezember 1899 ist, und dessen Nachkommastelle die Zeit an diesem Tag geteilt durch 24 darstellt.
Als Formatanpassung müsste theoretisch DateTimeToSimaticDateAndTime eingestellt werden. Damit hatte ich allerdings noch keinen Erfolg. :cry:

Ich habe mir den Datentyp DATE_AND_TIME in WinCC als Strukturvariablen gebastelt und kann damit die Struktur-Elemente einzeln anzeigen. Mit einem C-Skript kann man mit printf/sprintf die Einzelteile auch zu einem String zusammenfassen.
S7_DATE_AND_TIME_Struktur.jpg

Siemens FAQ: Wie kann mit WinCC auf eine DATE_AND_TIME Variable in einer S7-Steurerung zugegriffen werden?

Datenformat DATE_AND_TIME in einem EA-Feld bei WinCC 7 anzeigen

Hier eine Variante, die liest den DATE_AND_TIME als Rohdatenvariable und formatiert direkt zu einem String "TT.MM.JJJJ HH:MM:SS":
WinCC Anzeige von Zeit aus Variable DATE_AND_TIME aus S7

Es müsste auch funktionieren, in der SPS den DATE_AND_TIME in Date und TimeOfDay zu zerlegen. Die müsste WinCC anzeigen können.
 
Hab es jetzt auch mit der Strukturvariable von PN/DP versucht, allerdings ohne Erfolg.
Hab dann das Ausgabefeld als Ausgabe von string gestellt und im Ausgabewert ein vbscript geschrieben was den String mit Datum und Uhrzeit ausgeben sollte. Hat aber leider auch nicht funktioniert.
 
Ich habe jetzt das Script nochmal angepasst.
Was mir nur komisch vorkommt: Direkt auf dem Server funktioniert das Script und die Anzeige.
Wenn ich über das Web schaue gibt das Ausgabefeld nur 00.00.00 00:00:00 aus. (siehe Bilder im Anhang)

Im folgenden das vba script welches ich geschrieben habe.
Der Name des Ausgabefeldes ist übrigens mein Variablentag, deswegen auch Item.ObjectName.
VBA Script.png

Die Ausgabe auf dem Server:
Anzeige im WinCC mit aktuellen Daten Server.png

Die Ausgabe auf dem Webclient:
Anzeige im WinCC mit aktuellen Daten WebClient.png

Wenn ich das Right("00" + xxxxxxxxxxxxxxxxxxx ,2) lösch, wird im Web sogar nur folgendes ausgegeben:
Anzeige im WinCC mit aktuellen Daten WebClient ohne CStr.png

Daher gehe ich davon aus das im Web das vba script Probleme mit dem CStr hat.
Hat dafür ggf. jemand eine Lösung?
 
Aus irgendeinem Grund, den ich selber noch nicht herausgefunden habe, funktioniert heute auf einmal das Script aus dem Bild oben...

Edit: So wie es scheint funktioniert das Skript immer nur am Slave. Am Master scheint es nicht zu funktionieren.
 
Zuletzt bearbeitet:
Update: Nachdem die Serverpaare mehrfach neu geladen wurden funktioniert das E/A Feld nun auf beiden Servern.... Wo auch immer da jetzt der Fehler lag :unsure:
 
Zurück
Oben