public override void Run() { SCPI_PNA.ScpiCommand("*RST"); SCPI_PNA.ScpiCommand(":OUTPut:STATe 0"); SCPI_PNA.ScpiCommand(":FORMat:DATA " + Format_Data); if (Ch1) { uint Channel = 1u; if (Ch1_S11) { RepeatScpiCmdForChannel(Channel, "S11"); } if (Ch1_S12) { RepeatScpiCmdForChannel(Channel, "S12"); } if (Ch1_S21) { RepeatScpiCmdForChannel(Channel, "S21"); } if (Ch1_S22) { RepeatScpiCmdForChannel(Channel, "S22"); } } if (Ch2) { uint Channel = 2u; if (Ch2_S11) { RepeatScpiCmdForChannel(Channel, "S22"); } if (Ch2_S12) { RepeatScpiCmdForChannel(Channel, "S12"); } if (Ch2_S21) { RepeatScpiCmdForChannel(Channel, "S21"); } if (Ch2_S22) { RepeatScpiCmdForChannel(Channel, "S22"); } } //QTime = SCPI_PNA.ScpiQuery<System.Double>(Scpi.Format(":SENSe{0}:SWEep:TIME?", Sweep_Channel), true); //Q_Time = SCPI_PNA.ScpiQuery<System.Double>(Scpi.Format(":SENSe{0}:SWEep:TIME?", Sweep_Channel), true); this.ProcessResults(); }
public void RepeatScpiCmdForChannel(uint Calc_Channel, string Calc_Param) { string Calc_Name = "Ch" + Calc_Channel.ToString() + "_" + Calc_Param; SCPI_PNA.ScpiCommand(":CALCulate{0}:PARameter:DEFine:EXTended {1},{2}", Calc_Channel, Calc_Name, Calc_Param); SCPI_PNA.ScpiCommand(":CALCulate{0}:PARameter:SELect {1}", Calc_Channel, Calc_Name); SCPI_PNA.ScpiCommand(":SENSe{0}:SWEep:TYPE {1}", Calc_Channel, Sweep_Type); SCPI_PNA.ScpiCommand(":SENSe{0}:FREQuency:STARt {1}", Calc_Channel, Start_Sweep_Freq * 1.0E06); SCPI_PNA.ScpiCommand(":SENSe{0}:FREQuency:STOP {1}", Calc_Channel, Stop_Sweep_Freq * 1.0E06); SCPI_PNA.ScpiCommand(":SENSe{0}:SWEep:POINts {1}", Calc_Channel, Sweep_Points); SCPI_PNA.ScpiCommand(":SENSe{0}:SWEep:TIME {1}", Calc_Channel, Sweep_Time); SCPI_PNA.ScpiCommand(":CALCulate{0}:FORMat {1}", Calc_Channel, Calc_Format); }