s7 200, drehgeber, td 200

thomas82

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo alle zusammen, :)


ich habe

- eine s7 200 mit ner 222er cpu
- ein td 200
- einen inkrementalen drehgeber mit 8 anschlussleitungen (2 für die spannungsversorgung, und dann a und a´, b und b´, o und o´)
- 24v-motor mit getriebe, der zwei walzen antreibt.
- einen pneumatischen zylinder mit einer schneide

über das td möchte ich die förderlänge und die anzahl von abschnitten eingeben (funktioniert soweit), dann soll der motor so lange drehen, bis der drehgeber (100er teilung) entsprechend viele impulse (muss ich noch ausrechnen) ausgegeben hat. darauf stoppt der motor, es folgt ein schneidvorgang und der motor fördert weiter. der vorgang soll sich so lange wiederholen, bis die im td eingegbene anzahl von abschnitten erreicht ist.

zu den problemen: :confused:

- wie erhalte ich aus der längeneingabe im td (z.b. vw58 und den werten des drehgebers werte, die ich vergleichen kann?
- wie kann ich die anzahleingabe (0-999) aus dem td mit dem endlagenschalter der schneide vergleichen?


ich hoffe, die angaben sind aussagekräftig genug und jemand kann mir helfen!?!

mfg und vielen dank im voraus, :)
thomas
 
ich habe

- eine s7 200 mit ner 222er cpu
- ein td 200
- einen inkrementalen drehgeber mit 8 anschlussleitungen (2 für die spannungsversorgung, und dann a und a´, b und b´, o und o´)
- 24v-motor mit getriebe, der zwei walzen antreibt.
- einen pneumatischen zylinder mit einer schneide

über das td möchte ich die förderlänge und die anzahl von abschnitten eingeben (funktioniert soweit), dann soll der motor so lange drehen, bis der drehgeber (100er teilung) entsprechend viele impulse (muss ich noch ausrechnen) ausgegeben hat. darauf stoppt der motor, es folgt ein schneidvorgang und der motor fördert weiter. der vorgang soll sich so lange wiederholen, bis die im td eingegbene anzahl von abschnitten erreicht ist.

zu den problemen: :confused:

- wie erhalte ich aus der längeneingabe im td (z.b. vw58 und den werten des drehgebers werte, die ich vergleichen kann?
1. Drehgeber durch schnellen Zähler der 200 auswerten.
2. Längeneingabe im TD auf Impulse umrechnen (SOLLIMP).
3. Zählerstand ISTIMP des Drehgebers vor Start der Bewegung als STARTIMP merken.
4. Länge für Stop STOPIMP=STARTIMP+SOLLIMP berechnen
5. Nun kannst du ISTIMP mit STOPIMP vergleichen, stoppen, schneiden, einen Stückzähler hochzählen und mit der Sollstückzahl vergleichen.


Wenn "genaue" Längen geschnitten werden sollen oder die Bewegung "schnell" ist, ist noch folgendes zu berücksichtigen:

- Die SPS vergleicht Soll und Istlänge einmal pro Zyklus, in einem Zyklus ist Soll noch nicht erreicht, im nächsten schon überschritten: Interruptprogrammierung nutzen.
- Der Motor hat einen Bremsweg: Bremsweg (in Geberimpulsen) bestimmen und um soviel früher stoppen.
- Der Bremsweg ist nicht immer gleich: Längsten Bremsweg bestimmen, um soviel früher stoppen, den Restweg im Schleichgang fahren.
- Der Schleichgang dauert zu lange: mittels FU Vor-/Rückwärtsfahrt und variable Geschwindigkeit des Motors ermöglichen, Positionsregelung einsetzen.


- wie kann ich die anzahleingabe (0-999) aus dem td mit dem endlagenschalter der schneide vergleichen?
Wozu? Verstehe ich nicht. Oder meinst du Folgendes:
Wenn die Schneide in Endlage ist, ist ein Stück fertig? Dazu zählst du einen Zähler (eine Variable) um 1 hoch, wenn am Eingang für den Schalter eine Flanke (Signalwechsel) erfolgt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke zunächst für die antwort :-D , daraus ergeben sich leider wieder neue fragen::(

- welche eingänge der cpu 222 sind denn geeignet für schnelles zählen?
- gibt es ein beispielprogramm, wo mit einem inkr. drehgeber vor- und rückwärts gezählt wird?
- gibt es ein aussagekräftiges beispielprogramm zu dem rechnen, berechen und vergleichen der impuse? habe bisher noch nicht, bzw. nur recht wenig mit rechenvorgängen gearbeitet. (was ich weiß ist, dass bei einer umdrehung 157 mm gefördert werden, somit 1,57 mm pro drehgeber-impuls.)

die genauigkeit wird wahrscheinlich nicht das problem werden, denn ich verfahre mit 30 u/min (also 78,5 mm/s) und ich habe eine genauigkeit von ± 5 mm einzuhalten.

das mit dem endlagenschalter der schneide ist richtig gedeutet, ich frage mich aber, in was für einem format das td die eingegbene zahl ausgibt? muss sie ja mit dem zählerwert des endlagenschalters vergleichen können. :confused:

hoffnungsvoll,
thomas
 
Hallo Thomas,
die 222 besitzt
4 schnelle Zähler (32-Bit-Wert).
Die Eingangbeschaltung hängt von der Art der Zähler ab.
Guck mal in der Hilfe von Step 7 Microwin unter Schnelle Zähler.
Und unter Extra "Operations Assistent" HSC schnelle Zähler anlegen.
Das klappt eigentlich ganz und man kann das schon mal als Test programmieren. Nachdem das programmiert wurde kannst du den Geberwert als Doppelwort im Programm verwenden.
Es gibt auch kleine vorgefertigte Programme von Siemens.
wenn du mir deine Mail Adresse mitteilst kann ich dir das prog. mailen.

Gruß
stephan
 
Huhu,

ich hatte das mit meiner 222 getestet,
und war sehr bescheiden.

Habe dann einen 312C genommen, da waren sogar die normalen Eingänge schnell genug. Den Zähle rhabe ich in OB35 rein gemacht mit Aufruf alle 10 ms.

Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
also, das ganze geht voran. :)
aber es funktioniert noch nicht so, wie es soll.
die kommunikation mit dem td 200 klappt.

problem:
ich möchte mit dem drehgeber vor- und rückwärts zählen, habe versucht ein programm dafür zu schreiben, aber ich befürchte, dass der geber zu schnell ist, bzw. die sps zu langsam. habe halt den geber mit dem signal "a" an den eingang 0.0 und mit dem signal "b" an 0.1 angeschlossen und die dann in einem unterprogramm verwendet und zählen lassen, das unterprogramm rufe ich am anfang des ob1 auf. wenn man ganz langsam dreht, wird auch richtig gezählt.
zuvor wollte ich über den assistenten einen zähler erstellen lassen, nur konnte ich keinen zähler finden, der vor- und rückwärts zählt und für meinen geber geignet ist, der hat ja keine interne richtungsangabe.

kann mir jemand helfen, welcher zähler (hdc...) mit welcher zählerart (1-10) geignet wäre, um meinen geber auszuwerten? :confused:

signale: a, a´, b, b´, 0, 0´, wobei a und b um 90° versetzt sind.


vielen dank,

thomas
 
problem:
ich möchte mit dem drehgeber vor- und rückwärts zählen, habe versucht ein programm dafür zu schreiben, aber ich befürchte, dass der geber zu schnell ist, bzw. die sps zu langsam.
Deshalb gibt's die schnellen Zähler...
....zuvor wollte ich über den assistenten einen zähler erstellen lassen, nur konnte ich keinen zähler finden, der vor- und rückwärts zählt und für meinen geber geignet ist, der hat ja keine interne richtungsangabe.
Die Richtungsinformation besteht darin, ob bei einer steigenden Flanke (0->1 Wechsel) an Phase A die Phase B 0 (vorwärts) oder 1 (rückwärts) ist. Anders gesagt: ob B seinen Zustand früher oder später als A ändert. Siehe auch Impulsdiagramme der A/B-Zähler in der Hilfe.
kann mir jemand helfen, welcher zähler (hdc...) mit welcher zählerart (1-10) geignet wäre, um meinen geber auszuwerten? :confused:

signale: a, a´, b, b´, 0, 0´, wobei a und b um 90° versetzt sind.

thomas
A/B-Zähler, Betriebsarten 9, 10 und 11. Da du deinen Zähler schon an E0.0 und E0.1 angeschlossen hast, benutzt du HSC0 und kannst es so lassen. Programm brauchst du keines. Einmal initialisiert zählt der Zähler und du kannst den Stand im Programm z.B. mit
MOVD HC0, MD0
auslesen.
 
Zurück
Oben