RsInstrument 1.18.1

dotnet add package RsInstrument --version 1.18.1
NuGet\Install-Package RsInstrument -Version 1.18.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RsInstrument" Version="1.18.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RsInstrument --version 1.18.1
#r "nuget: RsInstrument, 1.18.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RsInstrument as a Cake Addin
#addin nuget:?package=RsInstrument&version=1.18.1

// Install RsInstrument as a Cake Tool
#tool nuget:?package=RsInstrument&version=1.18.1

Description

RsInstrument is a .NET component that provides convenient way of communicating with R&S Instruments.

Check out the full documentation here: https://rsinstrumentcsharp.readthedocs.io/

Examples:

https://github.com/Rohde-Schwarz/Examples/tree/main/Misc/Csharp/RsInstrument https://github.com/Rohde-Schwarz/Examples/tree/main/Oscilloscopes/Csharp/RsInstrument https://github.com/Rohde-Schwarz/Examples/tree/main/Powersensors/Csharp/RsInstrument https://github.com/Rohde-Schwarz/Examples/tree/main/SpectrumAnalyzers/Csharp/RsInstrument

Basic Hello-World code:
using RohdeSchwarz.RsInstrument;

namespace HelloWorld_Example
{

  class Program
  {

    static void Main(string[] args)
    {
      var instr = new RsInstrument("TCPIP::192.168.1.102::hislip0");
      var idn = instr.Query("*IDN?");
      Console.WriteLine("Hello, I am: " + idn);
      
      var options = string.Join(", ", instr.Identification.InstrumentOptions);
      Console.WriteLine("My installed options: " + options);
      
      instr.GoToLocal();
      instr.Dispose();
      
      Console.WriteLine("\nPress any key to finish ...");
      Console.ReadKey();
    }
  }
}

Preconditions

Supported Frameworks

  • .NET Core 3.1
  • .NET Standard 2.0
  • .NET Standard 2.1
  • .NET Framework 4.5
  • .NET Framework 4.8

Release Notes

Version 1.18.1.79 - 20.04.2023

- Fixed NuGet readme.md file.

Version 1.18.0.78 - 20.04.2023

- Changed the accepted IDN? response to more permissive.
- Added SkipStatusSystemSettings to the options string, default value is false.
- Added Utilities methods GoToLocal(), GoToRemote().

Version 1.17.0.75 - 30.05.2022

- Added platform - dependent Visa DLL load for .NET Core builds. The loading now works for Linux and OSX.
- Added mikro to the list of known SI-prefixes for double, int32, int64 conversions.
- Added Session settings string tokens DisableStbQuery (false), DisableOpcQuery (false).
- Changed parsing of SYST:ERR? response to tolerate +0,"No Error" response.

Version 1.15.0.67 - 21.10.2021

- Added .NET Standard 2.0 allowing targeting .NET Core and .NET Framework with one assembly.
- Added RohdeSchwarz.RsInstrument.Conversions namespace with double,integer,boolean conversion extention methods.

Version 1.14.0.65 - 15.10.2021

- Fixed CheckStatus() which was skipped if the QueryInstrumentStatus was false. Now the error checking is performed regardless that settings
- Added correct conversion of strings with SI suffixes (e.g.: MHz, KHz, THz, GHz, ms) to double, int32, int64
- Fixed VISA read buffer in case of multi-threading access

Version 1.13.0.64 - 28.09.2021 - Fixed bug where the NuGet packages contained debug versions of the assemblies with file version 1.0.0.0 - Additional changes only relevant to auto-generated drivers

Version 1.11.0.61 - 19.05.2021

- Added constructor RsInstrument(string resourceName, string optionString)
- improved options string help
- added checking for empty or null resourceName in the constructor

Version 1.10.1.60 - 18.04.2021

- Added alias methods:

    - Query() = QueryString()
    - Write() = WriteString()
    - QueryWithOpc() = QueryStringWithOpc()
    - WriteWithOpc() = WriteStringWithOpc()

Version 1.10.0.57 - 19.01.2021

- Added documentation on https://rsinstrumentcsharp.readthedocs.io/
- Changes relevant to auto-generated drivers only

Version 1.9.0.56 - 14.01.2021

- Added QueryOpc(int visaTimeout)
- Fixed error where the System.TimeoutException was thrown instead of the RsInstrument.VisaTimeoutException
- Cosmetic changes

Version 1.8.0.55 - 14.12.2020

- Fixed setting of VISA Timeout by init to 10000ms
- Added "DTX", "Dtx", "dtx" to a list of values that are represented as NaN

Version 1.7.3.53 - 25.11.2020

- NuGet package signed with Rohde Schwarz certificate
- Core change: Only relevant for auto-generated instrument drivers

Version 1.7.2.51 - 16.11.2020

- Changed NuGet icon
- Adjusted Company name and copyright
- Core change: Only relevant for auto-generated instrument drivers

Version 1.7.0.50 - 11.11.2020

- Changed authors and copyright information
- Core change: Conversion of the empty returned string to array returns empty array. Before, the empty string was converted to an array of one empty element.
- Added QueryStringList(), QueryStringListWithOpc()
- Added QueryBooleanList(), QueryBooleanListWithOpc()

Version 1.6.4.48 - 09.11.2020

  • Fixed parsing of the instrument errors when an error message contains two double quotes

Version 1.6.3.47 - 22.10.2020

  • Changes only relevant for auto-generated instrument drivers
  • Added 'UND' to the list of numbers that are represented as NaN

Version 1.6.0.43 - 05.10.2020

- New Core with added OptionsString token 'TermChar' for setting a custom termination character
- Added 'Hameg' to the list of supported instruments
- Added static method AssertMinVersion() for checking the RsInstrument minimum version

Version 1.5.2.42 - 17.09.2020

- Changes only relevant for auto-generated instrument drivers

Version 1.5.1.41 - 04.09.2020

- New Core 1.8.2.41 with the fix for instrument that do not support OPT? query

Version 1.5.1.40 - 24.08.2020

- New Core 1.8.1.40 with the fixed simulation mode issues

Version 1.5.0.39 - 11.08.2020

- Multi-target frameworks .NET Standard 2.1, .NET Core 3.1, .NET Framework 4.5 and 4.8
- New Core 1.8.0.38 with these features:
- Implemented SocketIO Visa Plugin that does not need VISA
- New Options token: 'SelectVisa' with parameters: NativeVisa | RsVisa | RsVisaPrio | Socket
- Options token 'PreferRsVisa' is now obsolete (but still supported)
- Added new static function RsInstrument.FindResources()

Version 1.4.2.38 - 04.08.2020

- Fixed buffer size for Nrp-Z sessions
- Added and corrected examples

Version 1.4.0.36

- Distributed as NuGet package
- Changed Core to allow for AnyCPU build
- Added Session Settings bool AssureResponseEndWithLF

Version 1.3.0.34 - 19.06.2020

- Added invoking read_segmented event for the first chunk of the ReadUnknownLength()
- New Core with RepeatedCapabilities for command groups

Version 1.2.0.32 - 10.01.2020

- New Core with reworked session settings
- Support for NRP-Zxx instruments

Version 1.1.0.30 - 29.11.2019

- Reorganized Utilities interface to sub-groups
- Added Write/Query With Opc Event
- Added locking for multithreading safety
- Added segmented read / write events

Version 1.0.0.20

- First released version
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.18.1 1,657 4/20/2023
1.18.0 333 4/20/2023
1.17.0 1,320 5/31/2022
1.15.0 987 10/21/2021
1.14.0 330 10/15/2021
1.13.0 383 9/28/2021
1.11.0 552 5/20/2021
1.10.1 709 4/18/2021
1.10.0 489 1/19/2021
1.9.0 354 1/15/2021

Added Linux, OSX support for .NET Core, additional session settings