Open ATECoder opened 3 months ago
Update:
Downgrading the Kelary.ivi.visa package to version 5.11.3422 solves this problem.
Hi, @ATECoder, thank you for your detailed description of the problem. I'm glad to hear that the issue has been resolved. According to the logs, the Keysight IO Libraries 2022 Update 2 (version 18.2) was used and its implementation of VISA.NET depend on the VISA.NET Shared Components version 5.11. Downgrading to version 5.11 was indeed the right decision to ensure compatibility and resolve errors.
Thank you, @vnau.
This seems to beg a few questions:
(1) why the failure under 4.8 and not under 8.0?
(2) Was it because under 8.0 the installed version got loaded and found it's dependent implementation irrespective of the revision that Kelary.Ivi.Visa was pointing to?
(2) would it be okay to preload the assemblies under framework versions earlier than 5.0?
On another note, if I may, given the esteemed membership of the IVI foundation I had hoped for some time to see VISA.Net open sourced becoming independent of vendor specific implementations. That would have entailed implementations of XDR, ONC-RPC and VXI-11, which has been open sourced.
As far as I can tell Ivi.Visa needs not reference the Vendors' VISA.Net libraries had the Foundation unified the resource data source format. As it stands. each vendor relies or its own proprietary data source (e.g., ini
for NI, csv
for R&S and SQLite
for Keysight) thus requiring Ivi.Visa to invoke the vendor implementation which in turn references Ivi.Visa.
Also, it seems that the Foundation does not require all members to fully adhere to the VISA specifications. For example, I was disappointed to find that Rohde Schwarz RS.Visa, which I like for its small footprint, does not support addressing a gpib
device using a TCPIP resource (e.g., tcpip0::192.168.0.254::gpib0,22::instr
). This was a show stopper because I prefer using TCPIP boxes to talk to GPIB devices because these require no additional drivers.
Dear @vnau. I find your kelary.ivi.visa simply brilliant. Thank you. I used, I believe, a previous release (5.?) but it seems that the 7.2 release somehow blocks access to the resource manager.
I was getting the following error when running the IviVisaNetSample under .NET Framework 4.8:
To explore this further, I compiled a program to query the instrument identity and added a resource lookup using the IVI.Visa global resource manager. I then compared the results using the current 7.2 release of the Kelay.ivi.visa package versus using a direct reference to IVI.Visa (5.11).
While using ivi.visa directly works, I am getting the failure to parse error when referencing the package.
Here are my results:
Failure running
IviVisaSentSample
(I added the name of the running framework).Success running
IviVisaSentSample
under .NET 8.0:Getting an error under v4.8 using Kelary 7.2
I added the resource lookup here as a way to check the resource manager without having to use an explicit resource name.
Success running under 4.7.2 using direct reference to IVI.Visa.
Success running under 4.8 using direct reference to IVI.Visa.