Anlagengeschwindikeit berechnen

Adenauer

Level-1
Beiträge
121
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich muss meine Anlagengeschwindikeit auf einem Op3 darstellen.
Dazu habe ich einen Impulsgeber der pro 0,5 m einen Impuls rausgibt.
Die Anlage läuft mit 40 - 100 min.

Folgendes hab ich bis jetzt gemacht ist aber nicht das gelbe vom Ei
über ein paar Tips wär ich sehr erfreut.


un t5
l s5t#2s
se t5

lt5
=m51.0

u m 51.0
FN m 51.0
SPBN ausg
L Z 3
L 2
/I
L 30
*I
T MW106
ausg: U T7
ZV Z 3
UN M 51.0
R Z3
 
Hallo!

Wenn ich das richtig verstanden habe, dann stehen für die Berechnung zwischen 80 und 200 Impule pro Minute zur Verfügung - richtig?
Da dann bei langsamer Geschwindigkeit alle 450ms ein Impuls, bei schnellster Geschwindigkeit alle 300ms ein Impuls ansteht, denke ich schlicht weg das da mit einer gewisse Ungenauigkeit von Anfang an zu rechnen ist...
Wie währe es denn mit dem Lösungsansatz, dass man einen Tatkmerker (2 Sekunden) benutzt, um in dieser Zeit die Impulse zu zählen um damit auf die Geschwindigkeit zu kommen? Nachteilig währe dann, dass nur alle 2 Sekunden ein aktueller Wert zur Verfügung stehen würde...
Oder hab ich bei der Betrachtung einen Fehler gemacht?

Viele Grüße, Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,

ich gehe mal davon aus, dass deine anlage 40-100 m/min fährt

du nimmst einen taktmerker, 20ms oder so, und zählst die takte zwischen 2 impulsen, dadurch weisst du wieviel zeit zwischen 2 impulsen vergangen ist, und kann die geschwindigkeit erreichnen.
Die genaus geschwindigkeit hast nach dem 2. impuls. mit jeden inpuls setzt du deinen zähler wieder auf Null

funktioniert ganz gut, über den ansatz berechne ich den rollendurchmesser eines abroller.

ich hoffe, ich konnte helfen
gruß frank
 
Hallo Adenauer !

Ich denke mal, Du meintest Anlagengeschwindigkeit 40 - 100m/min.

Wie wäre es, wenn Du Dir bei der positiven Flanke des Impulsgebers die Systemzeit speicherst und davon den Systemzeitwert der letzten Speicherung subtrahierst. Das kannst Du dann einfach umrechnen.

Eine andere Möglichkeit ist den OB1_PREV_CYCLE (ms) bis zur nächsten Flanke des Impulsgebers zu addieren. Dann hast Du die Zeit in ms.

z.B.
Code:
      L     #OB1_PREV_CYCLE             //letzte OB1-Zykluszeit
      L     MD  1000
      +D    
      T     MD  1000                    //Summe aller OB1-Zykluszeiten seit letzer Impulsflanke

      U     E      0.0                  //Impulseingang
      FP    M0.0                       //positive Impulsflanke
      SPBN  END
      L     L#60000                     //60000ms
      L     MD  1000                    //Zeit in ms seit letzter Flanke des Impulsgebers
      /D    
      L     L#500                       //500mm / Impuls
      *D    
      T     MD  1006                    //mm/min

      L     L#0
      T     MD  1000
END:  NOP   0
von mm/min nach m/min sollte kein Problem sein ;)

Cu, nairolf
 
Hallo,
Adenauer schrieb:
aber nicht das gelbe vom Ei
Das ist wirklich nicht das gelbe vom Ei, eher das braune vom Huhn ...
Welche SPS (S5, S7, ....) wird verwendet, welche CPU ???
Ist die Zykluszeit der CPU schnell genug, um in einem Zyklus alle Impulse zu erfassen ???
Wenn nein, dann Impulse zählen durch Prozessgesteuerten Interrupt und z.B. zyklisch jede Sekunde den Zählwert auswerten und in eine absolute Geschwindigkeit umrechnen.
Wenn ja, wie oben, jedoch ohne Prozessgesteuerten Interrupt.
Ach übrigens, vergess den SPS-Counter, zähl bei einem Impuls einfach ein DW hoch, das Handling istr dann wesentlich einfacher.

Gruss
Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
na ja...

Um bei der Aufgabenstellung zu bleiben:
Anzeige (!) eines Werte auf eine HMI (keinerlei weitere Berechnung).
Bandgeschwindigkeit 40-100m/min -> 1 Impuls alle 750ms bis 300ms
Ich denke, das mit dem Interrupt müsste sich erldeigt haben, Zykluszeiten
im Bereich von 300ms (und einer dennoch gut laufenden Anlage) sind mir noch nicht untergekommen.
Das Zählen der Impulse in einem DW und Berechnung des Speeds über ein festes Zeitfenster von 1s kann wohl kaum genauer sein wie die Verrechnung
des letzten OB1 Zyklus ;) (Beispiel schnellste Geschwindigkeit 3,33 Impusle/s -> Inhalt des Zähl-DW = 3 (!) -> 9,9m/min werden unterschlagen)

Ich persönlich würde um Schwankungen bei der Anzeigevariable zu vermeiden,die letzten 5 Geschwindigkeitswerte mitteln.

Wenn hier etwas berechnet werden soll, dessen Ergebnis genauer
sein muss, dann muss zuerst ein anderer Impulsgeber her

Vielleicht denke aber auch ich an der Fragestellung vorbei, also korrigiert mich wenn ich falsch liege :confused:

Wünsche allen einen schönen Start in den Tag
 
Hallo!

Was mir gerade in den Sinn kommt... Da ja die Geschwindigkeit variabel ist, wird diese irgendwie beeinflußt bzw. gestellt... Wenn dieses ein Umrichtet tut, kann man von dem nicht eventuell über Busanbindung oder Analogausgang die Geschwindigkeit bekommen?

Viele Grüße, Tobias
 
Also ich habs jetzt mit dem OB1 und dem Zykuss gemacht funzt auch ganz gut.

Also die Anlage wird mit einer Hydraulik betrieben.
Ein Motor treibt dazu konstant eine Pumpe die Geschwindikeit wird dann mittels eines Ventils eingestellt.
 
Zurück
Oben