Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка системи управління механічної системи в режимі м'якого реального часу

Реферат Розробка системи управління механічної системи в режимі м'якого реального часу





max_x); (fp, Ssh_x:% f n , Ssh_x); (fp, Vmaxx_x:% f n , mainmass_x [Vm_step_x] .V); (fp);=1;=fopen ( log2.dat raquo ;, w ); (mainmass_y [i - 1] .V lt;=Vmax_y) {

//while (i lt; 4) {= (- mainmass_y [i - 1] .V + sqrt (mainmass_y [i - 1] .V * mainmass_y [i - 1].V+2*a_y*Ssh_y))/a_y;_y[i].dt_ms=round(vardt*1000);=vardt*1000;_y[i].dt=SYSPAGE_ENTRY(qtime)-gt;cycles_per_sec * vardt; _y [i] .V=mainmass_y [i - 1] .V + a_y * vardt; _y [i] .St=i * Ssh_y; (fp, dt:% d n , mainmass_y [i ] .dt_ms); (fp, V_y:% f n , mainmass_y [i] .V);=i + 1;

} _ step_y=i - 1; (fp, a_y:% f n , a_y); (fp, Vmaxindexstep:% d n , Vm_step_y); (fp, Vmax_y:% f n , Vmax_y); (fp, Ssh_y:% f n , Ssh_y); (fp, Vmaxx_y:% f n , mainmass_y [Vm_step_y] .V); (fp);

//if (fp!=NULL)

//for (i=0; i lt;=Vm_step_x; i ++) _init (1000000);

//ініціалізація завдань (InOutTask_init ()!=0) {return - 1; }; (sled_x_init ()!=0) {return - 1;} (goto_0X_init ()!=0) {return - 1;}=1; (work)

{();//Завдання введення вхідних данних_x ();

//task3 (); _ 0X (); _ y (); _ 0Y (); ();//Завдання виведення вихідних даних

}; (0); ();

//деініціалізацію завдань (InOutTask_close ()!=0) {return - 1;};

//збережемо протокол роботи системи ();

return (0);

} _ cicle (PtWidget_t * widget, ApInfo_t * apinfo, PtCallbackInfo_t * cbinfo)

{_ attr_t attr;

/* eliminate unreferenced warnings * /=widget, apinfo=apinfo, cbinfo=cbinfo; _attr_init ( amp; attr); _ attr_setdetachstate ( amp; attr, PTHREAD_CREATE_DETACHED); _ create (NULL, amp; attr, amp; work_thread, NULL); _ mutex_init ( amp; mutex , NULL); (Pt_CONTINUE);

}


А.2 Лістинг коду завдання Sled_X

sled_x (void)

{FILE * fp1; short int temp;

//змінні состоянійint STATE=INITSTATE;// Поточний стан завдання

static int NEXTSTATE=STOP_Sx;// Наступний стан завдання (якщо завдання не змінила свій стан, то=- 1 Якщо на даному перегляді вона не змінює свого стану, то NextStatee=- 1 * /; int RUNENTRY;//ознака виконання секції входу для даного состояніяint phase=1 ;

//інтервалиuint64_t dt;//часовий інтервал між кроками в тактах

//Переменниеuint64_t TendStep;//час закінчення кроку в тактахuint64_t TendT;//час закінчення спрацьовування гальма в тактах

static int sost;// int64_t dx;

if (NEXTSTATE!=- 1)//задача змінила свій стан

{(TASKID, STATE, NEXTSTATE);//зареєструємо цю подію

STATE=NEXTSTATE;=- 1;=1;

} RUNENTRY=0; (STATE)

{STOP_Sx:

//секція входу (RUNENTRY) {

}; ((vihod_0X == 1) amp; amp; (vihod_0Y == 1)) {

//// printf ( xt n% d n , Xt);

//// printf ( xc n% d n , Xc);=Xc-Xt; (dx!=0) {_x=0;=BRAKE_Sx;=STOP_Sx;

}

}; BRAKE_Sx:

//секція входу (RUNENTRY) {(sost == STOP_Sx) {(num_Tx);=getoutbuf () amp; phases_mask_x; (temp | phases_signals_x [0]);

} else {(num_Tx);=getoutbuf () amp; phases_mask_x; (temp | 0); _ x=0;

}=ClockCycles () + Ttormoz;

} (ClockCycles () gt;=TendT) {(sost == STOP_Sx) {(dx == 1) {NEXTSTATE=STEP_Sx;} else {= ACCEL_Sx;}

} else {NEXTSTATE=STOP_Sx;}

}; ACCEL_Sx:

//секція входу (RUNENTRY) {

};=(Xc-Xt); (((dx gt; 0) amp; amp; (Vt_x lt; 0)) || ((dx lt; 0) amp; amp; (Vt_x gt; 0 ))) {NEXTSTATE=DEACCEL_Sx; } (abs (dx) lt;=indexstep_x) {NEXTSTATE=DEACCEL_Sx; } {_ x=indexstep_x + 1;=mainmass_x [indexstep_x] .dt;// v taktah (dx gt; 0) {if (++ phase gt; 4) {phase=1; }; }; (Dx lt; 0) {if (--phase lt; 1) {phase=4; }; };=Getoutbuf () amp; phases_mask_x; (temp | phases_signals_x [phase - 1]); ((indexstep_x == Vm_step_x) amp; amp; ((abs (dx) - 1) gt; indexstep_x)) {sost=CONST_Sx;} ((abs (dx)- 1) lt;=indexstep_x) {sost=DEACCEL_Sx;} ((indexstep_x lt; Vm_step_x) amp; amp; ((abs (dx) - 1) gt; indexstep_x)) {sost=ACCEL_Sx;}=WAIT_Sx;

}; WAIT_Sx:

//секція входу (RUNENTRY) {= ClockCycles () + dt;

} (ClockCycles () gt;=TendStep) {= sost; (dx gt; 0) {Xt=Xt + 1; Vt_x=mainmass_x [indexstep_x] .V;} {Xt=Xt - 1; Vt_x=-mainmass_x [indexstep_x] .V;}


Назад | сторінка 12 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Return to materialism
  • Реферат на тему: Фізична культура: стан та завдання розвитку
  • Реферат на тему: Бар'єри входу і теорії квазіконкурентних ринків
  • Реферат на тему: Специфіка бар'єрів входу фірм на ринок в економіці Росії
  • Реферат на тему: Малошумящий підсилювач з пристроєм захисту входу від просочується високої п ...