class TestGeneral(unittest.TestCase): def setUp(self): #run before each test self.SMW = VSG() try: self.SMW.jav_Open(host, prnt=0) self.SMW.jav_Reset() self.SMW.jav_ClrErr() self.SMW.dLastErr = "" except: self.assertTrue(1) def tearDown(self): #Run after each test self.SMW.jav_Close() ############################################################################### ### <Test> ############################################################################### def test_SMW_Connect(self): self.SMW.jav_IDN(prnt=0) self.assertEqual(self.SMW.Make, "Rohde&Schwarz") def test_SMW_Freq(self): frq = 1e6 self.SMW.Set_Freq(frq) rdFrq = self.SMW.Get_Freq() self.assertEqual(self.SMW.jav_Error()[0], '0') self.assertEqual(frq, rdFrq) def test_SMW_Pwr(self): pwr = -10 self.SMW.Set_RFPwr(pwr) rdPwr = self.SMW.Get_PowerRMS() self.assertEqual(self.SMW.jav_Error()[0], '0') self.assertEqual(pwr, rdPwr)
SMW.Set_RFState("ON") ########################################################## ### Make Measurement ########################################################## for Freq in FreqArry: ### Set Frequency SMW.Set_Freq(Freq) FSW.Set_Freq(Freq + 50e6) VSE.Set_Freq(0) for Pwr in PwrArry: ### Set Power SMW.Set_RFPwr(Pwr) #FSW.Set_Autolevel_IFOvld() #Maximize Dynamic Range ### Measure EVM FSW.Get_IQ_Data(IQFile) #Save IQ Data to file VSE.Set_InitImm() #Update VSE EVM_Meas = VSE.Get_EVM_Params() #Attn; RefLvl; Pwr; EVM f.write(EVM_Meas) VSE.jav_ClrErr() #Clear Errors #end PwrLoop #end FreqLoop ########################################################## ### Cleanup Automation ########################################################## SMW.jav_Close()
########################################################## ### Code Start ########################################################## from rssd.SMW_Common import VSG from rssd.FileIO import FileIO import time f = FileIO() DataFile = f.Init(OutFile) SMW = VSG() SMW.jav_Open(SMW_IP, f.sFName) ########################################################## ### Instrument Settings ########################################################## SMW.Set_RFPwr(SWM_Out) #Output Power SMW.Set_RFState('ON') #Turn RF Output on f.write(SMW.query('FREQ:MULT:EXT:TYPE?')) #SMZ # f.write(SMW.query('FREQ:MULT:EXT:SNUM?')) #Serial Num f.write(SMW.query('FREQ:MULT:EXT:LOAD:VERS?')) f.write(SMW.query('FREQ:MULT:EXT:FMAX?')) f.write(SMW.query('FREQ:MULT:EXT:FMIN?')) f.write(SMW.query('FREQ:MULT:EXT:REV?')) #Revision f.write("Power") f.write(SMW.query('FREQ:MULT:EXT:PMAX?')) #Revision f.write(SMW.query('FREQ:MULT:EXT:PMIN?')) #Revision f.write(SMW.query('FREQ:MULT:EXT:STAT?')) SMW.write("MMEM:CDIR '/smz/firmware/'") f.write(SMW.query("FREQ:MULT:EXT:FIRM:CAT?"))
########################################################## ### Rohde & Schwarz Automation for demonstration use. ### ### Purpose: Load arb file on SMW ### Author: mclim ### Date: 2018.05.17 ########################################################## ### User Entry ########################################################## host = '192.168.1.114' #Get local machine name ########################################################## ### Code Start ########################################################## from rssd.SMW_Common import VSG SMW = VSG().jav_Open(host) #SMW.jav_logSCPI() #Log SCPI commands SMW.Set_Freq(10e9) #Set 10GHz SMW.Set_RFPwr(-30) #Output -30dBm SMW.Set_RFState('ON') #Turn RF Output on SMW.Set_ArbWv('composer.wv') #Load file SMW.Set_ArbState('ON') #Turn on Arb & IQ Mod SMW.jav_ClrErr() #Clear Errors
OFile = FileIO().makeFile(__file__) ########################################################## ### Code Start ########################################################## SMW = VSG().jav_Open(SMW_IP, OFile) FSWP = PNA().jav_Open(FSWP_IP, OFile) ########################################################## ### Measure Time ########################################################## Header = 'Iter,SetFreq,SMFPwr,FSWPFreq,FSWPPwr,LockStatus' OFile.write(Header) FSWP.Set_SweepCont(0) SMW.Set_RFPwr(-50) SMW.Set_RFState(1) for i in range(numMeas): #Loop: Measurements for freq in FreqArry: #Loop: Frequency SMW.Set_Freq(freq) # FSWP.Set_Freq(freq) for pwr in pwrArry: #Loop: Power SMW.Set_RFPwr(pwr) FSWP.Set_InitImm() SMW.delay(2) lock = FSWP.Get_FreqLock() ffrq = FSWP.Get_Freq() fpwr = FSWP.Get_Power() OutStr = f'{i},{freq},{pwr},{ffrq},{fpwr},{lock}' OFile.write(OutStr)