TIA Schrittkette programmieren

Kehrer

Level-2
Beiträge
439
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Stehe grad irgendwie auf dem Schlauch wie ich anfangen könnte.
Wie würdet Ihr eine Schrittkette programmieren, wenn ich ein Rundteil alle 5 Grad bzw. 10 Grad (360Grad) positionieren will.
In FUP oder SCL ? Graph7 habe ich nicht.

würdet ihr dann relativ oder absolut positionieren?
1676903557983.png

1676903577330.png

Vor allem wäre ich für einen Tipp dankbar wie ich dann die #Zielposition bestimmen soll.
und Execute wäre dann immer von der Schrittkette angesteuert oder?
 
Hi,

ich schätze mal du willst auf nen runden tisch alle 5 oder 10 grad etwas Ablegen mit nem Achsportal?

Wenn das deine Frage ist dann kannst du ja über die den Winkenl und dem Radius ganz einfach x und y berechnen (Sinus und Cosinus satz). Dies musst du dann auf das achsportal umrechnen und du hast deine Positionen. Mit ner schleife versehen und den Winkel immer um 5 oder 10 Grad erhöhen.

Ich würde das in SCL machen weil ich es igw sympatischer finde.

Ausführen immer am Ende der Schleife einfügen


Schleife kann man auch weglassen wenn du den immer wieder aufrufst
Und eine Schrittkette kanns du auch mit einer Caseanweisung darstellen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nimm den Move_relative. Mit dem kannst du dann immer um x° weitertakten. Taktzählen mal x ergibt dien Gesamtwinkel. Bei >=360° dann aufhören. Programmiersprache ist Geschmackksache. Wahrscheinlich reden wir von einer 1200er? Dann würde ich acu SCL nehmen. Bei 300er eher FUP. Aber GEschmackssache
 
Ich würde hier nicht relativ verfahren da sich so ggf. minimale Fehler aufaddieren können.
Wenn du in 10°-Schritten verfährst wären das 36 hinterlegte Fest-Positionen - bei 5°-Schritten dann eben 72 - das ist aus meiner Sicht für die SPS (gleich welche) problemlos handelbar. Wenn du hier in Richtung SCL gehst dann ist es auch vom Programm her gut und übersichtlich machbar ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit folgender formel kommst du auf deine x und y Koordinaten:
X = r * cos phi + m1
Y = r * sin phi + m2

M1 und m2 stellen dabei die Koordinaten deines Kreismittelpunktes dar.
 
Hier gehts nicht um X/Y sondern um einen Drehtisch. Auf keinen Fall relativ. Fehler addieren sich da immer von der Istposition gerechnet wird. Außerdem würde alles daneben gehen wenn ein Takt mal angebrochen wird. Einfach die aktuelle Sollposition plus deine Teilung rechnen und dann absolut positionieren.
 
Hier gehts nicht um X/Y sondern um einen Drehtisch. Auf keinen Fall relativ. Fehler addieren sich da immer von der Istposition gerechnet wird. Außerdem würde alles daneben gehen wenn ein Takt mal angebrochen wird. Einfach die aktuelle Sollposition plus deine Teilung rechnen und dann absolut positionieren.
ok also absolut:

woher habe ich aber die aktuelle Sollposition (IN1)und wie takte ich dann weiter?
Schritt 1 ist z.B. der referenzpunkt =0
Schritt 2 +10 Grad
Schritt 3 +10 Grad also 35 Mal

ich könnte doch dann mit "Merker.Absolut_Erreicht" und einem Eingang/ Ablauf dann weitertakten

da habe ich wohl was falsch versucht zu programmieren oder?
 

Anhänge

  • Move_absolut.PNG
    Move_absolut.PNG
    15,7 KB · Aufrufe: 17
  • add.PNG
    add.PNG
    4,4 KB · Aufrufe: 16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hier gehts nicht um X/Y sondern um einen Drehtisch. Auf keinen Fall relativ. Fehler addieren sich da immer von der Istposition gerechnet wird. Außerdem würde alles daneben gehen wenn ein Takt mal angebrochen wird. Einfach die aktuelle Sollposition plus deine Teilung rechnen und dann absolut positionieren.
Das habe ich falsch verstanden. Ich dachte es ginge um ein Portal. Dann ist es ja noch bedeutend einfacher
 
Zurück
Oben