• 27.04.2024, 18:51
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Zueroc

Junior Member

Betriebsstundenzähler

Mittwoch, 4. Oktober 2023, 22:28

Moin an die Gemeinde,
Ich suche eine Möglichkeit, bei den virtuellen Sensoren in der Aqua Sweet einen Betriebsstundenzähler zu schreiben, aber irgendwie scheitere ich da immer. Jeder Versuch mit System uptime usw einen Sensor zu basteln gelingt nicht, weil der Zähler immer wieder auf 0 gesetzt wird, wenn der pc neu hochfährt .
Gibt es denn irgendwie eine Möglichkeit, die online Zeit zu addieren? Also irgendwie speichern und dann beim nächsten Systemstart, dass er dann weiter zählt. Ab hier hoffe ich auf eure Hilfe.

Donnerstag, 5. Oktober 2023, 14:40

Virtuelle Sensoren -> Einstellungen (Zahnrad) -> Ausgangswert dauerhaft speichern und wiederherstellen->aktivieren

Zueroc

Junior Member

Donnerstag, 5. Oktober 2023, 21:36

Vielen Dank für die Antwort, doch funktioniert es einfach nicht. Bei jedem Start setzt er die uptime wieder auf null. Hat das was mit Administrator oder so zu tun?

Freitag, 6. Oktober 2023, 07:26

da muss du schon mehr zeigen als "funktioniert nicht".
Was hast du eingestellt wie ist dein Virtueller Sensor aufgebaut. Screenshots, Export vom Sensor, Beschreibung....

Zueroc

Junior Member

Freitag, 6. Oktober 2023, 10:41

So, nun habe ich mal einen screenshot eingestellt, hier wollte ich gerne die Energiekosten darstellen, habe die system uptime in stunden umgewandelt und der Zähler läuft, sobald ich den Rechner hochfahre.
Bei erneutem Start des Rechners jedoch, fängt dieser wieder bei 0 an.
wie man unten sieht, habe ich auch mit verschiedenen speichern versucht dem herr zu werden, diese habe ich aber erstmal wieder abgekoppelt, weil alles immer wieder zu 0 führt.



Freitag, 6. Oktober 2023, 11:02

gelöscht. hätte mir deine Bilder richtig ansehen sollen :)

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »mditsch« (6. Oktober 2023, 11:13)

Zueroc

Junior Member

Freitag, 6. Oktober 2023, 11:33

Ich vermute mal, ich brauche einen festen Ursprungswert, wo dann die system uptime hinzu addiert wird, man kann ja mit der unixtimestamp einen wert übersetzen, also zb. Startdatum des Rechners in sekunden übersetzen, als festen wert festlegen und dann uptime immer hinzu addieren, na da hab ich was zu tun :)

Zueroc

Junior Member

Freitag, 6. Oktober 2023, 12:06

Ursprungsdatum braucht man nicht wirklich, sondern ja nur die letzte Laufzeit und diese versuche ich zu speichern und ich vermute mal, das mir die kurz nach systemstart angezeigt wird, bevor wieder auf 0 gesetzt wird und neu angefangen wird zu zählen.

Auf den Fotos nochmal der Versuch, die aktuelle Laufzeit zu ermitteln, zu Speichern und nach neustart zu addieren. Funktioniert aber irgendwie noch nicht.


Zueroc

Junior Member

Freitag, 6. Oktober 2023, 17:54



Erste Ansätze:

Also der Wert wird nur gespeichert, wenn der Zähler tatsächlich gestoppt wird!
Ich habe mal mit einem Vergleich den Wert 1 geliefert und solange im Speicher der Wert 1 anliegt, also wenn bei mem S=1 ist, tickert der Zähler. Ich hatte die Hoffnung, das wenn ich den Rechner runter- und anschliessend wieder hochfahre, S=0 ist und somit der Letzte Wert gespeichert wird.
Vielleicht ist dem auch so, aber ich denke, dadurch das der Zähler ja immer läuft und bei systemstart resettet er einfach den letzten Wert auf 0 und fängt neu an zu zählen.

Erst wenn ich es schaffen würde, das zählen zu unterbrechen, diesen tatsächlich gespeicherten Wert abgreifen könnte und bei erneutem systemstart quasi zu addieren, dann hätte ich das, was ich suche:)
hat jemand evtl. schon eine Routine, wie ich 1. das zählen unterbrechen könnte und den zuletzt gespeicherten Wert mit dem neuen zähler addiere?

Vielen Dank und ich zähl auf Euch :)

Freitag, 6. Oktober 2023, 17:59

So klappt es...
Du musst Deinen Ausgang (hier "Betriebssekunden") wieder als Eingang nehmen und diesen zwischenspeichern (x=mem(A)) bevor der Eingang "System uptime" die Zeit hat den Ausgang wieder mit "1 Sekunde" zu überschreiben und von vorne zu beginnen
Um den beim letzten runterfahren des PCs dauerhaft gespeicherten Wert einmal beim Start zu addieren, kann man die Funktion "Trigger" nehmen die einmal sofort eine "1" ausgibt (durch den konstanten Eingang mit x=1 gleich am Anfang)

Wie im Beispiel zu sehen werden die alten Betriebssekunden (2937,46) zu "System uptime" (271,41) addiert und ergeben somit die neuen Betriebssekunden.

Sollte der PC in diesem Moment abschalten, wären die 3208,87 dauerhaft gespeichert und würden beim nächsten hochfahren durch X=mem(A) dauerhaft zu "System uptime" addiert werden

Zueroc

Junior Member

Freitag, 6. Oktober 2023, 18:47

So klappt es...


Vielen lieben Dank, erste Lichtblicke!!!



Allerdings habe ich bemerkt, das meine Zeit wohl wie im Fluge vergeht :) bin jetzt seit erstellen des Sensors offensichtlich schon 16 Std. online.
Jetzt hat er aufgehört zu springen, liest der irgendwo tatsächlich die "Betribsstunden" aus und hat das quasi aktualisiert? bin jetzt bei 16,08 Betriebsstunden.
Ja, das System ist brandneu, bin auch mit der Suite noch nicht ganz so vertraut.

Werde gleich mal das System neu starten, bin gespannt.

Also vielen Dank nochmal, ich werde bestimmt noch die eine oder andere Frage haben.

Schönes Wochenende

Freitag, 6. Oktober 2023, 19:23

Das Problem ist, immer wenn Du an den einzelnen Elementes der Funktionen jetzt etwas änderst oder z.T. auch nur verschiebst und bewegst wird der Trigger offensichtlich resettet und er denkt das er den Eingang durch die Konstante zum ersten mal bekommt (das 0=x wird dann für ´ne Sekunde zu 1=x).
Dann lädt er den aktuellen Wert in den Zwischenspeicher und addiert diesen dann zur "System uptime" -> macht dann einen großen Sprung.

Richtig nutzen kannst Du das ganze (wenn es so aufgebaut ist) also erst, wenn Du nix mehr daran veränderst und keine Kästchen mehr verschiebst.
Man kann natürlich auch einen Reset einbauen, der z.B. über einen Schalter auf dem Desktop oder so die gespeicherten Betriebssekunden (in meinem Fall) wieder auf 0 setzt und nur die aktuelle "System uptime" wieder anzeigt.

In der Testphase genügt es einfach die Verbindung zum Ausgang temporär zu "kappen"


Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Peter von Frosta« (6. Oktober 2023, 19:28)

Ähnliche Themen