Revolver Programmieren

gravieren

Level-1
Beiträge
2.218
Reaktionspunkte
237
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

Ich haben einen Werkzeug-Revolver mit 12 Werkzeugen.

Einen Absolutgeber der von 0 -1023 "zählt".

Einen Sinamics S120 der über Profibus angesteuert wird.

Ich mache eine Positionierung an den Steller:
Sollwert = KP * (Sollwert - Istwert)
(Den Sollwert gebe ich dann mit Vorzeichen an den SINAMS weiter)



Funktioniert soweit bis auf:
1. Übertrag 1023 --> 0 berechnungsgrösse.
2. Finden und ansteuerung des kürzesten Weges.
Also z.b. Werkzeug 12 auf 1. (Bei mir Positioniert er 12-11-10 ...)


Klingt simple, jedoch finde ich hierfür keinen Vernünftigen Algorythmus.


Kann mir jemand einen Tip geben.

Gruß Karl
 
Hallo karl,
in deinem Fall müßte die Berechnung "Soll_Pos - Ist_Pos" einen negativen Wert ergeben. In dem Fall dann einfach noch einmal max_Pos (also 1023) draufaddieren und du solltest die Differenz in Inkrementen haben. Jetzt mußt du nur (in dem fall) die Differenz "Ist_Pos - Soll_Pos" dagegen halten (vergleichen) um entscheiden zu können, welches der kürzeste Weg ist ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi

So einen ähnlichen anastz hatte ich auch jedoch.


Soll 500
Ist 100
====
400


Soll 100
Ist 500
====
-400

Negativer Wert --> 1023 draufaddieren ?
Soweit ich dich verstanden habe.



Mit den Differenzen +400 b.z.w. -400 kann ich gleich als Sollwert vorzeichenrichtig beaufschlagen. --> Geht bis auf die o.g. Ausnahmen


Oder habe ich hier einen Denkfehler ?
 
es geht darum, wenn bei dem vergleich soll/ist ein negatives ergebnis raus kommt die 1023 zu addieren um den tatsächlichen weg zu ermitteln.

logik:

1. soll-ist => weg in "positive" richtung

2. ist-soll => weg in "negative" richtung

3. kürzester weg => bestimmt richtung und weg-strecke


beispiel:

soll=900 ist=100

1. soll - ist: 900-100 => weg ist 800 (positive richtung)

2. ist -soll: 100-900 => -800 => +1023 addieren! => weg ist 223 (negative richtung)

3. kürzester weg ist 223 und zwar in negativer richtung


noch ein beispiel:

soll=100 ist=900

1. soll - ist: 100-900 => -800 => +1023 addieren! => weg ist 223 (positive richtung)

2. ist -soll: 900-100 => weg ist 800 (negative richtung)

3. kürzester weg ist 223 und zwar diesmal in positiver richtung


mfg
thomas
 
Die Position springt wahrscheinlich von 1023 auf 0, also entspricht 0 eigentlich 1024, demzufolge muss 1024 addiert werden, nicht 1023.
 
Hi


Ja, stimmt 1024 sollte richtig sein.


Habe ich heute beim testen bemerkt.

Die Entfernung von 1023 nach 0 waren 0 Inkremente :ROFLMAO:
(Beim addieren mit 1023)

Sollte eigenlich 1 sein.


Danke
 
Zurück
Oben