LabVIEWForum.de - Betriebstundenzähler

LabVIEWForum.de

Normale Version: Betriebstundenzähler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin Leute ,

Ich habe ein Problem, ich muss ein Betriebsstunden Zähler für einen Antrieb entwickeln das heißt ich kriege ein boolisches Signal sobald er angeht und und wenn er 2000 std. gelaufen ist soll eine Rote Lampe leuchten. Mein Problem ist das meine zeit immer verloren geht so bald dass boolische Signal einmal weg geht und irgendwann wieder kommt
Hallo LaTuNix,

zu einem BSZ (Betriebsstundenzähler) gehört mehr als nur ein ExpressVI in einer Case-Struktur…

Du brauchst:
- eine Schleife um dein Programm, sodass es auch länger laufen kann
- ein Schieberegister, um den Stand des BSZ (während der Laufzeit) zu speichern
- Dateizugriffe, um den BSZ-Stand einzulesen, wenn dein Programm startet und zu speichern, wenn dein Programm beendet wird (es wird ja wohl kaum 2000h am Stück durchlaufen, oder?)

Der Rest ist dagegen sehr einfach, zumindest in Pseudocode:
Code:
BSZ:=LoadFile()
REPEAT
  IF N_Antrieb > 0 THEN
    BSZ := BSZ + 0.25   (Kommentar: 0.25s addieren)
  ENDIF
  WAIT(0.25s)           (Kommentar: 0.25s warten)
UNTIL stop-button
SaveFile(BSZ)
Mein Programm ist sehr groß natürlich hab ich eine schleife, ich verbinde mich mit mehreren SPS und mache ein Visualisierung nur den betriebstundenzähler kriege ich null hin.. kannst du mir da ein kleines Beispiel geben?
Hallo Latunix,

Zitat:kannst du mir da ein kleines Beispiel geben?
Dafür habe ich doch den Pseudocode oben geschrieben!

Ok, noch mehr Beispiel:
[attachment=59958]
"EOH" steht für "effective operating hours"…
Allso heute mach ich Feierabend jetzt ich kriege heute Garnichts mehr hin versuche es morgen wieder...
Ich weiß auch nicht warum ich mich damit so schwer tuhe hab es mal anders ausprobiert wie es in einem Forum hier war ...
Bahn

Weil das hab ich bisher gemacht und ich möchte halt noch ein Betriebsstundenzähler gerne machen nunja aber normalerweise bin ich halt nicht dumm in LabVIEW aber grad schon ...xD
okay warum will meine nummerische anzeige sich nicht verbinden lassen?[attachment=59965]
(14.05.2019 09:26 )LaTuNiX schrieb: [ -> ]okay warum will meine nummerische anzeige sich nicht verbinden lassen?

Weil du ein Array abspeicherst und dieses beim Start wieder einliest.
Die numerische Anzeige kann aber nur einen Einzelwert anzeigen.
Das zeigt dir aber auch die Fehlermeldung.

Willst du das so? Ich denke nein. Speichere den letzten Wert und lese den ein.

In Gerds Signature findest du die Basics in Sachen LabVIEW. Damit solltest du dich etwas befassen.

Hope it helps, Ralf
Da ich heute meinen guten Tag habe. Das ist aber noch immer "quick´n dirty".

zB fehlen: Save vor Stop / Variablenüberlauf.....
...also ich würde erstmal die WAIT-Funktion austauschen durch die klarer determinierte "wait until next ms" Funktion.
Außerdem würde ich weder beim Einlesen noch beim Wegschreiben der Zeiten die Nachkommastellen wegrunden. Dann würde ich wahrscheinlich auch eher eine Dateireferenz öffnen und die offene Referenz zum Schreiben benutzen. Und das Zeitmanagement für das Schreiben der Datei ist hier sicher gut mit dem "einzig legitimen" Express-VI "Verstrichene Zeit" zu erledigen. Dann kann einem nämlich der Schleifentimeout egal sein.
Außerdem wäre noch zu klären, wie hoch die Schaltfrequenz für den Antrieb ist - wechselt er also möglicherweise ständig zwischen ON / OFF?
Dann sind die 500ms sicher sehr grob gewählt.

Gruß, Marko
und hab es jetzt so gemacht mit den Reset und DankeschönSmile
und ne das Ein und schalten dauert mehr als eine Minute.
Seiten: 1 2
Referenz-URLs