コード例 #1
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.


            MyInst.ScpiCommand(":INSTrument:SELect {0}", InstMode);
            MyInst.ScpiCommand("*OPC");
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:ACTivate", MarkerNo);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:AOFF", MarkerNo);
            // Marker BW
            MarkerBWdata = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":CALCulate:SELected:MARKer{0}:BWIDth:DATA?", MarkerNo), true);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:BWIDth:STATe {1}", MarkerNo, MarkerBWstate);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:FUNCtion:BWIDth:THReshold {1}", MarkerNo, MarkerBWThreshold);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:FORMat {1}", MarkerNo, MarkerFormat);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:STATe {1}", MarkerNo, MarkerMode);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:TRACe {1}", MarkerNo, TraceNum);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:X {1}", MarkerNo, MarkerX);
            MarkerPhase = MyInst.ScpiQuery <System.Double>(Scpi.Format(":CALCulate:SELected:MARKer{0}:Y?", MarkerNo), true);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:FUNCtion:MAXimum", MarkerNo);
            MyInst.ScpiCommand(":CALCulate:SELected:MARKer{0}:FUNCtion:MINimum", MarkerNo);
            // If no verdict is used, the verdict will default to NotSet.
            // You can change the verdict using UpgradeVerdict() as shown below.
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #2
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":SOURce:ARB:FUNCtion:TYPE {0},{1}", ArbType, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:FUNCtion:SHAPe {0},{1}", ArbFunction, ChanList);

            // Dwell
            if (ArbType == EArbType.CURRent)
            {
                MyInst.ScpiCommand(":SOURce:ARB:CURRent:CDWell:DWELl {0},{1}", CDwellTime, ChanList);
                MyInst.ScpiCommand(":FORMat:DATA ASC");
                MyInst.ScpiCommand(":SOURce:ARB:CURRent:CDWell:LEVel {0},{1}", CDwellLevel, ChanList);
                CDwellPoints = MyInst.ScpiQuery <System.Int32[]>(Scpi.Format(":SOURce:ARB:CURRent:CDWell:POINts? {0}", ChanList), true);
                MyInst.ScpiCommand(":SOURce:ARB:CURRent:CONVert {0}", ChanList);
            }
            else if (ArbType == EArbType.VOLTage)
            {
                MyInst.ScpiCommand(":SOURce:ARB:VOLTage:CDWell:DWELl {0},{1}", VDwellTime, ChanList);
                MyInst.ScpiCommand(":FORMat:DATA ASC");
                MyInst.ScpiCommand(":SOURce:ARB:VOLTage:CDWell:LEVel {0},{1}", VDwellLevel, ChanList);
                VDwellPoints = MyInst.ScpiQuery <System.Int32[]>(Scpi.Format(":SOURce:ARB:VOLTage:CDWell:POINts? {0}", ChanList), true);
                MyInst.ScpiCommand(":SOURce:ARB:VOLTage:CONVert {0}", ChanList);
            }


            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #3
0
 public override void Run()
 {
     MyInst.ScpiCommand(":DISPlay:BRIGhtness {0}", Brightness);
     MyInst.ScpiCommand(":DISPlay:CONTrast {0}", Contrast);
     MyInst.ScpiCommand(":DISPlay:CAPTure");
     MyInst.ScpiCommand(":DISPlay:REMote {0}", RemoteStatus);
     QueryRemoteStatus = MyInst.ScpiQuery <System.Boolean>(Scpi.Format(":DISPlay:REMote?"), true);
 }
コード例 #4
0
 public override void Run()
 {
     QueryCurrentSPoint = MyInst.ScpiQuery <System.Int32>(Scpi.Format(":SOURce:SWEEp:POINt?"), true);
     MyInst.ScpiCommand(":SOURce:LIST:DIRection {0}", Direction);
     QueryDirection = MyInst.ScpiQuery <System.String>(Scpi.Format(":SOURce:LIST:DIRection?"), true);
     MyInst.ScpiCommand(":SOURce:SWEEp:FREQuency {0}", ListFrequency);
     QueryListDirection = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":SOURce:LIST:FREQuency?"), true);
     MyInst.ScpiCommand(":SOURce:SWEEp:POWer {0}", ListPower);
     MyInst.ScpiCommand(":SOURce:SWEEp:TYPE {0}", SweepType);
 }
コード例 #5
0
        public override void Run()
        {
            // ToDo: Add test case code.
            // RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":TRACe{0}:TYPE {1}", TraceNo, TraceType);
            MyInst.ScpiCommand(":FORMat:DATA ASC,0");
            OutputTraceValue = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":TRACe{0}:DATA?", TraceNo), true);
            // If no verdict is used, the verdict will default to NotSet.
            // You can change the verdict using UpgradeVerdict() as shown below.
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #6
0
        public override void Run()
        {
            MyInst.ScpiCommand("DISPlay:WINDow:STATE ON");
            MyInst.ScpiCommand("CALCulate:PARameter:DEFine:EXT 'MyMeas1',S11");
            MyInst.ScpiCommand("CALCulate:PARameter:DEFine:EXT 'MyMeas2',S12");
            MyInst.ScpiCommand("CALCulate:PARameter:DEFine:EXT 'MyMeas3',S21");
            MyInst.ScpiCommand("CALCulate:PARameter:DEFine:EXT 'MyMeas4',S22");
            MyInst.ScpiCommand("DISPlay:WINDow:TRACe1:FEED 'MyMeas1'");
            //MyInst.ScpiCommand("DISPlay:WINDow:TRACe2:FEED 'MyMeas2'");
            //MyInst.ScpiCommand("DISPlay:WINDow:TRACe3:FEED 'MyMeas3'");
            //MyInst.ScpiCommand("DISPlay:WINDow:TRACe4:FEED 'MyMeas4'");
            //MyInst.ScpiCommand("DISPlay:WINDow:Y:AUTO");
            MyInst.ScpiQuery <bool>("*OPC?");

            Log.Info("Selected Start Frequency : " + StartFrequency.ToString());
            Log.Info("Selected Stop Frequency : " + StopFrequency.ToString());
            Log.Info("Selected IF Bandwidth : " + IFBandwidth.ToString());
            Log.Info("Selected Power Level : " + SweepPoints.ToString());

            MyInst.IoTimeout = 5000;

            MyMeas measurement = MyMeas.MyMeas1;

            if (S_Parameters == S_Parameters.S11)
            {
                measurement = MyMeas.MyMeas1;
            }
            if (S_Parameters == S_Parameters.S12)
            {
                measurement = MyMeas.MyMeas2;
            }
            if (S_Parameters == S_Parameters.S21)
            {
                measurement = MyMeas.MyMeas3;
            }
            if (S_Parameters == S_Parameters.S22)
            {
                measurement = MyMeas.MyMeas4;
            }

            MyInst.ScpiCommand(":CALCulate1:PARameter:SELect '{0}'", measurement);
            MyInst.ScpiCommand(":SENSe:BANDwidth:RESolution {0}", IFBandwidth);
            MyInst.ScpiCommand(":SENSe:FREQuency:STARt {0}", StartFrequency);
            MyInst.ScpiCommand(":SENSe:FREQuency:STOP {0}", StopFrequency);
            MyInst.ScpiCommand(":SENSe:SWEep:POINts {0}", SweepPoints);
            MyInst.ScpiCommand(":SENSe:SWEep:GENeration {0}", SweepType);
            MyInst.ScpiCommand(":SENSe:SWEep:TIME:AUTO 1");


            StaticClass.Time = MyInst.ScpiQuery <System.Double>(Scpi.Format(":SENSe:SWEep:TIME?"), true);

            UpgradeVerdict(Verdict.Pass);
        }
コード例 #7
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps();             //If the step supports child steps.

            AvailableMode = MyInst.ScpiQuery <System.String[]>(Scpi.Format(":INSTrument:CATalog?"), true);
            MyInst.ScpiCommand(":INSTrument:SELect {0}", ModeOfInstrument);
            MyInst.ScpiCommand("*OPC");
            // If no verdict is used, the verdict will default to NotSet.
            // You can change the verdict using UpgradeVerdict() as shown below.
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #8
0
 public override void Run()
 {
     QueriedFreq = MyInst.ScpiQuery <System.Double>(Scpi.Format(":SOURce:CORRection:FLATness:FREQuency? {0}", FreqPoint), true);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:LOAD {0}", FlatnessCorrectionFilename);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:PAIR {0},{1}", CorrFreq, CorrAmplitude);
     QueriedPointInFile = MyInst.ScpiQuery <System.Int32>(Scpi.Format(":SOURce:CORRection:FLATness:POINts?"), true);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:PRESet");
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:STORe {0}", SaveCorrectionFile);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:STEP:POINts {0}", CorrStepPoint);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:STEP:STARt {0}", CorrStepStartFreq);
     MyInst.ScpiCommand(":SOURce:CORRection:FLATness:STEP:STOP {0}", CorrStepStopFreq);
 }
コード例 #9
0
 public override void Run()
 {
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:CHANnel {0}", Channel);
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:COMMunicate:TYPE {0}", CommunicationType);
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:COMMunicate:LAN:DEVice {0}", DeviceName);
     QueryDeviceName = MyInst.ScpiQuery <System.String>(Scpi.Format(":SOURce:CORRection:PMETer:COMMunicate:LAN:DEVice?"), true);
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:COMMunicate:LAN:IP {0}", IpAddress);
     QueryIpAddress = MyInst.ScpiQuery <System.String>(Scpi.Format(":SOURce:CORRection:PMETer:COMMunicate:LAN:IP?"), true);
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:COMMunicate:LAN:PORT {0}", PortNumber);
     QueryPortNumber = MyInst.ScpiQuery <System.Int32>(Scpi.Format(":SOURce:CORRection:PMETer:COMMunicate:LAN:PORT?"), true);
     MyInst.ScpiCommand(":SOURce:CORRection:PMETer:COMMunicate:USB:DEVice {0}", UsbDevice);
     QueryUsbDevice = MyInst.ScpiQuery <System.String>(Scpi.Format(":SOURce:CORRection:PMETer:COMMunicate:USB:DEVice?"), true);
     ListDevices    = MyInst.ScpiQuery <System.String[]>(Scpi.Format(":SOURce:CORRection:PMETer:COMMunicate:USB:LIST?"), true);
 }
コード例 #10
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":SENSe:FREQuency:CENTer {0}", FreqCenter);
            MyInst.ScpiCommand(":SENSe:FREQuency:SPAN {0}", FreqSpan);
            MyInst.ScpiCommand(":SENSe:FREQuency:STARt {0}", FreqStart);
            MyInst.ScpiCommand(":SENSe:FREQuency:STOP {0}", FreqStop);
            MyInst.ScpiCommand(":FORMat:DATA ASC,0");
            FreqData = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":SENSe:FREQuency:DATA?"), true);
            MyInst.ScpiCommand(":SENSe:SWEep:TIME {0}", SweepTime);
            MyInst.ScpiCommand(":SENSe:SWEep:POINts {0}", SweepPoints);

            // If no verdict is used, the verdict will default to NotSet.
            // You can change the verdict using UpgradeVerdict() as shown below.
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #11
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":DISK:CDIRectory {0}", Directory);
            MyInst.ScpiCommand(":DISK:COPY {0},{1}", Cp_source_file, Cp_dest_file);
            MyInst.ScpiCommand(":DISK:DELete {0}", Delete_file);
            MyInst.ScpiCommand(":DISK:LOAD {0},{1}", Load_file_name, Load_destination);
            MyInst.ScpiCommand(":DISK:MDIRectory {0}", Create_directory);
            pwd = MyInst.ScpiQuery <System.String>(Scpi.Format(":DISK:PWD?"), true);
            MyInst.ScpiCommand(":DISK:SEGMented {0}", SagmentedName);
            MyInst.ScpiCommand(":DISK:SAVE:COMPosite {0}", CompositeName);
            MyInst.ScpiCommand(":DISK:SAVE:IMAGe {0},{1},{2},{3},{4},{5}", Image_name, ImageFormat, Scrn_or_grat, CompressionOnOff, Norm_or_inv, Setupinfo_on_Off);
            MyInst.ScpiCommand(":DISK:SAVE:JITTer {0}", Jitter_file_name);
            MyInst.ScpiCommand(":DISK:SAVE:MEASurements {0},{1}", Measurement_file, LegacyMode);
            MyInst.ScpiCommand(":DISK:SAVE:PRECprobe {0},{1}", PRECprobe_name, ProbeChannel);
            MyInst.ScpiCommand(":DISK:SAVE:SETup {0}", Setup_file);
            MyInst.ScpiCommand(":DISK:SAVE:WAVeform {0},{1},{2},{3}", WaveformSource, Wave_file, Wave_file_format, Wave_file_header);
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #12
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":MARKer:MODE {0}", MarkMode);
            MyInst.ScpiCommand(":MARKer:TSTArt {0}", Tstart);
            MyInst.ScpiCommand(":MARKer:TSTOp {0}", Tstop);
            MyInst.ScpiCommand(":MARKer:VSTArt {0}", Vstart);
            MyInst.ScpiCommand(":MARKer:VSTOp {0}", Vstop);
            MyInst.ScpiCommand(":MARKer:X1Position {0}", Tstart);
            MyInst.ScpiCommand(":MARKer:X2Position {0}", Tstop);
            MyInst.ScpiCommand(":MARKer:Y1Position {0}", Vstart);
            MyInst.ScpiCommand(":MARKer:Y2Position {0}", Vstop);
            MyInst.ScpiCommand(":MARKer:X1Y1source {0}", X1Y1source);
            MyInst.ScpiCommand(":MARKer:X2Y2source {0}", X2Y2source);
            Xdelta = MyInst.ScpiQuery <System.Double>(Scpi.Format(":MARKer:XDELta?"), true);
            Ydelta = MyInst.ScpiQuery <System.String>(Scpi.Format(":MARKer:YDELta?"), true);
            MyInst.ScpiCommand(":MARKer:DELTa {0}", DeltaStatus);
            measurement = MyInst.ScpiQuery <System.Double>(Scpi.Format(":MARKer:CURSor? {0}", Cursor), true);
            MyInst.ScpiCommand(":MARKer:MEASurement:MEASurement {0}", NameMeasurement);
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #13
0
 public override void Run()
 {
     MyInst.ScpiCommand(":SOURce:CORRection:STATe {0}", FlatnessStatus);
     QueryFlatnessStatus = MyInst.ScpiQuery <System.Boolean>(Scpi.Format(":SOURce:CORRection:STATe?"), true);
 }
コード例 #14
0
        public override void Run()
        {
            // ToDo: Add test case code.
            RunChildSteps(); //If the step supports child steps.

            MyInst.ScpiCommand(":SOURce:ARB:FUNCtion:TYPE {0},{1}", ArbType, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:FUNCtion:SHAPe {0},{1}", ArbFunction, ChanList);

            // Dwell

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:CDWell:DWELl {0},{1}", CDwellTime, ChanList);
            MyInst.ScpiCommand(":FORMat:DATA ASC");
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:CDWell:LEVel {0},{1}", CDwellLevel, ChanList);
            CDwellPoints = MyInst.ScpiQuery <System.Int32[]>(Scpi.Format(":SOURce:ARB:CURRent:CDWell:POINts? {0}", ChanList), true);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:CONVert {0}", ChanList);

            // Exponential

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:EXPonential:STARt:LEVel {0},{1}", CExpoStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:EXPonential:STARt:TIMe {0},{1}", CExpoStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:EXPonential:END:LEVel {0},{1}", CExpoEndLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:EXPonential:TIMe {0},{1}", CExpoTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:EXPonential:TCONstant {0},{1}", CExpoTimeConst, ChanList);

            // Pulse

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:PULSe:STARt:LEVel {0},{1}", CPulseStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:PULSe:STARt:TIMe {0},{1}", CPulseStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:PULSe:TOP:LEVel {0},{1}", CPulseTopLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:PULSe:TOP:TIMe {0},{1}", CPulseTopTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:PULSe:END:TIMe {0},{1}", CPulseEndTime, ChanList);

            // Ramp

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:RAMP:STARt:LEVel {0},{1}", CRampStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:RAMP:STARt:TIMe {0},{1}", CRampStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:RAMP:RTIMe {0},{1}", CRampRtime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:RAMP:END:LEVel {0},{1}", CRampEndLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:RAMP:END:TIMe {0},{1}", CRampEndTime, ChanList);

            // Sin

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:SINusoid:AMPLitude {0},{1}", CSinAmplitude, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:SINusoid:FREQuency {0},{1}", CSinFreq, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:SINusoid:OFFSet {0},{1}", CSinOffset, ChanList);

            // Stair

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:STARt:LEVel {0},{1}", CStairStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:STARt:TIMe {0},{1}", CStairStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:END:LEVel {0},{1}", CStairEndLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:END:TIMe {0},{1}", CStairEndTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:NSTeps {0},{1}", CStairSteps, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STAircase:TIMe {0},{1}", CStairTotalTime, ChanList);

            // Step

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STEP:STARt:LEVel {0},{1}", CStepStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STEP:STARt:TIMe {0},{1}", CStepStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:STEP:END:LEVel {0},{1}", CStepEndLevel, ChanList);

            // Trapezoidal

            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:STARt:LEVel {0},{1}", CTrapStartLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:STARt:TIMe {0},{1}", CTrapStartTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:RTIMe {0},{1}", CTrapRiseTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:TOP:LEVel {0},{1}", CTrapTopLevel, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:TOP:TIMe {0},{1}", CTrapTopTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:FTIMe {0},{1}", CTrapRallTime, ChanList);
            MyInst.ScpiCommand(":SOURce:ARB:CURRent:TRAPezoid:END:TIMe {0},{1}", CTrapEndTime, ChanList);


            MyInst.ScpiCommand(":SOURce:ARB:VOLTage:CDWell:DWELl {0},{1}", VDwellTime, ChanList);
            // UpgradeVerdict(Verdict.Pass);
        }
コード例 #15
0
        public override void Run()
        {
            // Harmonics
            if (enableHarmonics)
            {
                if (enableOutputHarmonics)
                {
                    MyInst.ScpiCommand(":FORMat:TRACe:DATA REAL,64");
                    MyInst.ScpiCommand(":FORMat:BORDer SWAP");
                    OutputHarmonics = MyInst.ScpiQueryBlock <System.Double>(Scpi.Format(":MEASure:HARMonics{0}?", Harmonics));
                }

                if (enableOutputAmplitude)
                {
                    OutputAmplitude = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":MEASure:HARMonics{0}:AMPLitude{1}?", Harmonics, Amplitude), true);
                    OutputAllAmp    = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":MEASure:HARMonics{0}:AMPLitude{1}:ALL?", Harmonics, Harmonics), true);
                }

                if (enableOutputDistortion)
                {
                    OutputDistortion = MyInst.ScpiQuery <System.Double>(Scpi.Format(":MEASure:HARMonics{0}:DISTortion?", HarmonicsDistortion), true);
                }

                if (enableOutputFrequency)
                {
                    OutputFrequency = MyInst.ScpiQuery <System.Double>(Scpi.Format(":MEASure:HARMonics{0}:FREQuency{1}?", Harmonics, Frequency), true);
                    OutputAllFreq   = MyInst.ScpiQuery <System.Double[]>(Scpi.Format(":MEASure:HARMonics{0}:FREQuency{1}:ALL?", Harmonics, Frequency), true);
                    OutputFundFreq  = MyInst.ScpiQuery <System.Double>(Scpi.Format(":MEASure:HARMonics{0}:FUNDamental?", Harmonics), true);
                }
            }

            // TOI
            if (enableTOI)
            {
                MyInst.ScpiCommand(":FORMat:TRACe:DATA REAL,64");
                MyInst.ScpiCommand(":FORMat:BORDer SWAP");
                OutputToi = MyInst.ScpiQueryBlock <System.Double>(Scpi.Format(":MEASure:TOI2?"));
            }

            if (enableIP3)
            {
                OutputIp3 = MyInst.ScpiQueryBlock <System.Double>(Scpi.Format(":MEASure:TOI1:IP3?"));
            }

            // SEM
            if (enableSEMask)
            {
                MyInst.ScpiCommand(":FORMat:TRACe:DATA REAL,32");
                MyInst.ScpiCommand(":FORMat:BORDer SWAP");
                OutputSEMask = MyInst.ScpiQueryBlock <System.Single>(Scpi.Format(":MEASure:SEMask{0}?", SEMask));
            }

            // Spurious
            if (enableSpurious)
            {
                MyInst.ScpiCommand(":FORMat:TRACe:DATA REAL,32");
                MyInst.ScpiCommand(":FORMat:BORDer SWAP");
                OutputSpurious = MyInst.ScpiQueryBlock <System.Single>(Scpi.Format(":MEASure:SPURious{0}?", Spurious));
            }

            // BurstPower
            if (enableBPower)
            {
                MyInst.ScpiCommand(":FORMat:TRACe:DATA REAL,32");
                MyInst.ScpiCommand(":FORMat:BORDer SWAP");
                OutputBPower = MyInst.ScpiQueryBlock <System.Single>(Scpi.Format(":MEASure:BPOWer{0}?", BPower));
            }
        }