Etiket arşivi: frenleme

[1000] : Sabit Frenleme İle Durma

Bu alt-göreve atlandığında motor frenleme ile durdurulur.
busy flag değiştirilmiyor.
itemstatus flag değiştirilmiyor.

   /// SABIT FRENLEME ILE DURMA :  900ms sürer..
   /////////////////////////////////////////////////////////////////////////////////
        case 1000:
            // kullanici durmak istiyorsa, position breakpoint kesmesi gerekmiyor
            // diye dusunurum:
            _PCLEQIEN = 0;
            _PCHEQIEN = 0;

            // motoru bosa at:
            speedref = 0;
            MDC = 0;
            PID.nocontrol = 1;
            MOTOR_BRK_L;
            PID.controlcounter = 0;
            drive.status++;
        break;

        case 1001:
            if (PID.controlcounter > 19)     // 200ms bosta bekle
            {
                // bosta suresi gectikten sonra biraz fren yap:
                speedref = 1000;
                drive.status++;
                PID.controlcounter = 0;
            }
        break;

        case 1002:
            if (PID.controlcounter > 9)  // 100ms bekle
            {
                speedref = 2000;        // freni artir
                drive.status++;
                PID.controlcounter = 0;
            }
        break;

        case 1003:
            if (PID.controlcounter > 9)    // 100ms bekle
            {
                speedref = 3000;            // freni artir
                drive.status++;
                PID.controlcounter = 0;
            }
         break;

       case 1004:
           if (PID.controlcounter > 9)      // 100ms bekle
           {
               speedref = 0;
               drive.status++;
               PID.controlcounter = 0;
           }
       break;

        case 1005:
            if (PID.controlcounter > 19)     // 200ms bekle
            {
                speedref = 4000;            // freni artir
                drive.status++;
                PID.controlcounter = 0;
            }
        break;

       case 1006:
           if (PID.controlcounter > 19)      // 200ms bekle
           {
               speedref = 0;                // ve islemi sonlandir...
               PID.controlcounter = 0;
               drive.status = drive.subindex;
           }
       break;
//////////////////////////////////////////////////////////////////////////////////