Step 7 Istgeschwindigkeit aus FM-450

Clyde82

Level-1
Beiträge
230
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Istgeschwindigkeit aus FM-350

Hi,

irgendwie steh ich total auf dem Schlauch. Ich hab 2 FM450 an angetriebenen Rollen und lese den Istwert im 50ms Weckalarm aus. Bilde dann aus dem aktuellen und dem Wert aus dem letzten Zyklus die Differenz und rechne die Impulse in eine Geschwindigkeit um. Allerdings sieht das ganze bei mir so aus:
v_soll.jpg

Irgendwie hab ich das Gefühl, dass ich trotz Weckalarm was falsch mache. Hat jmd eine Idee wo mein Denkfehler liegt?

Achtung wichtiger Nachtrag:

Das in diesem Thread beschriebene fehlerhafte Verhalten betrifft eine FM350 die über ET200 und Profibus an einer S7 400 hängt. Ich hatte fälschlicher Weise angenommen, dass das Problem ebenfalls bei der FM 450 im Rack der CPU auftritt, tut es aber nicht. Die Sprünge im grünen Signal sind ganz einfach auf kleine Änderungen in der Impulsdifferenz zurückzuführen. Beispiel: Wenn meine Analge 170m/min fährt brauch ich 28 Impulse pro 50ms damit 170 m/min als Istgeschwindigkeit rauskommt. Sollte ich mal nur 27 Impulse alle 50ms haben sind das direkt 5 m/min weniger und es kommt zu einem kleinen Sprung.
 
Zuletzt bearbeitet:
Ich werde aus Deinem Diagramm nicht schlau was das darstellen soll :cry:

Warum liest Du in einem Weckalarm aus? Und warum so oft? Wenn Du aus ein paar Impulsen eine Geschwindigkeit errechnen willst, dann sollte die Meßzeit möglichst lang sein, sonst schwankt das Ergebnis sehr nur weil 1 Impuls mehr oder weniger in das Meßintervall fiel. Notfalls kann man Meßintervalle ineinander schachteln, um einen Kompromiss zwischen längerer Meßzeit und kurzer Meßwert-Aktualisierung zu bekommen.
Liest Du dann auch von der Peripherieadresse?
Sind in Deiner Rechnung vielleicht große Rundungsfehler?
Was ist das eigentliche Ziel/Aufgabe Deiner Messung?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Fangen wir doch einmal mit dem Grundlegenden an:

bei deinen max 60m/min aus den Diagrammen, welchen Umfang haben die Rollen und welches Signal liegt an der FM an? (Näherungsschalter mit 1 Impuls pro Umdrehung oder?)

MfG Fabsi
 
Hi,

ich hätt vllt von Anfang an etwas mehr schreiben sollen.

Es handelt sich um eine Bandanlage an der wir eine bessere Wegverfolgung benötigen und zwar hochgenau, welche auch schon funktioniert. Jetzt wollte die Produktion noch gerne eine super schöne Istgeschwindigkeit haben aus dem gemessenen Weg haben.

Aufgebaut ist es folgendermaßen. TvRIM steht für Treiber vor Richtmaschine. Dies sind 2 Rollen, eine die aufs Band gepresst wird und angetrieben ist und die 2te, welche unterm Band die mitläuft. An der unteren ist ein Geber mit 1000 IMP pro Umdrehung aber mit 4 fach Spurauswertung also 4000 Impulse pro Umdrehung. Die Rolle hat 300mm Durchmesser.

Der 2te Geber hängt an einer weiteren Rolle RvBG (Rolle vor Bremsgerüst). Ebenfalls 1000 IMP pro Umdrehung aber mit 1 fach Spurauswertung. Durchmesser ist 492mm.

Im obrigen Bild sieht man den Leitsollwert der Analge und man sieht dass die errechneten Istgeschwindigkeiten beider Rollen quantitativ diesem Wert auch folgen, allerdings immer diese Sprünge machen, so ca. alle 200ms. Und dort liegt mein aktuelles Problem - ich weiß nicht so recht warum sie das tun. Ich hab auch schon versucht, die Geschwindigkeit über ein langsameres Intervall zu ermitteln, welches die ganze Sache zwar verbessert - aber das Phänomen bleibt das gleiche. Daher die Frage hier im Forum ob es sich jmd erklären kann, warum mir das passiert.

Anbei noch die Bilder zur Rechnung. Wie bereits oben erwähnt einlesen des Counters und Rechnung alle im 50ms OB.

Ermittlung Weg:
Weg.jpg

Ermittlung v-Ist:
v_ist.jpg

Kleiner Nachtrag: Wir rechnen bei Geschwindigkeiten in m/min, daher wird der Weg von mm in m gewandelt (Division durch 1000) und es findet die Umrechnung von s nach min statt (Multiplikation mit 60).
 
Zuletzt bearbeitet:
Ich sehe nirgendwo daß Du auf die Peripherieadresse des Zählers zugreifst, sondern nur auf den Zählerstand aus dem Zähler-DB: "DB..."...ACT_CNTV
Wo und wie oft wird der FC aufgerufen, der den Zählerstand aus dem Zählerkanal in den DB schreibt? In dem OB direkt vor der gezeigten Verarbeitung?

Ich habe gerade keine rechte Lust ;) zum rechnen: wieviele Impulse (Zählerstands-Differenz) erhältst Du alle 50 ms?

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich benutze den Standardbaustein von Siemens CNT_CTRL - der intern nach meinem Wissen mit dem PED der FM arbeitet:

Bild 1:
teil1.jpg
Bild 2:
teil2.jpg
Bild 3:
teil3.jpg

Die Anzahl der Impulse hängt natürlich von der aktuellen Geschwindigkeit ab:

Bei maximaler Geschwindigkeit von 240 m/min bekomm ich 754 Impulse alle 50ms.
Bei minimaler Geschwindigkeit von 25 m/min bekomm ich 79 Impulse alle 50ms.
Bei 60 m/min wären es z.B. 189 Impulse alle 50ms.

Dies gilt für die Rolle mit 4000 Impulse.
 
Zuletzt bearbeitet:
Weil Du noch nicht eindeutig bestätigt hast: der FC CNT_CTRL wird in Deinem OB3x direkt vor den Berechnungen aufgerufen? Oder im OB1?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aufruf im OB36 - OK.

Wenn in 50 ms 8 Impulse eingehen, dann sind das auf 1 Minute hochgerechnet 9600 Impulse, wenn nur 1 Impuls mehr eingeht (also 9 Impulse) dann macht das auf 1 Minute hochgerechnet 10800 Impulse. Der Wert der Pulse/Minute springt in Vielfachen von 1200 Impulsen. Erklärt das schon Deine m/min-Sprünge?

PS: wie hast Du eigentlich den Zählerüberlauf berücksichtigt?

Harald
 
Der Überlauf interessiert mich weniger. Die Baugruppe kann bis +/- 2^31 zählen. Ich hab 4000 Impulse pro meter. Ein Produkt ist maximal 1000-1500m lang heißt die Maximalimpulse liegen bei 6.000.000 pro Produkt, was nicht mal in der Nähe von 2^31 bzw 2.147.483.648 liegt. Mit jedem neuem Produkt wird ein Preset auf L#0 durch geführt (Post #6 Bild 2).

Die Sprünge erklärt mir deine Aussage bisher nicht. Im Bild aus dem Messwerterfassungssystem sieht man dass der Istwert der Geschwindigkeit immer drüber liegt und dann ein heftigen Sprung nacht unten macht und zwar ca alle 200 ms. Da sieht logisch was falsch aus. Wenn ich z.B. mit dem Taktmerker 200ms arbeiten würde und meine SPS läuft mit 40-50 ms dann wäre Beispielhaft jeder 4te Wert "ungenau". Das tue ich aber nicht. Ich würde erwarten, dass der ermittelte Wert auf dem Sollwert liegt und etwas drum herumtänzelt - wenn mal mehr oder weniger Impulse kommen zum Zeitraum X. Das was ich da oben aber sehe kann ich mir aktuell nicht erklären.

Vllt noch als Nachtrag. Der Wert der Istgeschwindigkeit wird im OB1 ans Messwerterfassungssystem übertragen. Der OB1 läuft mit 20-25ms und das Messwerterfassungsystem hat einen eigenen Profibusstrang mit 6 Mbit/s.
 
Zuletzt bearbeitet:
Nachtrag:

Gerade festgestellt, dass ich mich bei den Impulsen pro 50ms verrechnet hatte. Das sind die richtigen Werte:

Bei maximaler Geschwindigkeit von 240 m/min bekomm ich 754 Impulse alle 50ms.
Bei minimaler Geschwindigkeit von 25 m/min bekomm ich 79 Impulse alle 50ms.
Bei 60 m/min wären es z.B. 189 Impulse alle 50ms.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Weiterer Nachtrag:

Ich hab mal im Messwerterfassungsystem die Differenz der Impulse pro 50ms für den Fall v-Soll 118 m/min von der FM nach geschaut:

Bei konstanter Fahrt zum einem Zeitpunkt :

t00: 461 IMP
t01: 458 IMP
t02: 228 IMP
t03: 458 IMP
t04: 456 IMP
t05: 456 IMP
t06: 456 IMP
t07: 457 IMP
t08: 228 IMP
t09: 464 IMP
t10: 458 IMP
t11: 459 IMP
t12: 460 IMP
t13: 233 IMP

Das dort aufeinmal 233 Impulse bei konstanter Fahrt drin landen, warum auch immer gibt mir zu denken - es würde ja bedeuten dass der Antrieb aufeinmal langsamer oder das ist eine Art von Nulldurchgang?
 
Deine Liste aus #12 zeigt also die ausgerechneten Differenzen aus jeweils zwei aufeinander folgenden ZählerstandsAuslesungen.
Mir fällt momentan nur auf, dass die AusreisserWerte ziemlich genau halb so gross sind, wie die plausiblen.

Deute ich Deinen FUP-ScreenShot richtig, dass Du die ZählerStände im REAL-Format vorliegen hast und subtrahierst?
Macht das denn Sinn?

PS:
Deine Betrachtung, dass Probleme mit Überlauf erst bei 2^31 auftreten, ist damit gegenstandslos.
Du kriegst JitterProbleme bei 2^23 = 8.388.608 und die sind nicht mehr weit entfernt von Deinen 6.000.000.
 
Zuletzt bearbeitet:
Hi,

ja genau - die Differenz zwischen 2 ausgelesenen Werten und es sieht überall so aus - egal ob die Anlage nun langsam fährt oder schnell.

Also die Zählerwerte sind schon in DINT nur der Weg ist in Real und ich subtrahiere auch den Weg minus den Weg_Letzter_Zyklus. Jedenfalls diese sich wiederholende Impulshalbierung bei konstanter Fahrt ist auch der Grund warum mein Wert so "dämlich" aussieht.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ja genau - die Differenz zwischen 2 ausgelesenen Werten und es sieht überall so aus - egal ob die Anlage nun langsam fährt oder schnell.
Könntest Du die ausgelesenen Werte statt der bzw. zusätzlich zu den Differenzen mal auflisten?
Die ZählImpulse werden nicht durch HardwareTor der ZählerKarte periodisch ausgeblendet?
Der Preset des Zählers wird ja wohl nicht alle ca. 260 ms dazwischenfunken?
Zähler endlos zählen lassen, Zählerstände "an Siemens vorbei" selbst periodisch (alle 50 ms) auslesen?
 
Gerne,

siehe Bild:
geberwerte.jpg

Die FM ist auf Endloszählen parametriert. In der Hardware ist aktuell "kein Tor" vorgewählt - ich benutze aber am Baustein SW_Gate, was dann naütrlich kein Einfluss hat ^^. Weiterhin hab ich 24V inkrementell, 4 fach-Auswertung. Weiterhin wären die 2 Presetes auf L#0 bzw. L#31100 und nur im Stillstand, dann wären meine 1.000.000 IMpulse ja weg, wenn der dazwischenfunken würde.

Wie kann ich denn an Siemens vorbei den Zählerwert Auslesen?
 
Zuletzt bearbeitet:
Nachtrag,

ich hab was gefunden! Im DB der FM gibt es ja die Rückmeldung STS_RUN und bei konstanter fahrt geht der zwischenzeitlich auf false und es sieht ganz so aus, als ob er auf false geht wenn bei mir die Impulshalbierung stattfindet. Jetzt nur noch die Frage warum er auf false geht - muss ich vielleicht doch Software-Tor in der Hardware aktivieren?

Hab ich in der Hardware geändert von kein Tor auf Software Tor - hat nichts geändert - denk denk denk - liegt es vllt. einfach am Geber?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das sieht ja irgendwie "unergiebig" aus ;o(
Den Preset des Zählers können wir ausschliessen.
Entweder fehlen an 3 Stellen pro Umdrehung des Gebers die Striche oder der Zähler wird periodisch daran gehindert, die Impulse zu sehen.
Ersteres müsste man per Oszilloskop beobachten können bzw. man müsste es auch ohne Oszi ausschliessen können, wenn bei anderen Geschwindigkeiten die Periodizität bei ca. 250 ms bleibt.
Ich vermute, die Karte wird irgendwie daran gehindert, ununterbrochen alle eintreffenden Impulse wahrzunehmen bzw. auszuwerten.
Damit wären wir wieder beim Thema HardwareTor (oder auch SoftwareTor?).

Du hast doch noch einen anderen Geber mit Auswertung nur 1 Flanke. Tritt da auch das Phänomen bzw. ein vergleichbares auf?

PS:
Ich kenne weder die FM450 noch den SiemensBaustein für die Auswertung. Die pdf-Datei zur Karte habe ich, aber habe sie bisher nur überflogen.
 
Zuletzt bearbeitet:
Hi,

die andere FM mit einfach Impulsauswertung hat das selbe Phänomen. Der 4fach Geber hängt an einer FM350 und der einfach an einer FM450. Langsam denk cih echt das liegt u.a. am Gebertyp.
 
Zurück
Oben