TIA Drehzahlüberwachung

M@X

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo erstmal,
ich bin neu hier und habe ein Proplem und noch keine passende Lösung gefunden hoffe mir kann jemand helfen.

Ich habe eine Dosierschnecke mit einem Drehgeber der mir 8-40 Impulse pro Minute liefert (Digitaleingang).
Im HMI Panel möchte ich einen Wert eingeben und die SPS (S-1200) soll mir überprüfen ob die Drehzahl übereinstimmt.
Das Programm wird in FUP geschrieben.
Kann mir jmd helfen welche Bausteine ich am besten verwende oder wie ich vorgehen soll.

Mit freundlichen Grüßen

M@X
 
Achso, also generell würde ich die Impulse pro Minute zählen bzw. alle 15s und mir daraus die Drehzahl errechnen
 
Timer und Zähler sind mir bekannt nur müsste ich die ja dann immer wieder Reseten wenn ich im 15s Intervall arbeiten möchte und das macht mir die Propleme.
 
Macht ja nichts, du kannst den Timer ja wenn die 15s abgelaufen sind neustarten.

Du musst nur die gezählten Impulse (Zählerstand) nach Ablauf des Messintervalls weg-/umspeichern. So bekommst du natürlich nur alle 15 Sekunden einen neuen Drehzahlistwert (den du dir aus der Zeit und den gezählten Impulsen auch noch berechnen musst).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok also das Proplem mit der Zeit ist gelöst habe eine TOF verwendet die sich über Merker selbst zurücksetz. Der Zähler wird auch über diesen Merker zurückgesetzt. Wenn ich aber den Zählerwert am CV Ausgang auslese wie Speicher ich den dann ab ich müsste ja um damit weiter zu rechnen immer den Maximalwert aus den 15s verwenden gibt es dafür einen Befehl?
 
Mit dem Ablauf des Timers kopierst du mit einer Move-Box (Einfache Anweisungen -> Verschieben -> MOVE) den CV auf eine weitere Variable um, z.B. Impulszahl_alt. Die Move-Box hat einen Enable-Eingang, dort gibtst du die Bedingung an bei der das Umkopieren durchgeführt werden soll.
Du darft den Zähler erst zurücksetzen nachdem du den CV umkopiert hast.
 
Ja das habe ich schon mal versucht und habe mir den Wert auf einem Panel anzeigen lassen. Proplem hierbei ist sobald ich den enable_eingang auf high setze schreibt er mir einwandfrei die neue Variable mit dem Zählerstand, allerdings ist der Eingang der Movebox auf low so bekomme ich rasant wachsende Zahlen z.B. (256, 514, 772 uzsw.) dadurch kann ich ja damit nicht rechnen.
 
Du hast eine Überschneidung der Speicherbereiche.

MW80, verwendet MB80 und MB81
MW81, verwendet MB81 und MB82.

D.h. MB81 wird von MW80 und MW81 verwendet.

Lege MW81 z.B. auf MW82 und prüfe ob im Bereich MB82 bis MB83 alles frei ist.

Und pack mal den Zähler in das Netzwerk 8, also hinter das Netzwerk mit der Move-Anweisung. Damit kopierst du erst den Wert um, und setzt dann erst den Zähler zurück.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oh, noch mehr. M80.0 liegt ja auch im MW80, das musst du auch in einen freien Speicherbereich legen.

Achso, und die Move-Box benötigt als Bedingung am Eingang EN natürlich das Signal wenn der Timer abgelaufen ist (jetzt noch M80.0).

Hinweis:
Über den Menüpunkt "Programminformation" und dann in der Reiterkarte "Belegungsplan" bekommst du eine Übersicht auf welche Speicherbereiche zugegriffen wird, und wo es womöglich Überlappungen gibt.
 
Zuletzt bearbeitet:
Danke vielmals jetzt funktioniert es so wie es soll nun kann ich mich an die berechnung machen. Hier jetzt meine LösungZähler1.jpgZähler2.jpg
 
Zurück
Oben