Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Abgelaufene Zeit eines Timer in der Visu darstellen

2011-06-08
2011-07-26
  • bikeoholiker - 2011-06-08

    Hallo,
    ganz einfache Sache aber ich komm nicht drauf. Ich habe einen Timer TON der hat am ET Ausgang eine Variabe im TIME Format. Und diesen Wert möchte ich in einen Feld in der WebVisu der 750-841 darstellen? Am besten in Stunde und Minuten.

     
  • tomiku - 2011-06-08

    Hallo bikeoholiker

    Probiere das mal
    VAR
    timer:TON;
    Stunden:REAL;
    Minuten:REAL;
    Start: BOOL;
    Zeitvorgabe:TIME;
    END_VAR

    timer(IN:=Start , PT:=Zeitvorgabe , Q=> , ET=> );

    Stunden:= TIME_TO_REAL (timer.ET/3600000); (Anzeige Stunden)
    Minuten:= TIME_TO_REAL(timer.ET/60000); (Anzeige Minuten)

     
  • bikeoholiker - 2011-06-09

    Hallo, das ist schon nahe dran aber ich möchte die Anzeige in Stunden:Minuten. Also z.B abgelaufene Zeit: 12:11 das sollen zwölf Stunden und 11 Minuten sein.

     
  • Anonymous - 2011-06-10

    Originally created by: jl

    PROGRAM PLC_PRG
    VAR
    timer: TON;
    Start: BOOL;
    Zeitvorgabe: TIME;
    Minuten: UDINT;
    Sekunden: UDINT;
    Stunden: UDINT;
    Zeit_hhmm: STRING;
    SekundenRest: UDINT;
    Zeit_hhmmss: STRING;

    END_VAR

    timer(IN:= Start , PT:= Zeitvorgabe , Q=> , ET=> );

    Sekunden := TIME_TO_UDINT(timer.ET) / 1000;

    Stunden := Sekunden / 3600;
    Minuten := (Sekunden - Stunden * 3600) / 60;
    SekundenRest := Sekunden - Stunden * 3600 - Minuten * 60;

    Zeit_hhmm := CONCAT(UDINT_TO_STRING(Stunden),':');
    IF Minuten < 10 THEN
    Zeit_hhmm := CONCAT(Zeit_hhmm,'0');
    Zeit_hhmm := CONCAT(Zeit_hhmm,UDINT_TO_STRING(Minuten));
    ELSE
    Zeit_hhmm := CONCAT(Zeit_hhmm,UDINT_TO_STRING(Minuten));
    END_IF

    (Erweiterung Anzeige Stunden:Minuten:Sekunden)

    Zeit_hhmmss := CONCAT(Zeit_hhmm,':');
    IF sekundenRest < 10 THEN
    Zeit_hhmmss := CONCAT(Zeit_hhmmss,'0');
    Zeit_hhmmss := CONCAT(Zeit_hhmmss,UDINT_TO_STRING(sekundenRest));
    ELSE
    Zeit_hhmmss := CONCAT(Zeit_hhmmss,UDINT_TO_STRING(sekundenRest));
    END_IF

    Alternativ kann in den Visualisierungseinstellungen unter "Extras - Einstellungen - Datum/Zeit" eine formatierte Ausgabe der Time Variable eingestellt werden, ist allerdings zielsystemabhängig.

     
  • Joersch1981 - 2011-07-26

    Hallo zusammen,
    bei mir funktioniert die Umwandlung von UDINT_TO_STRING nicht. Wieso nicht? Fehlt mir da ne Bibliothek???

    Gruß
    Joersch

     

Log in to post a comment.