public void STATE_NEXT() { string error = ""; int dFreq = FREQ + FREQ_M3; switch (st) { case STATE.START: Console.WriteLine("Шаг1: подготовка анализатора спектра"); SSA_START(); MASTER.SWITCH(false); //выключаем ключи на входе MASTER.ATT_CONTROL(0); //выключаем аттенюаторы TIMER_DELAY = 2000; st = st + 1; FLAG_END = false; PROGRESS = 20; break; case STATE.ST1: Console.WriteLine("Шаг2: формирование кода реального времени и отправка в синтезатор"); var z = CMD_REALTIME_UPDATE(FREQ); MASTER.panel_Sint.FUNC_LIST_UPDATE(z); TIMER_DELAY = 500; st = st + 1; PROGRESS = 50; break; case STATE.ST2: Console.WriteLine("Шаг3:поиск пика"); SSA.PEAK_SEARCH(dFreq); //устанавливаем маркеры SSA.PEAK2_SEARCH(); //устанавливаем маркеры TIMER_DELAY = TIME_DELAY; //500 st = st + 1; PROGRESS = 80; break; case STATE.ST3: Console.WriteLine("Шаг4:измерение частоты"); TIMER_DELAY = 2000; //500 SSA.MRK_FREQ_REQ(1); //запрашиваем значение первого маркера st = st + 1; PROGRESS = 99; break; case STATE.ST4: Console.WriteLine("Шаг5:Анализ"); if (SSA.MRK_DATA1 != null) { ANALIZ(); } st = st + 1; PROGRESS = 100; TIMER_DELAY = 10; break; case STATE.ST5: Console.WriteLine("Шаг5:end"); st = STATE.END; FLAG_END = true; PROGRESS = 100; break; } }
public void STATE_NEXT() { string error = ""; double n_p = (FREQ_END - FREQ_CENTER) / FREQ_STEP; double step_p = 90 / n_p / 4; switch (st) { case STATE.TMP0: Console.WriteLine("Шаг1: подготовка анализатора спектра к измерению уровня сигнала в полосе пропускания"); FREQ = FREQ_CENTER; Console.WriteLine("FREQ:" + FREQ); SSA_START(2); MASTER.SWITCH(false); //выключаем ключи на входе MASTER.ATT_CONTROL(0); //выключаем аттенюаторы var z = CMD_REALTIME_UPDATE(FREQ); MASTER.panel_Sint.FUNC_LIST_UPDATE(z); TIMER_DELAY = 3000; st = STATE.TMP1; FLAG_END = false; PROGRESS = PROGRESS + step_p; break; case STATE.TMP1: Console.WriteLine("Шаг2:поиск пика"); SSA.PEAK_SEARCH(0); //устанавливаем маркеры SSA.MRK_REQ(1); //запрашиваем значение первого маркера TIMER_DELAY = 1000; //500 st = STATE.TMP2; break; case STATE.TMP2: Console.WriteLine("Шаг3:измерение"); if (SSA.MRK_DATA1 != null) { ANALIZ(); } TIMER_DELAY = 10; // FLAG_STATE = 1; st = STATE.START0; break; case STATE.START0: Console.WriteLine("Шаг4: подготовка анализатора спектра к сканированию в нижний части диапазона"); SSA_START(0); FLAG_SSA_REJIM = 0; FREQ = FREQ_START; TIMER_DELAY = TIME_DELAY; st = STATE.ST1; break; case STATE.START1: Console.WriteLine("Шаг4: подготовка анализатора спектра к сканированию в верхней части диапазона"); SSA_START(1); FLAG_SSA_REJIM = 1; FREQ = FREQ_START; TIMER_DELAY = TIME_DELAY; st = STATE.ST1; break; case STATE.ST1: Console.WriteLine("FREQ:" + FREQ); z = CMD_REALTIME_UPDATE(FREQ); MASTER.panel_Sint.FUNC_LIST_UPDATE(z); TIMER_DELAY = 700; st = st + 1; break; case STATE.ST2: SSA.PEAK_SEARCH(0); //устанавливаем маркеры SSA.MRK_REQ(1); //запрашиваем значение первого маркера TIMER_DELAY = 1000; //500 st = st + 1; break; case STATE.ST3: if (SSA.MRK_DATA1 != null) { ANALIZ(); } TIMER_DELAY = 10; // st = STATE.ST_CNTR; break; case STATE.ST_CNTR: Console.WriteLine("Шаг4:смена частоты"); PROGRESS = PROGRESS + step_p; if (FREQ < FREQ_END) { FREQ = FREQ + FREQ_STEP; st = STATE.ST1; } else { if (FLAG_STATE == 1) { FLAG_STATE = 2; st = STATE.START1; } else if (FLAG_STATE == 2) { FLAG_STATE = 3; st = STATE.END; } } TIMER_DELAY = 10; // break; case STATE.END: FINAL(); TIMER_DELAY = 10; // FLAG_END = true; st = STATE.FINAL; break; } }
public void STATE_NEXT() { string error = ""; string msg = ""; int err = 0; int dFreq = 0;//смещение третьего маркера switch (st) { case STATE.START: // Console.WriteLine("Шаг1: подготовка анализатора спектра"); SSA_START(); SWITCH(false); //выключаем ключи на входе MASTER.ATT_CONTROL(0); //выключаем аттенюаторы FUN1(); MASTER.TESTER_072_T1HZ(1); //блокируем свнешнюю секундную метку MASTER.DUT_072_T1HZ(1); FREQ = FREQ_START; TIMER_DELAY = 5000; st = st + 1; FLAG_END = false; PROGRESS = 1; double N_step = (FREQ_END - FREQ_START) / FREQ_STEP; tmp_delta = 100 / N_step; sch = 0; break; case STATE.ST1: // Console.WriteLine("Шаг1: формирование кода реального времени и отправка в синтезатор"); // Console.WriteLine("FREQ:"+FREQ); MASTER.b072.I_DAC0 = 15; MASTER.b072.I_DAC1 = 15; var z = CMD_REALTIME_UPDATE(FREQ); MASTER.panel_Sint.FUNC_LIST_UPDATE(z); TIMER_DELAY = 700; st = st + 1; break; case STATE.ST2: // Console.WriteLine("запрос первого маркера"); if (FREQ < ((FREQ_START + FREQ_END) / 2)) { dFreq = FREQ + FREQ_m3; } else { dFreq = FREQ - FREQ_m3; } SSA.PEAK_SEARCH(dFreq); //устанавливаем маркеры TIMER_DELAY = 1000; //500 st = st + 1; break; case STATE.ST3: // Console.WriteLine("запрос второго маркера"); SSA.MRK_REQ(1); //запрашиваем значение второго маркера TIMER_DELAY = 300; // st = st + 1; break; case STATE.ST4: // Console.WriteLine("запрос второго маркера"); SSA.MRK_REQ(2); //запрашиваем значение второго маркера TIMER_DELAY = 300; // st = st + 1; break; case STATE.ST5: // Console.WriteLine("запрос третьего маркера"); SSA.MRK_REQ(3); //запрашиваем значение третьего маркера TIMER_DELAY = 300; // st = st + 1; break; case STATE.ST6: // Console.WriteLine("Шаг2:измерение параметров"); if (SSA.MRK_DATA1 != null && SSA.MRK_DATA2 != null && SSA.MRK_DATA3 != null) { err = ANALIZ(sch); } else { err = 1; } ERROR_MEAS = err; if (err == 1) { sch++; st = STATE.ST1; //заново Console.WriteLine("что то не измерено!"); TIMER_DELAY = 10; // break; } TIMER_DELAY = 10; // st = st + 1; break; case STATE.ST7: // Console.WriteLine("Шаг3:смена частоты"); PROGRESS = PROGRESS + tmp_delta; if (FREQ < FREQ_END) { sch = 0; FREQ = FREQ + FREQ_STEP; st = STATE.ST1; } else { PROGRESS = 99; st = STATE.ST8; } TIMER_DELAY = TIME_DELAY; //500 break; case STATE.ST8: if (REJIM == 0) { Console.WriteLine($"Шаг5:подведение итогов проверки одного канала №{Number_chanal}"); FINAL(); //подводим итог теста } SAVE_DATA(); TIMER_DELAY = 10; // st = STATE.END; FLAG_END = true; break; } }
public void STATE_NEXT() { string error = ""; double step_p = 60 / ((FREQ_END - FREQ_START) / FREQ_STEP); switch (st) { case STATE.START: Console.WriteLine("Шаг1: подготовка анализатора спектра"); SSA_START(); MASTER.SWITCH(false); //выключаем ключи на входе MASTER.ATT_CONTROL(0); //выключаем аттенюаторы FREQ = FREQ_START; TIMER_DELAY = 3000; st = st + 1; FLAG_END = false; PROGRESS = 1; break; case STATE.ST1: //устанавливаем сигнал на определённую частоту Console.WriteLine("Шаг2: формирование кода реального времени и отправка в синтезатор"); // Console.WriteLine("FREQ:"+FREQ); var z = CMD_REALTIME_UPDATE(FREQ); MASTER.panel_Sint.FUNC_LIST_UPDATE(z); SSA.SET_SWEEP(SSA_SWEEP); //в мс >2.5 мс устанавливаем свиип SSA.SEND(); TIMER_DELAY = 500; st = st + 1; break; case STATE.ST2: SSA.PEAK_SEARCH(0); //устанавливаем маркеры TIMER_DELAY = 3500; // st = st + 1; break; case STATE.ST3: Console.WriteLine("Шаг4:устанавливаем маркеры"); // SSA.PEAK_SEARCH();//устанавливаем маркеры SSA.MRK_REQ(1); //запрашиваем значение первого маркера TIMER_DELAY = 500; // st = st + 1; break; case STATE.ST4: //обрабатываем значение пика сигнала Console.WriteLine("Шаг5:измерение параметров"); if (!ANALIZ(0)) { if (sch < 3) { st = STATE.ST1; sch++; break; } } ; //измеряем уровень сигнала TIMER_DELAY = 10; // sch = 0; st = st + 1; break; case STATE.ST5: Console.WriteLine("Шаг6:устанавливаем маркеры"); SSA.PEAK_SEARCH(0); //устанавливаем маркеры SSA.MRK_REQ(1); //запрашиваем значение первого маркера TIMER_DELAY = 3500; // st = st + 1; break; case STATE.ST6: //измеряем уровень сигнала Console.WriteLine("Шаг7:измерение параметров"); if (!ANALIZ(1)) { if (sch < 3) { st = STATE.ST1; sch++; break; } } ; //измеряем тишину в паузе TIMER_DELAY = 100; // st = st + 1; break; case STATE.ST7: Console.WriteLine("Шаг8:смена частоты"); if (FREQ < FREQ_END) { PROGRESS = PROGRESS + step_p; FREQ = FREQ + FREQ_STEP; st = STATE.ST1; } else { st = STATE.END; } TIMER_DELAY = 100; // break; case STATE.END: //измеряем уровень сигнала Console.WriteLine("Шаг9:подведение итогов"); PROGRESS = 100; FINAL(); TIMER_DELAY = 10; // st = st + 1; FLAG_END = true; break; } }