ScpiDevice 1.0.0

dotnet add package ScpiDevice --version 1.0.0                
NuGet\Install-Package ScpiDevice -Version 1.0.0                
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="ScpiDevice" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ScpiDevice --version 1.0.0                
#r "nuget: ScpiDevice, 1.0.0"                
#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 ScpiDevice as a Cake Addin
#addin nuget:?package=ScpiDevice&version=1.0.0

// Install ScpiDevice as a Cake Tool
#tool nuget:?package=ScpiDevice&version=1.0.0                

ScpiDevice

SCPI protocol VISA based devices controller

This is an updated version of another NuGET package: SCPIPowerForLV.

Besides DC Power suppliers and DMM meters, there are also some other kind of devices using SCPI protocol, which are different, so this package updated the SCPI commands, especially the addition of Read Waveform Data.

Now there is only 1 class ScpiVisaDevice exported with following methods:

  1. static FindAllLocalDevices()
  2. Open(string name, int openTimeout, bool reconnectOnceFailed, out string errorInfo)
  3. Close()
  4. ExecuteWithoutReconnect(string dataToSend, out bool communicationError, out string errorInfo)
  5. Execute underlyingly call ExecuteWithoutReconnect with same parameter
  6. QueryWithoutReconnect(string dataToSend, int countToRead, out string responseText, out bool communicationError, out string errorInfo)
  7. Query underlying call QueryWithoutReconnect 8.bool QueryNumber(string dataToSend, int countToRead, out string responseText, out double responseValue, out bool communicationError, out string errorInfo)
  8. bool QueryWaveData(string dataToSend, out byte[] responseByteArray, out bool communicationError, out string errorInfo)

All are literally, so will not explain more, only QueryWaveData needs following comments:

It takes some steps below:

  1. send SCPI command :WAV:DATA?
  2. read out 2 bytes, it should be like #9
  3. according to the length of index 1 of above string, read out 9+ bytes, it should be like 000000120
  4. read out all the waveform data with 120 bytes.

There is the last step which is not implemented in this free version: each point (byte) should be converted to voltage.

Also, the LabVIEW code is not provided. But 2 applications are enclosed under the sub folder assets, one is a self test app on ITech 6302 Tripple Channel DC Power, another is a self test app on RIGOL DS1102 oscillograph.

The source code of oscillograph to have self test is provided in invocation.txt under sub folder assets.

Author

Patrick Gamp

Published date

January 11, 2024

Product Compatible and additional computed target framework versions.
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.8

    • 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.0.0 834 1/11/2024

initial commit.