// motion_complated --> hedef değere gittiğinde ON ( Mc_MoveAbsolute.Done çıkışı olabilir programda ne kullandığını bilmiyorum)
// motin_complated_old --> bir önceki cycle'daki değeri
// operation_cmd --> çalışma döngüsünü başlatan bit
// operation_cmd_old --> bir önceki cycle'daki değeri
// target --> hedef
// total_station --> ekrandan girilen istasyon sayısı
// next_station --> hareket edeceği istasyon
operation_rising_edge := operation_cmd AND NOT operation_cmd_old;
motion_complated_rising_edge := motion_complated AND NOT motion_complated_old;
IF motion_complated_rising_edge THEN
next_station:= next_station+1;
END_IF;
IF ((operation_rising_edge) OR (next_station == (total_station-1))) THEN // ilk hareket verildiğinde ve tüm istasyonlar gezildiğinde
next_station:= 0;
END_IF;
target := (360/total_station) * next_station;
operation_cmd_old := operation_cmd;
motion_complated_old := motion_complated;