Positionierassistent S7-200

Medical

Level-1
Beiträge
75
Reaktionspunkte
19
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich lese hier schon einige Zeit unregistriert mit und habe eigentlich immer das gefunden, wonach ich gesucht habe (Die Suchfunktion geht zum Glück auch ohne Anmeldung :) ), aber jetzt habe ich ein Problem, auf das ich keine Antwort gefunden habe, bzw. mir die Suche keine Ergebnisse gebracht hat:

Ich verwende eine S7-200 in einer bestehenden Anlage. Dort müssen mit einem Schrittmotor Teile ausgerichtet werden, d.h. das Teil soll so lange gedreht werden, bis eine Lichtschranke die Position des Teils erkennt.

Der Aufbau ist wie folgt:
an den Ausgängen 0.0 und 0.1 (Die PWM-Ausgänge) hängt je ein Schrittmotorsteuergerät ( A0.0, bzw. A0.1 gehen auf den Pulseingang der Schrittmotorsteuerung), über andere Ausgänge werden Freigabe und Drehrichtung gesteuert.

Ich habe versucht mit einem programmierten Taktgenerator (Blinkschaltung) den Takt vorzugeben, aber die Zeitglieder können ja leider nicht kleiner als 1ms gewählt werden, dadurch bekomm ich keine gescheite Taktfrequenz hin.

Ich habe versucht den Positionierassistent zu parametrieren, jedoch steig ich nicht ganz durch bei der Sache.
Kann mir jemand sagen wie das geht, denn mit der Onlinehilfe komm ich nicht weiter und im Netz gibt es auch keine Erklärung die mir weiterhilft.

Danke schonmal im Vorraus..
 
Hallo Medical,

üblicherweise werden Schrifttmotore nicht im PWM sondern im PTO-Mode betrieben.

Für den Asistenten der Onboard-Pulsausgänge benötigst du folgende Angaben:

max. Frequenz die der Schrifttmotor kann
min. Frequenz auch Stat/Stop-Frequenz genannt
Wert für Beschleunigung
Wert für das Abbremsen

Die jeweiligen Werte findest du in den Kennlinien des Motors.

Jetzt den Positionier-Asistenten starten und die Werte in die jeweiligen Masken eintragen. Als Modus PTO auswählen!

Je nachdem, ob du mit Profilen fahren möchtest, erhältst du zwei bzw. drei Funktionen für deine Anwendung:

1. PTO0_CTRL Freigabe und zwei Stop Eingänge
2. PTO0_RUN Ausführen von Profilen
3. PTO0_MAN Ausführen von Bewegungen per Program

Die Funktionen musst du jetzt nur noch in der richtigen Reihenfolge programmieren. Natürlich darfst du die Steuerung für die Leistungsstufe (DIS) und die Drehrichtung nicht vergessen.


Ich hoffe, das hilft dir weiter.

Gruss

Helmut
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Helmut,
danke für deine Hilfe, jetzt bin ich einen Schritt weiter.
Ich habe den Assistenten ausgeführt und er hat mir im Programmbaustein eine Gruppe "Assistent" angelegt, in der die Bausteine PTO0_ADV, _CTRL, _RUN ,_MAN abgelegt sind.

So weit, so gut, aber wie geht es jetzt weiter?

Muss ich die Bausteine über "CALL" aufrufen, oder wie kann ich die einbinden?
Bin auf der 200er nicht so fit, sorry.
 
Hallo Medical,

am einfachsten in KOP oder FUB.

Geh im "Instruction Tree" ganz nach unten auf den Eintrag "Unterprogrammaufrufe". Hier findest du die erzeugten Bausteine.

Als erstes den PTO0_CTRL anklicken und per D&D in den Editor ziehen oder per Doppleklick an die Stelle im Editor einfügen.
Jetzt siehst du die entsprechenden Ein/Ausgänge für die Funktion.
Die Info welches Datenformat an welchen Ein/Ausgang du angeben musst, findest du am einfachsten in dem du im Editor ganz unten das Tab für den Baustein anwählst und in der Variablendefinitionstabelle die jeweile Adresse suchst.

Das ist bei den Bausteinen für die Pulsausgänge noch recht übersichtlich, aber es gibt andere Bausteine (z.B. USS) das hats ewig viele Ein/Ausgänge für die Funktion mit verschiedenen Datenformaten.

Im Grunde hast du das richtig erkannt, es ist eigentlich nur ein Unterprogramm, welches aus dem Zycus aufgerufen wird. Eine Call-Anweisung wäre richtig wenn du in AWL-Programmieren möchtest. Allerdings ist die Parameterübergabe in AWL ungleich schwieriger. In KOP oder FUB siehst du schon mal wo du was angeben musst.

Gruss

Helmut
 
Hallo Helmut,

erstmal danke für deine Hilfe, hab es so hinbekommen, allerdings nur auf dem PG, denn diese alte *piiiiiep*-CPU unterstützt kein PTO.
Ich habe es über PWM gelöst bekommen, hab einfach die Freigabe auf den Not-Aus-Merker gelegt ( Freigabe nur wenn kein Not-Aus), damit auch softwareseitig der Not-Aus implementiert ist ( Hardware Not-Aus ist ja eh drin) und die Freigabe über die Lichtschranke verknüpft.

Hoffentlich lernen die bald, daß man ne 300er für sowas besser verwenden kann:D

Danke und Grüßle, Chris
 
Hallo Haggie,

das Original-Programm darf ich dir leider nicht geben, da ich nicht mehr für die damalige Firma arbeite und unterschreiben musste daß ich alle Kopien der Programme auf meinem Rechner entfernt habe, aber ich muss mal die Schaufel auspacken und in den "Aufzeichnungen für eigene Zwecke" :ROFLMAO: noch etwas darüber finde wie ich das damals gelöst habe.

Wenn du die "Anweisungsliste" von Helmut verwendest solltest du das aber auch so hinbekommen.
 
Hallo,

wenn die CPU PWM kann, dann kann die auch PTO. Ich kenn keine S7-200 CPU die das nicht könnte.

Ausnahme sind hier die mit Relais, da die Relais die Frequenzen nicht können, aber du kannst das programmieren.

Evtl. hilft die der Link weiter: http://support.automation.siemens.com/WW/view/de/26513850

Hier ist zwar ein Servo genannt, geht aber auch mit Stepper. Damit kannst du mit den Pulsausgängen auch in Einheitenverfahren.


Gruss

Helmut
 
Zurück
Oben