Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }