Ich lese aus einem DB einen Wert im Format Time (in ms) aus, jetzt möchte ich gerne diesen Wert in einem Ausgabefeld im Format mm:ss:ms anzeigen.
Soweit ich das gelesen habe wäre eine Möglichkeit den Datentyp in TOD umzuwandeln womit er dann richtig angezeigt wird.
Jetzt meine Frage, gibt es eine Konvertierungsmöglichkeit der Datentypen im Wincc??
Hallo,
TOD (TimeOfDay) unterscheidet sich vom Innenleben her nur in sofern von TIME dass hier die abgelaufenen Millisekunden seit 0:00 Uhr dargestellt werden. Ansonsten ist das genauso ein DINT der in Millisenkunden auflößt ...
Hi,
das bedeuted?? Funktioniert mein Plan so nicht?? In die Time Variable schreibt ein IEC Timer!! Nun will ich diesen auslesen und anzeigen, interresiert aber niemanden das er 16 Minuten in millisekunden lesen muss!!
Gibts da einen Ansatz den ich verfolgen kann??
Ich habs mir irgendwie so vorgestellt wobei Variable 1 Typ Time ist und Variable 2 DateTime!! Hab aber überhaupt keine Skript erfahrung, hatte nur nen Grundkurs in C# und da gibts doch schöne Unterschiede!!
Hallo,
was ich damit sagen wollte ist, dass du den Inhalt einer TIME-Variablen direkt in den Inhalt einer TOD-Variablen übertragen kannst.
Wenn du nun aber mit DATETIME arbeiten möchtest - das ist ein vollkommen anderes Format. DT ist ein Byte-String in dem die einzelnen Teile des Datums und der Uhrzeit BCD-Codiert hinterlegt sind. Sieh dir dazu bitte mal die Step7-Hilfe an. Dann sollte der Code aus deinem Beitrag #5 auch etwas verständlicher sein (wobei darin noch so einiges fehlt).
Programmierst Du eine PC-Runtime oder ein Panel? Welches?
Du könntest in der SPS den TIME in einen String mit dem gewünschten Format umwandeln (einfach)
Oder in 3 numerische Variablen zerlegen und im HMI in 3 Ausgabefeldern ausgeben (nicht schön wegen fehlenden führenden Nullen, man könnte aber BCD als Hex anzeigen)
Wenn Deine Zielplattform Skripte kann, dann schau Dir mal die VBS-Funktion DatePart an. Ich kann jetzt nicht nachsehen, doch ich meine, daß VBS leider keine Millisekunden unterstützt. Dann müsstest Du halt selber in VBS einen String zusammenbauen - kombiniere mein DatePart-Beispiel mit Deiner Berechnung wie Dein AWL-Code in #5.