Bu alt-göreve atlandığında motor hızı 0’dan rampset değerine sabit bir ivme ile artırılır.
Alt-görev çağrıldığında dir bayrağının durumuna göre hareketin yönü belirlenir. dir = 1 ise REV dir = 0 ise FWD yönünde hareket başlatılacak.
Zorlanma algılanırsa rutinden hemen çıkılır. Zorlanma sonucu alt görevden dönülürse overloaded bayrağı 1 olarak dönülür.
busy ve itemstatus bayrakları bu görevlerden etkilenmez.
// SABIT RAMPALI HIZLANMA: (FWD/REV) //////////////////////////////////////////////////////////////////////////// case 1100: speedref = 50; MDC = 50; PID.controlcounter = 0; PID.restart = 1; PID.nocontrol = 0; // kalkış PID kontrol ile, bu önemli! SetDir(); // sürücü yönünü belirle.. _PTEN = 1; // PWM'i başlat! drive.status++; break; // her 40ms'de bir hizi biraz artirmak: case 1101: if (PID.controlcounter > 3) { speedref += 10; drive.status++; PID.controlcounter = 0; } // bu esnada aynı zamanda motor zorlanıyor mu diye de bakıyoruz: if (PID.overloaded) { PID.nocontrol = 1; // zorlanma durumunda PID devre dışı speedref = 0; drive.status = drive.subindex; // ve hemen dönüyoruz.. } break; // referans degere ulastik mi sorgulamak: case 1102: if (speedref < rampset) drive.status = 1101; else { speedref = rampset; drive.status = drive.subindex; } break; ////////////////////////////////////////////////////////////////////////////////