Formatumwandlung: Time_of_day

Karli

Level-1
Beiträge
46
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
mein heutiges Problem bezieht sich auf das Datenformat Time_of_day. Hier werden vom FC8 die aktuellen Uhrzeiten im Format hh.mm.ss.000 ausgegeben. Ich möchte nun genau diese Zeiten MIT den Millisekunden ins Excel exportieren. Das Problem: Excel verlangt die Millisekunden durch ein KOMMA getrennt, quasi im Format hh:mm:ss,00

Wie kann ich das Ausgabeformat hh.mm.ss.00 ins Format hh.mm.ss,00 wandeln?

Ich bin für jeden Hinweis sehr dankbar.

Es grüßt
Karli
 
ich würde zuerst mal versuchen dem excel beizubiegen, dass da ein punkt ist

rechts klick auf zelle ... zellen formatieren ... tab zahlen ... benutzerdefiniert und da dann hh:mm:ss.ms eingeben und testen ...

sollte das nicht funktionieren wirst du IMHO um die bearbeitung eines strings nicht herumkommen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Den Versuch, Excel meinen Punkt beizubringen habe ich schon unternommen. Leider erfolglos.
Wie müßte denn der von Dir vorgeschlagene String aussehen? Hat das schonmal jemand gemacht?
 
Zuletzt bearbeitet:
Hallo Karli,
welches Mediums der Übergabe nach Excel bedienst du dich denn ?
Script aus der Visu ? Wenn ja, dann würde die VB-Script-Funktion Now() die Uhrzeit (und das Datum genau in dem Format an Excel übergeben, den Excel versteht.
Ansosnsten solltest du wissen, dass Excel nicht in Stunden und Minuten, sondern in Tagen rechnet. 12:00 Mittags ist also 0,5 Tag und würde dann bei entsprechender Formatierung der Zelle wieder passend dargestellt ...

Gruß
LL
 
Ich speichere die Daten (Uhrzeit) in einem DB, von dort aus lese ich die Zeit mit Hilfe einer Variablen aus dem Protool aus. Dazu habe ich ein Skript geschrieben, welches die Variablen in die entsprechenden Excel-Tabellenspalten schreibt.
 
... da du dir meinen Beitrag nicht (richtig ?) durchgelesen hast ... und in Anlehnung an den Beitrag von Onkel Dagobert ...

Wenn du die TOD-Variable nach Excel übertreagen willst und deren Inhalt in der von dir gewählten Zelle im Format "hh:mm:ss" oder so darstellen willst, dann solltest du eine REAL-Zahl mit dem Inhalt TOD / 86400000 (=24 Std. x 3600 s x 1000 ms) nach Excel übertragen. Dann geht es. Wie ich schon sagte :
12:00 Mittags ist also 0,5 Tag

Gruß
LL
 
Danke, jetzt weiß ich erstmal, was Du meintest, LarryLafer. Ich werde das gleich mal ausprobieren: Mit welchem Operator kann ich denn eine TOD durch eine ganze Zahl dividieren?

Sorry, ich bin Neuling in der Programmierung.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit welchem Operator kann ich denn eine TOD durch eine ganze Zahl dividieren?

TOD ist im Prinzip ein DINT ...
in der SPS mußt du aber einen REAL daraus machen und dann rechnen ...
Code:
L #TOD_Variable
DTR
L 8.64e+007
/R
T #EXcel_Variable_REAL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier noch mal ein kurzes Programmbeispiel:

Man kann die Umrechnung der Tageszeit im Datenformat TOD für die Anzeige in EXCEL in STEP 7 durchführen (wie Larry Laffer es schon richtig gezeigt hat).

Gruß Kai
 

Anhänge

  • OB1.pdf
    5,3 KB · Aufrufe: 11
  • VAT.jpg
    VAT.jpg
    143,7 KB · Aufrufe: 23
Oder man kann die Umrechnung der Tageszeit im Datenformat TOD für die Anzeige in EXCEL auch in EXCEL selber durchführen.

Gruß Kai
 

Anhänge

  • EXCEL_1.jpg
    EXCEL_1.jpg
    146,5 KB · Aufrufe: 13
  • EXCEL_2.jpg
    EXCEL_2.jpg
    163,3 KB · Aufrufe: 12
  • EXCEL_3.jpg
    EXCEL_3.jpg
    174,1 KB · Aufrufe: 12
  • EXCEL_4.jpg
    EXCEL_4.jpg
    162,9 KB · Aufrufe: 11
  • EXCEL_5.jpg
    EXCEL_5.jpg
    362,7 KB · Aufrufe: 12
Zuletzt bearbeitet:
DANKE

Danke an Kai und LarryLafer - mit Eurer Hilfe habe ich es hinbekommen.
Super!

Grüße aus dem Norden!
Karli
 
Zurück
Oben