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;
Czy zna ktoś algorytm, który by to skorygował?
Z góry dziękuję.