Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
en:python-ivi:readme [2013/02/17 10:35]
alex
en:python-ivi:readme [2013/08/08 04:38]
alex [Included drivers]
Line 7: Line 7:
 ===== Included drivers ===== ===== Included drivers =====
  
-  * DC Power Supplies ​(dcpwr+  * Oscilloscopes ​(scope
-    * Tektronix PS2520G/PS2521G +    * Agilent InfiniiVision 2000A/3000A series 
-    * Agilent ​E3600A ​series+    * Agilent ​InfiniiVision 7000A/B series 
 +    * Agilent Infiniium 90000A/​90000X ​series
   * Function Generators (fgen)   * Function Generators (fgen)
     * Tektronix AWG2000 series     * Tektronix AWG2000 series
 +  * DC Power Supplies (dcpwr)
 +    * Agilent E3600A series
 +    * Agilent 603xA series
 +    * Tektronix PS2520G/​PS2521G
   * 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 ​VXI11, 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 ​VXI11. 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 40: Line 43:
 ===== Usage example ===== ===== Usage example =====
  
-This sample Python code will use Python IVI connect to an Agilent MSO7104A over LXI (VXI11), configure the timebase, trigger, and channel 1, capture a waveform, and read it out of the instrument.  ​+This sample Python code will use Python IVI connect to an Agilent MSO7104A over LXI (VXI-11), configure the timebase, trigger, and channel 1, capture a waveform, and read it out of the instrument.  ​
  
 <code python> <code python>
Line 47: Line 50:
 # 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 69:
 # 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 102: Line 111:
 import ivi import ivi
 # connect to E3649A via GPIB # connect to E3649A via GPIB
-#awg = ivi.agilent.agilentE3649A("​GPIB0::​5::​INSTR"​)+#psu = ivi.agilent.agilentE3649A("​GPIB0::​5::​INSTR"​)
 # connect to E3649A via E2050A GPIB to VXI11 bridge # connect to E3649A via E2050A GPIB to VXI11 bridge
 psu = ivi.agilent.agilentE3649A("​TCPIP0::​192.168.1.105::​gpib,​5::​INSTR"​) psu = ivi.agilent.agilentE3649A("​TCPIP0::​192.168.1.105::​gpib,​5::​INSTR"​)
Line 108: Line 117:
 #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