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

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 42

Thema: Bahn berechnen - Sollposition

  1. #1
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    wie kann ich die Bahn auf der Skizze im Anhang berechnen?

    Also am Anfang während der Beschleunigung gilt: s = 0,5 * a * t²

    Wenn die Sollgeschwindigkeit(v) erreicht ist gilt: s = v * t

    s = Strecke (Sollposition)
    a = Beschleunigung
    t = Zeit
    v = Geschwindigkeit

    Nun gilt es die obere Bahn zu berechnen bis die Geschwindigkeit wieder auf 0 ist.

    ich denke ich müsste zuerst die Restzeit berechnen die es braucht bist die Sollgeschwindigkeit bei der eingestellten negativen Beschleunigung (Bremsrampe) den Wert v = 0 erreicht hat.

    Diese zeit müsste dann in eine Funktion eingesetzt werden die mit die Sollposition entsprechend rechnet.

    Aber da bin ich mit meinem verstaubten Mathe am Ende...

    DANKE!
    Angehängte Grafiken Angehängte Grafiken
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)
    Zitieren Zitieren Bahn berechnen - Sollposition  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo Markus,
    das ist auch nichts, wo es eine direkte Formel dafür gibt. Es ist vielmehr ein Teil einer Schleife, die so lange abgearbeitet wird bis die Bedingung (v = Vorgabe) erreicht ist. Ist dir der Wert, den du für a (Beschleunigung) hast / haben willst bekannt ?
    Wohin soll das gehen - es ist ja immerhin eine Funktion, die jeder Servo-Regler unterschwellig leistet ...

    Gruß
    LL

  3. #3
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Markus,
    das ist auch nichts, wo es eine direkte Formel dafür gibt.
    das glaube ich nicht
    gut mit der schleife hast du nicht ganz unrecht, der wert s soll ja zyklisch (verlauf von t) neu gerechnet werden.
    dafür gibt eine formel, nur blick ich es nicht...

    Ist dir der Wert, den du für a (Beschleunigung) hast / haben willst bekannt ?
    ist alles bekannt bis auf s der soll ja gerechnet werden.
    gut und vermutlich muss erst das delta-t gerechnet werden um das s für die zeit von v=soll bis v=0 rechnen zu können.

    aber wie?

    Wohin soll das gehen - es ist ja immerhin eine Funktion, die jeder Servo-Regler unterschwellig leistet ...

    Gruß
    LL
    jep, servoregler, und mc bausteine für alle möglichen steuerung haben die funktion drin, ich will sie auch haben:

    http://www.sps-forum.de/showthread.php?t=20779
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  4. #4
    Registriert seit
    20.12.2007
    Beiträge
    48
    Danke
    2
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Hallo Markus,

    ich würd es so machen:
    v = sqrt(2*a*(Sist-Ssoll))
    anschliessend mit v auf einen Rampenbaustein gehen
    dessen Rampensteigung "a" entspricht.
    Das daraus resultierende V ist die gesuchte Sollgeschwindigkeit.
    Es fellen nur noch die nötigen Verriegelungen zum Start der
    Positionierung

    Beste Grüsse
    Martin

  5. #5
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von HMI-Muckel Beitrag anzeigen
    Hallo Markus,

    ich würd es so machen:
    v = sqrt(2*a*(Sist-Ssoll))
    anschliessend mit v auf einen Rampenbaustein gehen
    dessen Rampensteigung "a" entspricht.
    Das daraus resultierende V ist die gesuchte Sollgeschwindigkeit.
    Es fellen nur noch die nötigen Verriegelungen zum Start der
    Positionierung

    Beste Grüsse
    Martin
    eben genau das will ich nicht machen!
    habe ich bisher so gemacht, funktioniert auch ganz gut für einfache positionierungen.

    ich will ganz bewusst den obigen weg mit dem bahnsollwert gehen/versuchen. mal sehen was so ne 319er mit <5ms zkluszeit alles kann...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  6. #6
    Registriert seit
    13.10.2007
    Beiträge
    12.027
    Danke
    2.784
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    hallo markus ich hatte mal eine zielregelung in IPOS für einen MQP
    gemacht, ich blicke nicht mehr richtig durch...aber vielleicht hilft es.

    Code:
    /*=============================================
       Zielregelung
       30.11.05  Helmut_von_der_Reparatur
       Eingabevariablen:
       TargetPos                Ziel in incr
       Reg_Speed                Geschwindigkeit in Anwendereinheit
       Ausgabe:
       Position_erreicht
       Lokale Variablen:
       Timer_1
       Reg_Differenz
       Reg_Divisor_Rampe
       Reg_Divisor_Rampe_min
       Reg_Divisor_Rampe_max
       Reg_Faktor_Rampe
       Reg_Lose_fahren
       Reg_Lose_gefahren
       Reg_Fenster              In Incrementen
       Verwendung
       Automatik Modus
       Funktionsweise
       Es wird wird die Differenz zwischen soll und Istposition ermittelt
       Dieser Wert ist die Geschwindigkeit, die nach oben durch die
       Feldbusgeschwindigkeit begrenzt wird. Damit sanft in das Ziel gefahren
       werden kann wird dieser Wert über einen Faktor und Divisor bewertet.
       Damit man nicht in das Ziel reinschleicht ist ein zweiter Divisor
       vorhanden (Divisor_min). Dieser wird kurz vor dem Ziel aktiv. Die Stoprampe ist
       keine Gerade.
       Die Stoprampe wird verschliffen
    ===============================================*/
    Funktion_Zielregelung()
      {
      //-----  Ziel ohne Schleife  -----
      Reg_Schmier = TargetPos;
      //-----  Schleife ausrechnen  -----
      if(Reg_Lose_fahren && !Reg_Lose_gefahren)
        Reg_Schmier = TargetPos + (Reg_Lose* Faktor_Position / Divisor_Position);
      //-----  Schleife überfahren, Fahrt wiederholen  -----
      if(TargetPos > ActPos_Mot + Reg_Fenster)
        Reg_Lose_gefahren = 0;
      //-----  Differenz zwischen Soll und Ist ausrechnen  -----
      Reg_Differenz = Reg_Schmier - ActPos_Mot;
      if(Reg_Differenz < 0)
        Reg_Schmier = -Reg_Differenz;
        else
        Reg_Schmier = Reg_Differenz;
      //-----  Ziel-Regelung durchführen  -----
      Reg_Divisor_Rampe = Reg_Schmier / 5 + Reg_Divisor_Rampe_min;
      if(Reg_Divisor_Rampe > Reg_Divisor_Rampe_max)
        Reg_Divisor_Rampe = Reg_Divisor_Rampe_max;
      Reg_Schmier = Reg_Differenz * Reg_Faktor_Rampe / Reg_Divisor_Rampe;
      if(Reg_Differenz > 0 && Reg_Schmier < 0)
         Reg_Schmier = Reg_Speed;
      if(Reg_Differenz < 0 && Reg_Schmier > 0)
         Reg_Schmier = -Reg_Speed;
      if(Reg_Schmier > Reg_Speed)
         Reg_Schmier = Reg_Speed;
      if(Reg_Schmier < -Reg_Speed)
         Reg_Schmier = -Reg_Speed;
      if((Reg_Schmier > 0) && (Reg_Schmier < Reg_Mindestdrehzahl))
         Reg_Schmier = Reg_Mindestdrehzahl;
      if((Reg_Schmier < 0) && (Reg_Schmier > -Reg_Mindestdrehzahl))
         Reg_Schmier = -Reg_Mindestdrehzahl;
      //-----  Geschwindigkeit berechnen  -----
      Soll_Speed = Reg_Schmier * 0x4000 / 3000 * (Faktor_Speed / Divisor_Speed);
      //-----  Zieleinlauf durchführen  -----
      if(Reg_Differenz > Reg_Fenster || Reg_Differenz < -Reg_Fenster)
        Timer_1 = Verz_Ziel;
      if(Timer_1 == 0 && (Reg_Lose_gefahren || !Reg_Lose_fahren))
        Pos_erreicht_SET;
      if(Timer_1 == 0 && Reg_Lose_fahren)
        Reg_Lose_gefahren = 1;
      if(TargetPos == ActPos_Mot)
        Soll_Speed = 0;
      //-----  Geschwindigkeit herausgeben  -----
      mcd.PO2 = Soll_Speed;
      }
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  7. #7
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Hallo Markus,

    Der Bremsweg in Abhängigkeit der Zeit die schon gebremst wird berechnet sich wie folgt:

    S(t) = Vsoll * t - 0,5 * a * t

    Dabei ist S der Bremsweg (zu Beginn der Bremsung 0), Vsoll die Geschwindigkeit die beim Beginn der Bremsung erreicht ist, a ist die "Bremsbeschleunigung" (also z.B. 4 m/s² wenn mit 4 m/s² abgrebremst wird) und t ist die Zeit die seit Beginn der Bremsung schon vergangen ist.
    A programmer is just a tool which converts caffeine into code.

  8. Folgender Benutzer sagt Danke zu Cerberus für den nützlichen Beitrag:

    Markus (30.09.2009)

  9. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... bei konsequenter Umsetzung und Umstellung der obigen Einzel-Formeln ergibt sich für den Beschleunigungs-/Bremsweg die Formel :
    Code:
    s = 2 * v² / a
    ... ist es das ?

  10. #9
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Ausrufezeichen

    Zitat Zitat von Cerberus Beitrag anzeigen
    Hallo Markus,

    Der Bremsweg in Abhängigkeit der Zeit die schon gebremst wird berechnet sich wie folgt:

    S(t) = Vsoll * t - 0,5 * a * t

    Dabei ist S der Bremsweg (zu Beginn der Bremsung 0), Vsoll die Geschwindigkeit die beim Beginn der Bremsung erreicht ist, a ist die "Bremsbeschleunigung" (also z.B. 4 m/s² wenn mit 4 m/s² abgrebremst wird) und t ist die Zeit die seit Beginn der Bremsung schon vergangen ist.
    Achtung grober Fehler.

    Muss natürlich ein t² sein:

    S(t) = Vsoll * t - 0,5 * a *



    Und zum Nachvollziehen mal noch die Erklärung dazu:

    Die Geschwindigkeit während des Bremsens lässt sich wie folgt darstellen. V = Vsoll - a * t, wobei a wieder die Verzögerung und t die Zeit seit Beginn der Bremsung ist. Da der Weg nichts anderes als das Integral über die Geschwindigkeit ist, muss man die Geschwindigkeitsformel nur noch integrieren und erhält dann obige Formel für den Weg.
    A programmer is just a tool which converts caffeine into code.
    Zitieren Zitieren Achtung  

  11. Folgender Benutzer sagt Danke zu Cerberus für den nützlichen Beitrag:

    Markus (30.09.2009)

  12. #10
    Avatar von Markus
    Markus ist offline Administrator
    Themenstarter
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    danke, aber ich mache immer noch was falsch...

    zur erklärung, "zielposition" ist in dem falle der tabelle die poisiton ab der abgeremst werden soll.

    später müsste diese position dann gerechnet werden ala

    zeitpunkt wo das ziel erreicht wird - bremszeit

    hoffe ihr werde aus der excel schlau...
    Angehängte Dateien Angehängte Dateien
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

Ähnliche Themen

  1. CRC berechnen
    Von H.Scorpio im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 20.01.2011, 18:05
  2. 2^x berechnen
    Von TimoK im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.02.2010, 09:31
  3. Kontrolle der Verfahrbereiches 2er Achsen auf einer Bahn
    Von dborn im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 24.08.2008, 21:09
  4. K-Zahl im Gas berechnen.
    Von Bender25 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 07.06.2007, 13:56
  5. Kalenderwoche berechnen
    Von Simatics im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.05.2007, 21:59

Lesezeichen

Berechtigungen

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