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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: T-CPU mit MC_MoveAbsolute Modulo-Achse um Modulolänge verfahren

  1. #1
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wie kann man mit einer T-CPU eine Modulo-Achse um genau eine Modulolänge VW oder RW positioninieren?

    Beispiel:
    Rundachse mit 360°

    Achse steht auf 0° => Positionieren um eine Umdrehung vorwärts auf 360°
    Wenn man diesen Befehl mit MC_MoveAbsolute ausführt, bewegt sich die Achse gar nicht da sie
    ja schon auf Position steht.

    Wenn man dies mit MC_MoveRelative realisieren würde, dann müßte die Achse langsam "weglaufen",
    da die Istposition ja um z.B. 0,001° Schwanken kann.

    Bisher habe ich dies mit 2 Fahrbefehlen gelöst.
    1. Befehl: MC_MoveAbsolute auf z.B. 355° VW
    sobald Achse los gelaufen ist: BUSY = 1, EXECUTE weg nehmen
    2. Befehl: MC_MoveAbsolute auf 360° VW mit MODE=0

    Funktioniert zwar, aber da muß es doch noch ne andere einfachere Lösung geben.
    Zitieren Zitieren T-CPU mit MC_MoveAbsolute Modulo-Achse um Modulolänge verfahren  

  2. #2
    Registriert seit
    05.04.2012
    Beiträge
    951
    Danke
    94
    Erhielt 216 Danke für 191 Beiträge

    Standard

    Hallo,

    bist Du Dir sicher, dass die T-CPU bei einer Relativpositionierung auf dem Lageistwert aufsetzt? Eigentlich würde ich erwarten, dass mit dem Lagesollwert geschaut wird und dann losgefahren wird (so wie es der "große Bruder" SIMOTION auch tut).
    Beim Positionieren über EPos (SINAMICS S120) hast Du die Wahl (Verfahrsätze setzen auf Lagesollwert auf, MDI auf Lageistwert).

    Grüße
    Zako

  3. #3
    Sarek ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    Nein, sicher bin ich mir nicht.
    In der Hilfe kann man folgendes lesen:

    Code:
    Die Technologiefunktion "MC_MoveRelative" startet an einer Achse eine Positionierbewegung zu einer Position relativ zur Startposition. 
    Befindet sich die Achse beim Auftragsstart bereits in Bewegung und wurde mit Mode = 0 eine "ablösende Bewegung" gewählt,
     so wird die Startposition verwendet, die systemintern bei Beginn der Auftragsbearbeitung vorliegt. 
    Dabei ist zu berücksichtigen, dass zwischen der Bearbeitung der Technologiefunktion und der Ausführung des Auftrags eine Reaktionszeit liegt,
     die abhängig von der Auslastung und der Zykluszeit ist.
    "relativ zur Startposition" = Istposition beim Start ?????

  4. #4
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Ohne nachgesehen zu haben denke ich eine Move_Relative mit -360° wird eine Umdrehung in neg Richtung und mit 360 in pos. Richtung macht.

    Alternativ könntest Du vermutlich auch zwei Move_Relative (z.B. 240 und 120°) verwenden und den 2. mit Mode=2 aufrufen und so beide verschleifen.

    Übrigens werden Fahrbefehle mit steigender Flanke an EXECUTE ausgelöst, danach entscheidet der Pegel nur noch darüber wie lange DONE, ERROR oder COMMANDABORDED angezeigt werden. Was Du mit dem Wegnehmen von EXECUTE erreichen willst ist mir daher unklar.
    Geändert von miami (15.03.2013 um 15:38 Uhr)

  5. #5
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Zitat Zitat von Sarek Beitrag anzeigen
    "relativ zur Startposition" = Istposition beim Start ?????
    Ja, bei der relativen Positionierung wird um den angegebenen Wert, bei der absoluten auf den angegebenen Wert positioniert. Desshalb muss zur relativen Positionierung die Achse nicht referenziert (neudeutsch: gehomed) sein.

  6. #6
    Sarek ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    @miami
    Du hast mich wohl mißverstanden.

    Mir ist schon klar was absolutes und relatives Positionieren ist.

    Sagen wir ich habe Sollposition 0°
    Die Istposition des Antriebs ist auf 0° +/- 0,001° ("Zittern" um die Sollposition)

    also könnte die Istpos beim starten des nächsten Fahrauftrags z.B. 359,999° sein

    Wenn ich jetzt relativ positioniere, z.B. +360° wo ist dann die neue Sollposition ?
    auf 360°=0° oder 359,999°

    Wenn immer relativ zur Istposition verfahren wird dann wird der Antrieb mit der Zeit "weglaufen"

  7. #7
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard

    Hallo Sarek,
    ja, so wie ich das sehe, kann der Antrieb "weglaufen", wenn sich die Tolleranzen aufsummieren.
    Da hilft dann nur Referenzieren und, zumindest gelegendliche, absolute Positionierung.

    Bei der realtiven Positionierung würde ich auch nicht von einer Sollposition sprechen.

  8. #8
    Registriert seit
    05.04.2012
    Beiträge
    951
    Danke
    94
    Erhielt 216 Danke für 191 Beiträge

    Standard

    ... es hängt einfach davon ab, ob die Relativpositionierung auf der Sollposition oder auf der Istposition aufsetzt.
    Probier es einfach aus und mach einen Trace vom Positionssollwert - und istwert. Man kann ja mal den Lageregler- kv auf 0 setzen und nur mit Vorsteuerung fahren. Dann wird sich ein Schleppabstand im Laufe der Zeit einstellen. Dann wird man sehen, worauf der Interpolator aufsetzt - falls auf dem Sollwert sehe ich kein Problem. Ansonsten kann man ja mit Absolutpositionieren arbeiten,

  9. Folgender Benutzer sagt Danke zu zako für den nützlichen Beitrag:

    Sarek (18.03.2013)

  10. #9
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    bei sich wiederholender relativer positionierung läuft der antrieb nicht weg.
    hab sowas kürzlich erst gemacht.
    ausgangsposition ist 0° und es wird immer wieder der move_relative mit verschiedenen sollwerten gestartet.
    allerdings immer volle umdrehungen, also 360° oder ein vielfaches davon, was aber keine rolle spielt,
    meistens so 7 bis 12 umdrehungen am stück.
    die achse kommt dabei immer wieder exakt bei 0° zum stehen auch nach tausenden von umdrehungen.
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  11. Folgende 2 Benutzer sagen Danke zu crash für den nützlichen Beitrag:

    miami (18.03.2013),Sarek (18.03.2013)

  12. #10
    Sarek ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @crash & zako

    Danke für Eure Antworten

    die betreffende Anlage ist noch im Aufbau
    sobald ich ran kann werde ich das takten mit MoveRelative ausprobieren
    das Ergebnis werde ich hier posten

Ähnliche Themen

  1. Problem mit Baustein MC_MoveAbsolute
    Von bockes555 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 24.01.2012, 10:21
  2. Inbetriebnahme hydr Achse Technology Cpu
    Von GS-Harri im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 21.08.2011, 18:39
  3. Achse im Handbetrieb IM 174 CPU 317 T
    Von GS-Harri im Forum Antriebstechnik
    Antworten: 10
    Letzter Beitrag: 18.03.2011, 10:09
  4. Achse im Handbetrieb verfahren
    Von Drain im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 29.08.2006, 12:28
  5. Problem beim Verfahren mit FM 354
    Von Kastele im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.10.2004, 17:18

Lesezeichen

Berechtigungen

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