Autor Thema: Betriebsstundenzähler  (Gelesen 21930 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Boeby

  • Gast
Betriebsstundenzähler
« am: 20. Januar 2009, 15:59:19 »
Guten Tag liebes Forum,

hab da mal so ein kleines Problem:

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???

Vielen Dank schonmal!!!!

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #1 am: 20. Januar 2009, 17:46:18 »
Hi

Hierzu benötigst du  "geteilt","ganzzahlig" und die "Modula" funktion.



Vieleicht hilft diese kurze Info, ansonsten hier nochmal schreiben.


Also
1. Anzahl der minuten ausrechnen. --> Variable "Gesamtminuten"
2. "Gesamtminuten" geteilt durch 60  --> Variable "Stunden"
3. Nachkommaanteil von Stunden "wegschneiden"
4. Anzahl der "Stunden"  * 60 rechnen.
5. Restminuten berechen  -->  "Gesamtminuten" - ( Zahl aus 4. )

Somit hast du Stunden und Minuten.



Ich hoffe, ich habe das einigermassen richtig erklärt.


Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #2 am: 20. Januar 2009, 18:43:02 »
für so einem zweck passt der Baustein DT_TO_STRF perfekt !
das ausgabe-format kannst du beliebig zusammenstellen

Siehe Beispiel-Grafik (Anhang)


[gelöscht durch Administrator]

Boeby

  • Gast
Re: Betriebsstundenzähler
« Antwort #3 am: 21. Januar 2009, 16:04:24 »
Vielen Dank zunächst euch Beiden!!!

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!

MfG

[gelöscht durch Administrator]

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #4 am: 21. Januar 2009, 16:18:55 »
das beispiel funktioniert auch in der simulation

dein problem ist beim DT_TO_STRF das der Formatierungsstring "FMT" bei dir nicht in ordnung ist.

du hast bei FMT '#n:#r:#t' angegeben, diese parameter gibt es aber nicht !

bitte alles so wie in Doku anwenden

FMT '#N:#R:#T'   <--- das funktioniert dann auch ...

 

Boeby

  • Gast
Re: Betriebsstundenzähler
« Antwort #5 am: 21. Januar 2009, 16:22:53 »
Ups....

Zunächst vielen Dank für die prompte Antwort.

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...


Vielen Dank auch nochmal an gravieren!!!
« Letzte Änderung: 21. Januar 2009, 16:50:25 von Boeby »

Offline vicky

  • Jr. Member
  • **
  • Beiträge: 54
    • Profil anzeigen
    • E-Mail
Re: Betriebsstundenzähler
« Antwort #6 am: 07. Februar 2009, 20:13:38 »
Hallo,
Vielleicht sollte man grundsätzlich darüber nachdenken den Betriebsstundenzähler-Baustein "ontime" auf Stunden umzustellen.
Denn:
1. Sagt ja der Name schon, dass es sich hierbei um einen Stundenzähler handelt.
2. Zählt in der Regel ein Hardware-Betriebsstundenzähler, an Anlagen in der Industrie und sonstwo, auch Stunden.
3. Wäre ein direkter Vergleich mit Herstellerangaben möglich, z.B. Haltbarkeit von Leuchtmitteln.
4. Was sagt einem der Wert "2109231" Sekunden?
    => Mir erst mal nichts. Da muß schon noch mal Adam Riese drüberschauen.
5. REAL-Format würde sich anbieten "100,5" => 100 Std. 30 Min.

Das soll nun nur so mal als ne Art Brain-Schdorming dienen.

Diese Denkweise kann man eigentlich global auf die OSCAT anwenden.

Alla gud

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #7 am: 07. Februar 2009, 21:02:57 »
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.


Offline shooter

  • Jr. Member
  • **
  • Beiträge: 70
  • Shooting Fuzzy temperatures
    • ICQ Messenger - 60155180
    • Profil anzeigen
    • E-Mail
Re: Betriebsstundenzähler
« Antwort #8 am: 27. Februar 2009, 13:23:59 »
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.

this solution is without any external library.

Pusher

  • Gast
Re: Betriebsstundenzähler
« Antwort #9 am: 11. März 2009, 09:46:04 »
Hallo zusammen !

Kann mir jemand sagen warum mein OnTime so schnell zählt ? Bei Ca. 1 sec. zählt der Baustein ca. 2. oder noch n bischen schneller ! ???

währe dankbar für Hilfe. Habe ich es so wie oben gemacht das Beispiel von peewit .

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #10 am: 11. März 2009, 10:23:28 »
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?

Offline vicky

  • Jr. Member
  • **
  • Beiträge: 54
    • Profil anzeigen
    • E-Mail
Re: Betriebsstundenzähler
« Antwort #11 am: 11. März 2009, 10:28:58 »
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

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Betriebsstundenzähler
« Antwort #12 am: 11. März 2009, 10:49:55 »
dann gibt es nur eine erklärung, da hat noch jemand anders auf die var geschrieben.