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

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 60

Thema: Mit Schleife DB füllen

  1. #31
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    der Hintergrund ist wie folgt:


    meine Formel für die Kreiskoordinaten:

    KREIS

    i = i + 1 <-- Schleife, wie folgt programmiert:

    L #i (Schleifenvariable)
    L 1.0
    +R
    T #i

    winkel = 2*PI/punktanzahl
    x-Koordinate = cos(i*winkel)*radius
    y-Koordinate = sin(i*winkel)*radius

    Hier taucht die Schleife im Argument des cos bzw sin auf.
    --> Schleifenvariable muss somit als Real vorliegen.


    Des weiteren muss ebenfalls mit einer Schleife mein Pointer im DB verschoben werden. Da beide beides zur gleichen Zeit erfolgen soll, dachte ich natürlich daran, alles mit einer Schleife zu machen, was anscheinend nicht möglich ist.

    L #Schleifenvariable j
    L 8
    *D
    SLD 3
    LAR1
    ...

    Hierbei kann ich ja nicht die oben benutzte Schleifenvariable "i" wählen, da diese als Real deklariert wurde, sondern eine komplett neue Schleife "j".

    Mein Programm funktioniert - ist ja schonmal nicht schlecht.

    Kann man das vll eleganter gestalten nur mit einer Schleife?

  2. #32
    Registriert seit
    28.02.2006
    Ort
    Ostsee 5 min zum Strand
    Beiträge
    780
    Danke
    92
    Erhielt 110 Danke für 98 Beiträge

    Standard

    Kannst du dir nicht eine Hilfsvar bilden? ZB #i_TEMP als INT


    Code:
    L #i (Schleifenvariable)
    L 1.0
    +R
    T #i
    
    L #i
    RND
    T #i_TEMP
    Gruß von der Ostsee

    Nordischerjung
    _____________________

    Wenn man seinem Paßbild ähnlich zu sehen beginnt, sollte man schleunigst Urlaub machen. (Vico Torriani, schw. Entertainer)

    Ich habe eine Diät gemacht und fettem Essen und Alkohol abgeschworen - in zwei Wochen verlor ich 14 Tage. (Joe E. Lewis)

  3. #33
    Registriert seit
    23.10.2009
    Beiträge
    392
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Zitat Zitat von htw Beitrag anzeigen
    KREIS

    i = i + 1 <-- Schleife, wie folgt programmiert:

    L #i (Schleifenvariable)
    L 1.0
    +R
    T #i

    winkel = 2*PI/punktanzahl
    x-Koordinate = cos(i*winkel)*radius
    y-Koordinate = sin(i*winkel)*radius
    Ich muss Dich da mal auf einige prinzipielle Probleme hinweisen.
    Mein Eindruck ist, dass Du eine Bahnsteuerung realisieren willst. Dazu gehört auch eine definierte Bahngeschwindigkeit. Bei Deiner Methode ergibt sich eine Bahngeschwindigkeit, die proportional mit dem Radius wächst, da wirst Du bei großen Radien Probleme mit der Mechanik gekommen.
    Außerdem hast Du noch nichts über die Antriebe gesagt. Können die Achsen selbständig ihre Bahn korrelieren oder musst Du das per Software machen? Im zweiten Fall musst Du Deine Stützpunkte viel feiner legen, im ersten Fall musst Du eine Funktion einbauen, die wartet bis die Achsen ihren Fahrauftrag abgearbeitet haben.
    Sag doch mal was zu den Antrieben.
    Gruß
    Erich

  4. #34
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bis jetzt kann ich noch keine Aussagen über die Hardware machen. Mein Professor ist gerade daran einige Sponsoren und Geld aufzutreiben. Zusagen hat er schon, aber nichts näheres.

    Mein Wunsch wären Servo- oder Schrittmotoren von Festo. Da wären dann auch die Linearantriebe ect dabei ...

    Das hört sich jetzt vllt alles n bisschen einfältig an, Software versuchen zu programmieren, wenn noch keine Hardware zu Verfügung steht, aber was soll ich tun außer zu simulieren und mir mal n paar grundlegenden Dinge mir zu erarbeiten. (viel mit euer Hilfe und euren Anregungen ---> Danke)

    Warum soll es Probleme mit der Geschwindigkeit geben? Es geht bis jetzt nur um die Position, die bis jetzt noch nichts mit der Geschwindigkeit zu tun hat.
    Edel wäre natürlich noch, n bissel Regelungstechnik mit reinzubringen, indem die Geschwindigkeit der Achsen in Abhängigkeit dem Abstand der Koordinaten gesetzt wird und somit x und y Wert gleichzeitig erreicht werden, auch unterschiedlichem Verfahrweg. Aber das ist noch Zukunftsmusik ...
    Geändert von htw (09.03.2011 um 16:57 Uhr)

  5. #35
    Registriert seit
    23.10.2009
    Beiträge
    392
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Zitat Zitat von htw Beitrag anzeigen
    Das hört sich jetzt vllt alles n bisschen einfältig an, Software versuchen zu programmieren, wenn noch keine Hardware zu Verfügung steht, aber was soll ich tun außer zu simulieren und mir mal n paar grundlegenden Dinge mir zu erarbeiten.
    Deshalb weise ich Dich ja darauf hin, damit Du nicht viel Arbeit in einen falschen Weg investierst.
    Zitat Zitat von htw Beitrag anzeigen
    Warum soll es Probleme mit der Geschwindigkeit geben? Es geht bis jetzt nur um die Position, die bis jetzt noch nichts mit der Geschwindigkeit zu tun hat.
    Du willst einen Kreis fahren. In Deinem Kode-Ausschnitt taktest Du den Winkel in konstanten Inkrementen vor, dann ist sowohl die sich ergebende Bahngeschwindigkeit als auch die Beschleunigung in Achsrichtung von Radius des Kreises abhängig. Da Dein Antrieb nur bestimmte Geschwindigkeiten und Beschleunigungen erlauben wird, kannst Du vielleicht nur kleine Kreise fahren, wenn Du das nicht beachtest.
    Zitat Zitat von htw Beitrag anzeigen
    Edel wäre natürlich noch, n bissel Regelungstechnik mit reinzubringen, indem die Geschwindigkeit der Achsen in Abhängigkeit dem Abstand der Koordinaten gesetzt wird und somit x und y Wert gleichzeitig erreicht werden, auch unterschiedlichem Verfahrweg. Aber das ist noch Zukunftsmusik ...
    Wenn Du es nicht schaffst dass der x- und der y-Endwert gleichzeitig erreicht werden, kannst Du nur Geraden in Achs-Richtung und unter 45 Grad fahren, alle anderen werden einen Knick haben. Ist das so geplant?

  6. #36
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    zum deinem letzten Punkt: -Ja, unter 45° wird verfahren, bis eine Koordinate erreicht ist - danach nur noch in x oder y Richtung.

    ist natürlich die Frage, ob man das sieht, wenn die Schritte klein gewählt werden!?


    Sind meine Ideen verwirklichbar?

    Bin ja leider kein Applikateur, der Erfahrung hat (wie Ihr sicher schon bemerkt habt), sondern n Student der kaum praktische erfahrung hat.

  7. #37
    Registriert seit
    23.10.2009
    Beiträge
    392
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Du schriebst in Deinem ersten Post
    Zitat Zitat von htw Beitrag anzeigen
    Dreieck und einfache Geometrien, die mit wenigen Punkten abgefahren werden können, sind kein Problem.
    Bestehen diese Geometrien auch nur aus 45 Grad und 90 Grad Bewegungen?
    Sonst hast Du da auch das Problem mit dem Knick, oder Du zerlegst diese Bewegungen auch in sehr kleine Schritte.

  8. #38
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hätte viele Koordinatenpunkte der Geraden des Dreiecks berechnet ... ohne Regelung gibts ja wohl keine andere Möglichkeit?

  9. #39
    Registriert seit
    23.10.2009
    Beiträge
    392
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Der Aufwand liegt weniger in der Regelung, sondern in der Erzeugung der Sollpositionen.
    Allein um eine Gerade abzufahren musst Du ein Interpolationsverfahren einsetzen, das zusätzlich zur Geometrie auch noch Beschleunigungs- und Verzögerungsrampen und die gewünschte Bahngeschwindigkeit berücksichtigt.
    Mein Tip: Kümmer Dich im Moment noch nicht so sehr um die programmtechnische Realisierung sondern um die mathematischen Verfahren und berechne außerdem aus den gewünschten Genauigkeiten, Geschwindigkeiten, Massen, Übersetzungen, Spindelsteigungen etc die erforderlichen Daten für Deinen Antrieb. Dann suchst Du die Antriebe aus und bis die Maschine gebaut ist, hast Du das Programm geschrieben.
    Die ganze Mathematik brauchst Du doch für Deine Bachelorarbeit sowieso oder?
    Gruß
    Erich

  10. #40
    htw ist offline Benutzer
    Themenstarter
    Registriert seit
    18.05.2010
    Beiträge
    34
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    das math. Zeugs ist kein Problem...die Rechnungen stehen.

    Problematischer wirds da schon die in AWL zu programmieren, wobei das bei der Kreisinterpolation eig kein Problem war (etwas umständlich aber). Wie gesagt, meine SCL Erfahrungen sind gleich 0, sonst denk ich, dass SCL hier ideal wäre.

Ähnliche Themen

  1. Array füllen
    Von elmoklemme im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 31.08.2010, 18:23
  2. DB Füllen
    Von SPS_NEU im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 16.08.2010, 16:25
  3. DB automatisch mit Werte füllen
    Von Potenzial im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 02.07.2010, 07:46
  4. Kreis füllen
    Von doretan im Forum HMI
    Antworten: 1
    Letzter Beitrag: 21.06.2009, 23:51
  5. DB's abwechselnd füllen und auslesen
    Von Karli im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 07.11.2008, 07:06

Lesezeichen

Berechtigungen

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