Kikusui KI-VISA – Release Note

Release Note


Supported Operating Systems

x64 (64bit) Windows

Version32bit apps (WOW64)64bit apps
10SUPPORTED(*1,*2)SUPPORTED(*2)
Server 2012SUPPORTED(*1,*2)SUPPORTED(*2)
8/8.1SUPPORTED(*1,*2)SUPPORTED(*2)
Server 2008 R2SUPPORTED(*1)SUPPORTED
7SUPPORTED(*1)SUPPORTED
VistaSUPPORTED(*1)SUPPORTED
Version32bit apps
10SUPPORTED(*2)
8/8.1SUPPORTED(*2)
7SUPPORTED
Server 2008SUPPORTED
VistaSUPPORTED
  • (*1) CONTEC GPIB does not work under WOW64 environment. Therefore 32bit applications cannot control instruments through CONTEC GPIB boards.
  • (*2) As for INTERFACE GPIB, we have not checked Windows 8 operations because we don’t have the hardware. But they will probably work as long as the device driver is supported.
  • As for Windows XP, 2000, and Server 2003, operations are not guaranteed.
  • When using GPIB under x64 environment, an appropriate 64bit GPIB driver provided by the hardware vendor shall be installed.
  • For USB instruments, IVI USBTMC driver is provided from VISA Shared Component, which is common between all VISA library vendors.

Hardware Confirmation List

VER 5.x

It is confirmed that the following hardware is working fine:

  • Standard serial communication interface (USB Serial converter cable may or may not work.)
  • USB (instruments that comply with USBTMC and/or USBTMC-USB488 specifications)
  • LAN-based instruments compliant with LAN VXI-11, SCPI-RAW, HiSLIP
  • CONTEC GPIB – model GP-IB(PCI)L, GP-IB(PM), GP-IB(CB)F, GP-IB(PCI)F, GP-IB(LPCI)F, GP-IB(PCI)FL, GP-IB(CPCI)F
    (API-GPIB Ver5.0) Mind that old models (non-F series) do not work under 64bit systems.
  • INTERFACE GPIB – model GPC-4301
    (LabVIEW-compatible driver, GPC-4301N Ver3.0)
  • National Instruments GPIB – model GPIB-ENET/100, GPIB-USB-B, GPIB-USB-HS, PCI-GPIB
    (NI-488.2M Ver2.73)
  • Agilent Technologies GPIB – model 82350(PCI-GPIB)
    (IO Libraries Suite 15.5, when Agilent 488 Option enabled)

Known issues (Unresolved):

  • When TekVISA was already installed, KI-VISA setup mis-detects that TekVISA is still existing even if it was uninstalled once. This is because the TekVISA uninstaller does not correctly delete the registry entry. No problem to proceed KI-VISA setup.
  • When using INTERFACE GPIB, IO Configuration’s search function cannot find out connected instruments. This is because FindLstn() function of of GPIB-32.DLL provided by INTERFACE is not working correctly. In this case, you need add instruments independently for each GPIB address.
  • When using INTERFACE GPIB, the REN (Remote Enable) line operation by ControlREN() does not work. Currently no solution.
  • When using CONTEC GPIB, you can not use GPIB functionality under WOW64 environment. This is because 32bit DLLs are not provided by the CONTEC’s 64bit driver package.

Revision History

VER 5.5.0 (24 SEP 2015)

The following issues have been fixed or improved.

New Feature:

  • IPv6 support has been added for SCPI-RAW and HiSLIP protocols and WEB access.

Changes of bundled Shared Components:

  • The bundled VISA Shared Components has been changed to VER5.5.0.
  • Added a new bundle – VISA.NET Shared Components VER5.5.0.
  • The bundled IVI Shared Components has been changed to VER2.3.0.
  • The bundled IVI.NET Shared Components has been changed to VER1.1.2.

VISA C specific issues:

  • There was a problem that viSetBuf() did not correctly set buffer size of buffering mode operation.

VER 5.1.2 (17 NOV 2014)

The following issues have been fixed or improved.

Instrument Explorer:

  • There was a problem that instrument discovery could fail using LXI Identification XML due to lack of the “Host” entry on the sending http request.
  • There was a problem that instrument discovery could fail using LXI Identification XML when the instrument returned “301 Moved Permanently”.
  • There was a problem that viRead on USBTMC could not return the response data correctly when a zero-length packet was returned.
  • VISA interactice functionality now sets TerminationCharacterEnabled to TRUE as default.

Changes of bundled Shared Components:

  • The bundled VISA Shared Components has been changed to VER1.6.
  • The bundled IVI.NET Shared Components has been changed to VER1.1.1.

VER 5.1.0 (19 JUNE 2013)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • When calling viOpen() under VXI-11 with specifying resource locking, there was a problem that the VXI-11 lock command was not sent properly thereby an error was generated when calling viUnlock().
  • When using ASRL(Serial), there was a problem that the input buffer was not actually cleard even if calling viFlush().

Changes of bundled Shared Components:

  • The bundled VISA Shared Components has been changed to VER1.5.

VER 5.0.10 (12 MAR 2013)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • There was a memory leakage problem on VXI-11 Write function family.
  • There was a problem that RPC responses could not be correctly acquired from slow-response VXI-11 instruments.

VER 5.0.9 (08 JAN 2013)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • There was a problem that 64bit KI-VISA SPY could not correctly show SPY logs about GetAttribute()/SetAttribute() call (when a STRING info is contained) that are generated by a 32bit app.
  • Under VXI-11 discovery with multiple NICs installed, changed to send portmap search by limitted broadcast (255.255.255.255) from the NIC that has the smallest Metric (but Vista or later only). As for other NICs, directed broadcast (such as 192.168.1.255, 169.254.255.255) is only used for discovery.
  • There was a resident issue that an access violation was still generated when closing session HiSLIP from a VB6 app.
  • SPY log’s Timestamp is now splitted into Call IN and Call OUT.

VISA C specific issues:

  • There was a problem that viBufWrite()/viBufRead() functions did not flush the buffer even if the buffering mode is VI_FLUSH_ON_ACCESS.

VER 5.0.8 (18 OCT 2012)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • Under ASRL(Serial), there was a problem that write processing always timed out in 2000ms. (This was generated since VER 4.x.)
  • Under USBTMC, there was a problem that receiving time-out generated E_VISA_IO instead of E_VISA_TMO.
  • Under USBTMC and VXI-11, there was a problem that the 1st packet could only be received when the receiving packets are splitted multiple.
  • On KI-VISA Instrument Explorer, the issue that VXI-11 and mDNS (Bonjour) search were not well hit has been improved.
  • On KI-VISA Instrument Explorer, there was a problem that VXI-11 discovery could not work under environment of multiple NICs installed.

VER 5.0.7 (06 JULY 2012)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • Under HiSLIP, there was a problem that serial polling always returned 0 mistakenly. (This was generated since VER 5.0.6)
  • Under HiSLIP, there was a problem that an access violation was occasionally generated when closing session.

VER 5.0.6 (02 MAR 2012)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • Under HiSLIP, when openning a session with the EXCLUSIVE_LOCK option, there was a problem that the lock could not be obtained causing a failure to open even if all other locks were being released.
  • Under HiSLIP, there was a problem that VI_ATTR_TCPIP_KEEPALIVE and VI_ATTR_TCPIP_NODELAY attributes were not supported.
  • Under HiSLIP, there was a problem that memory leakage and stack overflow were generated when iterating Write/Read operation long time.
  • There was a problem that when the viFindRsrc()/FindRsrc() functions could not find valid VISA addresses the correct error was not returned. Now it returns E_VISA_RSRC_NFOUND.
  • There was a problem that when USBTMC devices does not response, VISA sometimes crashed depending on operational conditions.
  • Under ASRL(Serial), there was a problem that data receiving could not work correctly or data was corrupted when opening multiple sessions from the same process. (The problem was issued since VER5.0.4 because the internal receive buffering mechanism was heavily changed then.)
  • Under USBTMC 64bit component, there was a problem that VI_ATTR_RET_COUNT_64 was not supported therefore async VISA Read of LabVIEW(64bit) did not work correctly.

VISA C specific issues:

  • There was a problem that VI_ERROR_INV_OBJECT was mistakenly returned from viClose() call for an IO completion event object, even if succeeded.

Improvement:

  • Dynamic serach feature for LAN instruments is added and the FindResource() function can now return the VISA address list without configurations in advance. However, it is once enabled, the FindRsrc() searches devices everytime invoked resulting longer latency. If you hate this latency it is recommended to use the legacy static search method.
  • The transfer processing of SPY log data is now multi-threaded, thereby the I/O performance during SPY working has been increased. With this change, the SPY app’s GUI is also changed. KI-VISA SPY uses TCP port 52666 as default.
  • HiSLIP now supports port numbers other than 4880.
  • Optional settings for ASRL(Serial) now support COM port# swapping.
  • Optional settings for HiSLIP now support Overlapped Mode to enabled when opening a VISA session.

Features Deleted:

  • The simultaneous access (multi-session) feature from multiple processses under ASRL(Serial) that was supported by IO Config, has been deleted. (The feature has not been working since VER5.0.4 because the internal receive buffering mechanism was heavily changed, and now gave up to receover the feature due to design difficulty.)

Changes of bundled Shared Components:

  • The bundled VISA Shared Components has been changed to VER1.4.
  • The bundled IVI Shared Components has been changed to VER2.2.1.
  • IVI.NET Shared Components VER1.0.1 is newly bundled.

VER 5.0.5 (24 AUG 2011)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • Under VXI-11, HiSLIP asynchronous operations, there was a problem that an access violation might occur causing app’s abnormal termination.
  • Under VXI-11, HiSLIP and SCPI-RAW, there was a problem that response data exceeding 256 bytes might not be able to read correctly.

VER 5.0.4 (16 JUNE 2011)

The following issues have been fixed or improved.

Changes of bundled Shared Components:

  • The bundled IVI Shared Components has been changed from VER2.1.1 to VER2.2.0, thereby the type library of IviACPwr class is now added.

VISA COM and VISA C common issues:

  • Under USBTMC, VXI-11, and HiSLIP operations, there was a problem that DisableEvent did not stop async I/O operations after it was once enaled by EnableEvent.
  • Under HiSLIP operations, there was a problem that WaitOnEvent did not return I/O completion event for async I/O.
  • Under USBTMC operations, there was a problem that Connection Lost detection (when device disconnected) and its auto-recovery (when device reconnected) while VISA session was kept open were not correctly working.
  • Under VXI-11 operations, there was a problem that multithreaded applications may crash when simultaneous write/read operation is performed. This was caused by abnormality of memory management in the RPC engine, so KI-VISA has stopped using SUN RPC library to avoid it.
  • Under Socket, HiSLIP, and VXI-11 operations, the network connection timeout has changed to 5s from Winsock’s default 20s.
  • Asynchronous IO function of Serial (ASRL) devices is changed to true implementation from dummy operation. Plus, error handling for device-originated errors has been added.

VISA SPY Improvement:

  • A new column “Tag” has been added in the list , where additional info different depending on IO interface. Current supported items are bTag (USBTMC), RPC xid (VXI-11), and Message ID (HiSLIP).

VER 5.0.3 (11 MAR 2011)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • At HiSLIP resource locking operations, there was a problem that nesting count was not correctly managed.

VISA C issues:

  • There was a problem that event handler registration using viInstallHandler() did not work at all.
  • There was a problem that viScanf()/viQueryf() format specifyers using a caret (such as %[^,]) did not work at all. This was found in VER5.0.2 only.

VER 5.0.2 (13 JAN 2011)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • At VXI-11, there was a problem that VISA could not wait for IO timeout longer tha 25 seconds, because TCPIP timeout in the RPC engine was constantly set to 25 seconds.
  • There was a problem that FindRsrc()/viFindRcrc() could not enumerate resources because some regular expressions were not correctely parsed.
  • There was a problem that unsent buffer content was not correctly flushed When viScanf()/viQueryf() is called.
  • There was a problem that received string was not correctly returned when terminated-text specifier (%t) is specified to viScanf()/viQueryf().
  • There was a problem that the program crashes when floating-point specifier (%e, %lf) was specified to viPrintf()/viQueryf().

VER 5.0.1 (15 DEC 2010)

The following issues have been fixed or improved.

VISA Specification Changed !!!

  • KI-VISA is now compliant with VISA Specification 5.0.
  • For LAN-based instruments, IVI HiSLIP (High-Speed LAN Instrument Protocol) is newly added.
  • USBTMC device driver is now changed from Microsoft winusb.sys to IVI-common “ausbtmc.sys”. This driver is automatically installed by VISA Shared Components SETUP.

Deleted Features:

  • Along with device driver change, the drivers setup functionality is deleted from IO Config’s USB tab.

VER 4.2.6 (07 JULY 2010)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • At the error recovery process after USBTMC viRead timeouts, there was a problem that VISA might not correctly send INITIATE_ABORT_BULK_IN request depending on device’s behaviour. The problem was found when communicating with the USBTMC interface of Picotest G5100 Waveform Generator.
  • At IO Configuration operation, the resource management pages (tabs) for LAN(Socket) and LAN(VXI-11) have been integrated.
  • At IO Configuration operation, DNS-SD (DNS Service Discovery) is now added for LAN instrument discovery. However this functionality is enabled only when your PC installs Bonjour or iTunes, because it uses Bonjour API. Also, in order to be hit by search, the instrument must implement mDNS/DNS-SD. (It is a mandatory item after LXI spec ver1.3.)
  • At 64bit version of SPY, all 32bit programs running under WOW64 now add “*32” indicator after the exe name.

VER 4.2.5 (06 MAY 2010)

The following issues have been fixed or improved.

SETUP improvement:

  • SETUP program is changed to perform USBTMC device driver installation. However, when the command line option /S (silent install, ‘S’ must be uppercase) is specified, the driver will not be installed.

VISA COM and VISA C common issues:

  • There was a problem that the x64 version of VISA C API does not work after the PC was rebooted. The cause was that the vendor-specific 64bit VISA C component (kivisa32.dll) was registed to the VISA Router (System32/visa64.dll) incorrecly written in the Registry as VOTALITE attribute.
  • At x64 version, there was a problem that VI_ATTR_RET_COUNT_64 attribute could not be read by viGetAtribute().
  • At x64 version, there was a problem that VI_ATTR_USER_DATA_64 attribute could not be written/read by viSetAttribute()/viGetAttribute().
  • At x64 version, KI-VISA SPY did not show the spy log correctly for VI_ATTR_RET_COUNT and VI_ATTR_USER_DATA attribute write/read.
  • Correction of description about IFormattedIO488 in the on-line help.

VER 4.2.4 (09 APR 2010)

The following issues have been fixed or improved.

VISA Specification Changed !!!

  • Native 64bit (x64) applications are now supported for development and runtime!

SETUP improvement:

  • The SETUP program now installs both IVI Shared Components 2.1 and VISA Shared Components as default.
  • The SETUP program has been changed from InstallShield-base to Nullsoft Scriptable Installer System (= NSIS), thereby it is now amazingly compacted.
  • 64bit version and 32bit version SETUP are provided separately.

VISA COM and VISA C common issues:

  • There was a problem that serial ports having greater than the port# COM9 could not work.
  • There was a problem that when multiple USBTMC instruments having the same VID/PID are connected, viOpen could not correctly open the 2nd instrument session depending on the opening order.
  • At NI-488.2M compatibe operations, VISA lock operation can optionally use GPIB board level lock mechanism. However, this is only applied to the case you use GPIBx::INTFC resources with National Instruments GPIB hardware.

VER 4.2.2 (09 FEB 2009)

The following issues have been fixed or improved.

VISA Specification Changed !!!

  • KI-VISA is now compliant with VISA Specification 4.2.
  • The SETUP program now installs both IVI Shared Components 1.5.1 and VISA Shared Components as default.
  • The default destination directory of VISA is changed to C:/Program Files/IVI Foundation/VISA from C:/VXIpnp.
    (This is applied to clean-install only. Updating onto existing VISA software may keep using C:/VXIpnp directory.)

Supported operating systems and runtime library changed !!!

  • KI-VISA currently supports Windows Vista (x64 and x86), XP with SP2+ (x86 and conditionally x64), and 2000 with SP4 (x86). See top of this page for detail.
  • Under XP and Vista environment, the USB driver for USBTMC devices is now replaced with Microsoft’s WINUSB.SYS.
  • All the KI-VISA components including Instrument Explorer, SPY, VISA DLLs, etc are now built with Visual C++ 2008 using MFC/ATL. Therefore KI-VISA SETUP program also installs Visual C++ 2008 Redistributable Package.

SETUP improvement:

  • The SETUP program of KI-VISA now checks if other vendor’s VISA software is not already installed. This is done by checking the existence of the registry entries regarding the VISA installation. If any is found, KI-VISA setup program will halt with an error message to avoid multiple installations. Actually the following registry entries are considered as an evidence of other vendor’s VISA being already installed.
  • HKEY_LOCAL_MACHINE\SOFTWARE\National Instruments\NI-VISA for Windows 95/NT
  • HKEY_LOCAL_MACHINE\SOFTWARE\Agilent\IO Libraries
  • HKEY_LOCAL_MACHINE\SOFTWARE\Agilent\IO Libraries Suite
  • HKEY_LOCAL_MACHINE\SOFTWARE\Tektronix\TekVisa

VISA COM and VISA C common issues:

  • By migrating to WINUSB.SYS (USB driver for XP and Vista), only one process can access the USB device at the same time. In other words, multiple processes cannot open multiple VISA sessions for the same USB device at the same time. This restriction is due to WINUSB.SYS design, and utilizing UMDF or KMDF layer is the best solution. However KI-VISA does not currently use any of UMDF or KMDF layer, therefore multiple open for the same device is still unable.

VISA Configuration issue:

  • When searching for VXI-11 instruments under AutoIP configuration (IP addresses of 169.254.0.0/16), it was unable to find the instruments because broadcasting address for VXI-11 discovery was wrong.

VER 3.1.3 (17 JAN 2008)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • On using USBTMC devices, when a communication error on write (viWrite, viPrintf, IMessage::WriteString etc…) is occurred, correctly it shall send INITIATE_ABORT_BULK_OUT and CHECK_ABORT_BULK_OUT_STATUS class requests but, VISA incorrectly sent CHECK_ABORT_BULK_IN_STATUS instead of CHECK_ABORT_BULK_OUT_STATUS.
  • The bundled IVI Shared Components is now version 1.5.0.
  • When controlling USB device through .NET Framework 3.5 (such as Visual Studio 2008 apps) under Windows Vista, VISA session could not be opened normally.

VISA Configuration issue:

  • When using XP-style desktop theme under WindowsXP, the IO Config app could terminate abnormally with runtime-error, because it did not correctly initialize Common Control 6.0 API. (Under Windows Vista, and the environment such that KiVisaConfig.exe.manifest is deleted, the problem does not happen.)

VER 3.1.2 (03 JULY 2007)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • There was a problem that serial I/O (RS232) reading took extremely long time, causing performance issues or unexpected I/O timeout errors. This problem was found in KI-VISA 3.1.1 and 3.1.0, but not in 3.0.4 or earlier.
  • There was a problem that multi-threaded applications accessing multiple instruments of the same resource type (even if for different instrument addresses) could not operate them simultaneously. This was due to the wrong mutex locking inside VISA.

VISA Configuration issue:

  • There was a problem that VISA Configuration tool could not be correctly launched from Instrument Explorer, once a TCP/IP connection check or VXI-11 instrument search was executed. (This problem was due to zombie process resident when you quitted the Configuration tool).

VER 3.1.1 (01 JUNE 2007)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • The observation method for SRQ on VXI-11 has been changed from auto serial polling to VXI-11 intr_chan socket communication.
  • The search method for VXI-11 instruments on IO Config has been changed.
  • IO Config program is now a sub program of Instrument Explorer.
  • Instrument Explorer now supports direct open for the embedded web page of TCP/IP instruments.

VER 3.1.0 (09 FEB 2007)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • Windows Vista (Home Premium, Business, Ultimate) support has been newly added.
  • TCP/IP(SOCKET and VXI-11) support has been newly added.
  • The bundled IVI Shared Components is now version 1.4.0.
  • Windows98/98SE/ME are no longer officially supported. (Due to system requirement changes of the latest IVI Shared Components.) Although KI-VISA may work fine on these environment, it is not officially supported or guaranteed.
  • SETUP is changed to give write permission to all the log-on users for Program Files/IVI directory.
  • Some CONTEC GPIB boards had a problem that viClear() function hangs up. It is now fixed.

VER 3.0.4 (01 FEB 2006)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • The FindLstn() function of the latest LabVIEW driver for INTERFACE GPIB may knock out the system. Therefore the approach for active listener search in IO Config has been changed from FindLstn() call to an iteration of ReadStatusByte() calls.
  • The maximum available read size was limitted to 64KB. It is now extended to 2GB.

SPY issues:

  • Enabling/disabling the SPY recording mode while an application is communicating with instrument sometimes made the application be crashed. It is now fixed.

VER 3.0.3 (20 SEP 2005)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • At USB INSTR sessions (USBTMC), the wValue parameter for CHECK_ABORT_BULK_IN_STATUS and CHECK_ABORT_BULK_OUT_STATUS class requests was being sent as a wrong value. It is now fixed.

SPY issues:

  • Tooltip function on Status columns displayed wrong information. It now displays status description strings correctly.

VER 3.0.2 (15 APR 2005)

The following issues have been fixed or improved.

VISA COM and VISA C common issues:

  • When using GPIB INSTR session, viWaitOnEvent() function and WaitOnEvent() method incorrectly returned EVENT_IO_COMPLETION instead of EVENT_SERVICE_REQ, when an SRQ event was generated. It is now fixed.
  • When using serial (ASRL) device with setting IO Protocol to VI_PROT_NORMAL(1), viClear() function and Clear() method generated an error. It is now fixed.

VER 3.0.1 (02 MAR 2005)

The following issues have been fixed or improved.

VISA C specific issues:

  • VISA functions that are required by the VISA Specification 3.0 have been added.

VISA COM and VISA C common issues:

  • VISA COM interfaces that are required by the VISA COM Specification 3.0 have been added.
  • viFlush() function and ISerial::Flush() method did not flush the buffer contents. It is now fixed.
  • When using serial (ASRL) device with setting IO Protocol to PROT_4882_STRS(4), viAssertTrigger() function and IMessage::AssertTrigger() method did not correctly send *TRG\n command. It is now fixed.
  • When using serial (ASRL) device with setting IO Protocol to PROT_4882_STRS(4), viReadSTB() function and IMessage::ReadSTB() method did not correctly send *STB?\n command. It is now fixed.
  • viGpibControlATN() function and IGpibIntfc:ControlATN() method did implement actual operation. Implementations are now added.
  • Simulated Termination Character operations when reading from a USBTMC device that does not support it natively, has been added.
  • After Surprise Removal event has occurred on a USBTMC device, the session could not be re-opened. It is now fixed.

Instrument Explorer issues:

  • IUsb VISA COM interface is newly supported.

VER 2.2.5 (21 JAN 2004)

The following issues have been fixed or improved.

VISA C specific issues:

  • The VI_ATTR_TRIG_ID and VI_ATTR_SUPPRESS_END_EN attributes were not correctly supported. They are now supported.
  • viGpibControlREN() function did not work with USB instruments. It is now fixed.
  • When viRead() (including its family) had failed due to I/O timeout, the receiving buffer was always empty, even if some bytes of the response data could be read. It is now fixed.

VISA COM and VISA C common issues:

  • When sending a class request to the USBTMC instrument, the bmRequestType value was not correct, indicating wrong target (between device/interface/endpoint classification). It is now fixed.
  • When sending a USBTMC INITIATE_ABORT_BULK_IN or CHECK_ABORT_BULK_IN request, the wIndex indicating the target Bulk-IN endpoint address was wrong. It is now fixed.
  • When reading a response data that does not indicate the EOM (End Of Message) bits from the USBTMC instrument,viRead() function and Read() method (including their family) did mistakenly process the read termination. It is now fixed.
  • When repeating open/close actions for USBTMC resources, there was a handle leak problem. It is now fixed.
  • VISA resource alias feature has been added. viOpen() function and Open() method now accept alias names as well as canonical VISA resource names.
  • When invoking viFlush() function or ISerial::Flush() method with the “discard” option, the VISA did perform unnecessary I/O operations. It is now fixed.
  • When reading the VI_ATTR_GPIB_REN_STATE attribute or reading the RENState property through the NI-488.2M compatible GPIB resource, it could not be read indicating the unknown status. It is now fixed.

SETUP Program issues:

  • After the KI-VISA installation, all the VISA resource types are now enabled as default. Plus VISA32.DLL is enabled as default.

VER 2.2.4 (09 OCT 2003)

The following issues have been fixed or improved.

VISA C specific issues:

  • When the VISA32.DLL was dynamic-linked as the static-import with a DLL or an EXE program, sometimes the process of the end-user app program EXE could not be unloaded. It is now fixed.

VISA COM and VISA C common issues:

  • When opening a session with the VISA COM Open method for an ASRL resources, the option settings through the OptionString parameter could not be correctly applied. It is now fixed.
  • When a COM exception has been generated, the InterfaceSupportsErrorInfo method of the ISupportErorInfo interface did return S_FALSE, so that the error description string could not be obtained by the client. This problem was normally generated on VB.NET, C#, and C++ with smart pointer wrappers, not on VB6. It is now fixed.
  • When reading the VI_ATTR_DEV_STATUS_BYTE attribute through the viGetAttribute() function or when reading the DevStatusByte property, the VISA generated a stack overflow error. It is now fixed.
  • When closing the session with the viClose function or with the Close method for NI-488.2M-compatible GPIB resources, it took 1 second. This was due to a inappropriate call of WaitForSingleObject function for invalid events. It is now fixed.

VER 2.2.3 (04 AUG 2003)

The following issues have been fixed or improved.

VISA C specific issues:

  • viScanf()/viQueryf() did not unformat the given string to double/float array using “%,f” or “%,lf” modifiers, when the expression included exponential values such as 1.230000E-02. This problem is now fixed.
  • When there is only one VISA Resource is available, viFindRsrc() function did not enumerate any available resource string. It is now fixed.

VISA COM and VISA C common issues:

  • USBTMC I/O component did not support SRQ EVENT QUEUE feature. The support is now added.
  • Under Windows 98/Me environment with using CONTEC GPIB, the system sometimes crashed when exiting an app program that used GPIB feature. It is now fixed.
  • When operating under a non-administrator privilege (2k/XP), KI-VISA did not find any available VISA resource strings with viFindRsrc() function or FindRsrc() method. It is now fixed.
  • When accessing ASRL resource with timeout value zero, the viRead() function (and its family) did not return making the app software hang up. It is now fixed.
  • When viWrite() function (and its family) takes a NULL pointer or an empty buffer (specifying length zero) for USB resources, the VISA did sent an invalid USBTMC packet making the USB Bulk-OUT endpoint got stalled. the VISA no longer send any packet when such parameters are specified.
  • When a viWrite() function call (and its family) was returned with timeout error for USB operation, subsequent invocations of viReadSTB() function or ReadSTB() method did not work. It is now fixed.

Supported Hardware:

  • CONTEC GP-IB(CB)F has been added to the confirmation list.

VER 2.2.2 (02 JUNE 2003)

The following issues have been fixed or improved.

VISA C specific issue:

  • When using LabVIEW with IVI instrument drivers, the LabVIEW development environment crashed when exiting. It is now fixed.
  • When the VI_ATTR_RD_BUF_OPER_MODE attribute is VI_FLUSH_DISABLE, the scanning operation of viScanf() or viQueryf() function did not discard remaining white spaces to be scanned. For example, after scanning all the tokens by “%” modifiers, the remaining <new line(0x0A)> was always considered as the beginning letter of the next scan. It is now fixed.
  • The viWrite() and viWriteAsync() function, when being passed a NULL for retCnt parameter or jobId parameter, an access violation was generated. It is now fixed.
  • viScanf()/viQueryf() did not understand “#” modifiers such as used in “%#s” and/or “%#[^\n]” format strings. This internal ‘scanf’ parser is now corrected.
  • When response messages that do not have <new_line> nor <carriage_return> termination byte(s), the viScanf()/viQueryf() function did drop the last letter when scanning with %s modifier. It is now fixed.

VISA COM and VISA C common issues:

  • When an empty string was passed to WriteString() method from a VB application, or a NULL pointer was passed to viWrite()/viWriteAsync() function, inappropriate NULL string manipulations in the VISA caused an access violation. It is now fixed.
  • When calling Flush() method or viFlush() function immediately after Open()/viOpen() call, the VISA performed an unnecessary I/O operation without any buffer to be flushed, plus generated internal memory leaks. It is now fixed.
  • When passing a USB INSTR resource string with explicit “USB interface number” such as “USB0::0x1234::0x5678::SN000111::0::INSTR”, the ParseRsrc() method and viParseRsrc() function did not correctly parse the given string. It is now fixed, but mind that this version (VER 2.2.2) still supports interface number = 0 only.
  • When reading large amount of response data (over 2KBytes) from the instrument through CONTEC GPIB board, the hardware driver generated a timeout error. This problem was found when using Tektronix TDS210 LabVIEW and IVI drivers. The VISA now internally processes the reading operation by splitting to multiple small read actions (512 bytes each), thereby the problem is now avoided.
  • After using the SRQ event feature, calling Close() method or viClose() function for the VISA session immediately after DisableEvent()/viDisableEvent() call occasionally generated an access violation. The cause of problem is completion timing of internal automatic serial polling thread. It is now fixed.
  • When using ASRL session with setting the VI_ATTR_ASRL_FLOW_CNTRL attribute to VI_ASRL_FLOW_DTR_DSR, the hardware flow control did not operate correctly. This problem was found when using Agilent HP34401A LabVIEW driver. It is now fixed.
  • When the GPIB board hardware does not exit, VISA did not generate any error when Open() or viOpen() call as long as the corresponding board index is virtually configured. It is now fixed generating E_VISA_RSRC_NFOUND for any non-existing GPIB hardware.
  • Calling Open() or viOpen() for a GPIB board index that is not declared to use in I/O Config tool, generated an access violation. It is now fixed.
  • Some memory leakage problems were found. Although the symptom was frequently generated when KI-VISA SPY was monitoring I/O operations, the same problem was still generated even if without KI-VISA SPY. This might be a critical problem especially if the app software iterated Write/Read I/O operations in long period. It is now fixed.

Other changes:

  • The setup program now provides a generic USBTMC driver INF file (KIUSBTM.INF), which can be universally used for *ANY* USBTMC and USBTMC-USB488 instruments from *ANY* vendor.
  • The .xSPY file extension is now associated with KI-VISA COM SPY (KiVisaSpy.exe) for opening log files.

Supported Hardware:

  • CONTEC GP-IB(PM) has been added to the confirmation list.

VER 2.2.1 (14 MAY 2003)

  • The first release of KI-VISA Library. It supports ASRL, USBTMC, GPIB (CONTEC GP-IB(PCI)L and GP-IB(PCI)F, and INTERFACE PCI-4301).

Support

If you have any technical questions, feel free to contact us from the CONTACT page.

Please feel free to contact us with any questions or concerns.

Download a Product Catalog View List
Request a Quotation Contact Us
close

Search