Home

PyVISA Documentation

image

Contents

1. Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the 3 6 API 131 PyVISA Documeniation Release 1 6 3 version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value t
2. assert_trigger Sends a software trigger to the device before_close Called just before closing an instrument chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid 84 Chapter 3 More information PyVISA Documeniation Release 1 6 3 encoding Encoding used for read and write operations get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_t
3. boolean indicating endianess Returns number of bytes written Return type int write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write termination Writer termination character write_values message values termination None encoding None xoff_char VIATTR_ASRL_XOFF_CHAR specifies the value of the XOFF character used for XON XOFF flow control both directions If XON XOFF flow control software handshaking is not being used the value of this attribute is ignored VISA Attribute VI_ATTR_ASRL_XOFF_CHAR 1073676482 Type int Range 0 lt value lt 255 xon_char VI_ATTR_ASRL_XON_CHAR specifies the value of the XON character used for XON XOFF flow control both directions If XON XOFF flow control software handshaking is not being used the value of this attribute is ignored VISA Attribute VI_ATTR_ASRL_XON_CHAR 1073676481 Type int Range 0 lt value lt 255 class pyvisa resources TCPIPInstrument args kwargs Communicates with to devices of type TCPIP host address INSTR 3 6 API 63 PyVISA Documeniation Release 1 6 3 More complex resource names can be specified with the following grammar TCPIP board host ad dress LAN device name INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR w r LF w n
4. e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation 3 6 API 105 PyVISA Documeniation Release 1 6 3 e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVIATTR_GPIB_PRIMARY_ADDR gt lt class pyvisa at class pyvisa resources FirewireInstrument resource_manager resource_name Communicates with to devices of type VXI VXI logical address INSTR More complex resource names can be specified with the following grammar VXI board VXI logical ad dress INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource before_close Called just before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings
5. e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Returns number of bytes written Return type int write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write termination Writer termination character write_values message values termination None encoding None class pyvisa resources TCPIPSocket args kwargs Communicates with to devices of type TCPIP host address port SOCKET More complex resource names can be specified with the following grammar TCPIP board host ad dress port SOCKET Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR w r LF u n assert_trigger Sends a software trigger to the device before_close Called just before closing an instrument chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid encoding Encoding used for read and write operations get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specif
6. Offset in bytes of the address or register from which to read e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode out_32 session space offset data extended False Write in an 32 bit value from the specified memory space and offset Corresponds to viOut32 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode out_64 session space offset data extended False Write in an 64 bit value from the specified memory space and offset Corresponds to viOut64 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE 3 6 API 43 PyVISA Documeniation Release 1 6 3 e offset Offset in bytes of the address or register from which to read e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode out_8 session space of
7. Seconds to milliseconds The timeout is now in milliseconds not in seconds as it was before The reason behind this change is to make it coherent with all other VISA implementations out there The C API LabVIEW NET all use milliseconds Using the same units not only makes it easy to migrate to PyVISA but also allows to profit from all other VISA docs out there without extra cognitive effort Removal of Instrument delay and added Instrument query_delay In the original Py VISA implementation Instrument takes a delay argument that adds a pause after each write operation This also can be changed using the delay attribute In PyVISA 1 6 delay is removed Delays after write operations must be added to the application code Instead a new attribute and argument query_delay is available This allows you to pause between write and read operations inside query Additionally query takes an optional argument called query allowing you to change it for each method call Deprecated term_chars and automatic removal of CR LF In the original PyVISA implementation Instrument takes a term_chars argument to change at the read and write termination characters If this argument is None CR LF is appended to each outgoing message and not expected for incoming messages although removed if present In PyVISA 1 6 term_chars is replaced by read_termination and write_termination In this way you can set indepen dently the termination for each operation
8. 122 move pyvisa highlevel VisaLibraryBase method 38 move_asynchronously pyvisa highlevel VisaLibrary Base method 38 move_in pyvisa highlevel VisaLibraryBase method 39 move_in pyvisa resources FirewireInstrument method 107 move_in pyvisa resources PXIInstrument method 112 move_in pyvisa resources PXIMemory method 117 move_in pyvisa resources VXIMemory method 126 move_in_16 pyvisa highlevel VisaLibrary Base method 39 move_in_32 method 39 move_in_64 method 40 move_in_8 pyvisa highlevel VisaLibraryBase method 40 move_out pyvisa highlevel VisaLibraryBase method 40 move_out pyvisa resources FirewireInstrument method 107 move_out pyvisa resources PXIInstrument method 112 move_out pyvisa resources PXIMemory method 117 move_out pyvisa resources VXIMemory method 126 move_out_16 pyvisa highlevel VisaLibraryBase method 41 move_out_32 method 41 move_out_64 method 42 move_out_8 method 42 pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibraryBase pyvisa highlevel VisaLibraryBase pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibraryBase Index 147 PyVISA Documeniation Release 1 6 3 N ndac_state pyvisa resources GPIBInterface attribute 103 no_lock pyvisa constants AccessModes attribute 132 none pyvisa constants SerialTerminatio
9. All line ending characters are stripped from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters e fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values 88 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Return type list classmethod register interface_type resource_class resource_class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_LATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented
10. de lay None Query the device for values in ascii format returning an iterable of values Parameters e message str the message to send delay delay in seconds between write and read operations if None defaults to self query_delay converter callable function used to convert each element Defaults to float separator a callable that split the str into individual elements If a str is given data split separator is used container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list query_binary_ values message datatype u f is_big_endian False container lt type list gt de lay None header_fmt w ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations if None defaults to self query_delay Return type bytes query delay 0 0 3 6 API 95 PyVISA Documeniation Release 1 6 3 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format
11. poke_32 session address data Write an 32 bit value from the specified address Corresponds to viPoke32 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value e data value to be written to the bus Returns return value of the library call Return type pyvisa constants StatusCode poke_64 session address data Write an 64 bit value from the specified address Corresponds to viPoke64 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value e data value to be written to the bus Returns return value of the library call 46 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Return type pyvisa constants StatusCode poke_8 session address data Write an 8 bit value from the specified address Corresponds to viPoke8 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value e data value to be written to the bus Returns Data read from bus Returns return value of the library call Return type pyvisa constants StatusCode read session count Reads data from device or interface synchronously Corresponds to viRead function of the VISA library Parameters e session Unique logical identifier to a session e count Number of b
12. 109 write_memory method 115 write_memory pyvisa resources PXIMemory method 119 write_memory pyvisa resources VXIMemory method 129 write_raw pyvisa resources GPIBInstrument method 99 write_raw pyvisa resources SerialInstrument method 63 write_raw pyvisa resources TCPIPInstrument method 70 write_raw pyvisa resources TCPIPSocket method 76 write_raw pyvisa resources USBInstrument method 84 write_raw pyvisa resources USBRaw method 91 write_termination pyvisa resources GPIBInstrument at tribute 100 write_termination pyvisa resources SerialInstrument at tribute 63 write_termination pyvisa resources TCPIPInstrument at tribute 70 write_termination pyvisa resources TCPIPSocket tribute 76 write_termination pyvisa resources USBInstrument at tribute 84 write_termination pyvisa resources USBRaw attribute 91 write_values pyvisa resources GPIB Instrument method 100 write_values pyvisa resources SerialInstrument method 63 write_values pyvisa resources TCPIPInstrument method 70 write_values pyvisa resources TCPIPSocket method 76 write_values method 84 write_values pyvisa resources USBRaw method 91 X xoff_char pyvisa resources SerialInstrument attribute 63 xon_char pyvisa resources Seriallnstrument attribute 63 pyvisa highlevel VisaLibraryBase pyvisa resources PXIInstrument at pyvisa resources USBInstr
13. 3 2 Migrating from PyVISA lt 1 5 21 PyVISA Documeniation Release 1 6 3 If you are doing gt gt gt print visa get_instruments_list change it to gt gt gt print rm list_resources If you are doing gt gt gt import pyvisa vpp43 as vpp43 gt gt gt vpp43 visa_library load_library path to my libvisa so 7 change it to gt gt gt import visa gt gt gt rm visa ResourceManager path to my libvisa so 7 gt gt gt lib rm visalib If you are doing gt gt gt vpp43 lock session change it to gt gt gt lib lock session or better gt gt gt resource lock If you are doing gt gt gt inst term_chars r change it to gt gt gt inst read_termination r gt gt gt inst write_termination r If you are doing gt gt gt print lib status change it to gt gt gt print lib last_status or even better do it per resource gt gt gt print rm last_status for the resource manager gt gt gt print inst last_status for a specific instrument If you are doing gt gt gt inst timeout 1 Seconds change it to gt gt gt inst timeout 1000 Milliseconds As you see most of the code shown above is making a few things explict It adds line of code instantiating the ResourceManager object which is not a big deal but it makes things cleaner 22 Chapter 3 More information PyVISA Docu
14. INSTR Each device port is assigned a number that you can use for subsequent commands Let s open comport 1 visa open 0 ASRL1 INSTR has been opened You can talk to the device using write The default end of message is added to open Some Instrument We can also get a list of all visa attributes query IDN Some Company read or query ach messag VISA name Constant Python name val VI_ATTR_ASRL_ALLOW_TRANSMIT 1073676734 allow_transmit 1 VI_ATTR_ASRL_AVAIL_NU 1073676460 bytes_in_buffer 0 VI_ATTR_ASRL_BAUD 1073676321 baud_rate 9600 VI_ATTR_ASRL_BREAK_LE 1073676733 break_length 250 VI_ATTR_ASRL_BREAK STATE 1073676732 break_state VI_LA R_ASRL_CONNECTED 1073676731 VI_ERROR_NSUP_ATTI VI_ATTR_ASRL_CTS_STATE 1073676462 0 VI_A R_ASRL_ DATA _BITS 1073676322 data_bits 8 VI_ATTR_ASRL_DCD_STATE 1073676463 O VI_ATTR_ASRL_DISCARD_NULL 1073676464 discard_null 0 VI_ATTR_ASRL_DSR_STATE 1073676465 0 VI_ATTR_ASRL_DTR_STATE 1073676466 1 VI_ATTR_ASRL_END_IN 1073676467 end_input 2 VI_ATTR_ASRL_END_OUT 1073676468 O VI_ATTR_ASRL_FLOW_CNT
15. Parameters mode Specifies the state of the ATN line and optionally the local active controller state Constants GPIB_ATN Returns return value of the library call Return type VISAStatus control_ren mode Controls the state of the GPIB Remote Enable REN interface line and optionally the remote local state of the device Corresponds to viGpibControlREN function of the VISA library Parameters mode Specifies the state of the REN line and optionally the device remote local state Constants GPIB_REN Returns return value of the library call Return type VISAStatus enable _repeat_addressing VIATTR_GPIB_READDR_EN specifies whether to use repeat addressing before each read or write operation VISA Attribute VI_ATTR_GPIB_READDR_EN 1073676315 Type bool enable_unaddressing VI_ATTR_GPIB_UNADDR_EN specifies whether to unaddress the device UNT and UNL after each read or write operation VISA Attribute VI_ATTR_GPIB_UNADDR_EN 1073676676 Type bool 92 Chapter 3 More information PyVISA Documeniation Release 1 6 3 encoding Encoding used for read and write operations get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignori
16. PyVISA Documeniation Release 1 6 3 There were additionally a few global structures such a status which stored the last status returned by the library and the warning context to prevent unwanted warnings In 1 5 there is a new VisaLibrary class and a new ResourceManager class they are both in pyvisa highlevel The new classes are not singletons at least not in the strict sense Multiple instances of VisaLibrary and ResourceManager are possible but only if they refer to different foreign libraries In code this means gt gt gt libl visa VisaLibrary path to my libvisa so 7 gt gt gt lib2 visa VisaLibrary path to my libvisa so 7 gt gt gt lib3 visa VisaLibrary path to my libvisa so 8 gt gt gt libl is lib2 True gt gt gt libl is 1lib3 False Most of the time you will not need access to a VisaLibrary object but to a ResourceManager You can do gt gt gt lib visa VisaLibrary path to my libvisa so 7 gt gt gt rm lib resource_manager or equivalently gt gt gt rm visa ResourceManager path to my libvisa so 7 Note If the path for the library is not given the path is obtained from the user settings file if exists or guessed from the OS In 1 6 the state returned by the library is stored per resource Additionally warnings can be silenced by resource as well You can access with the ast_status property All together these changes makes PyVISA thread s
17. Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values Return type list classmethod register interface_type resource_class replace_char VIATTR_ASRL_REPLACE_CHAR specifies the character to be used to replace incoming charac ters that arrive with errors such as parity error VISA Attribute VI_ATTR_ASRL_REPLACE_CHAR 1073676478 Type int Range 0 lt value lt 255 resource_class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource 60 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer
18. Use 64 bits offset independent of the platform move_out space offset length data width extended False Moves a block of data from local memory to the specified address space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read 112 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e data Data to write to bus e width Number of bits to read per element e extended Use 64 bits offset independent of the platform open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out read_memory space offset width extended False Reads in an 8 bit 16 bit 32 bit or 64 bit value from the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns Data read from memory Corresponds to vi
19. e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Returns number of bytes written Return type int write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write _ termination Writer termination character write_values message values termination None encoding None class pyvisa resources USBRaw args kwargs Communicates with to devices of type USB manufacturer ID model code serial number RAW More complex resource names can be specified with the following grammar USB board manufacturer ID model code serial number USB interface number RAW Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR u r LF w n
20. get_visa_attribute pyvisa resources GPIB Instrument method 93 get_visa_attribute method 101 get_visa_attribute method 110 get_visa_attribute method 115 get_visa_attribute pyvisa resources SerialInstrument method 57 get_visa_attribute pyvisa resources TCPIPInstrument method 64 get_visa_attribute method 70 get_visa_attribute method 77 get_visa_attribute pyvisa resources USBRaw method 85 get_visa_attribute method 129 get_visa_attribute method 120 get_visa_attribute method 125 gpib pyvisa constants InterfaceType attribute 133 gpib_command pyvisa highlevel VisaLibrary Base method 33 gpib_control_atn method 33 gpib_control_ren method 34 gpib_pass_control method 34 gpib_send_ifc method 34 gpib_vxi pyvisa constants InterfaceType attribute 133 GPIBInstrument class in pyvisa resources 91 GPIBInterface class in pyvisa resources 100 group_execute_trigger pyvisa resources GPIBInterface method 101 pyvisa highlevel VisaLibraryBase pyvisa resources GPIBInterface pyvisa resources PXIInstrument pyvisa resources PXIMemory pyvisa resources TCPIPSocket pyvisa resources USBInstrument pyvisa resources VXIBackplane pyvisa resources V XIInstrument pyvisa resources VXIMemory pyvisa highlevel VisaLibraryBase pyvisa highlevel VisaLibraryBase pyvisa highlevel VisaLibraryBase pyvisa highlevel VisaLibraryBase H han
21. method 62 uninstall_handler pyvisa resources TCPIPInstrument method 69 uninstall_handler method 75 uninstall_handler method 82 uninstall_handler pyvisa resources USBRaw method 90 uninstall_handler method 132 uninstall_handler method 124 uninstall_handler method 128 pyvisa resources GPIB Instrument pyvisa resources GPIBInterface pyvisa resources PXIInstrument pyvisa resources PXIMemory pyvisa resources TCPIPSocket pyvisa resources USBInstrument pyvisa resources VXIBackplane pyvisa resources VXIInstrument pyvisa resources VXIMemory usb_protocol pyvisa resources USBRaw attribute 90 USBInstrument class in pyvisa resources 76 USBRaw class in pyvisa resources 84 usbtmc_vendor pyvisa constants IOProtocol attribute 133 V values_format pyvisa resources GPIBInstrument at tribute 99 values_format pyvisa resources SerialInstrument at tribute 62 values_format pyvisa resources TCPIPInstrument attribute 69 values_format pyvisa resources TCPIPSocket attribute 75 values_format pyvisa resources USBInstrument at tribute 83 values_format pyvisa resources USBRaw attribute 90 visa_attributes_classes pyvisa resources FirewireInstrument attribute 109 visa_attributes_classes pyvisa resources GPIBInstrument attribute 99 visa_attributes_classes attribute 106 pyvisa resources GPIBInterface uninstall_visa_handler pyvisa highlevel
22. state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version stb VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VILATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 Service request status register 68 Chapter 3 More information PyVISA Documeniation Release 1 6 3 timeout The timeout in milliseconds for all resource I O operations None is mapped to VIL TMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishe
23. that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key 102 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_LATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes ndac_state This attribute shows the current state of the GPIB NDAC Not Data ACcepted interface line VISA Attribute VI_ATTR_GPIB_NDAC_STATE 1073676386 Type class pyvisa constants LineState open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out pass_control primary_address secondary_address Tell the GPIB device at the specified address to become controller in charge CIC Corresponds to viGpibPassControl function of the VISA library Parameters e prim
24. the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 64 Chapter 3 More information PyVISA Documeniation Release 1 6 3 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your s
25. tribute 56 pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibraryBase E enable_event method 32 enable_repeat_addressing pyvisa resources GPIB Instrument 92 enable_unaddressing pyvisa resources GPIB Instrument attribute 92 encoding pyvisa resources GPIB Instrument attribute 93 encoding pyvisa resources SerialInstrument attribute 56 encoding pyvisa resources TCPIPInstrument attribute 64 encoding pyvisa resources TCPIPSocket attribute 70 encoding pyvisa resources USBInstrument attribute 77 encoding pyvisa resources USBRaw attribute 84 end_input pyvisa resources SerialInstrument attribute 56 EOI line 13 error_abort pyvisa constants StatusCode attribute 133 error_allocation pyvisa constants StatusCode attribute 133 error_attribute_read_only pyvisa constants StatusCode attribute 134 error_bus_error pyvisa constants StatusCode attribute 134 error_closing failed pyvisa constants StatusCode at tribute 134 error_connection_lost pyvisa constants StatusCode at tribute 134 error_file_access pyvisa constants StatusCode attribute 134 pyvisa highlevel VisaLibrary Base attribute 142 Index PyVISA Documeniation Release 1 6 3 error_file_i_o pyvisa constants StatusCode attribute 134 error_handler_not_installed pyvisa constants StatusCode attribute 134 error_in_progress pyvisa constants StatusCode at tribute 134 error_input_
26. 1 6 3 Parameters e session Unique logical identifier to a session e line specifies the utility bus signal to assert Constants VI UTIL_ASSERT Returns return value of the library call Return type pyvisa constants StatusCode buffer _read session count Reads data from device or interface through the use of a formatted I O read buffer Corresponds to viBufRead function of the VISA library Parameters e session Unique logical identifier to a session e count Number of bytes to be read Returns data read return value of the library call Return type bytes pyvisa constants StatusCode buffer write session data Writes data to a formatted I O write buffer synchronously Corresponds to viBufWrite function of the VISA library Parameters e session Unique logical identifier to a session e data bytes data to be written Returns number of written bytes return value of the library call Return type int pyvisa constants StatusCode clear session Clears a device Corresponds to viClear function of the VISA library Parameters session Unique logical identifier to a session Returns return value of the library call Return type pyvisa constants StatusCode close session Closes the specified session event or find list Corresponds to viClose function of the VISA library Parameters session Unique logical identifier to a session event or find list Returns return value of the library c
27. Automatic removal of CR LF is also gone in 1 6 3 3 Contributing to PyVISA You can contribute in different ways 3 3 1 Report issues You can report any issues with the package the documentation to the PyVISA issue tracker Also feel free to submit feature requests comments or questions In some cases platform specific information is required If you think this is the case run the following command and paste the output into the issue python m visa info It is useful that you also provide the log output To obtain it add the following lines to your code import visa visa log_to_screen 3 3 2 Contribute code To contribute fixes code or documentation to PyVISA send us a patch or fork PyVISA in github and submit the changes using a pull request You can also get the code from PyPI or GitHub You can either clone the public repository 3 3 Contributing to PyVISA 25 PyVISA Documeniation Release 1 6 3 git clone git github com hgrecco pyvisa git Download the tarball curl OL https github com hgrecco pyvisa tarball master Or download the zipball curl OL https github com hgrecco pyvisa zipball master Once you have a copy of the source you can embed it in your Python package or install it into your site packages easily python setup py install Note If you have an old system installation of Python and you don t want to mess with it you can try Anaconda CE It is a free Python d
28. False Moves a block of data to local memory from the specified address space and offset Parameters e space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width width Number of bits to read per element extended Use 64 bits offset independent of the platform move_out space offset length data width extended False Moves a block of data from local memory to the specified address space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read 126 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e data Data to write to bus e width Number of bits to read per element e extended Use 64 bits offset independent of the platform open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out read_mem
29. Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type list read termination None encoding None Read a string from the device Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued All line ending characters are stripped from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters e fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values Re
30. Resource session Each communication channel to an instrument has a session handle which is unique You can get this value 2 6 Resources 11 PyVISA Documeniation Release 1 6 3 gt gt gt my_device session 10442240 If the resource is closed an exception will be raised gt gt gt inst close gt gt gt inst session Traceback most recent call last pyvisa errors InvalidSession Invalid session handle The resource might be closed timeout Very most VISA I O operations may be performed with a timeout If a timeout is set every operation that takes longer than the timeout is aborted and an exception is raised Timeouts are given per instrument in milliseconds For all PyVISA objects a timeout is set with my_device timeout 25000 Here my_device may be a device an interface or whatever and its timeout is set to 25 seconds To set an infinite timeout set it to None or float inf del my_device timeout To set it to immediate set it to 0 or a negative value Now every operation of the resource takes as long as it takes even indefinitely if necessary 2 6 2 Attributes of MessageBase resources Chunk length If you read data from a device you must store it somewhere Unfortunately PyVISA must make space for the data before it starts reading which means that it must know how much data the device will send However it doesn t know a priori Therefore PyVISA reads from the device
31. Type class pyvisa constants AccessModes open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out query message delay None A combination of write message and read Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type str query_ascii_values message converter u f separator u lay None Query the device for values in ascii format returning an iterable of values container lt type list gt de Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay e converter callable function used to convert each element Defaults to float e separator a callable that split the str into individual elements If a str is given data split separator is used e container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list 72 Chapter 3 More information PyVISA Documeniation Release 1 6 3 q
32. Use 64 bits offset independent of the platform Returns offset of the allocated memory return value of the library call Return type offset pyvisa constants StatusCode memory free session offset extended False Frees memory previously allocated using the memory_allocation operation Corresponds to viMemFree function of the VISA library Parameters e session Unique logical identifier to a session e offset Offset of the memory to free e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode move session source_space source_offset source_width destination_space destination_offset destina tion_width length Moves a block of data Corresponds to viMove function of the VISA library Parameters e session Unique logical identifier to a session e source_space Specifies the address space of the source e source_offset Offset of the starting address or register from which to read e source_width Specifies the data width of the source e destination_space Specifies the address space of the destination e destination_offset Offset of the starting address or register to which to write e destination_width Specifies the data width of the destination e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width Returns return value of the l
33. VI_LATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name 3 6 API 67 PyVISA Documentation Release 1 6 3 VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 send_end VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffer VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name
34. VisaLibraryBase visa_attributes_classes pyvisa resources PXIInstrument method 49 unlock pyvisa highlevel VisaLibraryBase method 50 unlock pyvisa resources FirewireInstrument method 109 unlock pyvisa resources GPIBInstrument method 98 unlock pyvisa resources GPIBInterface method 106 unlock pyvisa resources PXIInstrument method 115 unlock pyvisa resources PXIMemory method 119 unlock pyvisa resources SerialInstrument method 62 unlock pyvisa resources TCPIPInstrument method 69 unlock pyvisa resources TCPIPSocket method 75 unlock pyvisa resources USBInstrument method 83 unlock pyvisa resources USBRaw method 90 unlock pyvisa resources VXIBackplane method 132 unlock pyvisa resources VXIInstrument method 124 unlock pyvisa resources VXIMemory method 129 unmap_address pyvisa highlevel VisaLibrary Base method 50 unmap_trigger method 50 usb pyvisa constants InterfaceType attribute 133 usb_control_inQ pyvisa highlevel VisaLibrary Base method 50 usb_control_out method 51 usb_control_out method 83 usb_protocol pyvisa resources USBInstrument attribute 83 pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibrary Base pyvisa resources USBInstrument attribute 115 visa_attributes_classes pyvisa resources PXIMemory at tribute 119 visa_attributes_classes pyvisa resources SerialInstrument attribute 62 visa_attributes_class
35. arch x86_64 python myscript py You can create an alias by adding the following line alias python32 arch i386 python into your bashre or profile or bash_profile or whatever file depending on which shell you are using You can also create a virtual environment for this 3 4 9 Where can I get more information about VISA e The original VISA docs VISA specification scroll down to the end VISA library specification VISA specification for textual languages e The very good VISA manuals from National Instruments s VISA NI VISA User Manual NI VISA Programmer Reference Manual NI VISA help file in HTML 3 5 NI VISA Installation In every OS the NI VISA library bitness i e 32 or 64 bit has to match the Python bitness So first you need to install a NI VISA that works with your OS and then choose the Python version matching the installed NI VISA bitness 28 Chapter 3 More information PyVISA Documeniation Release 1 6 3 PyVISA includes a debugging command to help you troubleshoot this and other things python m visa info According to National Instruments NI VISA 5 4 1 is available for Note NI VISA is not available for your system take a look at the Frequently asked questions 3 5 1 Mac OS X Download NI VISA for Mac OS X Supports e Mac OS X 10 7 x x86 and x86 64 e Mac OS X 10 8 x 64 bit VISA applications are supported for a limited set of instrumentation
36. are stripped from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters 3 6 API 73 PyVISA Documeniation Release 1 6 3 e fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values Return type list classmethod register interface_type resource_class resource _class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the
37. attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 send_end VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffer VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 b
38. be set for the specified object spec_version VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VILTMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_TMO_VALUE gt lt class pyvisa attributes At write_memory space offset data width extended False Write in an 8 bit 16 bit 32 bit value to the specified memory space and offset P
39. buses The supported buses are ENET Serial USB and TCPIP Logging VISA operations in NI I O Trace from 64 bit VISA applications is not supported 3 5 2 Windows Download NI VISA for Windows Suports Windows Server 2003 R2 32 bit version only Windows Server 2008 R2 64 bit version only Windows 8 x64 Edition 64 bit version Windows 8 32 bit version Windows 7 x64 Edition 64 bit version Windows 7 32 bit version Windows Vista x64 Edition 64 bit version Windows Vista 32 bit version e Windows XP Service Pack 3 Support for Windows Server 2003 R2 may require disabling physical address extensions PAE 3 5 3 Linux Download NI VISA for Linux Supports e openSUSE 12 2 e openSUSE 12 1 e Red Hat Enterprise Linux Desktop Workstation 6 e Red Hat Enterprise Linux Desktop Workstation 5 e Scientific Linux 6 x 3 5 NI VISA Installation 29 PyVISA Documeniation Release 1 6 3 e Scientific Linux 5 x Currently only 32 bit applications are supported on the x86 64 architecture Note NI VISA runs on other linux distros but the installation is more cumbersome 3 6 API 3 6 1 Visa Library class pyvisa highlevel VisaLibraryBase Base for VISA library classes A class derived from VisaLibraryBase library provides the low level communication to the underlying devices providing Pythonic wrappers to VISA functions But not all derived class must will implement all methods The default VisaLibrary cl
40. can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or vendor specific transfers 3 6 API 93 PyVISA Documeniation Release 1 6 3 VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa con
41. constants SerialTermination The available methods for terminating a serial transfer last_bit None The transfer occurs with the last bit not set until the last character is sent none None The transfer terminates when all requested data is transferred or when an error occurs 132 Chapter 3 More information PyVISA Documeniation Release 1 6 3 termination_break None The write transmits a break after all the characters for the write are sent termination_char None The transfer terminate by searching for appending the termination character class pyvisa constants InterfaceType The hardware interface asrl None Serial devices connected to either an RS 232 or RS 485 controller firewire None Firewire device gpib None GPIB Interface gpib_vxi None GPIB VXI VME eXtensions for Instrumentation pxi None PXI device rio None Rio device rsnrp None Rohde and Schwarz Device via Passport tcpip None TCPIP device usb None Universal Serial Bus USB hardware bus vxi None VXI VME eXtensions for Instrumentation VME MXI Multisystem eXtension Interface class pyvisa constants AddressState class pyvisa constants IOProtocol fdc None Fast data channel FDC protocol for VXI hs 488 None High speed 488 transfer for GPIB protocol4882_strs None 488 style transfer for serial usbtmc_vendor None Test measurement class vendor specific for USB class pyvis
42. ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or vendor specific transfers VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 is_controller_in_ charge This attribute shows whether the specified GPIB interface is currently CIC Controller In Charge VISA Attribute VI_ATTR_GPIB_CIC_STATE 1073676382 Type bool is_system_controller This attribute shows whether the specified GPIB interface is currently the system controller In some implementations this attribute may be modified only through a configuration utility On these systems this attribute is read only RO VISA Attribute VI_ATTR_GPIB_SYS_CNTRL_STATE 1073676392 Type bool last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds
43. current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 stb Service request status register timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource values_format visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_WR_BUF_OPER_MODE gt lt class pyvisa at write message termination None encoding None Write a string message to the device The write_termination is always appended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format The write_termination is always append
44. device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version 74 Chapter 3 More information PyVISA Documeniation Release 1 6 3 VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The
45. e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read 3 6 API 107 PyVISA Documeniation Release 1 6 3 e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e data Data to write to bus e width Number of bits to read per element e extended Use 64 bits offset independent of the platform open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out read_memory space offset width extended False Reads in an 8 bit 16 bit 32 bit or 64 bit value from the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns Data read from memory Corresponds to viln functions of the visa library classmethod register interface_type resource_class resource class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA A
46. for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name 3 6 API 81 PyVISA Documentation Release 1 6 3 VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 send_end VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffer VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool serial_number VI_ATTR_USB_SERIAL_NUM specifies the USB serial number of this device VISA Attribute VI_ATTR_USB_SERIAL_NUM 3221160352 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the
47. gt gt gt inst values_format is_binary False gt gt gt inst values_format converter x gt gt gt inst values_format separator S gt gt gt inst values_format container numpy array or shorter gt gt gt inst values_format use_ascii x S numpy array This works for both query and write operations 2 4 6 When things are not what they should be PyVISA provides an easy way to transfer data from and to the device The methods described above work fine for 99 of the cases but there is always a particular device that do not follow any of the standard protocols and is so different that cannot be adapted with the arguments provided above In those cases you need to get the data gt gt gt inst write CURV gt gt gt data inst read_raw and then you need to implement the logic to parse it 2 5 A more complex example The following example shows how to use SCPI commands with a Keithley 2000 multimeter in order to measure 10 voltages After having read them the program calculates the average voltage and prints it on the screen Pll explain the program step by step First we have to initialise the instrument gt gt gt keithley rm open_resource GPIB 12 gt gt gt keithley write rst status preset xcls Here we create the instrument variable keithley which is used for all further operations on the instrument Immediately after it we send the initialisation an
48. has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier 128 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_DEST_INCREMENT gt lt class pyvisa attrib write_memory space offset data width extended False Write in an 8 bit 16 bit 32 bit value to the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to re
49. manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object source_increment VI ATTR_SRC_INCREMENT is used in the viMoveInXX operations to specify by how many ele ments the source offset is to be incremented after every transfer The default value of this attribute is 1 that is the source address will be incremented by after each transfer and the viMoveInXX operations move from consecutive elements If this attribute is set to 0 the viMoveInXX operations will always read from the same element essentially treating the source as a FIFO register VISA Attribute VI_ATTR_SRC_INCREMENT 1073676352 Type int Range 0 lt value lt 1 spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value
50. of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int 120 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined s
51. pyvisa constants StatusCode 48 Chapter 3 More information PyVISA Documeniation Release 1 6 3 status_description session status Returns a user readable description of the status code passed to the operation Corresponds to viStatusDesc function of the VISA library Parameters e session Unique logical identifier to a session e status Status code to interpret Returns e The user readable string interpretation of the status code passed to the operation e return value of the library call Return type e unicode Py2 or str Py3 e pyvisa constants StatusCode terminate session degree job_id Requests a VISA session to terminate normal execution of an operation Corresponds to viTerminate function of the VISA library Parameters e session Unique logical identifier to a session e degree Constants NULL e job_id Specifies an operation identifier Returns return value of the library call Return type pyvisa constants StatusCode uninstall_handler session event_type handler user_handle None Uninstalls handlers for events Corresponds to viUninstallHandler function of the VISA library Parameters e session Unique logical identifier to a session e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers un
52. pyvisa constants StatusCode at tribute 137 error_session_not_locked pyvisa constants StatusCode attribute 137 error_srq_not_occurred pyvisa constants StatusCode at tribute 137 error_system_error tribute 137 error_timeout pyvisa constants StatusCode attribute 137 error_trigger_not_mapped pyvisa constants StatusCode attribute 137 error_user_buffer pyvisa constants StatusCode at tribute 137 error_window_already_mapped pyvisa constants StatusCode attribute 137 error_window_not_mapped pyvisa constants StatusCode attribute 137 exclusive_lock pyvisa constants AccessModes attribute 132 pyvisa constants StatusCode pyvisa constants StatusCode pyvisa constants StatusCode at F fdc pyvisa constants IOProtocol attribute 133 find_next pyvisa highlevel VisaLibraryBase method 32 find_resources method 32 firewire pyvisa constants InterfaceType attribute 133 FirewireInstrument class in pyvisa resources 106 flush pyvisa highlevel VisaLibraryBase method 33 flushQ pyvisa resources SerialInstrument method 57 pyvisa highlevel VisaLibrary Base G get_attribute method 33 get_debug_info pyvisa highlevel VisaLibraryBase static method 33 get_last_status_in_session pyvisa highlevel VisaLibraryBase method 33 get_library_paths pyvisa highlevel VisaLibraryBase static method 33 get_visa_attribute pyvisa resources FirewireInstrument method 106
53. pyvisa resources SerialInstrument method 56 close pyvisa resources TCPIPInstrument method 64 close pyvisa resources TCPIPSocket method 70 close pyvisa resources USBInstrument method 76 close pyvisa resources USBRaw method 84 close pyvisa resources VXIBackplane method 129 close pyvisa resources VXUnstrument method 120 close pyvisa resources VXIMemory method 125 control_atn pyvisa resources GPIBInstrument method 92 control_atn pyvisa resources GPIBInterface method 100 control_in Q pyvisa resources USBInstrument method 76 control_ren method 92 control_ren pyvisa resources GPIBInterface method 101 CR pyvisa resources GPIBInstrument attribute 9 1 CR pyvisa resources SerialInstrument attribute 55 pyvisa resources GPIBInstrument CR pyvisa resources TCPIPInstrument attribute 64 CR pyvisa resources TCPIPSocket attribute 70 CR pyvisa resources USBInstrument attribute 76 CR pyvisa resources USBRaw attribute 84 D data_bits pyvisa resources SerialInstrument attribute 56 destination_increment pyvisa resources PXIInstrument attribute 110 destination_increment pyvisa resources PXIMemory at tribute 115 destination_increment pyvisa resources VXIInstrument attribute 120 destination_increment pyvisa resources VXIMemory at tribute 125 disable_event method 31 discard_events method 32 discard_null pyvisa resources SerialInstrument at
54. request_value index data u Performs a USB control pipe transfer to the device Corresponds to viUsbControlOut function of the VISA library Parameters e session Unique logical identifier to a session e request_type_bitmap_field bmRequestType parameter of the setup stage of a USB con trol transfer e request_id bRequest parameter of the setup stage of a USB control transfer e request_value wValue parameter of the setup stage of a USB control transfer e index wIndex parameter of the setup stage of a USB control transfer This is usually the index of the interface or endpoint e data The data buffer that sends the data in the optional data stage of the control transfer Returns return value of the library call Return type pyvisa constants StatusCode vxi_command_query session mode command Sends the device a miscellaneous command or query and or retrieves the response to a previous query Corresponds to viVxiCommandQuery function of the VISA library Parameters e session Unique logical identifier to a session e mode Specifies whether to issue a command and or retrieve a response Con stants VI_VXI_CMD VI_VXI_RESP e command The miscellaneous command to send Returns The response retrieved from the device return value of the library call Return type int pyvisa constants StatusCode wait_on_event session in_event_type timeout Waits for an occurrence of the specified even
55. the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 serial_number VI_ATTR_USB_SERIAL_NUM specifies the USB serial number of this device VISA Attribute VI_ATTR_USB_SERIAL_NUM 3221160352 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version 3 6 API 89 PyVISA Documentation Release 1 6 3 VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value h
56. the message before it is given to you You may set termination characters for each instrument e g my_instrument read_termination r T is carriage return usually appearing in the manuals as CR Alternatively you can give it when creating your instrument object my_instrument rm open_resource GPIB 10 read_termination r The default value depends on the bus system Generally the sequence is empty in particular for GPIB For RS232 it s r You can specify the character to add to each outgoing message using the write_termination attribute query_delay and send_end There are two further options related to message termination namely send_end and query_delay send_end is a boolean If it s True the default the EOI line is asserted after each write operation signalling the end of the operation EOI is GPIB specific but similar action is taken for other interfaces The argument query_delay is the time in seconds to wait after each write operation So you could write my_instrument rm open_resource GPIB 10 send_end False delay 1 2 This will set the delay to 1 2 seconds and the EOI line is omitted By the way omitting EOI is not recommended so if you omit it nevertheless you should know what you re doing 2 7 A frontend for multiple backends A small historical note might help to make this section clearer So bear with with me for a couple of lines Originally PyVISA was a Python wra
57. to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object 3 6 API 125 PyVISA Documeniation Release 1 6 3 interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes move_in space offset length width extended
58. to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type 106 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None reques
59. to map Constants SPACE map_base Offset in bytes of the memory to be mapped map_size Amount of memory to map in bytes access suggested If not Constants VI_NULL 0 the operating system attempts to map the memory to the address specified in suggested There is no guarantee however that the memory will be mapped to that address This operation may map the memory into an address region different from suggested Returns address in your process space where the memory was mapped return value of the library call Return type address pyvisa constants StatusCode map_trigger session trigger_source trigger_destination mode Map the specified trigger source line to the specified destination line Corresponds to viMapTrigger function of the VISA library Parameters e session Unique logical identifier to a session e trigger_source Source line from which to map Constants VI_TRIG e trigger_destination Destination line to which to map Constants VI_TRIG e mode Returns return value of the library call Return type pyvisa constants StatusCode 3 6 API 37 PyVISA Documeniation Release 1 6 3 memory_allocation session size extended False Allocates memory from a resource s memory region Corresponds to viMemAlloc functions of the VISA library Parameters e session Unique logical identifier to a session e size Specifies the size of the allocation e extended
60. type int write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write _ termination Writer termination character write_values message values termination None encoding None class pyvisa resources GPIBInstrument args kwargs Communicates with to devices of type GPIB lt primary address gt INSTR More complex resource names can be specified with the following grammar GPIB board primary address secondary address INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR w r LF w n allow_dma 3 6 API 91 PyVISA Documentation Release 1 6 3 This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool assert_trigger Sends a software trigger to the device before_close chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid control_atn mode Specifies the state of the ATN line and the local active controller state Corresponds to viGpibControlATN function of the VISA library
61. vendor specific transfers VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out parity VI_ATTR_ASRL_PARITY is the parity used with every frame transmitted and received VISA Attribute VI_ATTR_ASRL_PARITY 1073676323 Type cla
62. 115 pyvisa constants module 132 Q query pyvisa resources GPIBInstrument method 95 query pyvisa resources Seriallnstrument method 58 query pyvisa resources TCPIPInstrument method 65 query pyvisa resources TCPIPSocket method 72 query pyvisa resources USBInstrument method 79 query pyvisa resources USBRaw method 87 query_ascii_values pyvisa resources GPIB Instrument open_resource pyvisa highlevel ResourceManager method 95 method 54 query_ascii_values pyvisa resources SerialInstrument out_16 pyvisa highlevel VisaLibraryBase method 43 method 59 out_32 pyvisa highlevel VisaLibraryBase method 43 query_ascii_values pyvisa resources TCPIPInstrument out_64 pyvisa highlevel VisaLibraryBase method 43 method 66 out_8 pyvisa highlevel VisaLibraryBase method 44 query_ascii_values pyvisa resources TCPIPSocket method 72 P query_ascii_values pyvisa resources USBInstrument Parity class in pyvisa constants 132 ane 39 USBR parity pyvisa resources SerialInstrument attribute 58 ete ae ee 7 pyvisa resources aw parse_resource pyvisa highlevel VisaLibrary Base ao method 44 query_binary_values pyvisa resources GPIBInstrument parse_resource_extended method 95 pyvisa highlevel VisaLibraryBase method 44 query_binary_values pyvisa resources SerialInstrument pass_control pyvisa resources GPIBInstrument method 59 method 94 query_binary_valu
63. 14 INSTR and assign the returned object to the my_instrument Notice open_resource has given you an instance of GPIBInstrument class a subclass of the more generic Resource gt gt gt print my_instrument lt GPIBInstrument GPIB 14 gt There many Resource subclasses representing the different types of resources but you do not have to worry as the ResourceManager will provide you with the appropiate class You can check the methods and attributes of each class in the Resource classes Then you query the device with the following message JDN Which is the standard GPIB message for what are you or in some cases what s on your display at the moment query is a short form for a write operation to send a message followed by a read So gt gt gt my_instrument query IDN is the same as gt gt gt my_instrument write IDN gt gt gt print my_instrument read 2 3 2 Example for serial RS232 device Consider an Oxford ITC4 temperature controller which is connected through COM2 with my computer The following code prints its self identification on the screen itc4 rm open_resource COM2 itc4 write V print itc4 read 2 3 Tutorial 7 PyVISA Documeniation Release 1 6 3 Instead of separate write and read operations you can do both with one query call Thus the above source code is equivalent to print itc4 query V It
64. BREAK If you want to control the assertion state and length of a break signal manually use the VI_ATTR_ASRL_BREAK_ STATE attribute instead VISA Attribute VI_LATTR_ASRL_BREAK_LEN 1073676733 Type int 3 6 API 55 PyVISA Documentation Release 1 6 3 Range 32768 lt value lt 32767 break_state If set to VI_STATE_ASSERTED it suspends character transmission and places the transmission line in a break state until this attribute is reset to VI_LSTATE_UNASSERTED This attribute lets you manually control the assertion state and length of a break signal If you want VISA to send a break signal after each write operation automatically use the VI_LATTR_ASRL_BREAK_LEN and VI_ATTR_ASRL_END_OUT attributes instead VISA Attribute VI_LATTR_ASRL_BREAK_STATE 1073676732 Type class pyvisa constants LineState bytes_in buffer VIATTR_ASRL_AVAIL_NUM shows the number of bytes available in the low level I O receive buffer VISA Attribute VI_ATTR_ASRL_AVAIL_NUM 1073676460 Type int Range 0 lt value lt 4294967295 chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid data_bits VI_ATTR_ASRL_DATA BITS is the number of data bits contained in each frame from 5 to 8 The data bits for each frame are located in the low order bits of every byte stored in memory VISA Attribute VI_ATTR_ASRL_DATA_ BITS 1073676322 Type int Ra
65. E 0 000 0008E 0 000 0004E 0 000 0002E 0 000 0005E 0 which we would have to convert to a Python list of numbers Fortunately the query_ascii_values method does this work for us gt gt gt voltages keithley query_ascii_values trace data gt gt gt print Average voltage sum voltages len voltages Finally we should reset the instrument s data buffer and SRQ status register so that it s ready for a new run Again this is explained in detail in the instrument s manual gt gt gt keithley query status measurement gt gt gt keithley write trace clear feed control next That s it 18 lines of lucid code Well SCPI is awkward but that s another story 2 6 Resources A resource represents an instrument e g a measurement device There are multiple classes derived from resources representing the different available types of resources eg GPIB Serial Each contains the particular set of attributes an methods that are available by the underlying device You do not create this objects directly but they are returned by the open_resource method of a ResourceManager In general terms there are two main groups derived from Resource MessageBased and RegisterBased The following sections explore the most common attributes of Resource and MessageBased Serial GPIB etc which are the ones you will encounte more often For more information refer to the API 2 6 1 Attributes
66. I INSTR PX interface bus device function INSTR PXI INSTR PX interface CHASSISchassis number SLOTslot number FUNCfunction INSTR PXI MEMACC PX interface MEMACC Remote NI VISA visa host address server port remote resource Serial INSTR ASRLboard INSTR TCPIP INSTR TCPIP board host address LAN device name INSTR TCPIP SOCKET TCPIP board host address port SOCKET USB INSTR USB board manufacturer ID model code serial number USB interface number INSTR USB RAW USB board manufacturer ID model code serial number USB interface number RAW VXI BACKPLANE VXI board VXI logical address BACKPLANE VXI INSTR VXI board VXI logical address INSTR VXI MEMACC VXI board MEMACC VXI SERVANT VXI board SERVANT Use the GPIB keyword to establish communication with GPIB resources Use the VXI keyword for VXI resources via embedded MXIbus or 1394 controllers Use the ASRL keyword to establish communication with an asynchronous serial such as RS 232 or RS 485 device Use the PXI keyword for PXI and PCI resources Use the TCPIP keyword for Ethernet communication The following table shows the default value for optional string segments Optional String Segments Default Value board LAN device name PXI bus PXI function GPIB secondary address USB interface number 0 none instO 0 0 lowest numbered relevant interface The following table s
67. IB device If the targeted device does not have a secondary address this parameter should contain the value Con stants VI_NO_SEC_ADDR Returns return value of the library call Return type pyvisa constants StatusCode gpib_send_ifc session Pulse the interface clear line IFC for at least 100 microseconds Corresponds to viGpibSendIFC function of the VISA library Parameters session Unique logical identifier to a session Returns return value of the library call Return type pyvisa constants StatusCode handlers None Contains all installed event handlers Its elements are tuples with three elements The handler itself a 34 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Python callable the user handle as a ct object and the handler again this time as a ct object created with CFUNCTYPE ignore_warning args kwds A session dependent context for ignoring warnings Parameters e session Unique logical identifier to a session e warnings_constants constants identifying the warnings to ignore in_16 session space offset extended False Reads in an 16 bit value from the specified memory space and offset Corresponds to viln16 function of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e extended Use 64 b
68. ISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e extended Use 64 bits offset independent of the platform Returns Data read from memory return value of the library call Return type int pyvisa constants StatusCode install_handler session event_type handler user_handle Installs handlers for event callbacks Corresponds to vilnstallHandler function of the VISA library Parameters e session Unique logical identifier to a session e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns a handler descriptor which consists of three elements handler a python callable user handle a ctypes object ctypes handler ctypes object wrapping handler and return value of the library call Return type int pyvisa constants StatusCode install_visa_handler session event_type handler user_handle None Installs handlers for event callbacks Parameters e session Unique logical identifier to a session e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client appl
69. Low level functions carry the same name as in the shared library and they are prefixed by vi Middle level functions have a friendlier more pythonic but still recognizable name Middle level The VisaLibrary object exposes the middle level functions which are one to one mapped from the foreign library as bound methods Typically camelCase names where stripped from the leading vi and changed to underscore separated lower case names For example the VISA function viMapAddress appears in the middle level layer as map_address The docs about these methods is located here API Low level You can also access the low level functions directly exposed as static methods for example gt gt gt rm visalib viMapAddress lt here goes the arguments gt To call this functions you need to know the function declaration and how to interface it to python To help you out the VisaLibrary object also contains middle level functions Each middle level function wraps one low level function In this case gt gt gt rm visalib map_address lt here goes the arguments gt The calling convention and types are handled by the wrapper 2 9 Architecture 17 PyVISA Documeniation Release 1 6 3 18 Chapter 2 User guide CHAPTER 3 More information 3 1 VISA resource names If you use the function open_resource you must tell this function the VISA resource name of the instrument you want to connect to Generally it starts w
70. M 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or vendor specific transfers VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters 3 6 API 71 PyVISA Documentation Release 1 6 3 e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292
71. PIBInstrument method 99 write pyvisa resources SerialInstrument method 62 write pyvisa resources TCPIPInstrument method 69 write pyvisa resources TCPIPSocket method 75 write pyvisa resources USBInstrument method 83 write pyvisa resources USBRaw method 90 write_ascii_values pyvisa resources GPIB Instrument pyvisa resources GPIB Instrument pyvisa highlevel VisaLibrary Base pyvisa constants StatusCode pyvisa constants StatusCode method 99 write_ascii_values pyvisa resources SerialInstrument method 62 write_ascii_values pyvisa resources TCPIPInstrument method 69 write_ascii_values pyvisa resources TCPIPSocket method 75 write_ascii_values pyvisa resources USBInstrument method 83 write_ascii_values pyvisa resources USBRaw method 90 write_asynchronously pyvisa highlevel VisaLibraryBase method 52 write_binary_values pyvisa resources GPIB Instrument method 99 write_binary_values pyvisa resources SerialInstrument method 63 write_binary_values pyvisa resources TCPIPInstrument method 69 write_binary_values pyvisa resources TCPIPSocket method 76 write_binary_values pyvisa resources USBInstrument method 84 write_binary_values pyvisa resources USBRaw method 91 write_from_fileQ pyvisa highlevel VisaLibrary Base method 52 write_memory method 52 write_memory _ pyvisa resources FirewireInstrument method
72. PyVISA Documeniation Release 1 6 3 e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or vendor specific transfers VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 is_4882_ compliant VI ATTR_4882_COMPLIANT specifies whether the device is 488 2 compliant VISA Attribute VI_ATTR_4882_COMPLIANT 1073676703 Type bool last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you w
73. PyVISA Documentation Release 1 6 3 PyVISA Authors February 07 2015 Contents 1 General overview 3 2 User guide 5 2A Installation sos E ora oe 42S oe alee ee ROR aR Eee Hae Ee ae ee ee we ead E 5 2 2 Confisurmp the NI Backend ss gns i e soni aa eS aS as A R E R 6 23 Tutofal e 225384 2686 ee a bee Pa bee bade R E E ea Sad oat A 6 24 Reading and Writing values 2 0 5 6 6 a AA RE ee EO Re ee 8 23 Amofe complexexample ce ecs 6 4 44 0 48 44484400 ee Sea De bbe ed ERE E 10 26 IRESOUNCC Sis acct arane tae ess idna dort a Gi e A E hoe abt daa E AE E av teehee ate et aa BH sae Goede Se te aah te S 11 27 d atrontend tor multiple backends 5 2 ge Sas be Soe Lae ee be eee eee 13 2 8 PyVISA Shell 2 5 p2s4 eed Gb ebd beige abhbete de eects aeee ke e a 14 29 Architect re fee A ee oe EAE ME eGR ee ee BAe Oa OE Ses 16 3 More information 19 3 1 VISA resource MAMES oi rocan a ee Ae ee a ee 19 3 2 Migrating from Py VISA lt 13 parai ee ee i a ey ek Be Ge a a 21 3 3 Contibuting to Py VISA ss ees ee ee AR Oe a ee Oe a Ge ee ee a a ea 25 34 Brequentlyasked questions codes eo eee BG Baw Reta be BAS Ee Dare amp Sue amp 26 33 NEVISA Installati n e osos op eae a Gee seks ee eee eee ee ee EY eR 28 20 ARM 3 ut edie aeaa ba ee ee hee eee E eee ed 30 Python Module Index 139 PyVISA Documeniation Release 1 6 3 A PyVISA PyVISA is a Python package that enables you to control all kinds of measurement devices ind
74. RL 1073676325 0 VI_ATTR_ASRL_ PARITY 1073676323 parity O VI_ATTR_ASRL_REPLACE_CHAR 1073676478 replace_char 0 VI_A R_ASRL_RI_STATE 1073676479 O VI_ATTR_ASRL_RTS_STATE 1073676480 1 VI_A R_ASRL_STOP_BITS 1073676324 stop_bits 10 VI_ATTR_ASRL_WIRE_MODE 1073676735 128 VI_ATTR_ASRL_XOFF_CHAR 1073676482 xoff_char 19 VI_ATTR_ASRL_XON_CHAR 1073676481 xon_char 17 VI_ATTR_DMA_ALLOW_E 1073676318 allow_dma 0 VI_A R_FILE APPEND_EN 1073676690 0 VI_ATTR_INTF_INST_NAME 3221160169 ASRL1 dev cu Bluetooth VI_ATTR_INTF_NU 1073676662 interface_number 1 VI_ATTR_INTF_TYPE 1073676657 4 VI_ATTR_IO_PROT 1073676316 io_protocol 1 VI_ATTR_MAX_QUEUE_LENGTH 1073676293 50 VI_ATTR_RD_BUF_OPER_MODE 1073676330 3 VI_ATTR_RD_BUF_SIZE 1073676331 4096 VI_ATTR_RM_SESSIO 1073676484 3160976 VI_ATTR_RSRC_CLASS 3221159937 resource_class INSTR VI_ATTR_RSRC_IMPL_VERSION 1073676291 implementation_version 5243392 VI_ATTR_RSRC_LOCK_STATE 1073676292 lock_state 0 VI_ATTR_RSRC_MANF_ID 1073676661 4086 VI_ATTR_RSRC_MANF_NAME 3221160308 resource_manufacturer_name National Instrument VI_ATTR_RSRC_NAME 3221159938 resource_name ASRL1 INSTR VI_ATTR_RSRC_SPEC_VERSION 1073676656 spec_version 5243136 2 8 PyVISA Shell 15 PyVISA Documeniation Release 1 6 3 10 2000 I 4096 VI_ATTR_SEND_END_E 1073676310 send_end VI_ATTR_SUPPRESS_END_EN 1073676342 VI_ATTR_TERMCHAR 1073676312 VI_ATTR_TERMCHAR_E 1073676344
75. RQ coming from the instrument Note that this method is not ended when another instrument signals an SRQ only this instrument Parameters timeout the maximum waiting time in milliseconds Defaul 25000 seconds None means waiting forever if necessary write message termination None encoding None Write a string message to the device The write_termination is always appended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device converter callable str function used to convert each value String formatting codes are also accepted Defaults to str e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is alw
76. USB control transfer request_value wValue parameter of the setup stage of a USB control transfer index wIndex parameter of the setup stage of a USB control transfer This is usually the index of the interface or endpoint data The data buffer that sends the data in the optional data stage of the control transfer usb_protocol VI_ATTR_USB_PROTOCOL specifies the USB protocol used by this USB interface VISA Attribute VI_ATTR_USB_PROTOCOL 1073676711 Type int Range 0 lt value lt 255 values_format visa_attributes_classes lt class pyvisa attributes Attr VI_ATTR_4882_COMPLIANT gt lt class pyvisa attribut write message termination None encoding None Write a string message to the device The write_termination is always appended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e converter callable str function used to convert each value String formatting codes are also accepted Defaults to str 3 6 API 83 PyVISA Documeniation Release 1 6 3
77. VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool before_close Called just before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid destination_increment VIATTR_DEST_INCREMENT is used in the viMoveOutXX operations to specify by how many elements the destination offset is to be incremented after every transfer The default value of this attribute is 1 that is the destination address will be incremented by 1 after each transfer and the viMoveOutXX operations move into consecutive elements If this attribute is set to 0 the viMove OutXX operations will always write to the same element essentially treating the destination as a FIFO register VISA Attribute VI_ATTR_DEST_INCREMENT 1073676353 Type int Range 0 lt value lt 1 get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations
78. VI_ATTR_TMO_VALUE 1073676314 VI_ATTR_TRIG_ID 1073676663 VI_ATTR_WR_BUF_OPER_MODE 1073676333 VI_ATTR_WR_BUF_SIZE 1073676334 a _ Finally you can close the device open close Cool right It will be great to have a GUI similar to NI MAX but we leave that to be developed outside PyVISA Want to help Let us know 2 9 Architecture PyVISA implements convenient and Pythonic programming in three layers 1 Low level A wrapper around the shared visa library The wrapper defines the argument types and response types of each function as well as the conversions between Python objects and foreign types You will normally not need to access these functions directly If you do it probably means that we need to improve layer 2 All level 1 functions are static methods of VisaLibrary Warning Notice however that low level functions might not be present in all backends For broader compatibility do no use this layer All the functionality should is available via the next layer 2 Middle level A wrapping Python function for each function of the shared visa library These functions call the low level functions adding some code to deal with type conversions for functions that return values by reference These functions also have comprehensive and Python friendly documentation You only need to access this layer if you want to control certain specific aspects of the VISA library which are not implemented by the corresponding reso
79. Write a string message to the device The write_termination is always appended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e converter callable str function used to convert each value String formatting codes are also accepted Defaults to str e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str 62 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian
80. XIInstrument 113 resource_manufacturer_name pyvisa resources PXIMemory 118 resource_manufacturer_name pyvisa resources SerialInstrument 61 resource_manufacturer_name pyvisa resources TCPIPInstrument 67 resource_manufacturer_name pyvisa resources TCPIPSocket 74 resource_manufacturer_name pyvisa resources USBInstrument attribute 81 resource_manufacturer_name pyvisa resources USBRaw attribute 89 attribute attribute attribute attribute attribute attribute attribute 150 Index PyVISA Documeniation Release 1 6 3 resource_manufacturer_name pyvisa resources VXIBackplane 131 resource_manufacturer_name pyvisa resources VXIInstrument 123 resource_manufacturer_name pyvisa resources VXIMemory 127 resource_name pyvisa resources FirewireInstrument at tribute 108 resource_name attribute 97 resource_name pyvisa resources GPIBInterface at tribute 104 resource_name pyvisa resources PXIInstrument at tribute 113 resource_name pyvisa resources PXIMemory attribute 118 resource_name attribute 61 resource_name pyvisa resources TCPIPInstrument at attribute attribute attribute pyvisa resources GPIB Instrument pyvisa resources SerialInstrument tribute 68 resource_name pyvisa resources TCPIPSocket attribute 74 resource_name pyvisa resources USBInstrument at tribute 81 resource_name pyvisa resources USBRaw attribu
81. a constants LineState class pyvisa constants StatusCode Specifies the status codes that NI VISA driver level operations can return error_abort None The operation was aborted 3 6 API 133 PyVISA Documentation Release 1 6 3 error_allocation None Insufficient system resources to perform necessary memory allocation error_attribute_read_only None The specified attribute is read only error_bus_error None Bus error occurred during transfer error_closing_failed None Unable to deallocate the previously allocated data structures corresponding to this session or object refer ence error_connection_lost None The connection for the specified session has been lost error_file_access None An error occurred while trying to open the specified file Possible causes include an invalid path or lack of access rights error _file_i_o None An error occurred while performing I O on the specified file error_handler_not_installed None A handler is not currently installed for the specified event error_in_progress None Unable to queue the asynchronous operation because there is already an operation in progress error_input_protocol_ violation None Device reported an input protocol error during transfer error_interface_number_not_configured None The interface type is valid but the specified interface number is not configured error_interrupt_pending None An interrupt is still pending from a previous c
82. a resource Returns Resource information return value of the library call Return type pyvisa highlevel ResourcelInfo pyvisa constants StatusCode peek session address width Read an 8 16 or 32 bit value from the specified address Corresponds to viPeek functions of the VISA library 44 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Parameters e session Unique logical identifier to a session e address Source address to read the value e width Number of bits to read Returns Data read from bus return value of the library call Return type bytes pyvisa constants StatusCode peek_16 session address Read an 16 bit value from the specified address Corresponds to viPeek16 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value Returns Data read from bus return value of the library call Return type bytes pyvisa constants StatusCode peek_32 session address Read an 32 bit value from the specified address Corresponds to viPeek32 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value Returns Data read from bus return value of the library call Return type bytes pyvisa constants StatusCode peek_64 session address Read an 64 bit value from the specified address Corresponds to viPeek64 function o
83. a resources VXIInstrument 122 lock_state pyvisa resources VXIMemory attribute 126 M manufacturer_id pyvisa resources PXIInstrument at tribute 112 manufacturer_id attribute 79 manufacturer_id pyvisa resources USBRaw attribute 86 manufacturer_id attribute 122 manufacturer_name pyvisa resources PXIInstrument at tribute 112 manufacturer_name pyvisa resources USB Instrument at tribute 79 manufacturer_name tribute 86 manufacturer_name pyvisa resources VXInstrument at tribute 122 map_address method 37 map_trigger method 37 maximum_interrupt_size pyvisa resources USBInstrument attribute 79 attribute pyvisa resources USBInstrument pyvisa resources VXIInstrument pyvisa resources USBRaw at pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibrary Base maximum _interrupt_size pyvisa resources USBRaw at tribute 86 memory_allocation pyvisa highlevel VisaLibraryBase method 37 memory_free method 38 model_code pyvisa resources PXIInstrument attribute 112 model_code pyvisa resources USBInstrument attribute 719 model_code pyvisa resources USBRaw attribute 86 model_code pyvisa resources V XIInstrument attribute 122 model_name pyvisa resources PXIInstrument attribute 112 model_name pyvisa resources USBInstrument attribute 79 model_name pyvisa resources USBRaw attribute 87 model_name pyvisa resources VXIInstrument attribute
84. ackage module named pyvisa somename which should be installed in your system This is a loosly coupled configuration free method PyVISA does not need to know about any backend out there until you actually try to use it You can list the installed backends by running the following code in the command line python m visa info What does a minimum backend looks like Quite simple from pyvisa highlevel import VisaLibraryBase class MyLibrary VisaLibraryBase pass WRAPPER_CLASS MyLibrary Additionally you can provide a staticmethod named get_debug_info that should return a dictionary of debug informa tion 2 8 PyVISA Shell The shell moved into PyVISA from the Lantz Project is a text based user interface to interact with instruments You can invoke it from the command line python m visa shell that will show something the following prompt Welcome to the VISA shell Type help or to list commands visa At any time you can type or help to get a list of valid commands visa help Documented commands type help lt topic gt EOF attr close exit help list open query read write visa help list List all connected resources Tab completion is also supported The most basic task is listing all connected devices 14 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 visa list 0 ASRL1 INSTR 1 ASRL2 INSTR 2 USBO 0x1AB1 0x0588 DS1K00005888
85. ad e data Data to write to bus e width Number of bits to read e extended Use 64 bits offset independent of the platform Corresponds to viOut functions of the visa library class pyvisa resources VXIBackplane resource_manager resource_name Communicates with to devices of type VXI BACKPLANE More complex resource names can be specified with the following grammar VXI board VXI logical address BACKPLANE Do not instantiate directly use pyvisa highlevel ResourceManager open_resource before_close Called just before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the up
86. afe VisaLibrary methods as way to call Visa functions In the original PyVISA implementation the VisaLibrary class was just having a reference to the ctypes library and a few functions In 1 5 we introduced a new VisaLibrary class pyvisa highlevel which has every single low level function defined in ctwrapper as bound methods In code this means that you can do gt gt gt import visa gt gt gt rm visa ResourceManager path to my libvisa so 7 gt gt gt lib rm visalib gt gt gt print lib read_stb session But it is very likely that you do not have to do it as the resource should have the function you need It also has every single VISA foreign function in the underlying library as static method In code this means that you can do gt gt gt status ctypes c_ushort gt gt gt ret lib viReadSTB session ctypes byref status gt gt gt print ret value Ask vs query Historically the method ask has been used in PyVISA to do a write followed by a read But in many other programs this operation is called query Thereby we have decided to switch the name keeping an alias to help with the transition 24 Chapter 3 More information PyVISA Documeniation Release 1 6 3 However ask_for_values has not been aliased to query_values because the API is different ask_for_values still uses the old formatting API which is limited and broken We suggest that you migrate everything to query_values
87. all error_invalid_access_key None The access key to the resource associated with this session is invalid error _invalid_access_mode None Invalid access mode error_invalid_address_space None Invalid address space specified error_invalid_context None Specified event context is invalid error_invalid_degree None Specified degree is invalid error_invalid_event None Specified event type is not supported by the resource error_invalid_expression None Invalid expression specified for search error_invalid_format None A format specifier in the format string is invalid error_invalid_handler_reference None The specified handler reference is invalid 134 Chapter 3 More information PyVISA Documeniation Release 1 6 3 error_invalid_job_i_d None Specified job identifier is invalid error_invalid_length None Invalid length specified error_invalid_line None The value specified by the line parameter is invalid error_invalid_lock_type None The specified type of lock is not supported by this resource error_invalid_mask None Invalid buffer mask specified error_invalid_mechanism None Invalid mechanism specified error_invalid_mode None The specified mode is invalid error_invalid_object None The specified session or object reference is invalid error_invalid_offset None Invalid offset specified error_invalid_parameter None The value of an unknown parameter is
88. all Return type pyvisa constants StatusCode disable_event session event_type mechanism Disables notification of the specified event type s via the specified mechanism s Corresponds to viDisableEvent function of the VISA library Parameters e session Unique logical identifier to a session 3 6 API 31 PyVISA Documentation Release 1 6 3 e event_type Logical event identifier e mechanism Specifies event handling mechanisms to be disabled Con stants VI_QUEUE VI_HNDLR VI_SUSPEND_HNDLR VI_ALL_MECH Returns return value of the library call Return type pyvisa constants StatusCode discard_events session event_type mechanism Discards event occurrences for specified event types and mechanisms in a session Corresponds to viDiscardEvents function of the VISA library Parameters e session Unique logical identifier to a session e event_type Logical event identifier e mechanism Specifies event handling mechanisms to be disabled Con stants VI_QUEUE VI_LHNDLR VI_SUSPEND_HNDLR VI_LSUSPEND_HNDLR Returns return value of the library call Return type pyvisa constants StatusCode enable_event session event_type mechanism context None Enable event occurrences for specified event types and mechanisms in a session Corresponds to viEnableEvent function of the VISA library Parameters e session Unique logical identifier to a session e event_type Logical event ident
89. allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool assert_trigger Sends a software trigger to the device before_close Called just before closing an instrument chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid encoding Encoding used for read and write operations get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as
90. ame This string attribute is the manufacturer name VISA Attribute VI_ATTR_MANF_NAME 3221160050 model_code VI_ATTR_MODEL_CODE specifies the model code for the device VISA Attribute VI_ATTR_MODEL_CODE 1073676511 Type int Range 0 lt value lt 65535 model_name This string attribute is the model name of the device VISA Attribute VI_LATTR_MODEL_NAME 3221160055 open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out classmethod register interface_type resource_class resource class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 122 Chapter 3 More information PyVISA Documeniation Release 1 6 3 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purpo
91. ands to your program and run it again import visa visa log_to_screen 3 4 5 found a bug how can report it Please report it on the Issue Tracker including operating system python version and library version In addition you might add supporting information by pasting the output of this command python m visa info 3 4 6 Error Image not found This error occurs when you have provided an invalid path for the VISA library Check that the path provided to the constructor or in the configuration file 3 4 7 Error Could not found VISA library This error occurs when you have not provided a path for the VISA library and PyVISA is not able to find it for you You can solve it by providing the library path to the VisaLibrary or ResourceManager constructor gt gt gt visalib VisaLibrary path to library or gt gt gt rm ResourceManager Path to library or creating a configuration file as described in Configuring the NI backend 3 4 8 Error No matching architecture This error occurs when you the Python architecture does not match the VISA architecture Note PyVISA tries to parse the error from the underlying foreign function library to provide a more useful error message If it does not succeed it shows the original one In Mac OS X the original error message looks like this OSError dlopen Library Frameworks visa framework visa 6 no suitable image found Did find Library Frameworks
92. ant your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 78 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Type class pyvisa constants AccessModes manufacturer_id VIL ATTR_ MANE ID is the manufacturer identification number of the device VISA Attribute VI_ATTR_MANF _ID 1073676505 Type int Range 0 lt value lt 65535 manufacturer name This string attribute is the manufacturer name VISA Attribute VI_ATTR_MANF_NAME 3221160050 maximum_interrupt_size VIATTR_USB_MAX_INTR_ SIZE specifies the maximum size of data that will be stored by any given USB interrupt If a USB interrupt contains more data than this size the data in excess of this size will be lost VISA Attribute VI_ATTR_USB_MAX_INTR_SIZE 1073676719 Type int Range 0 lt value lt 65535 model_code VI_ATTR_MODEL_CODE specifies the model code for the device VISA Attribute VI_ATTR_MODEL_CODE 1073676511 Type int Range 0 lt value lt 65535 model_name This string attribute is the model name of the device VISA Attribute VI_ATTR_MODEL_NAME 3221160055 open acces
93. ants StatusCode attribute 136 error_nonsupported_offset_alignment pyvisa constants StatusCode attribute 136 error_nonsupported_operation pyvisa constants StatusCode attribute 136 error_nonsupported_varying_widths pyvisa constants StatusCode attribute 136 error_nonsupported_width pyvisa constants StatusCode attribute 136 error_not_cic pyvisa constants StatusCode 136 error_not_enabled pyvisa constants StatusCode at tribute 136 error_not_system_controller pyvisa constants StatusCode attribute 136 error_output_protocol_violation pyvisa constants StatusCode attribute 136 pyvisa constants StatusCode at pyvisa constants StatusCode at pyvisa constants StatusCode attribute Index 143 PyVISA Documeniation Release 1 6 3 error_queue_error pyvisa constants StatusCode at tribute 136 error_queue_overflow pyvisa constants StatusCode at tribute 136 error_raw_read_protocol_violation pyvisa constants StatusCode attribute 136 error_raw_write_protocol_violation pyvisa constants StatusCode attribute 136 error_resource_busy pyvisa constants StatusCode attribute 137 error_resource_locked pyvisa constants StatusCode at tribute 137 error_resource_not_found pyvisa constants StatusCode attribute 137 error_response_pending pyvisa constants StatusCode at tribute 137 error_serial_framing attribute 137 error_serial_ overrun attribute 137 error_serial_parity
94. arameters 3 6 API 109 PyVISA Documeniation Release 1 6 3 e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e width Number of bits to read e extended Use 64 bits offset independent of the platform Corresponds to viOut functions of the visa library class pyvisa resources PXIInstrument resource_manager resource_name Communicates with to devices of type PXI lt device gt INSTR More complex resource names can be specified with the following grammar PX bus device function INSTR or PXI interface bus device function INSTR or PXI interface CHASSISchassis number SLOTslot number FUNCfunction INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable VISA Attribute VILATTR_DMA_ALLOW_EN 1073676318 Type bool before_close Called just before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid destination_increment VI ATTR_DEST_INCREMENT is use
95. ary_address Primary address of the GPIB device to which you want to pass con trol e secondary_address Secondary address of the targeted GPIB device If the targeted device does not have a secondary address this parameter should contain the value Con stants NO_SEC_ADDR Returns return value of the library call Return type VISAStatus primary address VIATTR_GPIB_PRIMARY_ADDR specifies the primary address of the GPIB device used by the given session For the GPIB INTFC Resource this attribute is Read Write VISA Attribute VI_ATTR_GPIB_PRIMARY_ADDR 1073676658 Type int Range 0 lt value lt 30 classmethod register interface_type resource_class remote_enabled 3 6 API 103 PyVISA Documeniation Release 1 6 3 VI_ATTR_GPIB_REN_STATE returns the current state of the GPIB REN Remote ENable inter face line VISA Attribute VI_ATTR_GPIB_REN_STATE 1073676673 Type class pyvisa constants LineState resource_class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_LATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library Th
96. as the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 stb Service request status register timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource usb_protocol VI_ATTR_USB_PROTOCOL specifies the USB protocol used by this USB interface VISA Attribute VI_ATTR_USB_PROTOCOL 1073676711 Type int Range 0 lt value lt 255 values_format visa_attributes_classes lt class pyvisa attributes AttrVI ATTR_WR_BUF_SIZE gt lt class pyvisa attributes A write message termination None encoding None Write a string message to the device The write_termination is always app
97. ass is pyvisa ctwrapper highlevel NIVisaLibrary which implements a ctypes wrapper around the NI VISA library In general you should not instantiate it directly The object exposed to the user is the pyvisa highlevel ResourceManager If needed you can access the VISA library from it gt gt gt import visa gt gt gt rm visa ResourceManager path to my libvisa so 7 gt gt gt lib rm visalib assert_interrupt_signal session mode status_id Asserts the specified interrupt or signal Corresponds to viAssertIntrSignal function of the VISA library Parameters e session Unique logical identifier to a session e mode How to assert the interrupt Constants ASSERT e status_id This is the status value to be presented during an interrupt acknowledge cycle Returns return value of the library call Return type pyvisa constants StatusCode assert_trigger session protocol Asserts software or hardware trigger Corresponds to viAssertTrigger function of the VISA library Parameters e session Unique logical identifier to a session e protocol Trigger protocol to use during assertion Constants PROT Returns return value of the library call Return type pyvisa constants StatusCode assert_utility_signal session line Asserts or deasserts the specified utility bus signal Corresponds to viAssertUtilSignal function of the VISA library 30 Chapter 3 More information PyVISA Documeniation Release
98. ast_bit pyvisa constants SerialTermination attribute 132 last_status pyvisa highlevel ResourceManager attribute 53 last_status pyvisa highlevel VisaLibraryBase attribute 36 last_status pyvisa resources FirewireInstrument at tribute 107 last_status pyvisa resources GPIBInstrument attribute 94 last_status pyvisa resources GPIBInterface attribute 102 last_status pyvisa resources PXIInstrument 111 last_status pyvisa resources PXIMemory attribute 116 last_status pyvisa resources SerialInstrument attribute 58 last_status pyvisa resources TCPIPInstrument attribute 65 last_status pyvisa resources TCPIPSocket attribute 7 1 last_status pyvisa resources USBInstrument attribute 78 last_status pyvisa resources USBRaw attribute 86 last_status pyvisa resources VXIBackplane attribute 130 last_status pyvisa resources VXIInstrument attribute 121 last_status pyvisa resources VXIMemory attribute 126 LF pyvisa resources GPIBInstrument attribute 9 1 LF pyvisa resources SerialInstrument attribute 55 LF pyvisa resources TCPIPInstrument attribute 64 LF pyvisa resources TCPIPSocket attribute 70 LF pyvisa resources USBInstrument attribute 76 LF pyvisa resources USBRaw attribute 84 LineState class in pyvisa constants 133 list_resources pyvisa highlevel ResourceManager method 53 list_resources_info pyvisa highlevel ResourceManager method 53 lock pyvisa high
99. attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key A
100. ays appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Returns number of bytes written Return type int 3 6 API 99 PyVISA Documeniation Release 1 6 3 write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write termination Writer termination character write_values message values termination None encoding None class pyvisa resources GPIBInterface resource_manager resource_name Communicates with to devices of type GPIB INTFC More complex resource names can be specified with the following grammar GPIB board INTFC Do not instantiate directly use pyvisa highlevel ResourceManager open_resource address_state This attribute shows whether the specified GPIB interface is currently addressed to talk or listen or is not addressed VISA Attribute VI_ATTR_GPIB_ADDR_STATE 1073676380 Type class pyvisa constants AddressState allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and
101. ccess key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key 116 Chapter 3 More information PyVISA Documeniation Release 1 6 3 lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes move_in space offset length width extended False Moves a block of data to local memory from the specified address space and offset Parameters e space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width width Number of bits to read per element extended Use 64 bits offset independent of the platform move_out space offset length data width extended False Moves a block of data from local memory to the specified address space and offset Parameters space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer
102. class pyvisa resources USBRaw attribute 89 resource_class pyvisa resources VXIBackplane at tribute 131 resource_class pyvisa resources VXIInstrument at tribute 122 resource_class pyvisa resources VXIMemory attribute 127 resource_info pyvisa resources FirewireInstrument at tribute 108 resource_info pyvisa resources GPIBInstrument at tribute 97 resource_info pyvisa resources GPIBInterface attribute 104 resource_info pyvisa resources PXIInstrument attribute 113 resource_info pyvisa resources PXIMemory attribute 118 resource_info pyvisa resources SerialInstrument at tribute 60 resource_info pyvisa resources TCPIPInstrument at tribute 67 resource_info pyvisa resources TCPIPSocket attribute 74 resource_info pyvisa resources USBInstrument at tribute 81 resource_info pyvisa resources USBRaw attribute 89 resource_info pyvisa resources VXIBackplane attribute 131 resource_info pyvisa resources VXIInstrument at tribute 122 resource_info pyvisa resources VXIMemory attribute 127 resource_info pyvisa highlevel ResourceManager method 54 resource_manager pyvisa highlevel VisaLibraryBase at tribute 48 resource_manufacturer_name pyvisa resources FirewireInstrument at tribute 108 resource_manufacturer_name pyvisa resources GPIB Instrument 97 resource_manufacturer_name pyvisa resources GPIB Interface 104 resource_manufacturer_name pyvisa resources P
103. couldn t be simpler 2 4 Reading and Writing values Some instruments allow to transfer to and from the computer larger datasets with a single query A typical example is an oscilloscope which you can query for the whole voltage trace Or an arbitrary wave generator to which you have to transfer the function you want to generate Basically data like this can be transferred in two ways in ASCII form slow but human readable and binary fast but more difficult to debug PyVISA Message Based Resources have two different methods for this called query_ascii_values and query_binary_values It also has the convenient query_values which will use follow a previously established con figuration 2 4 1 Reading ASCII values If your oscilloscope open in the variable inst has been configured to transfer data in ASCII when the CURV com mand is issued you can just query the values like this gt gt gt values inst query_ascii_values CURV values will be list containing the values from the device In many cases you do not want a list but rather a different container type such as a numpy array You can of course cast the data afterwards like this gt gt gt values np array inst query_ascii_values CURV but sometimes it is much more efficient to avoid the intermediate list and in this case you can just specify the container type in the query gt gt gt values inst query_ascii_values CURV containe
104. d termination None encoding None Read a string from the device Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued All line ending characters are stripped from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters e fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values Return type list classmethod register interface_type resource_class resource _class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute
105. d from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination Read termination character read_termination_context args kwds read_values fmt None container lt type list gt Read a list of floating point values from the device Parameters e fmt the format of the values If given it overrides the class attribute values_format Possible values are bitwise disjunctions of the above constants ascii single double and big_endian Default is ascii e container the output datatype Returns the list of read values Return type list classmethod register interface_type resource_class resource _class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is
106. d in the viMoveOutXX operations to specify by how many elements the destination offset is to be incremented after every transfer The default value of this attribute is 1 that is the destination address will be incremented by 1 after each transfer and the viMoveOutXX operations move into consecutive elements If this attribute is set to 0 the viMove OutXX operations will always write to the same element essentially treating the destination as a FIFO register VISA Attribute VI_LATTR_DEST_INCREMENT 1073676353 Type int Range 0 lt value lt 1 get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes 110 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VI_ATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the ver
107. d reset message to the instrument 10 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 The next step is to write all the measurement parameters in particular the interval time 500ms and the number of readings 10 to the instrument I won t explain it in detail Have a look at an SCPI and or Keithley 2000 manual gt gt gt interval_in_ms 500 gt gt gt number_of_readings 10 gt gt gt keithley write status measurement enable 512 xsre 1 gt gt gt keithley write gt gt gt keithley write trigger source bus gt gt gt keithley write trigger delay f interval_in_ms 1000 0 o sample count 3d number_of_readings gt gt gt keithley write trace points d number_of_readings gt gt gt keithley writ trace feed sensel feed control next Okay now the instrument is prepared to do the measurement The next three lines make the instrument waiting for a trigger pulse trigger it and wait until it sends a service request gt gt gt keithley write initiate gt gt gt keithley assert_trigger gt gt gt keithley wait_for_srq With sending the service request the instrument tells us that the measurement has been finished and that the results are ready for transmission We could read them with keithley query trace data however then we d get 000 0004E 0 000 0005E 0 000 0004E 0 000 0007E 0 000 0000E 0 000 0007
108. dlers pyvisa highlevel VisaLibraryBase attribute 34 144 Index PyVISA Documeniation Release 1 6 3 hs488 pyvisa constants 1OProtocol attribute 133 ignore_warning method 35 ignore_warning pyvisa resources FirewireInstrument method 106 ignore_warning pyvisa resources GPIB Instrument method 93 ignore_warning method 101 ignore_warning method 111 ignore_warning method 115 ignore_warning pyvisa resources SerialInstrument method 57 ignore_warning pyvisa resources TCPIPInstrument method 64 ignore_warning method 70 ignore_warning method 77 ignore_warning pyvisa resources USBRaw method 85 ignore_warning method 129 ignore_warning method 120 ignore_warning method 125 pyvisa highlevel VisaLibrary Base pyvisa resources GPIBInterface pyvisa resources PXIInstrument pyvisa resources PXIMemory pyvisa resources TCPIPSocket pyvisa resources USBInstrument pyvisa resources VXIBackplane pyvisa resources VXIInstrument pyvisa resources V XIMemory implementation_version pyvisa resources FirewireInstrumelftall_handler attribute 106 implementation_version pyvisa resources GPIBInstrument install_handler attribute 93 implementation_version pyvisa resources GPIB Interface attribute 101 implementation_version pyvisa resources PXIInstrument attribute 111 implementation_version pyvisa resources PXIMemory attribute 116
109. e visa_attributes_classes lt class pyvisa attributes AttrVIATTR_DEST_INCREMENT gt lt class pyvisa attrib class pyvisa resources VXIMemory resource_manager resource_name Communicates with to devices of type VXI board MEMACC More complex resource names can be specified with the following grammar V XI board MEMACC Do not instantiate directly use pyvisa highlevel ResourceManager open_resource allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool before_close Called just before closing an instrument 124 Chapter 3 More information PyVISA Documeniation Release 1 6 3 clear Clears this resource close Closes the VISA session and marks the handle as invalid destination_increment VI ATTR_DEST_INCREMENT is used in the viMoveOutXX operations to specify by how many elements the destination offset is to be incremented after every transfer The default value of this attribute is 1 that is the destination address will be incremented by 1 after each transfer and the viMoveOutXX operations move into consecutive elements If this attribute is set to 0 the viMove OutXX
110. e This string attribute is the model name of the device VISA Attribute VI_LATTR_MODEL_NAME 3221160055 open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out query message delay None A combination of write message and read Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type str query _ascii_values message converter u f separator u container lt type list gt de lay None Query the device for values in ascii format returning an iterable of values Parameters e message str the message to send delay delay in seconds between write and read operations if None defaults to self query_delay converter callable function used to convert each element Defaults to float separator a callable that split the str into individual elements If a str is given data split separator is used container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list query binary values mes
111. e ASRIL ITAN amp BBurce ASRL1 INSTR on the specified remote system VXI 1 BACKPLANE Mainframe resource for chassis 1 on the default VXI system which is interface 0 VXI MEMACC Board level register access to the VXI interface VXIO0 1 INSTR A VXI device at logical address 1 in VXI interface VXIO VXI0 SERVANT Servant device side resource for VXI interface 0 3 2 Migrating from PyVISA lt 1 5 Note if you want PyVISA 1 4 compatibility use PyVISA 1 5 that provides Python 3 support better visa library detection heuristics Windows Linux and OS X support and no singleton object PyVISA 1 6 introduces a few compatibility breaks Some of these decisions were inspired by the visalib package as a part of Lantz 3 2 1 Short summary PyVISA 1 5 has full compatibility with previous versions of PyVISA using the legacy module changing some of the underlying implementation But you are encouraged to do a few things differently if you want to keep up with the latest developments and be compatible with PyVISA gt 1 5 Indeed PyVISA 1 6 breaks compatibility to bring across a few good things If you are doing gt gt gt import visa gt gt gt keithley visa instrument GPIB 12 gt gt gt print keithley ask IDN change it to gt gt gt import visa gt gt gt rm visa ResourceManager gt gt gt keithley rm open_resource GPIB 12 gt gt gt print keithley query IDN
112. e VXIBackplane class pyvisa resources SerialInstrument args kwargs Communicates with devices of type ASRL lt board gt INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR w r LF w n allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool allow_transmit If set to VI_LFALSE it suspends transmission as if an XOFF character has been received If set to VI_TRUE it resumes transmission as if an XON character has been received VISA Attribute VI_LATTR_ASRL_ALLOW_TRANSMIT 1073676734 Type bool assert_trigger Sends a software trigger to the device baud_rate VI_ATTR_ASRL_BAUD is the baud rate of the interface It is represented as an unsigned 32 bit in teger so that any baud rate can be used but it usually requires a commonly used rate such as 300 1200 2400 or 9600 baud VISA Attribute VI_ATTR_ASRL_BAUD 1073676321 Type int Range 0 lt value lt 4294967295 before_close Called just before closing an instrument break_length This controls the duration in milliseconds of the break signal asserted when VI_ATTR_ASRL_END_OUT is set to VILASRL_END_
113. eManager the object exposed to the user The type of the VisaLibrary can selected depending of the library_path and obtained from a plugin package We have two of such packages planned e a Mock module that allows you to test a PyVISA program even if you do not have VISA installed e a CFFI based wrapper CFFI is new python package that allows easier and more robust wrapping of foreign libraries It might be part of Python in the future PyVISA 1 5 keeps vpp43 in the legacy subpackage reimplemented on top of ctwrapper to help with the migration This module is gone in 1 6 All functions that were present in vpp43 are now present in ctwrapper but they take an additional first parameter the foreign library wrapper We suggest that you replace vpp43 by accessing the VisaLibrary object under the attribute visalib of the resource manager which provides all foreign functions as bound methods see below No singleton objects The original Py VISA implementation relied on a singleton global objects for the library wrapper named visa_library an instance of the old pyvisa vpp43 VisaLibrary and the resource manager named resource_manager and instance of the old pyvisa visa ResourceManager These were instantiated on import and the user could rebind to a different library using the load_library method Calling this method however did not affect resource_manager and might lead to an inconsistent state 3 2 Migrating from PyVISA lt 1 5 23
114. ed to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e converter callable str function used to convert each value String formatting codes are also accepted Defaults to str 3 6 API 75 PyVISA Documeniation Release 1 6 3 e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Returns number of bytes written Return type int write_raw message Write a byte message to the device Parameters message bytes the message to be sent Returns number of bytes written Return type int write _ termination Writer termination character write_values message values termination None encoding None class pyvisa resources USBInstrument args kwargs Communicates with devices of ty
115. ended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format 90 Chapter 3 More information PyVISA Documeniation Release 1 6 3 The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device converter callable str function used to convert each value String formatting codes are also accepted Defaults to str e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Returns number of bytes written Return
116. ependently of the interface e g GPIB RS232 USB Ethernet As an example reading self identification from a Keithley Multimeter with GPIB number 12 is as easy as three lines of Python code gt gt gt import visa gt gt gt rm visa ResourceManager gt gt gt rm list_resources ASRL1 INSTR ASRL2 INSTR GPIBO 12 INSTR gt gt gt inst rm open_resource GPIB0O 12 INSTR gt gt gt print inst query IDN That s the whole program really It works on Windows Linux and Mac with arbitrary adapters e g National Instruments Agilent Tektronix Stanford Research Systems Contents 1 PyVISA Documeniation Release 1 6 3 2 Contents CHAPTER 1 General overview The programming of measurement instruments can be real pain There are many different protocols sent over many different interfaces and bus systems e g GPIB RS232 USB Ethernet For every programming language you want to use you have to find libraries that support both your device and its bus system In order to ease this unfortunate situation the Virtual Instrument Software Architecture VISA specification was de fined in the middle of the 90ies VISA is a standard for configuring programming and troubleshooting instrumentation systems comprising GPIB VXI PXI Serial Ethernet and or USB interfaces Today VISA is implemented on all significant operating systems A couple of vendor
117. es pyvisa resources TCPIPInstrument ie hod 66 trol GPIBInterf thod sana ee os yea TeOuES meron query_binary_values pyvisa resources TCPIPSocket peek pyvisa highlevel VisaLibraryBase method 44 method 72 peek_160 pyvisa highlevel Visa ibraryBase method query_binary_values pyvisa resources USB Instrument 45 i gt method 80 peek_32 pyvisa highlevel VisaLibraryBase method query_binary_values pyi isafesourcss USB Raw 45 method 87 k_64 isa highlevel Visal ibraryB thoa ue olay 13 peek_64 i ea a query_delay pyvisa resources GPIBInstrument at peek_8 pyvisa highlevel VisaLibraryBase method 45 d ee ne Seriallnstr t i poke pyvisa highlevel VisaLibraryBase method 46 query_detay pyvisa resources SerialInstrumen A tribute 59 148 Index PyVISA Documeniation Release 1 6 3 query_delay pyvisa resources TCPIPInstrument at tribute 66 query_delay pyvisa resources TCPIPSocket attribute 73 query_delay pyvisa resources USBInstrument attribute 80 query_delay pyvisa resources USBRaw attribute 88 query_values pyvisa resources GPIB Instrument method 95 query_values method 59 query_values pyvisa resources TCPIPInstrument method 66 query_values pyvisa resources TCPIPSocket method 73 query_values method 80 query_values pyvisa resources USBRaw method 88 R read pyvisa highlevel VisaLibraryBase method 47 read pyvisa resources GPIBInstrume
118. es pyvisa resources TCPIPInstrument attribute 69 visa_attributes_classes attribute 75 visa_attributes_classes pyvisa resources USBInstrument attribute 83 visa_attributes_classes attribute 90 visa_attributes_classes pyvisa resources VXIBackplane attribute 132 visa_attributes_classes pyvisa resources VXIInstrument attribute 124 visa_attributes_classes pyvisa resources VXIMemory at tribute 129 VisaLibraryBase class in pyvisa highlevel 30 vxi pyvisa constants InterfaceType attribute 133 vxi_command_query pyvisa highlevel VisaLibrary Base method 51 VXIBackplane class in pyvisa resources 129 VXIInstrument class in pyvisa resources 119 VXIMemory class in pyvisa resources 124 pyvisa resources TCPIPSocket pyvisa resources USBRaw Index 153 PyVISA Documeniation Release 1 6 3 W wait_for_srq method 99 wait_on_event method 51 warning_configuration_not_loaded pyvisa constants StatusCode attribute 138 warning_ext_function_not_implemented pyvisa constants StatusCode attribute 138 warning_nonsupported_attribute_state pyvisa constants StatusCode attribute 138 warning_nonsupported_buffer pyvisa constants StatusCode attribute 138 warning_null_object pyvisa constants StatusCode attribute 138 warning _queue_overflow attribute 138 warning_unknown_status attribute 138 write pyvisa highlevel VisaLibraryBase method 52 write pyvisa resources G
119. esources TCPIPSocket pyvisa resources USBInstrument pyvisa resources VXIBackplane Index 151 PyVISA Documeniation Release 1 6 3 set_visa_attribute method 123 set_visa_attribute method 128 shared_lock pyvisa constants AccessModes attribute 132 source_increment pyvisa resources PXIInstrument at tribute 114 source_increment pyvisa resources PXIMemory at tribute 118 source_increment pyvisa resources VXIInstrument at tribute 123 source_increment pyvisa resources VXIMemory at tribute 128 spec_version pyvisa resources FirewireInstrument attribute 109 spec_version pyvisa resources GPIBInstrument at pyvisa resources VXIInstrument pyvisa resources VXIMemory tribute 98 spec_version pyvisa resources GPIBInterface attribute 105 spec_version pyvisa resources PXIInstrument attribute 114 spec_version pyvisa resources PXIMemory attribute 119 spec_version pyvisa resources SerialInstrument at tribute 61 spec_version pyvisa resources TCPIPInstrument at tribute 68 spec_version pyvisa resources TCPIPSocket attribute 74 spec_version pyvisa resources USB Instrument attribute 82 spec_version pyvisa resources USBRaw attribute 89 spec_version pyvisa resources V XIBackplane attribute 131 spec_version pyvisa resources VXIInstrument attribute 124 spec_version pyvisa resources VXIMemory attribute 128 status_description method 48 S
120. ession e trigger_source Source line used in previous map Constants VI_TRIG e trigger_destination Destination line used in previous map Constants VI_TRIG Returns return value of the library call Return type pyvisa constants StatusCode usb_control_in session request_type_bitmap_field request_id request_value index length 0 Performs a USB control pipe transfer from the device Corresponds to viUsbControlIn function of the VISA library Parameters session Unique logical identifier to a session request_type_bitmap_field bmRequestType parameter of the setup stage of a USB con trol transfer request_id bRequest parameter of the setup stage of a USB control transfer request_value wValue parameter of the setup stage of a USB control transfer index wIndex parameter of the setup stage of a USB control transfer This is usually the index of the interface or endpoint length wLength parameter of the setup stage of a USB control transfer This value also specifies the size of the data buffer to receive the data from the optional data stage of the control transfer 50 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns e The data buffer that receives the data from the optional data stage of the control transfer e return value of the library call Return type e bytes e pyvisa constants StatusCode usb_control_out session request_type_bitmap_field request_id
121. ession to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_LATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out 3 6 API 65 PyVISA Documeniation Release 1 6 3 query message delay None A combination of write message and read Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type str query_ascii_values message converter u f separator u lay None Query the device for values in ascii format returning an iterable of values container lt type list gt de Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self que
122. esting your installation That s all You can check that PyVISA is correctly installed by starting up python and creating a ResourceManager gt gt gt import visa gt gt gt rm visa ResourceManager gt gt gt print rm list_resources If you encounter any problem take a look at the Frequently asked questions There you will find the solutions to common problem as well as useful debugging techniques If everything fails feel free to open an issue in our issue tracker 2 1 3 Using the development version You can install the latest development version at your own risk directly form GitHub PyVISA Documeniation Release 1 6 3 pip install U https github com hgrecco pyvisa zipball master Note If you have an old system installation of Python and you don t want to mess with it you can try Anaconda CE It is a free Python distribution by Continuum Analytics that includes many scientific packages 2 2 Configuring the NI backend Note The NI backend requires that you install first the NI VISA library You can get info here V VISA Installation In most cases PyVISA will be able to find the location of the shared visa library If this does not work or you want to use another one you need to provide the library path to the ResourceManager constructor gt gt gt rm ResourceManager Path to library You can make this library the default for all PyVISA applications by using a conf
123. f the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value Returns Data read from bus return value of the library call Return type bytes pyvisa constants StatusCode peek_ 8 session address Read an 8 bit value from the specified address Corresponds to viPeek8 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value Returns Data read from bus return value of the library call 3 6 API 45 PyVISA Documeniation Release 1 6 3 Return type bytes pyvisa constants StatusCode poke session address width data Writes an 8 16 or 32 bit value from the specified address Corresponds to viPoke functions of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value e width Number of bits to read e data Data to be written to the bus Returns return value of the library call Return type pyvisa constants StatusCode poke_16 session address data Write an 16 bit value from the specified address Corresponds to viPoke16 function of the VISA library Parameters e session Unique logical identifier to a session e address Source address to read the value e data value to be written to the bus Returns return value of the library call Return type pyvisa constants StatusCode
124. fset data extended False Write in an 8 bit value from the specified memory space and offset Corresponds to viOut8 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode parse_resource session resource_name Parse a resource string to get the interface information Corresponds to viParseRsrc function of the VISA library Parameters e session Resource Manager session should always be the Default Resource Manager for VISA returned from open_default_resource_manager e resource_name Unique symbolic name of a resource Returns Resource information with interface type and board number return value of the library call Return type pyvisa highlevel ResourcelInfo pyvisa constants StatusCode parse_resource_extended session resource_name Parse a resource string to get extended interface information Corresponds to viParseRsrcEx function of the VISA library Parameters e session Resource Manager session should always be the Default Resource Manager for VISA returned from open_default_resource_manager e resource_name Unique symbolic name of
125. h function of the VISA library Parameters e session Unique logical identifier to a session e mask Specifies the action to be taken with flushing the buffer Constants READ WRITE 1O Returns return value of the library call Return type pyvisa constants StatusCode get_attribute session attribute Retrieves the state of an attribute Corresponds to viGetAttribute function of the VISA library Parameters e session Unique logical identifier to a session event or find list e attribute Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource return value of the library call Return type unicode Py2 or str Py3 list or other type pyvisa constants StatusCode static get_debug_info Override this method to return an iterable of lines with the backend debug details get_last_status_in_session session Last status in session Helper function to be called by resources properties static get_library_ paths Override this method to return an iterable of possible library_paths to try in case that no argument is given gpib_command session data Write GPIB command bytes on the bus Corresponds to viGpibCommand function of the VISA library Parameters e session Unique logical identifier to a session e data bytes data tor write Returns Number of written bytes return value of the library call Return t
126. hare a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters 130 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out classmethod register interface_type resource_class resource _class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource_manufacturer_name VI ATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes
127. his attribute is set to 0 the viMoveInXX operations will always read from the same element essentially treating the source as a FIFO register VISA Attribute VI_ATTR_SRC_INCREMENT 1073676352 3 6 API 123 PyVISA Documeniation Release 1 6 3 Type int Range 0 lt value lt 1 spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VI TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resourc
128. hows examples of address strings 20 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Address String Description ASRL 1 2 3 4 2 IN TR serial device attached to port 2 of the ENET Serial controller at address 1 2 3 4 ASRL1 INSTR A serial device attached to interface ASRL1 GPIB 1 0 INSTR A GPIB device at primary address 1 and secondary address 0 in GPIB interface 0 GPIB2 INTFC Interface or raw board resource for GPIB interface 2 PXI 15 INSTR PXI device number 15 on bus 0 with implied function 0 PXI 2 BACKPLANE Backplane resource for chassis 2 on the default PXI system which is interface 0 PXI CHASSIS 1 SLOPXI device in slot number 3 of the PXI chassis configured as chassis 1 PXIO 2 PXI bus number 2 device 12 with function 1 12 1 INSTR PXI0 MEMACC PXI MEMACC session TCPIP dev company comTUPslPRdevice using VXI 11 or LXI located at the specified address This uses the default LAN Device Name of inst0 TCPIPO 1 2 3 4 9997 FOGKKIP IP access to port 999 at the specified IP address USB 0x1234 125 A2 USB Test amp Measurement class device with manufacturer ID 0x1234 model code 125 Si INSTR and serial number A22 5 This uses the device s first available USBTMC interface This is usually number 0 USB 0x5678 0x33 5MO82w URBAN nclass device with manufacturer ID 0x5678 model code 0x33 and serial number SN999 This uses the device s interface number 1 visa hostnam
129. hunk_size pyvisa resources GPIBInstrument attribute 92 chunk_size pyvisa resources SerialInstrument attribute 56 chunk_size pyvisa resources TCPIPInstrument at tribute 64 chunk_size pyvisa resources TCPIPSocket attribute 70 chunk_size pyvisa resources USBInstrument attribute 76 chunk_size pyvisa resources USBRaw attribute 84 clear pyvisa highlevel VisaLibraryBase method 31 clear pyvisa resources FirewireInstrument method 106 clear pyvisa resources GPIBInstrument method 92 clear pyvisa resources GPIBInterface method 100 clear pyvisa resources PXIInstrument method 110 clear pyvisa resources PXIMemory method 115 clear pyvisa resources SerialInstrument method 56 clear pyvisa resources TCPIPInstrument method 64 clear pyvisa resources TCPIPSocket method 70 clear pyvisa resources USBInstrument method 76 clear pyvisa resources USBRaw method 84 clear pyvisa resources VXIBackplane method 129 clear pyvisa resources V XIInstrument method 120 clear pyvisa resources VXIMemory method 124 close pyvisa highlevel ResourceManager method 53 close pyvisa highlevel VisaLibraryBase method 31 close pyvisa resources FirewireInstrument method 106 close pyvisa resources GPIBInstrument method 92 close pyvisa resources GPIBInterface method 100 close pyvisa resources PXIInstrument method 110 close pyvisa resources PXIMemory method 115 close
130. ibrary call Return type pyvisa constants StatusCode move_asynchronousLy session source_space source_offset source_width destination_space des tination_offset destination_width length Moves a block of data asynchronously Corresponds to viMoveAsync function of the VISA library Parameters 38 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e session Unique logical identifier to a session e source_space Specifies the address space of the source e source_offset Offset of the starting address or register from which to read e source_width Specifies the data width of the source e destination_space Specifies the address space of the destination e destination_offset Offset of the starting address or register to which to write e destination_width Specifies the data width of the destination e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width Returns Job identifier of this asynchronous move operation return value of the library call Return type jobid pyvisa constants StatusCode move_in session space offset length width extended False Moves a block of data to local memory from the specified address space and offset Corresponds to viMoveln functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Consta
131. ibute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol 3 6 API 57 PyVISA Documeniation Release 1 6 3 VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or
132. ica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object issue_warning_on None Set error codes on which to issue a warning set last_status Last return value of the library 36 Chapter 3 More information PyVISA Documeniation Release 1 6 3 lock session lock_type timeout requested_key None Establishes an access mode to the specified resources Corresponds to viLock function of the VISA library Parameters e session Unique logical identifier to a session e lock_type Specifies the type of lock requested either Constants EXCLUSIVE_LOCK or Constants SHARED_LOCK e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error e requested_key This parameter is not used and should be set to VI_LNULL when lock Type is VILEXCLUSIVE_LOCK Returns access_key that can then be passed to other sessions to share the lock return value of the library call Return type str pyvisa constants StatusCode map_address session map_space map_base map_size access False suggested None Maps the specified memory space into the process s address space Corresponds to viMapAddress function of the VISA library Parameters session Unique logical identifier to a session map_space Specifies the address space
133. ied resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore 70 Chapter 3 More information PyVISA Documeniation Release 1 6 3 implementation_version VI_ATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NU
134. ifier e mechanism Specifies event handling mechanisms to be disabled Con stants VI_QUEUE VI_HNDLR VI_SUSPEND_HNDLR context Returns return value of the library call Return type pyvisa constants StatusCode find_next find_list Returns the next resource from the list of resources found during a previous call to find_resources Corresponds to viFindNext function of the VISA library Parameters find_list Describes a find list This parameter must be created by find_resources Returns Returns a string identifying the location of a device return value of the library call Return type unicode Py2 or str Py3 pyvisa constants StatusCode find_resources session query Queries a VISA system to locate the resources associated with a specified interface Corresponds to viFindRsrc function of the VISA library Parameters e session Unique logical identifier to a session unused just to uniform signatures e query A regular expression followed by an optional logical expression Use for all 32 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns find_list return_counter instrument_description return value of the library call Return type ViFindList int unicode Py2 or str Py3 pyvisa constants StatusCode flush session mask Manually flushes the specified buffers associated with formatted I O operations and or serial communica tion Corresponds to viFlus
135. iguration file called pyvisarc mind the leading dot in your home directory Operating System Location Windows NT lt root gt WINNT Profiles lt username gt Windows 2000 XP and 2003 lt root gt Documents and Settings lt username gt Windows Vista 7 or 8 lt root gt Users lt username gt Mac OS X Users lt username gt Linux home lt username gt depends on the distro For example in Windows XP place it in your user folder Documents and Settings folder e g C Documents and Settings smith pyvisarc if smith is the name of your login account This file has the format of an INI file For example if the library is at usr lib libvisa so 7 the file pyvisarc must contain the following Paths VISA library usr lib libvisa so 7 Please note that Paths is treated case sensitively You can define a site wide configuration file at usr share pyvisa pyvisarc It may also be usr local depending on the location of your Python Under Windows this file is usually placed at c Python27 share pyvisa pyvisarc If you encounter any problem take a look at the Frequently asked questions There you will find the solutions to common problem as well as useful debugging techniques If everything fails feel free to open an issue in our issue tracker 2 3 Tutorial Note If you have been using PyVISA before version 1 5 you might want to read Migrating from PyVISA lt 1 5 2 3 1 An exam
136. implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 stb Service request status register timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters 82 Chapter 3 More information PyVISA Documeniation Release 1 6 3 event_type Logical event identifier handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource usb_control_out request_type_bitmap_field request_id request_value index data u Performs a USB control pipe transfer to the device Parameters e request_type_bitmap_field bmRequestType parameter of the setup stage of a USB con trol transfer request_id bRequest parameter of the setup stage of a
137. implementation_version pyvisa resources SerialInstrument interface_number attribute 57 implementation_version pyvisa resources VXIInstrument attribute 120 implementation_version pyvisa resources VXIMemory attribute 125 in_16 pyvisa highlevel VisaLibraryBase method 35 in_32 pyvisa highlevel VisaLibraryBase method 35 in_64 pyvisa highlevel VisaLibraryBase method 35 in_8 pyvisa highlevel VisaLibraryBase method 35 install_handler pyvisa highlevel VisaLibrary Base method 36 install_handler pyvisa resources FirewireInstrument method 106 install_handler pyvisa resources GPIB Instrument method 93 install_handler method 101 install_handler method 111 install_handler pyvisa resources PXIMemory method 116 install_handler method 57 install_handler pyvisa resources TCPIPInstrument method 64 install_handler method 71 install_handler method 77 install_handler pyvisa resources USBRaw method 85 install_handler pyvisa resources VXIBackplane method 130 pyvisa resources GPIBInterface pyvisa resources PXI Instrument pyvisa resources SerialInstrument pyvisa resources TCPIPSocket pyvisa resources USBInstrument pyvisa resources V XIInstrument method 121 pyvisa resources VXIMemory method 125 install_visa_handler pyvisa highlevel VisaLibraryBase method 36 interface_number pyvisa resources FirewireInstrument attribute 107
138. in chunks Each chunk is 20 kilobytes long by default If there s still data to be read PyVISA repeats the procedure and eventually concatenates the results and returns it to you Those 20 kilobytes are large enough so that mostly one read cycle is sufficient The whole thing happens automatically as you can see Normally you needn t worry about it However some devices don t like to send data in chunks So if you have trouble with a certain device and expect data lengths larger than the default chunk length you should increase its value by saying e g my_instrument chunk_size 102400 This example sets it to 100 kilobytes 2 6 3 Termination characters Somehow the computer must detect when the device is finished with sending a message It does so by using different methods depending on the bus system In most cases you don t need to worry about termination characters because the defaults are very good However if you have trouble you may influence termination characters with PyVISA 12 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 Termination characters may be one character or a sequence of characters Whenever this character or sequence occurs in the input stream the read operation is terminated and the read message is given to the calling application The next read operation continues with the input stream immediately after the last termination sequence In PyVISA the termination characters are stripped off
139. ing Resource_class Specifies the resource class for example INSTR of the given resource string Resource_name This is the expanded version of the given resource string The format should be similar to the VISA defined canonical resource name Alias Specifies the user defined alias for the given resource string class pyvisa highlevel ResourceManager VISA Resource Manager Parameters visa_library VisaLibrary Instance path of the VISA library or VisaLibrary spec string if not given the default for the platform will be used close Close the resource manager session last_status Last status code returned for an operation with this Resource Manager Return type pyvisa constants StatusCode list_resources query u INSTR Returns a tuple of all connected devices matching query Parameters query regular expression used to match devices list_resources_info query u INSTR Returns a dictionary mapping resource names to resource extended information of all connected devices matching query Parameters query regular expression used to match devices Returns Mapping of resource name to ResourceInfo Return type dict str pyvisa highlevel ResourcelInfo 3 6 API 53 PyVISA Documeniation Release 1 6 3 open_bare_resource resource_name access_mode lt AccessModes no_lock 0 gt open_timeout 0 Open the specified resource without wrapping into a class Parameters e resou
140. interface_number pyvisa resources GPIBInstrument at tribute 93 pyvisa resources GPIBInterface attribute 102 implementation_version pyvisa resources TCPIPInstrumen Mterface_number pyvisa resources PXIInstrument at attribute 64 implementation_version pyvisa resources TCPIPSocket attribute 70 implementation_version pyvisa resources USBInstrument attribute 77 implementation_version pyvisa resources USBRaw at tribute 85 implementation_version pyvisa resources VXIBackplane attribute 129 tribute 111 interface_number pyvisa resources PXIMemory tribute 116 interface_number pyvisa resources SerialInstrument at tribute 57 interface_number pyvisa resources TCPIPInstrument at tribute 65 interface_number pyvisa resources TCPIPSocket tribute 71 at at Index 145 PyVISA Documeniation Release 1 6 3 interface_number pyvisa resources USBInstrument at tribute 78 interface_number pyvisa resources USBRaw attribute 85 interface_number pyvisa resources VXIBackplane at tribute 130 interface_number pyvisa resources VXIInstrument at tribute 121 interface_number pyvisa resources VXIMemory at tribute 125 interface_type pyvisa resources FirewireInstrument at tribute 107 interface_type pyvisa resources GPIBInstrument at tribute 93 interface_type pyvisa resources GPIBInterface at tribute 102 interface_type pyvisa resources PXIInstrument at t
141. invalid error_invalid_protocol None The protocol specified is invalid error_invalid_resource_name None Invalid resource reference specified Parsing error error_invalid_setup None Unable to start operation because setup is invalid due to inconsistent state of properties error_invalid_size None Invalid size of window specified error_invalid_width None Invalid source or destination width specified error_io None Could not perform operation because of I O error error_library_not_found None A code library required by VISA could not be located or loaded error_line_in_use None The specified trigger line is currently in use error_machine_not_available None The remote machine does not exist or is not accepting any connections error_memory_ not_shared None The device does not export any memory error_no_listeners None No listeners condition is detected both NRFD and NDAC are deasserted 3 6 API 135 PyVISA Documentation Release 1 6 3 error_no_permission None Access to the remote machine is denied error_nonimplemented_operation None The specified operation is unimplemented error_nonsupported_attribute None The specified attribute is not defined or supported by the referenced session event or find list error_nonsupported_attribute_state None The specified state of the attribute is not valid or is not supported as defined by the session event or find list e
142. ion resource_name access_mode lt AccessModes no_lock 0 gt open_timeout 0 Opens a session to the specified resource Corresponds to viOpen function of the VISA library Parameters e session Resource Manager session should always be a session returned from open_default_resource_manager e resource_name Unique symbolic name of a resource e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed 42 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e open_timeout Specifies the maximum time period in milliseconds that this operation waits before returning an error Returns Unique logical identifier reference to a session return value of the library call Return type session pyvisa constants StatusCode open_default_resource_manager This function returns a session to the Default Resource Manager resource Corresponds to viOpenDefaultRM function of the VISA library Returns Unique logical identifier to a Default Resource Manager session return value of the library call Return type session pyvisa constants StatusCode out_16 session space offset data extended False Write in an 16 bit value from the specified memory space and offset Corresponds to viOut16 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset
143. ion that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVILATTR_DEST_INCREMENT gt lt class pyvisa attrib write_memory space offset data width extended False Write in an 8 bit 16 bit 32 bit value to the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e width Number of bits to read e extended Use 64 bits offset independent of the platform Corresponds to viOut functions of the visa library class pyvisa resources VXIInstrument resource_manager resource_name Communicates with to devices of type VXI VXI logical address INSTR More complex resource names can be specified with the following grammar VXI board VXI logical ad dress INSTR 3 6 API 119 PyVISA Documeniation Release 1 6 3 Do not instantiate directly use pyvisa highlevel ResourceManager open_resource allow_dma This attribute specifies whether I O accesses should use DMA VI_TRUE or Programmed I O VI_FALSE In some implementations this attribute may have global effects even though it is documented to be a local attribute Since this affects performance and not functionality that behavior is acceptable
144. iquely in a session for an event Returns return value of the library call Return type pyvisa constants StatusCode uninstall_visa_handler session event_type handler user_handle None Uninstalls handlers for events Parameters e session Unique logical identifier to a session e event_type Logical event identifier 3 6 API 49 PyVISA Documentation Release 1 6 3 e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock session Relinquishes a lock for the specified resource Corresponds to viUnlock function of the VISA library Parameters session Unique logical identifier to a session Returns return value of the library call Return type pyvisa constants StatusCode unmap_address session Unmaps memory space previously mapped by map_address Corresponds to viUnmapAddress function of the VISA library Parameters session Unique logical identifier to a session Returns return value of the library call Return type pyvisa constants StatusCode unmap_trigger session trigger_source trigger_destination Undo a previous map from the specified trigger source line to the specified destination line Corresponds to viUnmapTrigger function of the VISA library Parameters e session Unique logical identifier to a s
145. is attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 secondary address VI_ATTR_GPIB_SECONDARY_ADDR specifies the secondary address of the GPIB device used by the given session For the GPIB INTFC Resource this attribute is Read Write VISA Attribute VI_ATTR_GPIB_SECONDARY_ADDR 1073676659 Type int Range 0 lt value lt 30 or in 65535 send_command data Write GPIB command bytes on the bus Corresponds to viGpibCommand function of the VISA library Parameters data bytes data tor write 104 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Returns Number of written bytes return value of the library call Return type int VISAStatus send_end VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffe
146. istribution by Continuum Analytics that includes many scientific packages 3 3 3 Contributing to an existing backend Backends are the central piece of PyVISA as they provide the low level communication over the different interfaces There a couple of backends in the wild which can use your help Look them up in PyPI try pyvisa in the search box and see where you can help 3 3 4 Contributing a new backend If you think there is a new way that low level communication can be achieved go for it You can use any of the existing backends as a template or start a thread in the issue tracker and we will be happy to help you 3 4 Frequently asked questions 3 4 1 Is PyVISA endorsed by National Instruments No PyVISA is developed independently of National Instrument as a wrapper for the VISA library 3 4 2 Who makes PyVISA PyVISA was originally programmed by Torsten Bronger and Gregor Thalhammer It is based on earlier experiences by Thalhammer It was maintained from March 2012 to August 2013 by Florian Bauer It is currently maintained by Hernan E Grecco lt hernan grecco gmail com gt Take a look at AUTHORS for more information 3 4 3 Is PyVISA thread safe Yes PyVISA is thread safe starting from version 1 6 26 Chapter 3 More information PyVISA Documeniation Release 1 6 3 3 4 4 have an error in my program and I am having trouble to fix it PyVISA provides useful logs of all operations Add the following comm
147. ith the bus type followed by a double colon followed by the number within the bus For example GPIB 10 denotes the GPIB instrument with the number 10 If you have two GPIB boards and the instrument is connected to board number 1 you must write GPIB1 10 As for the bus things like GPIB USB ASRL for serial parallel interface are possible So for connecting to an instrument at COM2 the resource name is ASRL2 Since only one instrument can be connected with one serial interface there is no double colon parameter However most VISA systems allow aliases such as COM2 or LPT1 You may also add your own aliases The resource name is case insensitive It doesn t matter whether you say ASRL2 or asrl2 For further information I have to refer you to a comprehensive VISA description like http www ni com pdf manuals 370423a pdf 3 1 1 VISA Resource Syntax and Examples This is adapted from the VISA manual The following table shows the grammar for the address string Optional string segments are shown in square brackets D 19 PyVISA Documeniation Release 1 6 3 Interface Syntax ENET Serial ASRL 0 host address serial port INSTR INSTR GPIB INSTR GPIB board primary address secondary address INSTR GPIB INTFC GPIB board INTFC PXI BACKPLANE PXI interface chassis number BACKPLANE PXI INSTR PXI bus device function INSTR PX
148. its as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 3 6 API 61 PyVISA Documentation Release 1 6 3 stb Service request status register stop_bits VI_ATTR_ASRL_STOP_BITS is the number of stop bits used to indicate the end of a frame The value VI_ASRL_STOP_ONES indicates one and one half 1 5 stop bits VISA Attribute VI_ATTR_ASRL_STOP_BITS 1073676324 Type class pyvisa constants StopBits timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource values _format visa_attributes_classes lt class pyvisa attributes AttrVI ATTR_ASRL_CTS_STATE gt lt class pyvisa attribut write message termination None encoding None
149. its offset independent of the platform Returns Data read from memory return value of the library call Return type int pyvisa constants StatusCode in_32 session space offset extended False Reads in an 32 bit value from the specified memory space and offset Corresponds to viln32 function of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e extended Use 64 bits offset independent of the platform Returns Data read from memory return value of the library call Return type int pyvisa constants StatusCode in_64 session space offset extended False Reads in an 64 bit value from the specified memory space and offset Corresponds to viln64 function of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e extended Use 64 bits offset independent of the platform Returns Data read from memory return value of the library call Return type int pyvisa constants StatusCode 3 6 API 35 PyVISA Documeniation Release 1 6 3 in_8 session space offset extended False Reads in an 8 bit value from the specified memory space and offset Corresponds to viln8 function of the V
150. l identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e extended Use 64 bits offset independent of the platform Returns Data read from the bus return value of the library call Return type list pyvisa constants StatusCode 40 Chapter 3 More information PyVISA Documeniation Release 1 6 3 move_out session space offset length data width extended False Moves a block of data from local memory to the specified address space and offset Corresponds to viMoveOut functions of the VISA library Parameters e session Unique logical identifier to a session space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width data Data to write to bus width Number of bits to read per element extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode move_out_16 session space offset length data extended False Moves an 16 bit block of data from local memory to the specified add
151. lease 1 6 3 Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes manufacturer_id VL ATTR_ MANE ID is the manufacturer identification number of the device VISA Attribute VI_ATTR_MANF_ID 1073676505 Type int Range 0 lt value lt 65535 manufacturer name This string attribute is the manufacturer name VISA Attribute VI_ATTR_MANF_NAME 3221160050 model_code VI_ATTR_MODEL_CODE specifies the model code for the device VISA Attribute VI_ATTR_MODEL_CODE 1073676511 Type int Range 0 lt value lt 65535 model_name This string attribute is the model name of the device VISA Attribute VI_ATTR_MODEL_NAME 3221160055 move_in space offset length width extended False Moves a block of data to local memory from the specified address space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e width Number of bits to read per element e extended
152. level VisaLibraryBase method 36 lock pyvisa resources FirewireInstrument method 107 lock pyvisa resources GPIBInstrument method 94 lock pyvisa resources GPIB Interface method 102 lock pyvisa resources PXIInstrument method 111 lock pyvisa resources PXIMemory method 116 lock pyvisa resources SerialInstrument method 58 attribute 146 Index PyVISA Documeniation Release 1 6 3 lock pyvisa resources TCPIPInstrument method 65 lock pyvisa resources TCPIPSocket method 71 lock pyvisa resources USBInstrument method 78 lock pyvisa resources USBRaw method 86 lock pyvisa resources V XIBackplane method 130 lock pyvisa resources V XIInstrument method 121 lock pyvisa resources VXIMemory method 126 lock_state pyvisa resources FirewireInstrument at tribute 107 lock_state pyvisa resources GPIBInstrument attribute 94 lock_state pyvisa resources GPIBInterface attribute 103 lock_state pyvisa resources PXIInstrument attribute 112 lock_state pyvisa resources PXIMemory attribute 116 lock_state pyvisa resources SerialInstrument attribute 58 lock_state pyvisa resources TCPIPInstrument attribute 65 lock_state pyvisa resources TCPIPSocket attribute 72 lock_state pyvisa resources USBInstrument attribute 78 lock_state pyvisa resources USBRaw attribute 86 lock_state pyvisa resources VXIBackplane attribute 130 lock_state pyvis
153. ln functions of the visa library classmethod register interface_type resource_class resource class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource _manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name 3 6 API 113 PyVISA Documentation Release 1 6 3 VIATTR_RSRC_MANF_ NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if sessio
154. meniation Release 1 6 3 If you were using printf queryf scanf sprintf or sscanf of vpp43 rewrite as pure Python code see below If you were using Jnstrument delay change your code or use Instrument query_delay see below A few alias has been created to ease the transition e ask gt query e ask_delay gt query_delay e get_instrument gt open_resource 3 2 2 A more detailed description Dropped support for string related functions The VISA library includes functions to search and manipulate strings such as printf queryf scanf sprintf and sscanf This makes sense as VISA involves a lot of string handling operations The original PyVISA implementation wrapped these functions But these operations are easily expressed in pure python and therefore were rarely used PyVISA 1 5 keeps these functions for backwards compatibility but they are removed in 1 6 We suggest that you replace such functions by a pure Python version Isolated low level wrapping module In the original PyVISA implementation the low level implementation vpp43 was mixed with higher level constructs The VISA library was wrapped using ctypes In 1 5 we refactored it as ctwrapper This allows us to test the foreign function calls by isolating them from higher level abstractions More importantly it also allows us to build new low level modules that can be used as drop in replacements for ctwrapper in high level modules In 1 6 we made the Resourc
155. mmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 secondary address VI_ATTR_GPIB_SECONDARY_ADDR specifies the secondary address of the GPIB device used by the given session For the GPIB INTFC Resource this attribute is Read Write VISA Attribute VI_ATTR_GPIB_SECONDARY_ADDR 1073676659 Type int Range 0 lt value lt 30 or in 65535 send_command data Write GPIB command bytes on the bus Corresponds to viGpibCommand function of the VISA library Parameters data bytes data tor write Returns Number of written bytes return value of the library call Return type int VISAStatus send_end 3 6 API 97 PyVISA Documentation Release 1 6 3 VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffer VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool send_ifc Pulse the interface clear line IFC for at least 100 microseconds Corresponds to viGpibSendIFC function of the VISA library Returns return value of the library call Return type VISAStatus session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_versi
156. n attribute 132 O open pyvisa highlevel VisaLibraryBase method 42 open pyvisa resources FirewireInstrument method 108 open pyvisa resources GPIBInstrument method 94 open pyvisa resources GPIBInterface method 103 open pyvisa resources PXIInstrument method 113 open pyvisa resources PXIMemory method 117 open pyvisa resources SerialInstrument method 58 open pyvisa resources TCPIPInstrument method 65 open pyvisa resources TCPIPSocket method 72 open pyvisa resources USBInstrument method 79 open pyvisa resources USBRaw method 87 open pyvisa resources VXIBackplane method 130 open pyvisa resources VXIInstrument method 122 open pyvisa resources VXIMemory method 127 open_bare_resource pyvisa highlevel ResourceManager method 53 open_default_resource_manager pyvisa highlevel VisaLibraryBase method 43 poke_16 pyvisa highlevel VisaLibraryBase method 46 poke_32 pyvisa highlevel VisaLibraryBase method 46 poke_64 pyvisa highlevel VisaLibraryBase method 46 poke_8 pyvisa highlevel VisaLibraryBase method 47 primary_address pyvisa resources GPIBInstrument at tribute 94 primary_address pyvisa resources GPIBInterface at tribute 103 protocol4882_strs pyvisa constants IOProtocol at tribute 133 pxi pyvisa constants InterfaceType attribute 133 PXIInstrument class in pyvisa resources 110 PXIMemory class in pyvisa resources
157. n is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object source_increment VI ATTR_SRC_INCREMENT is used in the viMoveInXX operations to specify by how many ele ments the source offset is to be incremented after every transfer The default value of this attribute is 1 that is the source address will be incremented by after each transfer and the viMoveInXX operations move from consecutive elements If this attribute is set to 0 the viMoveInXX operations will always read from the same element essentially treating the source as a FIFO register VISA Attribute VI_ATTR_SRC_INCREMENT 1073676352 Type int Range 0 lt value lt 1 spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is ma
158. ng warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you
159. nge 5 lt value lt 8 discard_null If set to VI_TRUE NUL characters are discarded Otherwise they are treated as normal data char acters For binary transfers set this attribute to VI_FALSE VISA Attribute VI_ATTR_ASRL_DISCARD_NULL 1073676464 Type bool encoding Encoding used for read and write operations end_input VIATTR_ASRL_END_IN indicates the method used to terminate read operations VISA Attribute VI_ATTR_ASRL_END_IN 1073676467 56 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Type class pyvisa constants SerialTermination flush mask Manually clears the specified buffers and cause the buffer data to be written to the device Parameters mask Specifies the action to be taken with flushing the buffer Con stants READ WRITE 10 get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attr
160. not functionality that behavior is acceptable VISA Attribute VI_LATTR_DMA_ALLOW_EN 1073676318 Type bool assert_trigger Sends a software trigger to the device atn_state This attribute shows the current state of the GPIB ATN ATtentioN interface line VISA Attribute VI_ATTR_GPIB_ATN_STATE 1073676375 Type class pyvisa constants LineState before_close Called just before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid 100 Chapter 3 More information PyVISA Documeniation Release 1 6 3 control_atn mode Specifies the state of the ATN line and the local active controller state Corresponds to viGpibControlATN function of the VISA library Parameters mode Specifies the state of the ATN line and optionally the local active controller state Constants GPIB_ATN Returns return value of the library call Return type VISAStatus control_ren mode Controls the state of the GPIB Remote Enable REN interface line and optionally the remote local state of the device Corresponds to viGpibControlREN function of the VISA library Parameters mode Specifies the state of the REN line and optionally the device remote local state Constants GPIB_REN Returns return value of the library call Return type VISAStatus get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Reso
161. nt method 96 read pyvisa resources SerialInstrument method 59 read pyvisa resources TCPIPInstrument method 67 read pyvisa resources TCPIPSocket method 73 read pyvisa resources USBInstrument method 80 read pyvisa resources USBRaw method 88 read_asynchronously pyvisa highlevel VisaLibraryBase method 47 read_memory method 47 read_memory pyvisa resources FirewireInstrument method 108 read_memory method 113 read_memory pyvisa resources PXIMemory method 117 read_memory pyvisa resources VXIMemory method 127 read_raw pyvisa resources GPIBInstrument method 96 read_raw pyvisa resources SerialInstrument method 60 read_raw pyvisa resources TCPIPInstrument method 67 read_raw pyvisa resources TCPIPSocket method 73 read_raw pyvisa resources USBInstrument method pyvisa resources SerialInstrument pyvisa resources USBInstrument pyvisa highlevel VisaLibrary Base pyvisa resources PXIInstrument read_stb pyvisa resources Seriallnstrument method 60 read_stb pyvisa resources TCPIPInstrument method 67 read_stb pyvisa resources TCPIPSocket method 73 read_stb pyvisa resources USBInstrument method 81 read_stb pyvisa resources USBRaw method 88 read_termination pyvisa resources GPIBInstrument at tribute 96 read_termination pyvisa resources SerialInstrument at tribute 60 read_termination pyvisa resources TCPIPInst
162. ntainer lt type list gt de lay None header_fmt w ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations if None defaults to self query_delay Return type bytes query delay 0 0 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type list read termination None encoding None Read a string from the device Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really 80 Chapter 3 More information PyVISA Documeniation Release 1 6 3 used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued All line ending characters are strippe
163. nts SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e width Number of bits to read per element e extended Use 64 bits offset independent of the platform Returns Data read from the bus return value of the library call Return type list pyvisa constants StatusCode move_in_16 session space offset length extended False Moves an 16 bit block of data from the specified address space and offset to local memory Corresponds to viMoveln16 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e extended Use 64 bits offset independent of the platform Returns Data read from the bus return value of the library call Return type list pyvisa constants StatusCode 3 6 API 39 PyVISA Documeniation Release 1 6 3 move_in_32 session space offset length extended False Moves an 32 bit block of data from the specified address space and offset to local memory Corresponds to viMoveln32 functions of the VISA library Parameters e sessi
164. nts InterfaceType attribute 133 TCPIPInstrument class in pyvisa resources 63 TCPIPSocket class in pyvisa resources 70 terminate pyvisa highlevel VisaLibraryBase method 49 termination_break pyvisa constants SerialTermination attribute 132 termination_char pyvisa constants SerialTermination at tribute 133 timeout pyvisa resources FirewireInstrument attribute 109 timeout pyvisa resources GPIBInstrument attribute 98 timeout pyvisa resources GPIBInterface attribute 105 timeout pyvisa resources PXIInstrument attribute 114 timeout pyvisa resources PXIMemory attribute 119 timeout pyvisa resources SerialInstrument attribute 62 timeout pyvisa resources TCPIPInstrument attribute 68 timeout pyvisa resources TCPIPSocket attribute 75 timeout pyvisa resources USB Instrument attribute 82 timeout pyvisa resources USBRaw attribute 90 timeout pyvisa resources VXIBackplane attribute 132 timeout pyvisa resources VXIInstrument attribute 124 timeout pyvisa resources VXIMemory attribute 128 U uninstall_handler method 49 uninstall_handler pyvisa resources FirewireInstrument method 109 pyvisa highlevel VisaLibraryBase 152 Index PyVISA Documeniation Release 1 6 3 uninstall_handler method 98 uninstall_handler method 105 uninstall_handler method 114 uninstall_handler method 119 uninstall_handler pyvisa resources SerialInstrument
165. o be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VILTMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_VXI_VME_SYSFAIL_STATE gt lt class pyvi 3 6 4 Constants module Provides user friendly naming to values used in different functions class pyvisa constants AccessModes exclusive_lock None Obtains a exclusive lock on the VISA resource no_lock None Does not obtain any lock on the VISA resource shared_lock None Obtains a lock on the VISA resouce which may be shared between multiple VISA sessions class pyvisa constants StopBits The number of stop bits that indicate the end of a frame class pyvisa constants Parity The parity types to use with every frame transmitted and received on a serial session class pyvisa
166. on Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e extended Use 64 bits offset independent of the platform Returns Data read from the bus return value of the library call Return type list pyvisa constants StatusCode move_in_64 session space offset length extended False Moves an 64 bit block of data from the specified address space and offset to local memory Corresponds to viMoveln64 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e extended Use 64 bits offset independent of the platform Returns Data read from the bus return value of the library call Return type list pyvisa constants StatusCode move_in_8 session space offset length extended False Moves an 8 bit block of data from the specified address space and offset to local memory Corresponds to viMoveln8 functions of the VISA library Parameters e session Unique logica
167. on VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 stb Service request status register timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VI TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event 98 Chapter 3 More information PyVISA Documeniation Release 1 6 3 unlock Relinquishes a lock for the specified resource values_format visa_attributes_classes lt class pyvisa attributes AttrVIATTR_GPIB_PRIMARY_ADDR gt lt class pyvisa at wait_for_srq timeout 25000 Wait for a serial request S
168. onal data stage of the control transfer Return type bytes encoding Encoding used for read and write operations get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion 3 6 API 77
169. operations will always write to the same element essentially treating the destination as a FIFO register VISA Attribute VI_ATTR_DEST_INCREMENT 1073676353 Type int Range 0 lt value lt 1 get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference
170. ory space offset width extended False Reads in an 8 bit 16 bit 32 bit or 64 bit value from the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns Data read from memory Corresponds to viln functions of the visa library classmethod register interface_type resource_class resource class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource _manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name 3 6 API 127 PyVISA Documentation Release 1 6 3 VIATTR_RSRC_MANF_ NAME is a string that corresponds to the
171. ot invoke any other handlers on this session for this event success_queue_already_empty None Operation completed successfully but the queue was already empty success_queue_not_empty None Wait terminated successfully on receipt of an event notification There is still at least one more event occurrence of the requested type s available for this session success_syncronous None Asynchronous operation request was performed synchronously success_termination_character_read None The specified termination character was read success_trigger_already_mapped None The path from the trigger source line trigSrc to the destination line trigDest is already mapped warning _configuration_not_loaded None The specified configuration either does not exist or could not be loaded The VISA specified defaults are used warning _ext_function_not_implemented None The operation succeeded but a lower level driver did not implement the extended functionality warning _nonsupported_attribute_state None Although the specified state of the attribute is valid it is not supported by this resource implementation warning _nonsupported_buffer None The specified buffer is not supported warning _null_object None The specified object reference is uninitialized warning _queue_overflow None VISA received more event information of the specified type than the configured queue size could hold warning _unknown_status None The statu
172. pe USB manufacturer ID model code serial number More complex resource names can be specified with the following grammar USB board manufacturer ID model code serial number USB interface number INSTR Do not instantiate directly use pyvisa highlevel ResourceManager open_resource CR u r LF w n assert_trigger Sends a software trigger to the device before_close Called just before closing an instrument chunk_size 20480 clear Clears this resource close Closes the VISA session and marks the handle as invalid 76 Chapter 3 More information PyVISA Documeniation Release 1 6 3 control_in request_type_bitmap_field request_id request_value index length 0 Performs a USB control pipe transfer from the device Parameters e request_type_bitmap_field bmRequestType parameter of the setup stage of a USB con trol transfer request_id bRequest parameter of the setup stage of a USB control transfer request_value wValue parameter of the setup stage of a USB control transfer index wIndex parameter of the setup stage of a USB control transfer This is usually the index of the interface or endpoint length wLength parameter of the setup stage of a USB control transfer This value also specifies the size of the data buffer to receive the data from the optional data stage of the control transfer Returns The data buffer that receives the data from the opti
173. per 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version 3 6 API 129 PyVISA Documeniation Release 1 6 3 VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to s
174. ple Let s go in medias res and have a look at a simple example 6 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 gt gt gt import visa gt gt gt rm visa ResourceManager gt gt gt rm list_resources 7ASRL1 INSTR ASRL2 INSTR GPIBO 14 INSTR gt gt gt my_instrument rm open_resource GPIBO 14 INSTR gt gt gt print my_instrument query IDN This example already shows the two main design goals of PyVISA preferring simplicity over generality and doing it the object oriented way After importing visa we create a ResourceManager object If called without arguments PyVISA will use the default backend NI which tries to find the VISA shared library for you You can check the location of the shared library used simply by gt gt gt print rm lt ResourceManager path to visa so gt Note In some cases PyVISA is not able to find the library for you resulting in an OSError To fix it find the library path yourself and pass it to the ResourceManager constructor You can also specify it in a configuration file as discussed in Configuring the NI backend Once that you have a ResourceManager you can list the available resources using the list_resources method The output is a tuple listing the VISA resource names In this case there is a GPIB instrument with instrument number 14 so you ask the ResourceManager to open GPIBO
175. pped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier 114 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an application that can be used for identifying handlers uniquely in a session for an event unlock Relinquishes a lock for the specified resource visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_DEST_INCREMENT gt lt class pyvisa attrib write_memory space offset data width extended False Write in an 8 bit 16 bit 32 bit value to the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e width Number of bits to read e extended Use 64 bits offset independent of the platform Corresponds to viOut functions of the visa library class pyvisa resources PXIMemory resource_manager resource_name Communicates with to devices of type PXI interface MEMACC Do not instantiate directly use pyvisa highlevel ResourceManager open_resource before_close Called ju
176. pper to the VISA library More specifically it was ct ypes wrapper around the NI VISA This approach worked fine but made it difficult to develop other ways to communicate with instruments in platforms where NI VISA was not available Users had to change they programs to use other packages with different API Since 1 6 PyVISA is a frontend to VISA It provides a nice Pythonic API and can connect to multiple backends Each backend exposes a class derived from VisaLibraryBase that implements the low level communication The ctypes wrapper around NI VISA is the default backend called ni and is bundled with PyVISA for simplicity You can specify the backend to use when you instantiate the resource manager using the symbol Remembering that ni is the default this gt gt gt import visa gt gt gt rm visa ResourceManager is the same as this gt gt gt import visa gt gt gt rm visa ResourceManager ni You can still provide the path to the library if needed 2 7 A frontend for multiple backends 13 PyVISA Documeniation Release 1 6 3 gt gt gt import visa gt gt gt rm visa ResourceManager path to lib ni Under the hood the ResourceManager looks for the requested backend and instantiate the VISA library that it pro vides PyVISA locates backends by name If you do gt gt gt import visa gt gt gt rm visa ResourceManager somename PyVISA will try to import a p
177. protocol_violation pyvisa constants StatusCode attribute 134 error_interface_number_not_configured pyvisa constants StatusCode attribute 134 error_interrupt_pending pyvisa constants StatusCode at tribute 134 error_invalid_access_key attribute 134 error_invalid_access_mode pyvisa constants StatusCode attribute 134 error_invalid_address_space pyvisa constants StatusCode attribute 134 error_invalid_context pyvisa constants StatusCode at tribute 134 error_invalid_degree attribute 134 error_invalid_event pyvisa constants StatusCode at tribute 134 error_invalid_expression attribute 134 error_invalid_ format attribute 134 error_invalid_handler_reference pyvisa constants StatusCode attribute 134 error_invalid_job_i_d pyvisa constants StatusCode at tribute 134 error_invalid_length attribute 135 error_invalid_line pyvisa constants StatusCode at tribute 135 error_invalid_lock_type pyvisa constants StatusCode at tribute 135 error_invalid_mask tribute 135 error_invalid_mechanism attribute 135 error_invalid_mode pyvisa constants StatusCode at tribute 135 error_invalid_object attribute 135 error_invalid_offset pyvisa constants StatusCode at tribute 135 error_invalid_parameter pyvisa constants StatusCode at tribute 135 error_invalid_protocol pyvisa constants StatusCode at tribute 135 error_invalid_resource_name pyvisa constants StatusCode attribute 135 pyvisa constant
178. r VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool send_ifc Pulse the interface clear line IFC for at least 100 microseconds Corresponds to viGpibSendIFC function of the VISA library Returns return value of the library call Return type VISAStatus session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object spec_version VI_ATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier
179. r numpy array In container you can have any callable type that takes an iterable Some devices transfer data in ASCII but not as decimal numbers but rather hex or oct Or you might want to receive an array of strings In that case you can specify a converter For example if you expect to receive integers as hex gt gt gt values inst query_ascii_values CURV converter x converter can be one of the Python string formatting codes But you can also specify a callable that takes a single argument if needed The default converter is f Finally some devices might return the values separated in an uncommon way For example if the returned values are separated by a you can do the following call gt gt gt values inst query_ascii_values CURV separator S You can provide a function to takes a string and returns an iterable Default value for the separator is comma 8 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 2 4 2 Reading binary values If your oscilloscope open in the variable inst has been configured to transfer data in BINARY when the CURV command is issued you need to know which type datatype e g uint8 int8 single double etc is being used Py VISA use the same naming convention as the struct module You also need to know the endianness PyVISA assumes little endian as default If you have doubles d in big endian the call will be gt gt gt
180. raryBase method 30 pyvisa highlevel VisaLibrary Base pyvisa resources GPIB Instrument pyvisa resources GPIBInterface pyvisa resources USBInstrument atn_state pyvisa resources GPIBInterface attribute 100 B baud_rate pyvisa resources SerialInstrument attribute 55 before_close pyvisa resources FirewireInstrument method 106 before_close pyvisa resources GPIB Instrument method 92 before_close pyvisa resources GPIBInterface method 100 before_close pyvisa resources PXIInstrument method 110 before_close pyvisa resources PXIMemory method 115 before_close method 55 before_close pyvisa resources TCPIPInstrument method 64 before_close pyvisa resources TCPIPSocket method 70 pyvisa resources SerialInstrument pyvisa resources USBInstrument method 76 before_close pyvisa resources USBRaw method 84 before_close pyvisa resources VXIBackplane method 129 before_close method 120 before_close pyvisa resources VXIMemory method 124 break_length pyvisa resources SerialInstrument at tribute 55 break_state pyvisa resources SerialInstrument attribute 56 buffer_read method 31 buffer_write method 31 bytes_in_buffer pyvisa resources SerialInstrument at tribute 56 pyvisa resources VXInstrument pyvisa highlevel VisaLibrary Base pyvisa highlevel VisaLibrary Base 141 PyVISA Documeniation Release 1 6 3 C c
181. rce address will be incremented by 1 after each transfer and the viMoveInXX operations move from consecutive elements If this attribute is set to 0 the viMoveInXX operations will always read from the same element essentially treating the source as a FIFO register 118 Chapter 3 More information PyVISA Documeniation Release 1 6 3 VISA Attribute VI_ATTR_SRC_INCREMENT 1073676352 Type int Range 0 lt value lt 1 spec_version VIATTR_RSRC_SPEC_VERSION is the resource version that uniquely identifies the version of the VISA specification to which the implementation is compliant The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version The current VISA specification defines the value to be 00300000h VISA Attribute VI_LATTR_RSRC_SPEC_VERSION 1073676656 Type int Range 0 lt value lt 4294967295 timeout The timeout in milliseconds for all resource I O operations None is mapped to VILTMO_INFINITE A value less than 1 is mapped to VIL TMO_IMMEDIATE uninstall_handler event_type handler user_handle None Uninstalls handlers for events in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be uninstalled by a client appli cation e user_handle A value specified by an applicat
182. rce_name name or alias of the resource to open e access_mode pyvisa constants AccessModes access mode open_timeout time out to open Returns Unique logical identifier reference to a session open_resource resource_name access_mode lt AccessModes no_lock 0 gt open_timeout 0 kwargs Return an instrument for the resource name Parameters e resource_name name or alias of the resource to open e access_mode pyvisa constants AccessModes access mode e open_timeout time out to open e kwargs keyword arguments to be used to change instrument attributes after construction Return type pyvisa resources Resourc resource_info resource_name Get the extended information of a particular resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo session Resource Manager session handle Raises pyvisa errors InvalidSession if session is closed 3 6 3 Resource classes Resources are high level abstractions to managing specific sessions An instance of one of these classes is returned by the open_resource depending on the resource type SerialInstrument TCPIPInstrument TCPIPSocket lt USBInstrument e USBRaw GPIBInstrument e GPIBInterface e FirewireInstrument PXIInstrument e PXIInstrument 54 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e vXI Instrument e VXIMemory
183. ress space and offset Corresponds to viMoveOut16 functions of the VISA library Parameters e session Unique logical identifier to a session space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width data Data to write to bus extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode move_out_32 session space offset length data extended False Moves an 32 bit block of data from local memory to the specified address space and offset Corresponds to viMoveOut32 functions of the VISA library Parameters e session Unique logical identifier to a session space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width data Data to write to bus extended Use 64 bits offset independent of the platform 3 6 API 41 PyVISA Documeniation Release 1 6 3 Returns return value of the library call Return type pyvisa constants StatusCode move_out_64 session space offset length data extended False Move
184. ribute 111 interface_type pyvisa resources PXIMemory attribute 116 interface_type pyvisa resources Seriallnstrument at tribute 57 interface_type pyvisa resources TCPIPInstrument attribute 65 interface_type pyvisa resources TCPIPSocket attribute 71 interface_type pyvisa resources USBInstrument at tribute 78 interface_type pyvisa resources USBRaw attribute 85 interface_type pyvisa resources VXIBackplane at tribute 130 interface_type pyvisa resources VXIInstrument at tribute 121 interface_type pyvisa resources VXIMemory attribute 126 InterfaceType class in pyvisa constants 133 io_protocol pyvisa resources GPIBInstrument attribute 93 io_protocol pyvisa resources GPIBInterface attribute 102 io_protocol pyvisa resources SerialInstrument attribute 57 i0_protocol pyvisa resources TCPIPSocket attribute 71 io_protocol pyvisa resources USBInstrument attribute 78 io_protocol pyvisa resources USBRaw attribute 85 io_protocol pyvisa resources VXIInstrument attribute 121 1OProtocol class in pyvisa constants 133 is_4882_compliant pyvisa resources USBInstrument at tribute 78 is_4882_compliant pyvisa resources VXIInstrument at tribute 121 is_controller_in_charge pyvisa resources GPIBInterface attribute 102 is_system_controller pyvisa resources GPIB Interface at tribute 102 issue_warning_on pyvisa highlevel VisaLibraryBase at tribute 36 L l
185. rning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_LATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes manufacturer_id VIL ATTR_ MANE ID is the manufacturer identification number of the device VISA Attribute VI_ATTR_MANF_ID 1073676505 Type int Range 0 lt value lt 65535 manufacturer name This string attribute is the manufacturer name VISA Attribute VI_ATTR_MANF_NAME 3221160050 maximum_interrupt_size VIATTR_USB_MAX_INTR_SIZE specifies the maximum size of data that will be stored by any given USB interrupt If a USB interrupt contains more data than this size the data in excess of this size will be lost VISA Attribute VI_ATTR_USB_MAX_INTR_SIZE 1073676719 Type int Range 0 lt value lt 65535 model_code VI_ATTR_MODEL_CODE specifies the model code for the device 86 Chapter 3 More information PyVISA Documeniation Release 1 6 3 VISA Attribute VI_ATTR_MODEL_CODE 1073676511 Type int Range 0 lt value lt 65535 model_nam
186. rred None Service request has not been received for the session error_system_error None Unknown system error error_timeout None Timeout expired before operation completed error_trigger_not_mapped None The path from the trigger source line trigSrc to the destination line trigDest is not currently mapped error_user_buffer None A specified user buffer is not valid or cannot be accessed for the required size error_window_already_mapped None The specified session currently contains a mapped window error_window_not_mapped None The specified session is currently unmapped success None Operation completed successfully success_device_not_present None Session opened successfully but the device at the specified address is not responding success_event_already_disabled None Specified event is already disabled for at least one of the specified mechanisms success_event_already_enabled None Specified event is already enabled for at least one of the specified mechanisms success_max_count_read None The number of bytes read is equal to the input count 3 6 API 137 PyVISA Documentation Release 1 6 3 success_nested_exclusive None Operation completed successfully and this session has nested exclusive locks success_nested_shared None Operation completed successfully and this session has nested shared locks success_no_more_handler_calls_in_chain None Event handled successfully Do n
187. rror_nonsupported_format None A format specifier in the format string is not supported error_nonsupported_interrupt None The interface cannot generate an interrupt on the requested level or with the requested statusID value error_nonsupported_line None The specified trigger source line trigSrc or destination line trigDest is not supported by this VISA implementation or the combination of lines is not a valid mapping error_nonsupported_mechanism None The specified mechanism is not supported for the specified event type error_nonsupported_mode None The specified mode is not supported by this VISA implementation error_nonsupported_offset None Specified offset is not accessible from this hardware error _nonsupported_offset_alignment None The specified offset is not properly aligned for the access width of the operation error_nonsupported_operation None The session or object reference does not support this operation error_nonsupported_varying_widths None Cannot support source and destination widths that are different error_nonsupported_width None Specified width is not supported by this hardware error_not_cic None The interface associated with this session is not currently the Controller in Charge error_not_enabled None The session must be enabled for events of the specified type in order to receive them error_not_system_controller None The interface associated with this session is not the
188. rument at tribute 67 read_termination pyvisa resources TCPIPSocket tribute 73 read_termination pyvisa resources USBInstrument at tribute 81 read_termination pyvisa resources USBRaw attribute 88 read_termination_context pyvisa resources GPIBInstrument method 96 read_termination_context pyvisa resources SerialInstrument method 60 read_termination_context at pyvisa resources TCPIPInstrument method 67 read_termination_context pyvisa resources TCPIPSocket method 73 read_termination_context pyvisa resources USBInstrument method 81 read_termination_context pyvisa resources USBRaw method 88 read_to_fileQ pyvisa highlevel VisaLibraryBase method 48 read_values pyvisa resources GPIB Instrument method 96 read_values pyvisa resources SerialInstrument method 60 read_values pyvisa resources TCPIPInstrument method 67 read_values pyvisa resources TCPIPSocket method 73 read_values pyvisa resources USBInstrument method 81 read_values pyvisa resources USBRaw method 88 81 register pyvisa resources FirewireInstrument class read_raw pyvisa resources USBRaw method 88 method 108 read_stb pyvisa highlevel VisaLibraryBase method register pyvisa resources GPIBInstrument class 48 method 96 read_stb pyvisa resources GPIBInstrument method register pyvisa resources GPIBInterface class method 96 103 Index 149 PyVISA Doc
189. ry_delay converter callable function used to convert each element Defaults to float e separator a callable that split the str into individual elements If a str is given data split separator is used e container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list query binary values message datatype u f is_big_endian False container lt type list gt de lay None header_fmt u ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations if None defaults to self query_delay Return type bytes query delay 0 0 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format Parameters e message str the message to send 66 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type list rea
190. s StatusCode pyvisa constants StatusCode pyvisa constants StatusCode pyvisa constants StatusCode pyvisa constants StatusCode pyvisa constants StatusCode at pyvisa constants StatusCode pyvisa constants StatusCode error_invalid_setup tribute 135 error_invalid_size pyvisa constants StatusCode at tribute 135 error_invalid_width tribute 135 error_io pyvisa constants StatusCode attribute 135 error_library_not_found pyvisa constants StatusCode at tribute 135 error_line_in_use pyvisa constants StatusCode at tribute 135 error_machine_not_available pyvisa constants StatusCode attribute 135 error_memory_not_shared pyvisa constants StatusCode attribute 135 error_no_listeners pyvisa constants StatusCode at tribute 135 error_no_permission attribute 135 error_nonimplemented_operation pyvisa constants StatusCode attribute 136 error_nonsupported_attribute pyvisa constants StatusCode attribute 136 error_nonsupported_attribute_state pyvisa constants StatusCode attribute 136 error_nonsupported_format pyvisa constants StatusCode attribute 136 error_nonsupported_interrupt pyvisa constants StatusCode attribute 136 error_nonsupported_line pyvisa constants StatusCode attribute 136 error_nonsupported_mechanism pyvisa constants StatusCode attribute 136 error_nonsupported_mode pyvisa constants StatusCode attribute 136 error_nonsupported_offset pyvisa const
191. s a lock for the specified resource values_format visa_attributes_classes lt class pyvisa attributes AttrVI_ATTR_TCPIP_DEVICE_NAME gt lt class pyvisa at write message termination None encoding None Write a string message to the device The write_termination is always appended to it Parameters message unicode Py2 or str Py3 the message to be sent Returns number of bytes written Return type int write_ascii_values message values converter u f separator u termination None encod ing None Write a string message to the device followed by values in ascii format The write_termination is always appended to it Parameters e message unicode Py2 or str Py3 the message to be sent e values data to be writen to the device e converter callable str function used to convert each value String formatting codes are also accepted Defaults to str e separator a callable that split the str into individual elements If a str is given data split separator is used Type separator collections Iterable T gt str str Returns number of bytes written Return type int write_binary values message values datatype u f is_big_endian False termination None encoding None Write a string message to the device followed by values in binary format The write_termination is always appended to it Parameters 3 6 API 69 PyVISA Documentation Release 1 6 3
192. s an 64 bit block of data from local memory to the specified address space and offset Corresponds to viMoveOut64 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode move_out_8 session space offset length data extended False Moves an 8 bit block of data from local memory to the specified address space and offset Corresponds to viMoveOut8 functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width e data Data to write to bus e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode Corresponds to viMoveOut8 function of the VISA library open sess
193. s code passed to the operation could not be interpreted 138 Chapter 3 More information Python Module Index p pyvisa constants 132 139 PyVISA Documeniation Release 1 6 3 140 Python Module Index Index A AccessModes class in pyvisa constants 132 address_state pyvisa resources GPIB Interface attribute 100 AddressState class in pyvisa constants 133 allow_dma pyvisa resources GPIBInstrument attribute 91 allow_dma pyvisa resources GPIBInterface attribute 100 allow_dma pyvisa resources PXIInstrument attribute 110 allow_dma pyvisa resources SerialInstrument attribute 55 allow_dma pyvisa resources TCPIPInstrument attribute 64 allow_dma pyvisa resources VXIInstrument attribute 120 allow_dma pyvisa resources VXIMemory attribute 124 allow_transmit pyvisa resources SerialInstrument attribute 55 asrl pyvisa constants InterfaceType attribute 133 assert_interrupt_signal pyvisa highlevel VisaLibrary Base before_close method 30 assert_trigger method 30 assert_trigger method 92 assert_trigger method 100 assert_trigger pyvisa resources SerialInstrument method 55 assert_trigger pyvisa resources TCPIPInstrument method 64 assert_trigger pyvisa resources TCPIPSocket method 70 assert_trigger method 76 assert_trigger pyvisa resources USBRaw method 84 assert_utility_signal pyvisa highlevel VisaLib
194. s offer VISA libraries partly with free download These libraries work together with arbitrary peripherical devices although they may be limited to certain interface devices such as the vendor s GPIB card The VISA specification has explicit bindings to Visual Basic C and G LabVIEW s graphical language However you can use VISA with any language capable of calling functions in a shared library dll so dylib PyVISA is Python wrapper for such shared library and more PyVISA Documeniation Release 1 6 3 4 Chapter 1 General overview CHAPTER 2 User guide 2 1 Installation PyVISA is a frontend to the VISA library It runs on Python 2 6 and 3 2 You can install it using pip pip install U pyvisa 2 1 1 NI Backend In order for Py VISA to work you need to have a suitable backend Py VISA includes a backend that wraps the National Instruments s VISA library However you need to download and install the library yourself See NJ VISA Installa tion There are multiple VISA implementations from different vendors PyVISA is tested only against National Instruments s VISA Warning PyVISA works with 32 and 64 bit Python and can deal with 32 and 64 bit VISA libraries without any extra configuration What PyVISA cannot do is open a 32 bit VISA library while running in 64 bit Python or the other way around You need to make sure that the Python and VISA library have the same bitness 2 1 2 T
195. s_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out query message delay None A combination of write message and read Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device 3 6 API 79 PyVISA Documeniation Release 1 6 3 Return type str query_ascii_values message converter u f separator u lay None Query the device for values in ascii format returning an iterable of values container lt type list gt de Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay e converter callable function used to convert each element Defaults to float e separator a callable that split the str into individual elements If a str is given data split separator is used e container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list query binary values message datatype u f is_big_endian False co
196. sa highlevel ResourceInfo resource_manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object source_increment VI ATTR_SRC_INCREMENT is used in the viMoveInXX operations to specify by how many ele ments the source offset is to be incremented after every transfer The default value of this attribute is 1 that is the sou
197. sage datatype u f is_big_endian False container lt type list gt de lay None header_fmt u ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See struct module 3 6 API 87 PyVISA Documentation Release 1 6 3 e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations self query_delay Return type bytes query delay 0 0 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format Parameters e message str the message to send e delay delay in seconds between write and read operations self query_delay Returns the answer from the device Return type list read termination None encoding None Read a string from the device if None defaults to if None defaults to Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued
198. ses only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 send_end VIATTR_SEND_END_EN specifies whether to assert END during the transfer of the last byte of the buffer VISA Attribute VI_ATTR_SEND_END_EN 1073676310 Type bool session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to be set for the specified object source_increment VI ATTR_SRC_INCREMENT is used in the viMoveInXX operations to specify by how many ele ments the source offset is to be incremented after every transfer The default value of this attribute is 1 that is the source address will be incremented by after each transfer and the viMoveInXX operations move from consecutive elements If t
199. sion the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key 3 6 API 111 PyVISA Documentation Re
200. ss pyvisa constants Parity query message delay None A combination of write message and read Parameters e message str the message to send 58 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type str query _ascii_values message converter u f separator u container lt type list gt de lay None Query the device for values in ascii format returning an iterable of values Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay converter callable function used to convert each element Defaults to float e separator a callable that split the str into individual elements If a str is given data split separator is used e container container type to use for the output data Type separator str gt collections Iterable int str Returns the answer from the device Return type list query binary values message datatype u f is_big_endian False container lt type list gt de lay None header_fmt w ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See s
201. st before closing an instrument clear Clears this resource close Closes the VISA session and marks the handle as invalid destination_increment VI ATTR_DEST_INCREMENT is used in the viMoveOutXX operations to specify by how many elements the destination offset is to be incremented after every transfer The default value of this attribute is 1 that is the destination address will be incremented by 1 after each transfer and the viMoveOutXX operations move into consecutive elements If this attribute is set to 0 the viMove OutXX operations will always write to the same element essentially treating the destination as a FIFO register VISA Attribute VI_ATTR_DEST_INCREMENT 1073676353 Type int Range 0 lt value lt 1 get_visa_attribute name Retrieves the state of an attribute in this resource Parameters name Resource attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type 3 6 API 115 PyVISA Documeniation Release 1 6 3 ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This
202. stants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out pass_control primary_address secondary_address Tell the GPIB device at the specified address to become controller in charge CIC Corresponds to viGpibPassControl function of the VISA library Parameters e primary_address Primary address of the GPIB device to which you want to pass con trol e secondary_address Secondary address of the targeted GPIB device If the targeted device does not have a secondary address this parameter should contain the value Con stants NO_SEC_ADDR Returns return value of the library call Return type VISAStatus primary address 94 Chapter 3 More information PyVISA Documeniation Release 1 6 3 VIATTR_GPIB_PRIMARY_ADDR specifies the primary address of the GPIB device used by the given session For the GPIB INTFC Resource this attribute is Read Write VISA Attribute VI_ATTR_GPIB_PRIMARY_ADDR 1073676658 Type int Range 0 lt value lt 30 query message delay None A combination of write message and read Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type str query_ascii_values message converter u f separator u container lt type list gt
203. system controller error_output_protocol_violation None Device reported an output protocol error during transfer error_queue_error None Unable to queue asynchronous operation error _queue_overflow None The event queue for the specified type has overflowed usually due to not closing previous events error_raw_read_protocol_violation None Violation of raw read protocol occurred during transfer 136 Chapter 3 More information PyVISA Documeniation Release 1 6 3 error_raw_write_protocol_ violation None Violation of raw write protocol occurred during transfer error_resource_busy None The resource is valid but VISA cannot currently access it error_resource_locked None Specified type of lock cannot be obtained or specified operation cannot be performed because the resource is locked error_resource_not_found None Insufficient location information or the device or resource is not present in the system error_response_pending None A previous response is still pending causing a multiple query error error_serial_framing None A framing error occurred during transfer error_serial_overrun None An overrun error occurred during transfer A character was not read from the hardware before the next character arrived error_serial_parity None A parity error occurred during transfer error_session_not_locked None The current session did not have any lock on the resource error_srq_not_occu
204. t gt gt inst write_binary_values WLISt WAVeform DATA somename values Again you can specify the datatype and endianness gt gt gt inst write_binary_values WLISt WAVeform DATA somename values datatype d is_big_endian Fa 2 4 5 Preconfiguring the transfer format Most of the cases each device will transfer data in the same format every time And making the call so detailed everytime can be annoying For this purpose PyVISA provides a way to preconfigure the default Each Message Based Resources exposes an attribute named values_format which is an object with the following properties is_binary datatype is_big_endian container For example to set e g little endian doubles and a numpy array 2 4 Reading and Writing values 9 PyVISA Documeniation Release 1 6 3 gt gt gt inst values_format is_binary True gt gt gt inst values_format datatype d gt gt gt inst values_format is_big_endian Fals gt gt gt inst values_format container numpy array or shorter gt gt gt inst values_format use_binary d False numpy array After doing this you can simply call gt gt gt inst query_values CURV which will dispatch to the appropriate function and arguments If you want to default to ASCII transfer preconfiguring is a little bit more cumbersome as you need to specify the converters for both ways For example with hex with as separator
205. t for a given session Corresponds to viWaitOnEvent function of the VISA library Parameters e session Unique logical identifier to a session e in_event_type Logical identifier of the event s to wait for e timeout Absolute time period in time units that the resource shall wait for a specified event to occur before returning the time elapsed error The time unit is in milliseconds 3 6 API 51 PyVISA Documeniation Release 1 6 3 Returns e Logical identifier of the event actually received e A handle specifying the unique occurrence of an event e return value of the library call Return type e eventtype e event pyvisa constants StatusCode write session data Writes data to device or interface synchronously Corresponds to viWrite function of the VISA library Parameters e session Unique logical identifier to a session e data str data to be written Returns Number of bytes actually transferred return value of the library call Return type int pyvisa constants StatusCode write_asynchronouslLy session data Writes data to device or interface asynchronously Corresponds to viWriteAsync function of the VISA library Parameters e session Unique logical identifier to a session e data data to be written Returns Job ID of this asynchronous write operation return value of the library call Return type jobid pyvisa constants StatusCode write_from_file session filename count Take da
206. ta from a file and write it out synchronously Corresponds to viWriteFromFile function of the VISA library Parameters e session Unique logical identifier to a session e filename Name of file from which data will be read e count Number of bytes to be written Returns Number of bytes actually transferred return value of the library call Return type int pyvisa constants StatusCode write_memory session space offset data width extended False Write in an 8 bit 16 bit 32 bit value to the specified memory space and offset Corresponds to viOut functions of the VISA library Parameters 52 Chapter 3 More information PyVISA Documeniation Release 1 6 3 e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e data Data to write to bus e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns return value of the library call Return type pyvisa constants StatusCode 3 6 2 Resource Manager class pyvisa highlevel ResourceInfo Resource extended information Named tuple with information about a resource Returned by some ResourceManager methods Interface_type Interface type of the given resource string pyvisa constants InterfaceType Interface_board_number Board number of the interface of the given resource str
207. tatusCode class in pyvisa constants 133 stb pyvisa resources GPIBInstrument attribute 98 stb pyvisa resources SerialInstrument attribute 61 stb pyvisa resources TCPIPInstrument attribute 68 stb pyvisa resources TCPIPSocket attribute 75 stb pyvisa resources USBInstrument attribute 82 stb pyvisa resources USBRaw attribute 90 stop_bits pyvisa resources SerialInstrument attribute 62 StopBits class in pyvisa constants 132 success pyvisa constants StatusCode attribute 137 success_device_not_present pyvisa constants StatusCode attribute 137 pyvisa highlevel VisaLibrary Base success_event_already_disabled pyvisa constants StatusCode attribute 137 success_event_already_enabled pyvisa constants StatusCode attribute 137 success_max_count_read pyvisa constants StatusCode attribute 137 success_nested_exclusive attribute 137 success_nested_shared pyvisa constants StatusCode at tribute 138 success_no_more_handler_calls_in_chain pyvisa constants StatusCode attribute 138 success_queue_already_empty pyvisa constants StatusCode attribute 138 success_queue_not_empty pyvisa constants StatusCode attribute 138 success_syncronous pyvisa constants StatusCode at tribute 138 success_termination_character_read pyvisa constants StatusCode attribute 138 success_trigger_already_mapped pyvisa constants StatusCode attribute 138 pyvisa constants StatusCode T tcpip pyvisa consta
208. te 89 resource_name pyvisa resources VXIBackplane at tribute 131 resource_name pyvisa resources VXIInstrument at tribute 123 resource_name pyvisa resources VXIMemory attribute 127 ResourcelInfo class in pyvisa highlevel 53 ResourceManager class in pyvisa highlevel 53 rio pyvisa constants InterfaceType attribute 133 rsnrp pyvisa constants InterfaceType attribute 133 S secondary_address pyvisa resources GPIBInstrument at tribute 97 secondary_address pyvisa resources GPIBInterface at tribute 104 send_command method 97 send_command method 104 send_end 13 send_end pyvisa resources GPIBInstrument attribute 97 send_end pyvisa resources GPIBInterface attribute 105 send_end pyvisa resources Seriallnstrument attribute 6l pyvisa resources GPIBInstrument pyvisa resources GPIBInterface send_end pyvisa resources TCPIPInstrument attribute 68 send_end pyvisa resources USBInstrument attribute 82 send_end pyvisa resources VXIInstrument attribute 123 send_ifc pyvisa resources GPIBInstrument method 98 send_ifc pyvisa resources GPIBInterface method 105 serial number pyvisa resources USBInstrument at tribute 82 serial_number pyvisa resources USBRaw attribute 89 SerialInstrument class in pyvisa resources 55 SerialTermination class in pyvisa constants 132 session pyvisa highlevel ResourceManager attribute 54 session pyvisa resources Fire
209. ted_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VIATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes move_in space offset length width extended False Moves a block of data to local memory from the specified address space and offset Parameters e space Specifies the address space Constants SPACE offset Offset in bytes of the address or register from which to read length Number of elements to transfer where the data width of the elements to transfer is identical to the source data width width Number of bits to read per element extended Use 64 bits offset independent of the platform move_out space offset length data width extended False Moves a block of data from local memory to the specified address space and offset Parameters
210. trings In USB INSTR you can choose normal or vendor specific transfers VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 is_4882_ compliant VI_ATTR_4882_COMPLIANT specifies whether the device is 488 2 compliant VISA Attribute VI_ATTR_4882_COMPLIANT 1073676703 Type bool last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before returning an error Defaults to self timeout 3 6 API 121 PyVISA Documeniation Release 1 6 3 e requested_key Access key used by another session with which you want your session to share a lock or None to generate a new shared access key Returns A new shared access key if requested_key is None otherwise same value as the re quested_key lock_state VI ATTR_RSRC_LOCK_STATE indicates the current locking state of the resource The resource can be unlocked locked with an exclusive lock or locked with a shared lock VISA Attribute VI_ATTR_RSRC_LOCK_STATE 1073676292 Type class pyvisa constants AccessModes manufacturer_id VIL ATTR_ MANE ID is the manufacturer identification number of the device VISA Attribute VI_ATTR_MANF_ID 1073676505 Type int Range 0 lt value lt 65535 manufacturer n
211. truct module e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations if None defaults to self query_delay Return type bytes query delay 0 0 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format Parameters e message str the message to send e delay delay in seconds between write and read operations if None defaults to self query_delay Returns the answer from the device Return type list 3 6 API 59 PyVISA Documeniation Release 1 6 3 read termination None encoding None Read a string from the device Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued All line ending characters are stripped from the end of the string Return type str read_raw size None Read the unmodified string sent from the instrument to the computer In contrast to read no termination characters are stripped Return type bytes read_stb Service request status register read_termination
212. ttribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource _manufacturer_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource _ name 108 Chapter 3 More information PyVISA Documeniation Release 1 6 3 VI ATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_NAME 3221159938 session Resource session handle Raises pyvisa errors InvalidSession if session is closed set_visa_attribute name state Sets the state of an attribute Parameters e name Attribute for which the state is to be modified Attributes e state The state of the attribute to
213. turn type list classmethod register interface_type resource_class remote_enabled VI_ATTR_GPIB_REN_STATE returns the current state of the GPIB REN Remote ENable inter face line VISA Attribute VI_ATTR_GPIB_REN_STATE 1073676673 96 Chapter 3 More information PyVISA Documeniation Release 1 6 3 Type class pyvisa constants LineState resource_class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_LATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvisa highlevel ResourceInfo resource _manufacturer_name VI ATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for programmatic decisions as the value can differ between VISA implementations and or revisions VISA Attribute VI_ATTR_RSRC_MANF_NAME 3221160308 resource_name VIATTR_RSRC_MANF_NAME is a string that corresponds to the manufacturer name of the vendor that implemented the VISA library This attribute is not related to the device manufacturer attributes Note The value of this attribute is for display purposes only and not for progra
214. uery_binary_ values message datatype u f is_big_endian False container lt type list gt de lay None header_fmt u ieee Converts an iterable of numbers into a block of data in the ieee format Parameters e message the message to send to the instrument e datatype the format string for a single element See struct module e is_big_endian boolean indicating endianess Defaults to False e container container type to use for the output data e delay delay in seconds between write and read operations self query_delay Return type bytes query delay 0 0 query_values message delay None Query the device for values returning an iterable of values The datatype expected is obtained from values_format Parameters e message str the message to send e delay delay in seconds between write and read operations self query_delay Returns the answer from the device Return type list read termination None encoding None Read a string from the device if None defaults to if None defaults to Reading stops when the device stops sending e g by setting appropriate bus lines or the termination characters sequence was detected Attention Only the last character of the termination characters is really used to stop reading however the whole sequence is compared to the ending of the read string message If they don t match a warning is issued All line ending characters
215. umeniation Release 1 6 3 register pyvisa resources PXIInstrument class method 113 register pyvisa resources PXIMemory class method 118 register pyvisa resources SerialInstrument class method 60 register pyvisa resources TCPIPInstrument class method 67 register pyvisa resources TCPIPSocket class method 74 register pyvisa resources USBInstrument class method 81 register pyvisa resources USBRaw class method 89 register pyvisa resources V XIBackplane class method 131 register pyvisa resources VXIInstrument method 122 register pyvisa resources VXIMemory class method class 127 remote_enabled pyvisa resources GPIBInstrument at tribute 96 remote_enabled pyvisa resources GPIBInterface at tribute 103 replace_char pyvisa resources SerialInstrument at tribute 60 resource_class pyvisa resources FirewireInstrument at tribute 108 resource_class pyvisa resources GPIBInstrument at tribute 97 resource_class pyvisa resources GPIBInterface at tribute 104 resource_class pyvisa resources PXIInstrument at tribute 113 resource_class pyvisa resources PXIMemory attribute 118 resource_class pyvisa resources SerialInstrument at tribute 60 resource_class pyvisa resources TCPIPInstrument attribute 67 resource_class pyvisa resources TCPIPSocket attribute 74 resource_class pyvisa resources USBInstrument at tribute 81 resource_
216. ument 154 Index
217. urce attribute for which the state query is made see Attributes Returns The state of the queried attribute for a specified resource Return type unicode Py2 or str Py3 list or other type group_execute_trigger resources ignore_warning warnings_constants Ignoring warnings context manager for the current resource Parameters warnings_constants constants identifying the warnings to ignore implementation_version VIATTR_RSRC_IMPL_VERSION is the resource version that uniquely identifies each of the dif ferent revisions or implementations of a resource This attribute value is defined by the individual manufacturer and increments with each new revision The format of the value has the upper 12 bits as the major number of the version the next lower 12 bits as the minor number of the version and the lowest 8 bits as the sub minor number of the version VISA Attribute VI_ATTR_RSRC_IMPL_VERSION 1073676291 Type int Range 0 lt value lt 4294967295 install_handler event_type handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion 3 6 API 101 PyVISA Documeniation Release 1 6 3 e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a
218. urce class All level 2 functions are bound methods of VisaLibrary 3 High level An object oriented layer for ResourceManager and Resource The ResourceManager implements methods to inspect connected resources You also use this object to open other resources instantiating the appropriate Resource derived classes Resource and the derived classes implement functions and attributes access to the underlying resources in a Pythonic way Most of the time you will only need to instantiate a ResourceManager For a given resource you will use the open_resource method to obtain the appropriate object If needed you will be able to access the VisaLibrary ob ject directly using the visalib attribute The VisaLibrary does the low level calls In the default NI Backend levels 1 and 2 are implemented in the same package called ctwrapper which stands for ctypes wrapper This package is included in PyVISA 16 Chapter 2 User guide PyVISA Documeniation Release 1 6 3 Other backends can be used just by passing the name of the backend to ResourceManager after the symbol See more information in A frontend for multiple backends 2 9 1 Calling middle and low level functions After you have instantiated the ResourceManager gt gt gt import visa gt gt gt rm visa ResourceManager you can access the corresponding VisaLibrary instance under the visalib attribute You can recognize low and middle level functions by their names
219. usCode read_to_file session filename count Read data synchronously and store the transferred data in a file Corresponds to viReadToFile function of the VISA library Parameters e session Unique logical identifier to a session e filename Name of file to which data will be written e count Number of bytes to be read Returns Number of bytes actually transferred return value of the library call Return type int pyvisa constants StatusCode resource_manager None Default ResourceManager instance for this library set_attribute session attribute attribute_state Sets the state of an attribute Corresponds to viSetAttribute function of the VISA library Parameters e session Unique logical identifier to a session e attribute Attribute for which the state is to be modified Attributes e attribute_state The state of the attribute to be set for the specified object Returns return value of the library call Return type pyvisa constants StatusCode set_buffer session mask size Sets the size for the formatted I O and or low level I O communication buffer s Corresponds to viSetBuf function of the VISA library Parameters e session Unique logical identifier to a session e mask Specifies the type of buffer Constants VILREAD_BUF VI_WRITE_BUF VILIO_IN_BUF VI_IO_OUT_BUF e size The size to be set for the specified buffer s Returns return value of the library call Return type
220. values inst query_binary_values CURV datatype d is_big_endian True You can also specify the output container type just as it was shown before 2 4 3 Writing ASCII values To upload a function shape to arbitrary wave generator the command might be WLISt WAVeform DATA lt waveform name gt lt function data gt where lt waveform name gt tells the device under which name to store the data gt gt gt values list range 100 gt gt gt inst write_ascii_values WLISt WAVeform DATA somename values Again you can specify the converter code gt gt gt inst write_ascii_values WLISt WAVeform DATA somename values converter x converter can be one of the Python string formatting codes But you can also specify a callable that takes a single argument if needed The default converter is f The separator can also be specified just like in guery_ascii_values gt gt gt inst write_ascii_values WLISt WAVeform DATA somename values converter x separator You can provide a function to takes a iterable and returns an string Default value for the separator is comma 2 4 4 Writing binary values To upload a function shape to arbitrary wave generator the command might be WLISt WAVeform DATA lt waveform name gt lt function data gt where lt waveform name gt tells the device under which name to store the data gt gt gt values list range 100 g
221. visa framework visa no matching architecture in universal wrapper Library Frameworks visa framework visa no matching architecture in universal wrapper In Linux the original error message looks like this OSError Could not open VISA library Error while accessing usr local vxipnp linux bin libvisa so 7 usr local vxipnp linux bin libvi First determine the details of your installation with the help of the following debug command 3 4 Frequently asked questions 27 PyVISA Documeniation Release 1 6 3 python m visa info You will see the bitness of the Python interpreter and at the end you will see the list of VISA libraries that Py VISA was able to find The solution is to or 1 Install and use a VISA library matching your Python bitness Download and install it from National Instruments s VISA Run the debug command again to see if the new library was found by PyVISA If not create a configuration file as described in Configuring the NI backend If there is no VISA library with the correct bitness available try solution 2 Install and use a Python matching your VISA library bitness In Windows and Linux Download and install Python with the matching bitness Run your script again using the new Python In Mac OS X Python is usually delivered as universal binary 32 and 64 bits You can run it in 32 bit by running arch i386 python myscript py or in 64 bits by running
222. where the data width of the elements to transfer is identical to the source data width data Data to write to bus width Number of bits to read per element extended Use 64 bits offset independent of the platform open access_mode lt AccessModes no_lock 0 gt open_timeout 5000 Opens a session to the specified resource Parameters e access_mode pyvisa constants AccessModes Specifies the mode by which the resource is to be accessed e open_timeout int Milliseconds before the open operation times out read_memory space offset width extended False Reads in an 8 bit 16 bit 32 bit or 64 bit value from the specified memory space and offset Parameters e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns Data read from memory 3 6 API 117 PyVISA Documeniation Release 1 6 3 Corresponds to viln functions of the visa library classmethod register interface_type resource_class resource class VI_ATTR_RSRC_CLASS specifies the resource class for example INSTR as defined by the canonical resource name VISA Attribute VI_ATTR_RSRC_CLASS 3221159937 resource_info Get the extended information of this resource Parameters resource_name Unique symbolic name of a resource Return type pyvi
223. wireInstrument attribute 109 session pyvisa resources GPIBInstrument attribute 98 session pyvisa resources GPIBInterface attribute 105 session pyvisa resources PXIInstrument attribute 114 session pyvisa resources PXIMemory attribute 118 session pyvisa resources SerialInstrument attribute 61 session pyvisa resources TCPIPInstrument attribute 68 session pyvisa resources TCPIPSocket attribute 74 session pyvisa resources USBInstrument attribute 82 session pyvisa resources USBRaw attribute 89 session pyvisa resources VXIBackplane attribute 131 session pyvisa resources VXIInstrument attribute 123 session pyvisa resources VXIMemory attribute 128 set_attribute pyvisa highlevel VisaLibrary Base method 48 set_buffer pyvisa highlevel VisaLibraryBase method 48 set_visa_attribute pyvisa resources FirewireInstrument method 109 set_visa_attribute pyvisa resources GPIB Instrument method 98 set_visa_attribute method 105 set_visa_attribute method 114 set_visa_attribute method 118 set_visa_attribute pyvisa resources SerialInstrument method 61 set_visa_attribute pyvisa resources TCPIPInstrument method 68 set_visa_attribute method 74 set_visa_attribute method 82 set_visa_attribute pyvisa resources USBRaw method 89 set_visa_attribute method 131 pyvisa resources GPIBInterface pyvisa resources PXIInstrument pyvisa resources PXIMemory pyvisa r
224. ype handler user_handle None Installs handlers for event callbacks in this resource Parameters e event_type Logical event identifier e handler Interpreted as a valid reference to a handler to be installed by a client applica tion e user_handle A value specified by an application that can be used for identifying handlers uniquely for an event type Returns user handle a ctypes object interface_number VI_ATTR_INTF_NUM specifies the board number for the given interface VISA Attribute VI_ATTR_INTF_NUM 1073676662 Type int Range 0 lt value lt 65535 interface_type The interface type of the resource as a number io_protocol VI_ATTR_IO_PROT specifies which protocol to use In VXI you can choose normal word serial or fast data channel FDC In GPIB you can choose normal or high speed HS 488 transfers In serial TCPIP or USB RAW you can choose normal transfers or 488 2 defined strings In USB INSTR you can choose normal or vendor specific transfers 3 6 API 85 PyVISA Documeniation Release 1 6 3 VISA Attribute VI_ATTR_IO_PROT 1073676316 Type int Range 0 lt value lt 65535 last_status Last status code for this session Return type pyvisa constants StatusCode lock timeout None requested_key None Establish a shared lock to the resource Parameters e timeout Absolute time period in milliseconds that a resource waits to get unlocked by the locking session before retu
225. ype int pyvisa constants StatusCode 3 6 API 33 PyVISA Documeniation Release 1 6 3 gpib_control_atn session mode Specifies the state of the ATN line and the local active controller state Corresponds to viGpibControlATN function of the VISA library Parameters e session Unique logical identifier to a session e mode Specifies the state of the ATN line and optionally the local active controller state Constants VI_GPIB_ATN Returns return value of the library call Return type pyvisa constants StatusCode gpib_control_ren session mode Controls the state of the GPIB Remote Enable REN interface line and optionally the remote local state of the device Corresponds to viGpibControlREN function of the VISA library Parameters e session Unique logical identifier to a session e mode Specifies the state of the REN line and optionally the device remote local state Constants VI_GPIB_REN Returns return value of the library call Return type pyvisa constants StatusCode gpib_pass_control session primary_address secondary_address Tell the GPIB device at the specified address to become controller in charge CIC Corresponds to viGpibPassControl function of the VISA library Parameters e session Unique logical identifier to a session e primary_address Primary address of the GPIB device to which you want to pass con trol e secondary_address Secondary address of the targeted GP
226. ytes to be read Returns data read return value of the library call Return type bytes pyvisa constants StatusCode read_asynchronousLy session count Reads data from device or interface asynchronously Corresponds to viReadAsync function of the VISA library Parameters e session Unique logical identifier to a session e count Number of bytes to be read Returns result jobid return value of the library call Return type ctypes buffer jobid pyvisa constants StatusCode read_memory session space offset width extended False Reads in an 8 bit 16 bit 32 bit or 64 bit value from the specified memory space and offset Corresponds to viln functions of the VISA library Parameters e session Unique logical identifier to a session e space Specifies the address space Constants SPACE e offset Offset in bytes of the address or register from which to read e width Number of bits to read e extended Use 64 bits offset independent of the platform Returns Data read from memory return value of the library call 3 6 API 47 PyVISA Documeniation Release 1 6 3 Return type int pyvisa constants StatusCode read_stb session Reads a status byte of the service request Corresponds to viReadSTB function of the VISA library Parameters session Unique logical identifier to a session Returns Service request status byte return value of the library call Return type int pyvisa constants Stat

Download Pdf Manuals

image

Related Search

Related Contents

aspirateur pistol vac 6400 mode d`emploi ne pas utliser a vide sans  ユーザーズガイド(取扱説明書)  Coussinet  Hitachi 232437 User's Manual  Percepciones  Blue Coat® Systems ProxySG™  浴室暖房乾燥機 取扱説明書 - ご家庭のお客さま  ECHO MS-300 Use and Care Manual  Praat, Doing Phonetics by computer  Operating Instructions  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.