示例#1
0
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)
示例#2
0
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()
示例#3
0
##########################################################
### 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?"))
示例#4
0
##########################################################
### 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
示例#5
0
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)