API Structure
While VISA.NET, VISA, and VISA-COM all serve a common goal of connecting PCs to instruments, VISA.NET is as different from VISA and VISA-COM as .NET is from ANSI C and COM programming. The designers of VISA.NET have explicitly stated that VISA.NET is intended to reflect .NET design standards and guidelines, so that the experience of using VISA.NET is natural and intuitive in a .NET programming environment.
This section describes the most visible features of the VISA.NET API, and explains how they differ from VISA or VISA-COM.
In This Section
- Namespaces describes the two namespaces that define the VISA.NET API and the Keysight implementation of the API.
- Interfaces And Classes describes the interface-based nature of the VISA.NET API, and explains how this contributes to a common user experience across I/O protocols and VISA.NET vendors.
- Resources and Sessions describes VISA.NET sessions and explain how session interfaces are tied together in a hierarchy to support a variety of message-based and register-based I/O protocols.
- Resource Managers and the GRM explains how resource managers work in VISA.NET, as well as some details on the way that VISA.NET resource management relates to VISA and VISA-COM resource management.
- Enumerations describes how VISA.NET enumerations (rather than VISA's defined values) make programming easier. It also introduces the topic of formatting with enumerations.
- Exceptions describes VISA.NET error handling, which uses .NET exceptions. It describes the use of exceptions defined in the .NET Framework, as well as a few exceptions that are specific to VISA.NET.
- Hardware Events describes the use of events in VISA.NET. It explains how two models for events coexist in VISA.NET and describes the appropriate uses for each.
- The Native Access API describes how VISA.NET programs can obtain access to the VISA C API that underlies the VISA.NET implementation.