Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Umschalten Achsenmotor zur genauen Positionierung ; S7-1214C ohne FU

  1. #1
    Registriert seit
    10.02.2015
    Beiträge
    14
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo liebe Community

    Ich habe jetzt schon etwas gesucht und auch selbst schon einiges ausprobiert, finde jedoch leider keine so richtige Lösung....


    Ich bin im ersten Halbjahr zum staatlich geprüften Techniker für Prozessautomatisierung. Wir haben in unserem Laborraum eine Lernanlage von FESTO, in welcher ein Miniatur-Hochregallager integriert ist. Steuerung ist eine S7-1214C. Das Hochregallager hat 2 Achsen (X & Z ) zum rauf/runter, bzw. links/rechts fahren. Y-Achse ist ein pneumatsicher Zylinder mit einem Greifer. Die Achsmotoren sind Gleichstrommotoren, die über digitale Ausgänge der SPS und einen Motortreiber schnell oder langsam angesteuert werden können. Sie sind über eine Transmissionwelle mit einem Inkrementalgeber verbunden. Leider gibt es keine technischen Unterlagen oder Dokumentationen zu der Anlage. Wieso verstehe ich auch nicht so recht.

    Um die Signale des Inkrementalgebers auszuwerten verwende ich die schnellen Zähler der CPU, welche ich in der HW-Config parametriert habe. Wegen fehlender Unterlagen arbeiten wir mit den "Zahlen" die der HSC uns rausgibt. Dass diese aber wohl nicht den Impulsen des Inkrementalgebers entsprechen, vermute ich mal.
    Nach einigem rumdoktoren und Jugend-forscht-Stunden habe ich herausgefunden, dass die Eingänge der Kanäle A & B des Inkrementalgebers schonmal falsch angeschlossen waren, da Kanal A auf einen 30 KHZ-Eingang ging und dieser wohl mehr Impulse bekommt, als der auswerten kann. Kanal B geht auf einen 100 KHZ-Eingang und zählt sauber. Nachdem wir das umverdrahtet haben, also auch auf einen 100 KHZ-Eingang des "Eingangsbytes 0" zählen die HSC´S auch richtig, wenn der Motor schnell dreht.

    Ein lauffähiges Programm, mit welchem man über eine Visualisierung Ein- und Auslagern kann habe ich schon erstellt. Das war auch erstmal das Ziel. Ich habe auch eine Auswertung, ob ein Lagerplatz belegt oder frei ist (FieldRead/FieldWright), mit Anzeige und Fehlermeldung, falls man z.B. Einlagern will, der Platz aber schon belegt ist.

    Das Ganze funktioniert momentan aber leider nur, mit langsamer Geschwindigkeit, da wir anfangs nicht dahinter gestiegen sind, wieso das mit dem Zählen bei schneller Geschwindigkeit nicht funktioniert.


    Jetzt zur eigentlichen Problemstellung:


    Da wir jetzt auch schnell fahren können, muss die Achse an einem bestimmten Punkt, bevor sie die Soll-Position erreicht, auf langsam umgeschaltet werden, weil sie diese sonst überfährt und somit der restliche Programmteil nicht funktionieren würde.

    Ich habe schon etwas rumprobiert mit Mathefunktionen und diesem Range-Baustein, damit sie sobald sie z.B. 50 Punkte von der Soll-Position entfernt ist auf langsam schaltet. Ich habe damit jedoch noch keine vernünftige Lösung zustande bekommen.

    ---------------------------------------------------------------------------

    Gibt es da nicht auch einfachere Methoden?
    Wie macht man so etwas überhaupt, um genau zu positionieren? Also Umschaltung von schnell auf langsam.

    Wie kann ich das in meinem Programm denn realisieren?
    ---------------------------------------------------------------------------

    Ich hoffe, ich habe nicht zu viel geschrieben, ich wollte meine Problemstellung jedoch verständlich machen und hoffe, dass das geklappt hat.

    Ich freue mich über konstruktive Kritik, Lösungsansätze und Tipps, wie ich mein Problem lösen kann.

    Vielen Dank schonmal im Vorraus.

    Liebe Grüße
    Zitieren Zitieren Umschalten Achsenmotor zur genauen Positionierung ; S7-1214C ohne FU  

  2. #2
    Registriert seit
    11.12.2009
    Beiträge
    2.115
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn es einfach sein soll:

    SCHNELL := (ISTPOSITION > SOLLPOSITION + GRENZWERT_LANGSAM) OR (ISTPOSITION < SOLLPOSITION - GRENZWERT_LANGSAM);

    Grüße

    Marcel
    Stell Dir vor es geht, und keiner kriegts hin!

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 22.03.2013, 11:34
  2. S7 1214c Visualisierung im Webbrowser
    Von stolli im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 02.05.2012, 11:38
  3. Datenblätter S7 1214c gesucht
    Von Firefly87 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.04.2012, 19:01
  4. 1214C mit KTP600
    Von baba73 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 12.04.2010, 11:10
  5. S7-1214C + KTP600 - Bitmeldungen
    Von seppi82 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 09.04.2010, 07:26

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •