Positionieren

sr-83

Level-1
Beiträge
69
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Moin,

ich habe eine Drehscheibe und 20 Positionen, die durch eine Lichtschranke erkannt werden! Die Drehscheibe soll links/rechts drehen können, um den kürzesten Weg zur Sollposition zu fahren. Die Position wird vorgegeben! Mit dem Zähler, Vergleicher ist das ja relativ leicht umzusetzen. Nur mein Problem ist Position 20 und 0. Angenommen die Scheibe steht auf Pos. 19 und soll zu Pos. 1.! Wären drei Schritte, aber Pos 0 muss irgendwie überfahren werden! Wie programmiert man denn sowas ? Hoffe ihr habt das Problem verstanden und könnt mir weiterhelfen!

Gruß
 
Hallo,
ich würde mir eine Hilfs-Position bilden. Immer wenn Pos_neu < Pos_alt, dann wäre Pos_Hilf = Pos_neu + 20. Nun kann du dir die Differenz auch ausrechnen und entsprechend des kleinsten Differenzwertes verfahren ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bastel schon die ganze zeit mit Excel rum und versuch ne Lösung(formel) zu finden! Kannst du evtl ein Beispiel machen.Ich denk wahrscheinlich nur zu kompliziert! Es gibt ja immer die Variante, das IST-Wert mal kleiner ist als Soll oder Soll kleiner als Ist!
 
Ergänzend zu Larry Laffer:

Es geht darum, die Drehrichtung zu bestimmen,
20 Positionen (0..19)

Es gibt drei Fälle:

a) Ist = Soll (trivial: Nix bewegt sich)

b) Ist < Soll
If (Soll -Ist) >= 10 Richtung1 else Richtung2
Positioniere auf Soll

c) Ist > Soll
Dann addierst Du erst 20 zum Soll, ergibt HSoll.
If (HSoll -Ist) >= 10 Richtung1 else Richtung2
Positioniere auf Soll


Ich hoffe das passt so auf die Schnelle.
So, und jetzt aber schnell zum Grill :)
 
Zurück
Oben