KTP600 Time Format

GS-Harri

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

ich kämpfe jetzt schon eine gewisse Zeit mit der Dartstellung eines Time-Wertes auf dem KTP600 Panel.
Wahrscheinlich ganz einfach, ich komm aber nicht drauf:
Folgende Situation:
Auf einer S7 1200 (TIA V13) rechne ich die verbleibende Restlaufzeit mit dem Baustein T_Diff aus.
In1 und In2 im DTL-Format, die Ausgabe schreibe ich in einen DB im Timeformat --> funktioniert.
Jetzt will ich diese Restlaufzeit auf dem Panel darstellen.
Dazu ein E/A Feld erstellt und die Variable zugewiesen.
Was muss ich einstellen, dass mir der Wert auch so dargestellt wird?:confused:
Ich kann nur Dez oder Bin als Format anwählen, dann bekomme ich die Restlaufzeit als Dezimal- bzw Binärwert angezeigt.
Format Uhrzeit darf ich nicht.
Warum?

Grüße

Harri
 
Das Time-Format ist in Millisekunden. Wahrscheinlich hat dein E/A-Feld dann nicht genug Stellen. Einstellung "Dezimal"

Da kannst die Variable aber mittels "linearer Skalierung" im Panel auf Sekunden/Minuten oder Stunden skalieren.
Einfach bei den Eigenschaften der HMI-Variable den Punkt "Lineare Skalierung" anwählen.

Beispiel für Skalierung auf Minuten:
CPUHMI
600001
00
 
Danke für den Tipp, aber ich kann an der 1200er keine TOD deklarieren. Nein, kann ich nicht.
Und ich möchte den Wert so anzeigen, wie er im Time-Format vorliegt. Ich könnte daraus Stunden, Minuten und Sekunden machen und das in 3 EA Feldern darstellen, will ich aber nicht.:cool:
Ich will ein EA Feld mit Stunden,Minuten und Sekunden.:rolleyes:
Das müsste doch machbar sein.
 
Danke für den Tipp, aber ich kann an der 1200er keine TOD deklarieren. Nein, kann ich nicht.
Warum kannst Du nicht? Geht es nicht in Deinem TIA oder weißt Du blos nicht wie?
Ich habe jetzt kein TIA hier, aber laut TIA-Hilfe sollte das gehen.

Und ich möchte den Wert so anzeigen, wie er im Time-Format vorliegt.
Du willst echt wirklich, daß am KTP600 angezeigt wird: 'T#12H34M56S' ? :confused: Das geht nicht direkt, sondern nur als String.
Oder wäre Dir nicht doch '12:34:56' lieber? Das geht nämlich einfach: eine TOD-Variable als Uhrzeit anzeigen

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

ich denke schon, dasss ich weiß wie. An der 1500er kein Problem, aber an der 1200 bekomme ich das Format TOD nicht vorgeschlagen in der Formatauswahl. Nur Time und DTL .Natürlich wollte ich 12:34:56 haben, da hast du vollkommen recht.
Ich habe jetzt dividiert und die Reste ausgewertet und mir 3 Felder erzeugt. Die Kuh ist vom Eis, allerdings wurmt es mich, dass es so nur so "kompliziert" geht.
 
Kopiere (Convert ?) den TIME-Wert in eine Variable vom Datentyp TIME_OF_DAY (TOD), dann kann der Wert als Uhrzeit 00:00:00 ... 23:59:59 angezeigt werden.
Das hab' ich bis dato für einen Counter-Zeitwert auch so gemacht.

Ich musste aber jetzt im Ausland beim Wechsel der Sprache und dem damit verbundenen Wechsel zur 12h-Uhrzeit-Anzeige feststellen, dass dann statt z.B. 00:34:56 als Restzeit 12:34:56 AM angezeigt wird.
Das ist für einen Counter natürlich nicht gerade prickelnd.

Leider hab' ich bisher keine Möglichkeit gefunden, dieses einzelne Uhrzeitanzeigefeld auf das 24h-Format zu forcieren.
Die weiteren Uhrzeitfelder sollen schon das landesübliche Format behalten.

Ich hab' mir jetzt erst mal einen FC erstellt, der mir den Time-Wert in der SPS in einen String umwandelt, der dem 24h-Anzeigeformat mit führenden Nullen entspricht.

Gibt es eventuell noch alternative Lösungen?
 
Zurück
Oben