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

Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte
Ergebnis 41 bis 50 von 60

Thema: Mit Schleife DB füllen

  1. #41
    Registriert seit
    17.10.2010
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo htw

    Ich habe vor kurzem auch an einem Projekt gearbeitet, bei dem Bahnkurven berechnet werden müssen. Wir haben das dort mit Matlab realisiert. Wenn du willst, kann ich dir die m-Files zukommen lassen. Es ist wichtig, dass du beim Starten und Stoppen Beschleunigungsphasen einbaust. Die Geschwindigkeiten und Beschleunigungen kannst du mit Matlab auch problemlos berechnen.

    Die offline berechneten Daten haben wir dann in folgende Form gebracht:

    strecke[1,1]:=30.005;
    strecke[1,2]:=0;
    strecke[1,3]:=30.0035;
    strecke[1,4]:=0;
    strecke[2,1]:=30.09;
    strecke[2,2]:=212.5;
    strecke[2,3]:=30.0635;
    strecke[2,4]:=150;

    Dieser Code wurde dann in ein FC kopiert und beim Starten den Anlage einmalig ausgeführt.

    Gruss
    Simon

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

    Standard

    kannst du mir eine Zeile näher erläutern?

    strecke[1,1]:=30.005

    Strecke [Kor_x, Kor_y] := Was hat dieser Wert zu bedeuten? ... denk mal nen Beschleunigungsfaktor?

  3. #43
    Registriert seit
    17.10.2010
    Beiträge
    22
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bei dem Array Strecke handelt es sich um ein Array mit 4 Spalten und 400 Zeilen


    1: Zeile x1 ax1 y1 ay1
    2: Zeile x2 ax2 y2 ay2

    strecke[1,1]:=x1;
    strecke[1,2]:=ax1;
    strecke[1,3]:=y1;
    strecke[1,4]:=ay1;
    strecke[2,1]:=x2;
    strecke[2,2]:=ax2;
    strecke[2,3]:=y2;
    strecke[2,4]:=ay2;
    ...
    ...



    in einer Zeile steht immer ein Punktepaar und die Beschleunigung bis zum nächsten Punkt (Vorsteuerung der Regelung).

    Der Programmcode ist aus einer Beckhoffsteuerung aber auch in ST geschrieben. Ich denke der Syntax sollte dabei sehr ähnlich sein.

    Gruss
    Simon

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

    Standard

    Verstehe.

    Die m-Files dazu habt ihr selber entwickelt, oder irgendwoher genommen (du erwähntest Beckhoff)?

  5. #45
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,
    ich muss mir hier noch einmal an den Beitrag von LargoD ranhängen ...
    Ich stimme dem mit dem "Achsen verfahren" uneingeschränkt zu.
    Wenn du in der SPS die Positionen quasi als Stützpunkte berechnest und sie "nach Bedarf" zum Servo-Regler überträgst dann wird es dir ggf. möglich sein ein Dreieck zufahren - niemals aber etwas, das einem Kreis auch nur ähnlich sieht - wahrscheinlich nicht einmal ein sinnvolles (symetrisches) Polygon.

    Ihr solltet hier darüber nachdenken, die Berechnung in den Servo-Regler zu bringen. Z.B. kannst du bei Bosch-Rexroth (aber auch bei vielen Anderen) so ein Berechnungsprogramm in die Funktionalität einbauen (das wäre dann in ST - also so wie SCL) und du kannst hier auch mehrere Achsen koordinieren - also auch ´ggf. etwas, das einem Kreis nahe kommt, realisieren.

    Nur mal so am Rande ...

    Gruß
    Larry

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

    Standard

    Du meinst also, es ist gar nicht möglich einen Kreis nachzubilden?

    Wenn aber die Geschwindigkeit nicht all zu groß wäre und ich eine sehr kleine Schrittweite nehmen würde, müsste es in die Richtung Kreis gehen (für das Auge sollte schon ein Kreis erkennbar sein)?


    Berechnung der Schrittweite bei einer Motorwelle von 1 cm Radius auf der die Zahnkette sitzt:

    U = 2 * pi * r = 6,28 * 1 cm = 6,28 cm

    kleinste Schrittweite von meinem Beispielmotor von Festo: 1,8°

    360 ° --> 62,8 mm
    1,8° --> ( 62,8 mm / 360° ) * 1,8° = 0,3 mm

  7. #47
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    ... so wie ich dich verstanden habe hast du (oder du planst) eine 2-Achsen X-Y-Steuerung im Grunde ähnlich einem alten Flachbett-Plotter. Ist es so ?
    Wenn ja, dann fahren deine beiden Achsen ja nur vor-zurück und da auch nur einen Weg - klar bei Festo wird die Achse in Grad Motorumdrehungen dargestellt, die du sinnvollerweise aber in einen Fahrweg umrechnest.
    Z.B. einen Kreis fährst du ja nun über die Sinus-Cosinus-Berechnung wo dann von Punkt zu Punkt manchmal beide Achsen den gleichen WEeg zurückzulegen haben und manchmal nur die eine Achse fährt und die andere gar nicht. Das passiert aber nicht hintereinander sondern sinnvollerweise gleichzeitig und synchron zueinander. Das kann natürlich über die SPS laufen - würde aber wenn es genau werden soll sehr langsam werden oder wenn es schnell (quasi on-the-fly) laufen soll sehr ungenau werden.

    Gruß
    Larry

  8. #48
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von htw Beitrag anzeigen
    kleinste Schrittweite von meinem Beispielmotor von Festo: 1,8°

    360 ° --> 62,8 mm
    1,8° --> ( 62,8 mm / 360° ) * 1,8° = 0,3 mm
    Du hast ja sicher nach deinem Motor eine Linearachse (Spindel, Zahnstange oder änliches) und evtl auch noch ein Getriebe mit einer Untersetzung.

    Wenn du eine Spindel mit 1mm Steigung direkt an deinen Schrittmotor anflanscht, kannst du viel genauer positionieren:

    360° (eine Motorumdrehung) = 1mm linearer Weg
    1,8° (Schrittweite) = 0,05mm linearer Weg

    Mit Getriebe entsprechend genauer...

    Bei deiner Berechung verstehe ich noch nicht wie du die rotatorische in eine lineare Bewegung umbiegst.
    mfG Aventinus

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

    Standard

    Genau.

    Natürlich sollen die Achsen synchron zueinander laufen. Je kleiner die Schritte, desto genauer - das ist mir bewusst.
    Nun könnte man doch aber die Geschwindigkeit in Abhängigkeit des Abstandes berechnen, so dass beide Achsen gleichzeitig den Folgepunkt erreichen.
    Sozusagen versuch ich meine Koordinaten linear zu interpolieren, also Geraden zwischen meinen Punkten reinzulegen ohne Ecken ect .... nuja, zumindest wäre das mein Wunsch =)

  10. #50
    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 Schrittmotor wird 90° versetzt zur Linearachse und somit treibt seine rotatorische Bewegung den Zahnriemen an.

    Getriebe ist ne gute Idee, hatte auch schon darüber nachgedacht.

Ä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
  •