// <summary> /// 根据exe_sweeps中的扫描参数,执行一系列动作 /// 包括操作功放、频谱仪、检测并发送异常信息、发送扫描结果,获取设备状态 /// </summary> private void Exectue() { Monitor.Enter(ctrl); ctrl.Quit = false; Monitor.Exit(ctrl); ISpectrumObj.EnableLog(); try { //点频 if (exe_params.SweepType == SweepType.Time_Sweep) { if (exe_params.RFInvolved == RFInvolved.Rf_1) { VSWR_Time_Sweep_1(0.15f); } else if (exe_params.RFInvolved == RFInvolved.Rf_2) { VSWR_Time_Sweep_2(0.15f); } } //扫频 if (exe_params.SweepType == SweepType.Freq_Sweep) { if (exe_params.RFInvolved == RFInvolved.Rf_1) { VSWR_Freq_Sweep_1(exe_params.FrqParam.Items1, 0.15f); } else if (exe_params.RFInvolved == RFInvolved.Rf_2) { VSWR_Freq_Sweep_2(exe_params.FrqParam.Items2, 0.15f); } } } catch { } finally { //向WndHandle发送消息,告知完成上所有的分析 NativeMessage.PostMessage(exe_params.WndHandle, MessageID.VSW_SWEEP_DONE, 0, 0); } //指示循环已经正常结束 //thrd_Handle.Set(); }