68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
|
---
|
|||
|
title: FSW通信
|
|||
|
updated: 2022-01-20 07:33:03Z
|
|||
|
created: 2022-01-08 13:18:08Z
|
|||
|
tags:
|
|||
|
- pathon
|
|||
|
- visa
|
|||
|
- 代码块
|
|||
|
---
|
|||
|
|
|||
|
|
|||
|
FSW谐波测试代码,部分由仪表自动生成
|
|||
|
```python
|
|||
|
# python script created by FSW: 24:11:2020 04:53:44
|
|||
|
import visa
|
|||
|
def write_command(instrument, command) :
|
|||
|
instrument.write(command)
|
|||
|
return process_system_error(instrument)
|
|||
|
def write_query(instrument, command) :
|
|||
|
buffer = instrument.query(command)
|
|||
|
bSuccess = process_system_error(instrument)
|
|||
|
return bSuccess, buffer
|
|||
|
def process_system_error(instrument) :
|
|||
|
bSuccess = True
|
|||
|
EsrErrorMask = 0x3C
|
|||
|
if ((get_esr(instrument) & EsrErrorMask) != 0) :
|
|||
|
print(instrument.query(":SYST:ERR?"))
|
|||
|
instrument.write("*CLS")
|
|||
|
bSuccess = False
|
|||
|
return bSuccess
|
|||
|
def get_esr(instrument) :
|
|||
|
esr = instrument.query("*ESR?")
|
|||
|
return int(esr)
|
|||
|
VisaResourceManager = visa.ResourceManager()
|
|||
|
#set center freQ
|
|||
|
fre = '200e6'
|
|||
|
descr = '_harm_dis_meas'
|
|||
|
#location on FSW
|
|||
|
tar_loc = 'd:\\murmur\\'
|
|||
|
# connect to analyzer
|
|||
|
Analyzer = VisaResourceManager.open_resource("TCPIP::192.168.1.43::inst0::INSTR")
|
|||
|
print(Analyzer.query("*IDN?"))
|
|||
|
success = write_command( Analyzer, "*CLS" )
|
|||
|
success = write_command( Analyzer, ":SYST:DISP:UPD ON" )
|
|||
|
success = write_command( Analyzer, ":INIT:CONT OFF" )
|
|||
|
#success = write_command( Analyzer, ":DISP:WIND:SUBW:TRAC:Y:SCAL:RLEV 10" )
|
|||
|
success = write_command( Analyzer, ":SENS:FREQ:CENT " + fre )
|
|||
|
success = write_command( Analyzer, ":CALC:MARK:FUNC:HARM:STAT ON" )
|
|||
|
success = write_command( Analyzer, ":INIT:CONT ON" )
|
|||
|
success = write_command( Analyzer, ":FORM:DEXP:DSEP POIN" )
|
|||
|
success = write_command( Analyzer, ":FORM:DEXP:FORM CSV" )
|
|||
|
success = write_command( Analyzer, ":FORM:DEXP:HEAD OFF" )
|
|||
|
success = write_command( Analyzer, ":FORM:DEXP:TRAC ALL" )
|
|||
|
#success = write_command( Analyzer, ":MMEM:STOR1:TRAC 1,'d:\\" + fre + descr +".CSV'" )
|
|||
|
success = write_command( Analyzer, ":MMEM:STOR1:TRAC 1,'" + tar_loc + fre + descr +".CSV'" )
|
|||
|
success = write_command( Analyzer, ":SENS:FREQ:MODE SWE" )
|
|||
|
# back to local mode
|
|||
|
success = write_command(Analyzer, "@LOC")
|
|||
|
if success:
|
|||
|
print("Done.\r\nFile's location is {}{}{}.CSV.\r\n".format(tar_loc,fre,descr))
|
|||
|
# cleanup
|
|||
|
Analyzer.close()
|
|||
|
VisaResourceManager.close()
|
|||
|
```
|
|||
|
|
|||
|
#visa
|
|||
|
#代码块
|
|||
|
#pathon
|