#1
Moin liebe Leute,
Es gibt ja schon einige Themen zu meiner Fragestellung, dort hatte ich es auch versucht, aber vielleicht ist meine Frage da einfach untergegangen, weil das Thema schon "abgearbeitet" war. Deswegen versuch ich es mal in einem neuen Thema. Iich bin relativ neu in der SPS Programmierung und versuche mich grade an einer Drehzahlmessung. Habe hier die S7-1200 (CPU 1215C) zur Verfügung, bisher aber noch keine weiteren Steckkarten. Eigentlich habe ich meine Drehzahlmessung so wie bereits in anderen Themen vorgeschlagen realisiert. Ich will Drehzahlen von 0-200 U/min erfassen. An meiner Welle habe ich einen Impulsgeber, der halt einmal pro Umdrehung einen Impuls auf einen Digitaleingang%I0. 0 der CPU gibt. In meinem Programm wird im Main-OB durch diesen Impuls ein Funktionsbaustein ("Drehzahlmessung") aktiviert. aIn diesem wird der Digitale Eingang%I0. Encoder und Drehgeber von Hohner Elektrotechnik aus Werne. 0 auf positive Signalflanke abgefragt. Bei positiver Flanke wird die Systemzeit eingelesen (RD_SYS_T) und als "neue Zeit" abgespeichert (mit Datentyp DTL, das geht irgendwie bei der 1200 nur als DTL?
Inkrementalgeber Drehzahl Berechnen 2021
Dabei wird jede steigende und fallende Flanke der A u. B -Spur ausgewertet. Somit kommt du auf eine Positionierauflösung von 0, 001. Zumindest nach meiner Rechnung und Verständnis! #7
Ok das mit dem vervierfachen hatte ich eh vor. Könntest du ggf mir noch deine Rechenwege bzw Formeln nennen damit ich das ganze nachvollziehen kann?! #8
Du willst mich testen!? Was ist denn an meiner Ausführung nicht nachrechenbar? Deine Spindel hat eine Steigung von 5mm. Heißt die Spindelmutter bewegt sich bei jeder Umdrehung um 5mm in achialer Richtung. Inkrementalgeber drehzahl berechnen siggraph 2019. Ist an der Spindel ein Inkrementalgeber angebracht der pro Umdrehung 1000 Inkremente liefert, so bedeutet jedes Inkrement das sich die Spindelmutter um 5mm/1000 = 0, 005mm bewegt hat. Also könntest du mit diesem Aufbau die Positionen
0, 000
0, 005
0, 010
0, 015
usw. anfahren. Die Inkremente sind ja nix anderes als Rechteckimpulse mit den Zuständen 0 und 1. Jeder Zustand ist dabei gleich breit. Angenommen du hast die Position 0, 005 angefahren. Jetzt kannst du die Spindel weiterdrehen, ohne das ersteinmal wieder eine positive Flanke kommt.
Inkrementalgeber Drehzahl Berechnen Siggraph 2019
Wenn ich meine Zeitdifferenz von Time in Int konvertiere, muss ich den Int-wert danach noch skalieren? Bzw ist mein Programm so vom Prinzip her dnen überhaupt richtig, also lese ich die Systemzeit richtig aus und ist es richtig die so voneinander abzuziehen etc? Für ein paar Tipps wäre ich sehr dankbar! Anbei noch Screenshots vom Programm (Netwerk 1-5), damit ihr wisst wovon ich rede =D
Anhang 23767
Anhang 23768
Anhang 23769
Anhang 23770
Anhang 23771
Vielen Dank und viele Grüße,
Lars
#2
Also ich würde nur die Impulse zählen, im Sekundentakt (oder x Sekunden) auswerten, abnullen und weiterzählen...
#3
Hi Lars
dein Anhänge funktionieren nicht:-(
Aber trotzdem ein paar Tipps. T_DIFF liefert dir eine TIME. Das sind Millisekunden. Wenn diff = T#25ms ist, dann bedeutet das, dass da ein DINT#25 drin steht. Um da jetzt U/min draus zu machen musst du wie du schon vermutest 60/diff_in_sekunden rechnen. TIA - Drezahlmessung mit Inkrementalgeber an S7-1200 Steuerung | SPS-Forum - Automatisierung und Elektrotechnik. Aber diff is ms. D. h. 60/(diff/1000) und dann möchtest du das auch noch in REAL, also erst nach REAL wandeln, dann rechnen -->
Code:
#rpm:= 60000.
Sofern du einen sinnvollen Timeout wählst, wird bei unterschreiten einer bestimmten Drehfrequenz (1/Drehfrequenz/100 < Timeout) ein Fehler ausgegeben, wodurch du weißt, das das Band wahrscheinlich steht. Wahrscheinlich schreibe ich, denn es könnt ja auch der Drehgeber runtergefallen sein (oder ähnliches). Zu beachten ist dabei allerdings, dass bei dieser Karte, wie bei jeder anderen auch, nicht nur eine obere sondern auch eine untere Grenze gilt. Der Grund hierfür liegt in der Taktfrequenz und der Auflösung. Geschwindigkeit auswerten über Drehgeber - LabVIEWForum.de. Ich würde so aus dem Bauch heraus eine halbe Sekunde warten, was in etwa 1 U/min entspricht. 15. 2012, 08:54
Das mit dem Timeout hab ich schon den Fehler bei keiner Drehbewegung aber nicht bewusst eine Fehlermeldung erzwingen und diese dann quittieren. ja auch nicht ganz die elegante art wenn ich die Frequenz immer abfrage und den fehler anschließend gleich resete um keinen programmstillstand zu bekommen. :-(
Dann find ich es fast noch besser nur bei einer wirklichen Drehbewegung die Frequenz abzufragen.
Inkrementalgeber Drehzahl Berechnen Oder Auf Meine
Hab schon gesucht aber nicht passendes gefunden. Ich denke dass eine Geschwindigkeitserfassung über Drehgeber doch zum Standardprogramm gehört. 16. 2012, 10:39
Beitrag #4
jg
CLA & CLED
Beiträge: 15. 826
Registriert seit: Jun 2005
20xx / 8. x
1999
EN
Franken...
Welche DAQ-Hardware hast du? Bei Verwendung der passenden Hardware kannst du dir mit einem Counter-Task direkt die Drehzahl und bei Verwendung von DAQmx-Skalierungen auch gleich die Umrechung auf eine Geschwindigkeit ausgeben lassen. Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)!! BITTE!! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort! Einführende Links zu LabVIEW, s. GerdWs Signatur. 16. 2012, 11:37
Beitrag #5
Hallo Jens,
ich verwende die PCI Steckkarte 6010. Hätte mir schon gedacht dass ich alles fertig konfiguriert auslesen kann. Geht das bei der PCI 6010? Inkrementalgeber drehzahl berechnen formel. 16. 2012, 12:06
Beitrag #6
Dazu gibt es eine ganz einfache Methode:
NI Example Finder öffnen.
Die Strecke welche die Mutter in achsialer richtung zurücklegen kann liegt bei 0, 00499999.. mm ohne das an der Anzeige etwas passiert, da erst nach 0, 005mm wieder ein Impuls vom Geber kommt. Da bedeutet, das deine Mutter bei gewünschter Position 0, 005mm auch bei 0, 00999 oder 0, 00000.. 1 stehen kann, je nach der Richtung in die gefahren wurde. Stichwort Motornachlauf und Spiel. Bei Vierfachauswertung verbessert sich die Situation wesentlich. Inkrementalgeber drehzahl berechnen 2021. Dann erkennt die Auswertungseinheit schon nach 0, 005/4 =0, 00125mm wieder eine Bewegung. Somit wäre auf 0, 00624999.. positionierbar. Falls du dieser Aufstellung nicht folgen und das mit einem Geber mit 1250 Inkrementen durchspielen kannst, weis ich auch nicht wie ich dir noch helfen kann! Wobei ich mit der Genauigkeitsangebe so meine Schwierigkeiten habe! Bei 0, 0058mm +/- und einer gewählten Position von 0, 005 wären ja 0, 018 und -0, 0008 ja auch o. K.!? Dann wäre der 1000er Geber mit Vierfachauswertung an der Spindel gut genug! #9
Anzumerken ist, dass wir hier die Auflösung (Anzahl Inkremente des Gebers pro Umdrehung) betrachten.