Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:python-ivi:readme [2013/02/17 21:07] alex |
en:python-ivi:readme [2013/06/23 08:19] alex [Usage example] |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Included drivers ===== | ===== Included drivers ===== | ||
+ | * Oscilloscopes (scope) | ||
+ | * Agilent InfiniiVision 7000A/B series | ||
+ | * Agilent Infiniium 90000A/90000X series | ||
+ | * Function Generators (fgen) | ||
+ | * Tektronix AWG2000 series | ||
* DC Power Supplies (dcpwr) | * DC Power Supplies (dcpwr) | ||
* Tektronix PS2520G/PS2521G | * Tektronix PS2520G/PS2521G | ||
* Agilent E3600A series | * Agilent E3600A series | ||
- | * Function Generators (fgen) | ||
- | * Tektronix AWG2000 series | ||
* RF Power Meters (pwrmeter): | * RF Power Meters (pwrmeter): | ||
* Agilent 436A | * Agilent 436A | ||
* RF Signal Generators (rfsiggen) | * RF Signal Generators (rfsiggen) | ||
* Agilent 8642 A/B | * Agilent 8642 A/B | ||
- | * Oscilloscopes (scope) | ||
- | * Agilent InfiniiVision 7000A series | ||
===== Instrument communication ===== | ===== Instrument communication ===== | ||
- | Python IVI can use Python VXI-11, pySerial and linux-gpib to connect to instruments. The implementation of the initialize method takes a VISA resource string and attempts to connect to an instrument. If the resource string starts with TCPIP, then Python IVI will attempt to use Python VXI-11. If it starts with GPIB, it will attempt to use linux-gpib's python interface. If it starts with ASRL, it attemps to use pySerial. Integration with PyVISA is planned, but not currently supported. | + | Python IVI can use Python VXI-11, Python USBTMC, pySerial and linux-gpib to connect to instruments. The implementation of the initialize method takes a VISA resource string and attempts to connect to an instrument. If the resource string starts with TCPIP, then Python IVI will attempt to use Python VXI-11. If it starts with USB, it attempts to use Python USBTMC. If it starts with GPIB, it will attempt to use linux-gpib's python interface. If it starts with ASRL, it attemps to use pySerial. Integration with PyVISA is planned, but not currently supported. |
===== A note on standards compliance ===== | ===== A note on standards compliance ===== | ||
Line 47: | Line 48: | ||
# connect to MSO7104A via LXI | # connect to MSO7104A via LXI | ||
mso = ivi.agilent.agilentMSO7104A("TCPIP0::192.168.1.104::INSTR") | mso = ivi.agilent.agilentMSO7104A("TCPIP0::192.168.1.104::INSTR") | ||
+ | # connect to MSO7104A via USBTMC | ||
+ | #mso = ivi.agilent.agilentMSO7104A("USB0::2391::5973::MY********::INSTR") | ||
# configure timebase | # configure timebase | ||
mso.acquisition.time_per_record = 1e-3 | mso.acquisition.time_per_record = 1e-3 | ||
Line 64: | Line 67: | ||
# read out channel 1 waveform data | # read out channel 1 waveform data | ||
waveform = mso.channels[0].measurement.fetch_waveform() | waveform = mso.channels[0].measurement.fetch_waveform() | ||
+ | # measure peak-to-peak voltage | ||
+ | vpp = mso.channels[0].measurement.fetch_waveform_measurement("voltage_peak_to_peak") | ||
+ | # measure phase | ||
+ | phase = mso.channels['channel1'].measurement.fetch_waveform_measurement("phase", "channel2") | ||
</code> | </code> | ||
Line 108: | Line 115: | ||
#psu = ivi.agilent.agilentE3649A("ASRL::/dev/ttyUSB0,9600::INSTR") | #psu = ivi.agilent.agilentE3649A("ASRL::/dev/ttyUSB0,9600::INSTR") | ||
# configure output | # configure output | ||
+ | psu.outputs[0].configure_range('voltage', 12) | ||
psu.outputs[0].voltage_level = 12.0 | psu.outputs[0].voltage_level = 12.0 | ||
psu.outputs[0].current_limit = 1.0 | psu.outputs[0].current_limit = 1.0 |