Geschwindigkeitsanzeige auf Touch Pannel

EMW

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Folgende Aufgabenstellung:

CPU 312C KOMPAKT CPU MIT MPI verbunden über MPI Bus mit TOUCH PANEL TP177A

Angeschlossen an die CPU:
Sensor,der pro Umdrehung einen Impuls sendet.

Ich würde gerne auf dem Panel eine Anzeige erstellen, die die Geschwindigkeit der Anlage in m/min anzeigt.

Anlagengeschwindigkeit: 0-30m/min

!! bei 30m/min ca 1 Impuls alle 2 s

Hat einer ne Idee, diesaes einfach zu erstellen ?
 
Die Geschwindigkeit in der SPS über den Eingang des Impulsgebers bestimmen, diese dann in m/min umrechnen und auf der Visu ausgeben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

was meinst Du mit "diesaes einfach zu erstellen"?

Messe die Zeit zwischen zwei Impulsen, berechne daraus die Geschwindigkeit und zeige diese mit einem E/A-Feld auf dem TP177A an.
Das ist einfach. Allerdings wird Dein Anzeigewert stark schwanken, weil Dein Sensor so eine grottenschlechte Auflösung liefert.

Alle wieviel Sekunden soll Dein Anzeigewert aktualisiert werden?
Welche Auflösung des Anzeigewertes brauchst Du?
Willst Du vielleicht statt dem Zahlenwert einen Balken oder einen Tacho anzeigen?

Harald
 
Hi

Gnau da liegt mein Problem.
Die Zeit zwichen den Impulsen ändert sich ja mit steigender Geschwindigkeit.
Gibt es nicht nen parametrierbaren Baustein, der diese Umrechnung vornehmen kann ?

Aktualiesierungszeit reichen alle 2-3 s
Auflösung: 00,0 - 29,9
Balken oder Tacho geht auch
 
Was willst du denn alle 2-3 Sekunden aktualisieren wenn du bei Vmax in diesem Intervall im Idealfall nur zwei Impulse bekommst? Mach dir mal nen ordentlichen Geber klar, sonst kannst du dir deine Nachkommastellen eh schenken. Ansonsten rate ich zu Band dreht/dreht nicht.

Wenn du es aber doch mit der Krücke machen willst, dann achte darauf, daß du mit Flanken arbeitest, weil dein Impuls je nach Geschwindigkeit wohl mehrere Zyklen ansteht und dir dein Messergebnis verfälscht.

Steigende Flanke --> Starte Zeit --> Steigende Flanke --> Stoppe Zeit
und aus der Zeit deine Geschwindigkeit errechnen. Das ganze dann in einen INT schieben und am Panel ausgeben. Evtl den INT beim Berechnen um Faktor 10 größer lassen und dann am Panel das Komma verschieben. Dann haste auch deine Dezimalstelle.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Um die Schwankungen etwas zu mindern empfehle ich die Zeit zwischen mehreren Geber-Impulsen zu messen. Dann die Zeit durch die Impulse dividieren um die Durchschnittszeit zwischen zwei Impulsen zu bekommen. Zum messen der Zeit gibt es in der CPU einen SFC Namens TIME_TCK, der zählt in ms Laufzeitunabhängig!
 
!! bei 30m/min ca 1 Impuls alle 2 s
Aktualiesierungszeit reichen alle 2-3 s
Auflösung: 00,0 - 29,9
Das passt überhaupt nicht zueinander. Bei 3m/min (immerhin 10% der Endgeschwindigkeit) bekommst Du nur alle 20s einen Impuls. Dazwischen kannst Du noch nicht einmal sagen, ob der Antrieb überhaupt dreht. Du brauchst viieel mehr Impulse pro Umdrehung, so ab 100 Impulse/Umdrehung werden Deine Wünsche langsam realistisch. Die vielen Impulse/Umdrehung könntest Du mit einem Incrementalgeber oder einem Getriebe oder vielleicht mit einem kleinen Reibrad erzeugen. Eventuell ist auch eine Perforierung oder Magnetisierung direkt in dem angetriebenen Band(?) vorhanden oder machbar. Einen Fliehkraftanzeiger mit Analogausgang wird es für diese geringe Drehzahl wohl nicht geben.

Wie wird überhaupt die Drehzahl variiert? Mit einem Frequenzumrichter? Dann könntest Du auch den FU-Drehzahl/Frequenz-Sollwert oder -Istwert vom FU anzeigen.

Erzähl mal mehr von Deinem Aufbau.

Harald
 
Hi

Auf der Anlage wird Draht über eine Scheibe gezogen.
Der Antrieb läuft konstannt mit 14oo U/min.
Die Geschwindigkeit wir stufenlos über ein Regelgetriebe eingestellt.

An der Scheibe sitzt ein Sensor, der pro Umdrehung einen Impuls bekommt. eine Umdrehung der Scheibe sind ca. 2,4m Draht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das passt überhaupt nicht zueinander. Bei 3m/min (immerhin 10% der Endgeschwindigkeit) bekommst Du nur alle 20s einen Impuls. Dazwischen kannst Du noch nicht einmal sagen, ob der Antrieb überhaupt dreht. Du brauchst viieel mehr Impulse pro Umdrehung, so ab 100 Impulse/Umdrehung werden Deine Wünsche langsam realistisch. Die vielen Impulse/Umdrehung könntest Du mit einem Incrementalgeber oder einem Getriebe oder vielleicht mit einem kleinen Reibrad erzeugen. Eventuell ist auch eine Perforierung oder Magnetisierung direkt in dem angetriebenen Band(?) vorhanden oder machbar. Einen Fliehkraftanzeiger mit Analogausgang wird es für diese geringe Drehzahl wohl nicht geben.

Wie wird überhaupt die Drehzahl variiert? Mit einem Frequenzumrichter? Dann könntest Du auch den FU-Drehzahl/Frequenz-Sollwert oder -Istwert vom FU anzeigen.

Erzähl mal mehr von Deinem Aufbau.

Harald

Unrealistisch ist das ganze nicht. Er bekommt alle Nase lang einen Impuls und kann damit die Zeit berechen, die er pro Umdrehung benötigt. Diese dann zu Geschwinidigkeit umrechnen und Anzeigen sollte nicht das Problem sein.
Schwieriger wird es wenn sich die Geschwindigkeit ändert. Das wird nicht so schnell angezeigt....
 
Unrealistisch?

Unrealistisch ist das ganze nicht. Er bekommt alle Nase lang einen Impuls und kann damit die Zeit berechen, die er pro Umdrehung benötigt.
Hmm, wie kann ich innerhalb von 2 bis 3 Sekunden berechnen, wie lang die Umdrehungszeit sein wird, wenn der nächste Impuls erst in 10 oder 20 Sekunden oder nie mehr kommt?

Harald
 
Ok, die Aktualisierungzeit ist das Problem. Da hast du natürlich recht, aber der Rest ist so realisierbar.


Ganz nebenbei, gratuliere zum 2000. Beitrag.
 
Du brauchst mehr Impulse!!

Um das ganze schneller und damit genauer zu machen brauchst du meht impulse, kannst du da mechanisch vielleicht etwas mit ein Zahnrad oder einen impulsgeber hinbasteln, weil es elektrisch so nicht einfach lösbar sein wird.
desto mehr Impulse du zählst um die genauigkeit zu erhöhen, desto langsamer aktualisiert sich die Anzeige.
Und bei die Vorgaben ist dein vorhaben unmöglich.
Maximal drei Sekunden Aktualisierung ist dabei rechnerisch schon nicht machbar.
 
Zuletzt bearbeitet:
Wir lösen das oft auch sehr einfach mit einem Kettenrad (1/4" 14 Zähne) und einem M8 Initiator der jeden Zahn des Rades schaltet, für 08-15 Anwendungen klappt das sehr gut.
Nur wie gesat bei einem Impuls pro Umdrehung ist es wirklich nicht zu empfehlen, aber natürlich machbar !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist an der Anlage doch garantiert nicht das einzige Rad wo der Draht über geführt wird. Gibt es nicht noch irgendwo eine kleine Führungsrolle wo ein Betätiger für einen Efector hin passt, dann hast du den Krieg gewonnen. Falls der Antrieb über einen FU laüft kannst du sonst noch den Analogausgang nach Drehzahl parametrieren und den umrechnen in geschwindigkeit.Natürlich geht das nur wenn ein starres Getriebe dahinter hängt.
 
Wie gesagt, Antrieb erfolgt ohne FU direkt in ein Regelgetriebe.
Die einzige Möglichkeit den Sensor zu montieren, ist an der Ziehscheibe.
Dort könnte man auch mehrere "Fahnen" anbringen, so das man auf ca. 4 Impulse pro umdrehung kommt.

Die Aktualiesierungszeit kann ruhig ca. 3s dauern, da die Geschwindigkeit , wenn einmal eingestellt, für den ganzen Auftrag verwendet wird
 
Wenn du mit einer Akutalisierungszeit von 30s leben kannst reicht dir u.U. auch eine Fahne. Aber das musst du selbst entscheiden.
 
Mal was aus der Hüfte geschossen:

Code:
// MD100 = Letzte Zykluszeit aus OB1
// MD104 = Aufaddierte Impulszeit
// MD108 = Geschwindigkeit in m/s
// E 0.0 = Impulseingang
[FONT=Courier New]      L     MD 100
      L     MD 104
      +D
      T     MD 104

      U     E 0.0
      FP    M 0.0
      SPBN  M001

// Geschwindigkeit berechnen
      L     1.0
      L     MD 104
      DTR
      /R
      L     60.0  // 2s = 30m/s; 1s = 60m/s
      *R
      T     MD 108

// Aufaddierte Zeit ablöschen
      L     L#0
      T     MD 104 

M001: NOP 0[/FONT]
Vielleicht solltest du die Division durch Null noch abfangen, kann aber eigentlich nicht auftreten.

Die Skalierung der Geschwindigkeit ist jetzt mit einer Nocke gerechnet.
 
Zurück
Oben