345 bit/s in S7 315

JensD

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

Ich habe folgende Aufgabe zu lösen:

Wegmessung eines Hubzylinders dessen Encoder pro 100 mm Hubweg, 6900 Impulse (24 V) liefert. Aufgrund der Geschwindigkeit des Zylinders ergeben sich daraus 345 Impulse pro Sek.

Diese Impulse müssen aufsummiert werden und wenn die entsprechende Anzahl erreicht ist, soll mit einem dig. Ausgang der Motor des Zylinders abgeschalten werden.

Mir steht eine S7 315 CPU zur Verfügung. Für die Eingaben ein SM 321 DI Modul und für die Ausgaben ein SM 322 DO Modul.

Ich habe bereits versucht über einen Frequenzgenerator 345 bit/s zu simulieren und einzulesen. Dies ist aber nicht gelungen, da die CPU ab ca. 210 Hz anscheinend keine Impulse mehr lesen kann. Als Zähler habe ich den SFB0 verwendet.

Meine Frage wäre:
Ist es vielleicht irgendwie anders möglich diese Anzahl an Impulsen einzulesen bzw zu verarbeiten?

Danke im voraus für die Hilfe.

lg
Jens
 
Hallo Jens,

da bleibt Dir glaub' ich nichts anderes übrig als eine Zählerbaugruppe einzubauen.
Such mal nach FM 350 bei Siemens.

Grüße
Gebs
 
-

Hallo,

nur mit schnelle Zähler, entweder onBoard(mei manche CPUs), oder ext. Countermodul einsetzen.
Die normalen DIs kannst vergessen.

Gruss: V.
 
Stimme Gebs, Rainer und Vladi, die schneller waren als ich, vollkommen zu.

Bei allen anderen Methoden programmtechnischer Art ist die Zykluszeit zu lang um die Impulse mitzukriegen.

Nebenbei - ist 'ne Schulaufgabe, nicht wahr?

dtsclipper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Danke erstmal an alle für die schnellen Antworten!

@dtsclipper: ja, ist für ein Schulprojekt! :) ...wie bist du darauf gekommen?

Es scheint ja ziemlich eindeutig zu sein, dass ich am FM 350 Zählermodul nicht vorbeikomme.
Das Handbuch des FM 350 ist ja recht umfangreich mit 248 :eek: Seiten.

Wenn ich dieses nun einsetze und die Impulse aufsummiere, wie wird der jeweils aktuelle Zählerstand an die CPU weitergegeben? Die Zykluszeit der CPU ändert sich ja nicht und auch die Frequenz des Encoders bleibt gleich. D.h. die CPU dürfte nach meinem Gedankengang dann nur z.B. jeden 5. oder vielleicht 10. Impuls mitbekommen - oder irre ich mich?

Ich muss ja genau bei einem bestimmten Zählerstand (z.B. 5340), also wenn der Hubzylinder eine definierte Position erreicht hat, den Ausgang setzen um den Motor abzuschalten.
Funktioniert das in dem Fall?

lg
Jens
 
Hallo,

welche Genauigkeit wird denn benötigt?

Vielleicht liesen sich die >1000€ für die FM ja sparen, wenn man mit einem einfachen Impulsuntersetzer die notwendige Genauigkeit auch noch hinbekommt



MfG
 
Hi

Wenn ich dieses nun einsetze und die Impulse aufsummiere, wie wird der jeweils aktuelle Zählerstand an die CPU weitergegeben? Die Zykluszeit der CPU ändert sich ja nicht und auch die Frequenz des Encoders bleibt gleich. D.h. die CPU dürfte nach meinem Gedankengang dann nur z.B. jeden 5. oder vielleicht 10. Impuls mitbekommen - oder irre ich mich?
Stimmt, nur jeden CPU-Zyklus erhälts du den aktuellen Wert.



Ich muss ja genau bei einem bestimmten Zählerstand (z.B. 5340), also wenn der Hubzylinder eine definierte Position erreicht hat, den Ausgang setzen um den Motor abzuschalten.
Funktioniert das in dem Fall?
Die FM350 hat einen Komparator.
Diesen Wert gibt die CPU der FM350 vor.
Bei erreichen dieser Position wird unabhängig von der CPU ein Ausgang gesetzt.

Zu nachdenken: Ausgang aus --> Motor steht inerhalb von 1 ms ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

...also die Nachdenkaufgabe von gravieren ist interessant. Da es sich um einen handelsüblichen 24V DC Motor handelt ist es eher unwahrscheinlich dass der Motor innerhalb so kurzer Zeit stehen wird. Obwohl die Gegenkraft (Hubzylinder verichtet mech. Arbeit) den Motor sehr schnell bremsen wird.

Bei genauerer Überlegung spielt es dann auch keine so große Rolle mehr präzise jeden Takt zu zählen. Wenn ich mit dem von sockenralf angesprochenen Impulsuntersetzer (habe bereits einen bei hengstler.de gefunden) die Frequenz durch 2 teilen würde verliere ich kaum an Genauigkeit. Werd das mal mit meinem Projektpartner besprechen.

Bin echt froh, mich hier in diesem Forum erkundigt zu haben. Solch kompetente und schnelle Hilfe findet man sonst kaum irgendwo.
Danke.:D

lg
Jens
 
Bei genauerer Überlegung spielt es dann auch keine so große Rolle mehr präzise jeden Takt zu zählen. Wenn ich mit dem von sockenralf angesprochenen Impulsuntersetzer (habe bereits einen bei hengstler.de gefunden) die Frequenz durch 2 teilen würde verliere ich kaum an Genauigkeit. Werd das mal mit meinem Projektpartner besprechen.

Die Frequenz durch zwei zuteilen wird wohl auch noch nicht ausreichen, der muss wohl eine Größere Untersetzung haben.
 
Hallo,
wenn du mehr Genauigkeit haben möchtest, dann könntest du z.B. auch kurz vor Erreichen des Ziels langsamer werden. Damit reduzierst du den Überlauf-Fehler. Für die Genauigkeit ist allerdings auch die Reaktionszeit deiner Komponenten relevant ... :rolleyes:

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wäre es nicht irgendwo sinnvoll die Zählerei mit Zählkarte und CPU-Auswertung über den Jordan zu schmeißen und statt dessen einen Servo mit Geberrückführung zu nehmen und das Ding die Posizionierung machen zu lassen?

Gibt's z.B von SEW, MOVIDRIVE B in Technologieausführung mit IPOS Steuerung.

Müsste man mal 'drüber nachtrinken...

dtsclipper
 
Die Frequenz durch zwei zuteilen wird wohl auch noch nicht ausreichen, der muss wohl eine Größere Untersetzung haben.

*hmm* das werd ich demnächst mit einem Frequenzgenerator testen. Beim letzten Versuch schaffte es der Eingang bis ca. 210 Hz. Allerdings ist mein Programm derzeit noch nicht sehr umfangreich was sich positiv auf die Zykluszeit auswirken dürfte. Na mal sehen, sonst muss ich einen 3er unter den Bruchstrich setzen.

lg
Jens
 
Wäre es nicht irgendwo sinnvoll die Zählerei mit Zählkarte und CPU-Auswertung über den Jordan zu schmeißen und statt dessen einen Servo mit Geberrückführung zu nehmen und das Ding die Posizionierung machen zu lassen?

Gibt's z.B von SEW, MOVIDRIVE B in Technologieausführung mit IPOS Steuerung.

Müsste man mal 'drüber nachtrinken...

dtsclipper

Grundsätzlich hast du natürlich absolut recht.
In unserem Fall jedoch (Schulprojekt) ist das Budget sehr begrenzt.
Der Auftraggeber des Projekts hat uns diese gebrauchte S7 zur Verfügung gestellt und meine Aufgabe ist es jetzt damit etwas brauchbares auf die Beine zu stellen.

Die Sache mit dem "Nachtrinken" müsste ich mir dann am WE mal genauer ansehen.:cool:

lg
Jens
 
Zurück
Oben