Beckhoff KL5111 - Periodendauermessung

Markus

Administrator
Teammitglied
Beiträge
6.323
Reaktionspunkte
2.341
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich habe eine S7-300 und Beckhoff KL5111 am Profibus.

An einer Antriebswelle für eine Zahnradpumpe muss ich Impulse abfragen, diese Impulse kommen bei niedrigen Drehzhalen sehr langsam.

Im langsamten Fall bekomme ich nur alle 1,5sekunden einen Impuls.
(Ich weis das dass Scheisse ist - aber der Anlagebauer ist Anfänger... - ich kann nix dafür)


Die Klemme kann Periodendauermessung mit einer Auflösung von 200ns.
Wo in den 6 Byte kann ich die Periodendauer auslesen?
 
Laut TwinCAT SystemManager hat die KL5111 die Ausgangs-Werte:

Byte 1: Status
Byte 2+3: Counter
Byte 4: PeriodeH
Byte 5+6: Latch/PeriodeL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
soweit mal allerbesten dank!

...und jetzt für doofe siemens user wie mich:


angenommen die Startadresse wäre PEW100

dann wäre:

PEB 100 = Status
PEW 101 = Zählwert (0-65535)
PEW 103 = Periodendauer (PEW103 x 200ns ???)
PEB 105 = Latch

Werde aus der Doku nicht schlau, je nach Buskoppler sollen die Bytes wieder in anderen Bereichen liegen. Also ich habe Profibus mit BK3150...

Was ist der/die/das Latch?
Was steht da drin?

Überlauf und son Kram sollte ja im PEW 100 stehen, oder?

Wenn PEW103 (Periodendauer) mit 200ns multipliziert wird (vermutung), dann kann ich maximal 65535 x 0,000000,2s = 0,013s messen?

Das wäre schlecht...
 
Wg. Parametrierung:
schon mal ins Beckhoff Infosystem geschaut?

Feldbuskomponenten -> Buskoppler -> Übersicht -> BK3xx0 -> Parametrierung und Inbetr. -> Konfiguration -> Konfiguration mit S7

Dort ist ein Beispiel mit dem BK3120 dargestellt
 
Wenn PEW103 (Periodendauer) mit 200ns multipliziert wird (vermutung), dann kann ich maximal 65535 x 0,000000,2s = 0,013s messen? Das wäre schlecht...

Wie wäre es, wenn Du anstatt der Periodendauer eine Frequenzmessung durchführst? Es werden dabei die Impulse in einem Zeitfenster gezählt. Die Länge des Zeitfensters ist über R33 einstellbar.

Siehe Handbuch Seite 12:

R33: Zeitfenster für die Frequenzmessung

Legt die Länge des Zeitfensters für die Frequenzmessung fest (default 0x0000)

Auflösung 1 ms/Digit
1 Digit = 1 ms

In den Prozessdaten-Bytes D3 und D4 werden nun die Anzahl der Impulse angegeben, die innerhalb des mit R33 festgelegten Zeitfensters gezählt werden. Hieraus lässt sich die Frequenz berechnen.

http://infosys.beckhoff.com/index.php?content=content/1031/BkWeb/HTML/german/busterm/Kl5111.htm

Gruß Kai
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Markus,

Zitat aus Beckhoff-Anleitung
Wenn CB.1 gesetzt und Bit R32.8 im Feature-Register nicht gesetzt ist:
Es wird die Periodendauer zwischen zwei positiven Flanken vom Eingang A mit einer Auflösung von 200 ns gemessen und in den Daten-Bytes DataIN2, DataIN3 und DataIN4 ausgegeben.

Das Bit R32.8 im Feature-Register ist default nicht gesetzt. Wenn nun im Controlbyte CB.1 gesetzt wird, gibt die Klemme in den Prozessdaten einen 3 Byte langen Wert für die Periodendauer aus. Zum Auslesen des Wertes sollte u.U. SB.1 ausgewertet werden.

2^24 * 200ns = 3,3554432s


Gruß, Onkel
 
Zuletzt bearbeitet:
So das ist die Belegung der Bytes für Profibus und Interbus.
Müsste für deinen Bk 3150 passen. (Siehe Bilder)

Bilder sind aus dem Handbuch Seite 18.

Wort-Offset High-Byte Low-Byte
Pw 100 ---> 0 ----------D1-------- CB/SB
Pw 102 ---> 1 ----------D2----------D0
Pw 104 ---> 2 ----------D3----------D4

Periodendauer steht in D2, D3, D4 (Siehe Tabelle).


Hoffe das hilft dir weiter, und du hast Recht, aus der Doku von Beckhoff wird man wirklich nicht schlau!!!
Die sind immer ganz großes Kino :twisted:
 

Anhänge

  • Beckhoff1.jpg
    Beckhoff1.jpg
    16 KB · Aufrufe: 43
  • Beckhoff2.jpg
    Beckhoff2.jpg
    36,1 KB · Aufrufe: 39
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@kai

das ist bekannt, aber leider wäre das zeitfenster groß wenn ich auch langsame drehzahlen (alle 1,5s einen Impuls oder evnetuell noch weniger) erfassen will, dann sollte mein zeitfenster mindestens so groß sein.

das ist ungenau und langsam...

wäre alles kein problem wenn dieses vertrottelte anfängerpack vom anlagenbauer zahnradmesszellen oder inkrementalgeber auf der motorseite verwenden würde. aber diese anfänger haben einfach einen ini auf die abtriebswelle (antriebswelle der pumpe) gebastelt. anfangs hatten die trottel nur einen nocken, inzwischen sind es vier und ich denke das auch 8 möglich wären.

meiner meinung nach ist die einzige lösung um die drehzahl in diesem fall schnellstmöglich und genau zu erfassen über die periodendauer.

die signale sind langsam genug um sie auch bei der hohen drehzahl mit einem sps eingang zu erfassen, aber dann hätte ich als fehler einen sps zyklus oder bestenfalls einen ob35 zyklus mit (sagen wir mal) 5ms...

das wäre prozentuall gesehen auch zu ungenau.

deshalb bin ich auf die "schnelle" kl5111 gekommen, sie soll mir die periode messen...

die einzige (einfach umsetzbare) lösung wäre eine kl5111 die mir die periodenzeit auch bis 2 oder 3 sekunden misst...


aber scheinbar lässt sich das so nich realisieren und dann sag ich morgen zu dem pack das sie was anderes dranschrauben müssen.
 
Zurück
Oben