Ich würde gern einen Betriebsstundenzähler realisieren und in einer Visu den aktuellen Stand anzeigen.
Ich habe bisher nen “ontime” verwendet… so weit so gut.
Da dieser ja nur die Sekunden hochzählt, hab ich noch nen “second_to_time” dahinter gesetzt, um zumindest nen einigermaßen lesbares
Ergebnis auf der Visu zu bekommen.
Meine eigentliche Frage besteht jetzt darin, wie ich es hinbekomme, mir auch die Stunden anzeigen zu lassen…also fortlaufend???
Und dementsprechend die Minuten dann zurück zu setzen???
Hab schon das ganze Forum durchforstet ( hoff ich ) leider jedoch nichts passendes gefunden!
Vlt. kann mir ja Jemand nen guten Tipp geben oder hat noch was im Archiv liegen???
Ich habe jetzt zunächst mal den zweiten Vorschlag ausprobiert…
Leider habe ich dann das Problem, dass mir “DT_TO_STRF” irgendwie kein Ergebnis liefert.
Habe deshalb mal noch ne Variable “Test” angelegt und geschaut, ob überhaupt ein IN-Wert anliegt.
Dies ist ja offensichtlich der Fall (s. Anhang). Habe auch schon in der Doku nachgeschaut… kann mir aber irgendwie
nicht erklären weshalb ich kein Ergebnis bekomme…Oder liegt das daran, dass ich es nur in der Simulation versucht habe?
Werde mich jetzt mal an den ersten Vorschlag machen, ist vlt etwas komplizierter, aber das soll einen ja nicht abhalten.
Muss dann ja nur noch die einzelnen Variablen zusammenfügen, aber da wird sich sicher was finden…Muss dazu sagen, dass ich absoluter Oscat-Newbie
bin.
Werd mich dann nochmal melden!
Ok, jetzt sieht das schon ganz anders aus!!!
Wie gesagt: Oscat-Newbie…sonst interessiert Groß- Kleinschreibung ja nicht…
Jetzt bleibt ja nur noch das Prob, dass nach 24 Std. wieder bei 0 angefangen wird.
Kann mir zwar mit ‘#G Tagen #…’ ja auch die Tage anzeigen lassen, jedoch führt das nun wieder dazu, dass
der Zähler mit “1 Tag 00:00:00” anfängt. Wäre für nen Betriebsstundenzähler ja schöner, wenn er einfach nur die
Stunden hochlaufen lässt. Wegen Wartungsintervalle o.ä. Naja, werd ich nochmal schauen müssen, wie ich das realisiere.
Evtl. über Vergleicher oder so…
ursprünglich hatten wir das auch so, aber real hat sich wegen der weiterverarbeitung nicht bewährt,
sekunden haben wir deshalb gewählt weil 2^32 sekunden (soviel kann der ausgang darstellen) 1,2 millionen stunden sind und das ergibt 136 jahre
stunden kann man daraus doch extrem einfach machen indem man durch 3600 teilt.
dann kannst du dir sogar aussuchen ob das ergebnis integer, uint, dint oder udint ist auch real kannst du erzeugen
auf diese weise ist der betriebsstundenzähler am universellsten.
found simple one
line 1 is two times a TON timer of 0.5 seconds to make seconds.
line 2 r_trig from above blinker. then sel 0 1 then add to a sectime variable
line 3 is divide by 3600 hourtime is going to 1 after 1 hour
make the sectime retain so it will stay inside the system.
kann es sein das an deiner variable (die wo die zeit gezählt wird)
2 verscheidene ontime hängen, dann würde jeder die variable um eine sekunde erhöhen was zu deinem effekt führen kann
hast du eventuell 2 ontime in deinem projekt und beide auf dieselbe var geschaltet?
Nee,
das Phenomän kommt dann vor, wenn der Baustein als RETAIN oder PERSISTENT deklariert wird.
So war’s zumindest bei mir.
Warum, daß wissen die Götter