Positionierungs toleranz

DavidRiquelme

Level-1
Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe ein kleines Problem und ich weiß nicht wie ich das aufheben kann.
Der Bediener schreibt verschiedene Positionen, dann soll diese position ein bestimtes Zeit warten, dannach die zweiten verfahrsatzt fahren.
Das Problem ist mein position Variable sttotern ein bisschen. Wenn ich das schreibe z.B.

Code:
toleranz_l:=(should_position-0.1);

    IF (real_position=should_position OR(real_position>=toleranz_l)) AND bereit
        THEN merker_pos:=TRUE;
    END_IF

Wenn von ein niedriger wert kommt es wäre kein problem für mein merker, aber wenn von ein große position kommt zu ein klein es wäre nicht richtig und gegenseitig.
Weiss jemand wie kann ich das Problem lösen? Ich programmiere seit nicht so lange :roll:

Danke sehr!!
 
Ups... ich kann jetzt mich selber antworten jejeje
also ich habe gefunden bei Oscat eine wunderbare Bausteine heißt WINDOW...

Danke für die interesse ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich Dich richtig verstehe soll eine Position aus einer Liste angefahren werden, nach einer kurzen Verweilzeit soll die Position der nächsten Zeile angefahren werden.
Die Liste der Positionen wird vom Bediener eingegeben.

Du benötigst für den Fall, das von einer großen zu einer kleinen Position verfahren wird eine +Toleranz, da Du sonst evtl. die Position überfährst.
Ich würde folgendes machen:

1. Positionierrichtung abfragen. (steigende oder fallende Positionswerte?)
2. In Abhängig von 1. das Toleranzband bestimmen.
3. Angefahrene Position mit gewünschter Position vergleichen.
4. Diesen Vergleich mit Deiner Variable 'Bereit' ver-unden

Wenn Du Dir Schritt 1&2 sparen möchtest wäre vielleicht auch folgender Vergleich möglich: 'Soll_Pos-Tolanz' <= 'Ist_Pos' <= Soll_Pos+Toleranz'
 
Zurück
Oben