Приложение 3 Листинг функции управления контроллеров MC_j, используемых в Q-схеме на рис. 3.1
void OldestReqFirstCtrlFunc(
const CCustomMassGateController::AssocControllers_t & AssocControllers, CCustomMassGateController::GateStatesMap_t & GateStatesMap )
{
// insert gate control function code here
/* retrieving the ids for the gates under control */ Gatestatesmapjterator it = GateStatesMap.begin(); int id1 = it -> first; ++it; int id2 = it -> first; ++it; int id3 = it -> first; ++it; int id4 = it -> first; ++it; int id5 = it -> first;
/* getting the req timestamps for the queues */ size_t timestamps[5];
TREAT_AS_QUEUE(AssocControllers[0]).GetMinReqInitTimeStamp(timestamps[0]); TREAT_AS_QUEUE(AssocControllers[1]).GetMinReqInitTimeStamp(timestamps[1]); TREAT_AS_QUEUE(AssocControllers[2]).GetMinReqInitTimeStamp(timestamps[2]); TREAT_AS_QUEUE(AssocControllers[3]).GetMinReqInitTimeStamp(timestamps[3]); TREAT_AS_QUEUE(AssocControllers[4]).GetMinReqInitTimeStamp(timestamps[4]); /* searching for the maximum timestamp */ size_t maxtimestamp = 0, max_id = 0;
for ( size_t i= 0; i < 5; ++i )
if ( timestamps[i] >= maxtimestamp ) { maxtimestamp = timestamps[i]; max_id = i;
}
/* setting a combination of control states */
GateStatesMap[id1] = 0;
GateStatesMap[id2] = 0;
GateStatesMap[id3] = 0;
GateStatesMap[id4] = 0;
GateStatesMap[id5] = 0;
if ( max_id == 0 ) GateStatesMap[id1] = 1;
else
if ( max_id == 1 ) GateStatesMap[id2] = 1;
else
if ( max_id == 2 ) GateStatesMap[id3] = 1;
else
if ( max_id == 3 ) GateStatesMap[id4] = 1;
else
if ( max_id == 4 ) GateStatesMap[id5] = 1; return (void)0;
}
Еще по теме Приложение 3 Листинг функции управления контроллеров MC_j, используемых в Q-схеме на рис. 3.1:
- Приложение 4 Листинг программы PPP Switch Simulator, используемой для визуализации процесса моделирования КУ
- Приложение 2 Листинг программы вычисления значения Qiпо формуле (2.22)
- Приложение 1 Листинг программы вычисления значения Q1nпо формуле (2.9)
- Характеристики используемых порошков
- ПРИЛОЖЕНИЕ В.
- ПРИЛОЖЕНИЕ Г.
- ПРИЛОЖЕНИЕ Е.
- Приложения
- ПРИЛОЖЕНИЕ Д.
- ПРИЛОЖЕНИЯ
- Приложение А - Акт внедрения в производство
- Приложение В - Патент на изобретение №2612886
- Приложение Б - Акт внедрения в учебный процесс
- ПРИЛОЖЕНИЕ Б. Данные, полученные в ходе выполнения численных исследований
- ПРИЛОЖЕНИЕ А. Данные, полученные в ходе выполнения экспериментальных исследований