[Algorytmy] Ruch po zadanej ścieżce

Pan Salva
Użytkownik
Użytkownik
Posty: 12
Rejestracja: 5 gru 2011, o 14:35
Płeć: Mężczyzna
Lokalizacja: Wwa
Podziękował: 3 razy

[Algorytmy] Ruch po zadanej ścieżce

Post autor: Pan Salva »

Witam serdecznie,

Piszę obecnie program na bazie sterownika PLC, mający sterować ruchem obiektu po zadanej ścieżce i przy zadanej prędkości. Poniżej daję kod:

Kod: Zaznacz cały

PROGRAM zadanie4
VAR
   poz_x: INT :=0;
    poz_y: INT := 0;
    speed: BYTE;
    start: BOOL;
END_VAR
 
IF start THEN
{wcisniecie przycisku "START" rozpoczyna ruch}
	IF poz_x<150 THEN
		{pozycja (150,0)}
		poz_x:=poz_x+speed;
	END_IF;
 
	IF poz_x>=150 AND poz_y>-118 THEN
	{POZYCJA (150,-118)}
	poz_y:=poz_y-speed;
	END_IF;
 
	IF poz_x<320 AND poz_y<=-118 THEN
	{pozycja (320,-118)}
	poz_x:=poz_x+speed;
	END_IF;
 
	IF poz_x>=320 AND poz_y<=-118 AND poz_y >-240 THEN
	{pozycja (320,-240)}
	poz_y:=poz_y-speed;
	END_IF;
 
	IF poz_x>=320 AND poz_y<=-240 AND poz_x<620 THEN
	{przejscie do (620,-240)}
	poz_x:=poz_x+speed;
	END_IF;
 
	IF poz_x>=620 AND poz_y<=-240 AND poz_y<-120 THEN
	{przejscie do (620, -120)}
	poz_y:=poz_y+speed;
	END_IF;
 
END_IF;
zależnie od zadanej prędkości, obiekt trochę wykracza poza zadaną wartość (x y).
Czy zna ktoś algorytm, który by to skorygował?
Z góry dziękuję.
Ostatnio zmieniony 8 gru 2012, o 19:47 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
ODPOWIEDZ