TIA Geschwindigkeit genaustens ermitteln über Zykluszeit-Addition

thomas_95

Level-2
Beiträge
27
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Leute,

Erstmal zur eingesetzten Hardware etc..

Habe eine Siemens SPS die 1214C..
und einen Inkrementalgeber der Pro Impuls 0,05mm Weg erfasst.
(20impulse pro mm)
Programmiersprache FUP

Zu meinem Problem:

Ich möchte meine Zykluszeit ermitteln und dadurch die Geschwindigkeit genaustens erfassen indem ich sage nach 0,1mm Weg (2Impulse) wurde mein OB1 XX mal aufgerufen...
Das wäre somit meine Zeitdifferenz und meine Wegdifferenz .. dann könnte ich nämlich die Geschwindigkeit perfekt ermitteln und abspeichern pro 0,1mm.

Hat jemand ne Idee wie ich das realisieren kann? Hört sich iwie einfach an .. aber ich weiß leider nicht welche Bausteine zur Zykluszeit ermittlung ich nutzen muss bzw wie ich das dann addieren kann etc..

Muss ja sogesehen ermitteln wie oft der OB1 aufgerufen wurde, die Zykluszeit addieren dann geteilt rechnen und nurnoch zuweißen... anschliesend wieder alles zurücksetzen..

Falls weitere Fragen auftauchen einfach bescheid geben !

Danke im Vorraus für eure Hilfe!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Üblicherweise kenne ich das unter Anwendung der Weckalarme und High-Speed-Counter.
Das Verfahren ist dann umgekehrt: Der Weckalarm wird auf einen fixen Zeitraum definiert und bei jedem Aufruf wird der aktuelle Counterwert weggespeichert und die Differenz zum vorhergehenden gebildet. Die Countzahl in der fixen Zeiteinheit ist ein direktes Mass für die Geschwindigkeit. Die Stichworte stehen oben und die Hilfe dürftest Du mit F1 finden ;)
 
Die Methode habe ich schon durch.. bin aber nicht wirklich zufrieden mit dieser.. ich wollte eben die genauste geschwindigkeitsangabe pro 0,1mm erfassen ... weil diese dann in ein array geschrieben werden soll und später per vb skript auf ein Panel übertragen wird.. als kurvenanzeige..

Gesendet von meinem SM-G930F mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In welchem Zeitraster brauchst Du die Geschwindigkeit? In welcher Auflösung?
Wie groß ungefähr ist die Geschwindigkeit?

Harald
Also 1. Mein inkrementalgeber liefert mir ja 0,05mm pro impuls..

Das "Zeitraster" naja.. am liebsten halt so präzise wie möglich von Impuls zu Impuls bzw zu jedem 2. Impuls..
.. heisst das wäre variabel... hoffe ich erklär das passend..

Auflösung? Du meinst mit welcher Genauigkeit? Am besten so genau wie möglich ;)

Die Geschwindigkeiten liegen im bereich von 100-1500mm pro minute ...

Gesendet von meinem SM-G930F mit Tapatalk
 
Ich würde es anders herum machen :
nicht die Zeit zwischen 2 Impulsen erfassen sondern erfassen, wie viele Impulse in einem festen Intervall herein kommen (z.B. alle 0,1 s). Hier gilt natürlich : je länger dein Intervall umso genauer ist die Messung.
Die Zeit zwischen 2 Impulsen zu messen wäre m.E. eher etwas bei langsameren Impulsfolgen ...

Gruß
Larry
 
Ich würde es anders herum machen :
nicht die Zeit zwischen 2 Impulsen erfassen sondern erfassen, wie viele Impulse in einem festen Intervall herein kommen (z.B. alle 0,1 s). Hier gilt natürlich : je länger dein Intervall umso genauer ist die Messung.
Die Zeit zwischen 2 Impulsen zu messen wäre m.E. eher etwas bei langsameren Impulsfolgen ...

Gruß
Larry
So wie von dir beschrieben wird es von mir auch eig. Gemacht.. aber ich möchte halt so präzise wie möglich sein innerhalb einer kleinen zeit.. um die genauste geschwindigkeit zu ermitteln..

Gesendet von meinem SM-G930F mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja ... 1500 mm/Minute und 0,05 mm/Impuls ergeben für mich eine Frequenz von 500 Hz (also alle 2 ms ein Impuls) ... da wirst du schon naturgemäß "ein wenig ungenau" werden ... sogar mit einer viel schnelleren SPS.
Was spricht denn für dich wirklich gegen meine Variante (in dem von dir genannten Umfeld) ?

Gruß
Larry
 
Bei 100mm/min 30ms.. alles schon durchdacht...

Weil dann in meinem Array Werte für Geschwindigkeit eben mehrmal gleich wären... aber dann werde ich wohl bei meiner methode bleiben... dann muss man damit wohl leben... :-)

Dachte mit meinem "Gedankenspiel" hat jemand schonmal was zu tun gehabt...

Gesendet von meinem SM-G930F mit Tapatalk
 
Du könntest die Zykluszeit durch auslesen des Systemtimers bestimmen. Die Differenz zum vorhergehenden Timerwert ist die Zykluszeit. Diese aufaddiert pro x Incremente...
Die Incremente bestimmst Du ebenfalls im OB1-Zyklus.

Naturgemäß wird die Periodendauermessung immer ungenauer mit steigender Geschwindigkeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst den Eingang auf einfach einen Weckalarm schalten und in diesem dann die Systemzeit in eine Variable speichern.
Im OB1 dann diese Zeit abzüglich der vorherigen Zeit nehmen, ist dein Zeitabstand zwischen den Impulsen. Danach dann die neue Zeit auf die "alte-Zeit-Speichervariable" kopieren für den nächsten Durchlauf. Dann noch bei "Zeitunterschied=0" einfach nichts machen...

Dann hast du die genauste Zeit welche deine S7 hinbekommen kann, bis die Zeit zwischen den Impulsen kleiner als deine gesamte Zykluszeit hat, dann wirds ungenau ;)
(Machts du das dann mit mehr als 10 "Inkrementalgebern" auf einer richtig fetten 1500er, bekommst du diese damit sogar in die Zykluszeitüberwachung von doppelten 500ms geschossen und die geht in Stop :D aber genauer geht es faktisch nicht wirklich)

MfG Fabsi
 
Ich werfe da einmal die beiden Begriffe IRT und Taktsynchron in den Raum.
Damit kann man schon, gerade mit Taktsychronität (+ Baugruppen mit Oversampling), sehr genau die Geschwindigkeit bestimmen. Sind aber ggf. auch andere Baugruppen oder CPUs notwendig!
 
Ich werfe da einmal die beiden Begriffe IRT und Taktsynchron in den Raum.
Damit kann man schon, gerade mit Taktsychronität (+ Baugruppen mit Oversampling), sehr genau die Geschwindigkeit bestimmen. Sind aber ggf. auch andere Baugruppen oder CPUs notwendig!
Dann ist das eher ungeeignet.. habe nur die 1214C und nen Panel zur Anzeige der Kurve/Geschwindigkeit..
Aber Danke auch an dich für deine Hilfestellung.

Gesendet von meinem SM-G930F mit Tapatalk
 
Zurück
Oben