Ich suche eine Baustein um die Drehzahl zu messen

J

jsmue

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich suche einen Baustein oder Tipp wie mann mit einer S7 Cpu 315 DP
mit einem normalen Eingang die Drehzahl einer Maschine ca 100 U/min messen kann. SFB 48 ist nur fur die CPU`s 31xC zugelassen ?
Beispiel wäre Super Danke im Voraus Jo. :( :(
 
Interessante Sache.
Problem sehe ich bei der Signalerfassung. Der Impuls des Signalgebers wird sehr kurz sein, evt. kürzer als die SPS-Zykluszeit. Somit gehen dir Impulse verloren und die Anzeige passt nicht. Von den DigiIN sehe ich kein Problem.

Stellt sich die Frage, kann man einen DI mit einem Interrupt belegen?

Ich bleib dran, habe heute abend Babysitterdienst :D

pt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die gängigen Baugruppen sind schätzungsweis zu lahm, man kann auch nur der 7BH01-0AB0 Alarme zuweisen, ich befürchte jedoch, ohne Zählbaugruppe gibts Probleme

Gruß

Ralf
 
Nabend

naja kommt darauf an wie die welle aussieht wir machen immer halb und halb also eine hälfte der welle kommt der eingang und die anderehälfte nicht.

Bei 100 U/min machts etwa 1,66 Inmpulse pro sec das sollte man messen können.

Am einfachsten ist es die Flanken der Impulse auszuwerten und die Zeit zwischen den beiden Flanken zu messen bzw aus der CPU internen Zeit (kann man Irgendwo als ms wert rausladen) zu errechen und schon hat man einen Baustein mit dem man die Drehzahl messen kann.

Bei Intresse Poste ich hier gern meine Idee von Baustein dazu.

MfG Balou

P.S. Solltest du eine So hohe Zykluszeit haben das die Überwachung nicht geht nimm nen Ineterrupt und lade die Eingangsdaten als PEW dierekt aus der Baugruppe
 
Messung der Zeit zwischen den Flanken:
Wenn du alle 10ms den OB35? das PEW lesen läßt, hast du die Zeit zweier Flanken auf +-10ms genau. Bei 100UpM ist die Periodendauer 600ms+-20ms. Das sind schon 6% Streuung unter den günstigsten Umständen.
Wenn du nun die Dauer von 10 Impulsen bestimmst, sind es 0,6%. Damit du nicht 6 Sekunden darauf warten mußt, schreibst du die Zeitmarken von 10 Flanken in einen FIFO oder Ringspeicher. Bei jeder neuen Flanke überschreibst du den ältesten Wert und errechnest die neue Geschwindigkeit aus der Differenz der neuesten und ältesten Zeit.
Du bekommst also pro Impuls einen neuen Wert. Dieser ist aber nicht "momentan" sondern Tiefpass-gefiltert.
Je nach Eigenschaften des Impulsgebers bietet es sich an, eine andere Zahl von Impulsen zu betrachten, z.B. ein Vielfaches der Zahnzahl bei Zahnrädern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Am einfachsten ist es wenn du die Anzahl der Impulse zählst (wenn Flanke vom Eingang => Zählwert +1). Nach Ablauf von einer Minute sicherst du den Zählwert und setzt ihn wieder auf 0. Der gesicherte Wert entspricht dann den Impulsen/min (U/min). Der Nachteil ist, das erst nach der Minute der Wert zur Verfügung steht und das nur ganze Umdrehungen gezählt werden (95,2 U/min gibt es nicht).

smoe
 
@smoe
Das ist sehr unpraktisch, du bekommst keine Drehzahländerung mit

@Zottel
600ms? Aber nur der Umlauf. Je nachdem, wie die Impulse gebildet werden bekommst Du sie nicht mit.

pt
 
Diese Empfehlung aus dem vorhergehenden Beitrag hatte ich schon vorrausgesetzt:
...naja kommt darauf an wie die welle aussieht wir machen immer halb und halb also eine hälfte der welle kommt der eingang und die anderehälfte nicht. Bei 100 U/min machts etwa 1,66 Inmpulse pro sec das sollte man messen können.
Bei 10ms Abtastzeit durch den OB35 reicht es aber, daß die kürzere Zeit (ein- oder aus) größer als 20ms ist.
 
Zurück
Oben