Zähler überlauf und Variablen wert beim ausschalten speichern

Dword

Level-1
Beiträge
64
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich habe folgende situation mit einem inkrementalgeber zähle ich impulse wandle sie in einen real wert und rechne damit x 0.5 (ist ein rad mit nem halben meter umfang)

das resultat schreibe ich in ein DB.

Mein problem ist wenn ich z.b 100 Meter zähle und das ganze stromlos mache und wiedeer einschalte ist der zähler auf 0 und dieser wert wird dan auch sofort wieder in den DB geschrieben das will ich aber nicht ich will den wert speichern, nur wie ?

überlauf: Irgendwan kommt ja der zählereingang an sein ende wie gehe ich damit um?
 
Hallo,

Deine Variable, die den Wert 100 enthält, müßte dem Zähler wieder als Anfangswert zugeteilt werden. (Anlauf-OB)
Nimmst du dafür Zählerbausteine ala Z1, oder inc/decrementierst du mit einer Variablen? (L 1, +I....)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit den Werten in einem DB geht das so ohne weiteres nicht, der bekommt beim Kaltstart den Wert aus dem Ladespeicher, wenn nich speziell projektiert als remanent Bereich.

IMHO solltest Du deine zu Rettenden Daten in den Remanenten Bereich Deiner CPU legen.

Du kannst auch einen DB Datenbereich als remanent" definieren, je nach vorhandener Hardware.

Hardwaremanager->CPU->Objekteigenschaften->Tab: Remanenz ...

viap315-remanenz.png

Euer Schatten
 
Ich würde mir einen Neustart-Merker im OB100 setzen.
Ist dieser TRUE den gespeicherten Wert aus dem DB zurückrechnen -> ergibt den Zählerwert.
Am Ende des OB1 den Neustart-Merker wieder zurücksetzen.
 
Hallo,
das Abspeichern eines Zählerwertes kann je nach Geschwindigkeit der Bewegung eine recht ungenaue Angelegenheit werden. Beim Einsatz eines Inkrementalsgebers bedient man sich normalerweise eines Referenzpunktes.
Was die Sache mit dem Überlauf angeht - was ist denn überhaupt der Sinn der Sache ? Klar - du machst eine Endloszählung - aber mit welchem Hintergrund ?

Gruß
Larry
 
Hallo,
das Abspeichern eines Zählerwertes kann je nach Geschwindigkeit der Bewegung eine recht ungenaue Angelegenheit werden. Beim Einsatz eines Inkrementalsgebers bedient man sich normalerweise eines Referenzpunktes.
Was die Sache mit dem Überlauf angeht - was ist denn überhaupt der Sinn der Sache ? Klar - du machst eine Endloszählung - aber mit welchem Hintergrund ?

Gruß
Larry

es wird eine Kabellänge hoch gezählt geschwindigkeit ist so bis maximal 19 m /min der inkrementalgeber hatt 100 impulse
 
Zuletzt bearbeitet:
Wie zählst du denn die Inkremente?
Countermodul, Digitale Eingänge?

Neustart-Merker:

OB100:

Set
S Merker Neustart


OB1:

Programm
.
.
.
Set
R Merker Neustart
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Warum zählst Du nicht einfach mit einem DINT-Wert?

Die Auswertung der einzenen Inkremente hast Du ja bereits. Jetzt dieses Signal auf eine Flankenfunktion geben und mit jeder Flanke den Zählwert mit 1 addieren. Den Zählwert legst Du in einem DB ab oder im remanenten Merkerbereich. Jetzt noch einen Vergleicher. Fertig.
 
habe einen merker auf setzen gestellt in ob 100 aber dieser wird nicht gesetzt wie funktioniert das mit dem ob 100 muss ich den irgendwie noch aufrufen oder so ? normalerweise nicht oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wenn es dir um eine Längen-Messung geht - warum mußt du dir dann den letzten Zählerstand merken ? Mach doch einfach die jeweils laufende Messung zu Ende.
Im Grunde verstehe ich auch die Problematik nicht mehr so richtig. Ich würde einfach den Zähler löschen und so lange gelöscht halten, wie du keine Vermessung machst. Bei der Vermessung vergleichst du dann den Zähler (oder er sich selbst) mit dem Wunschwert und danach setzt du ihn wieder zurück.
Wie machst du es bzw. wie wird es konkret aktuell gemacht ?

Gruß
Larry
 
Zurück
Oben