AnsweredAssumed Answered

New vs. Old IO Libraries Questions.

Question asked by TestCenterTech on Oct 22, 2019
Latest reply on Nov 1, 2019 by Tardz

As a technician, I am currently working with a variety of hardware that ranges from current issue, to 30+ year old legacy devices, and I have been working to modernize the desktop computers that manage much of the test equipment (in order to reintroduce them to the local network for data security purposes).


Many of the systems are running Windows XP, and are unsafe to put on the network, but the software that they are running is essential to perform many of the tests we are responsible for.


Some of the required software was built in-house, and has been proven to work on Windows 10, but depends on the SICL protocols provided by Agilent/Keysight IO libraries to communicate with the test equipment connected to the PC. The physical connection is made using a 82357A or 82357B USB-GPIB converters.


What I am finding, is that old versions of Agilent Libraries (15.1) will recognize my California Instruments CI5001I power supply but the latest (2019) version of Keysight Libraries will not. In the old versions, it shows the model, serial, and revision data in Connection Expert. In the new versions, everything is unknown. I CAN, however, open the interactive IO platform and get a response to the *IDN? command (as well as other device specific commands) on Win 10, so I know that the device is communicating to some extent. In fact, the software I am using is almost entirely dependent on those SCPI commands, which I can enter manually, but cannot send via software due to addressing problems with SICL.


Can anyone explain what might have changed? Are there any workarounds available? I have been told that the California Instruments IO interface was potentially designed by/purchased from Agilent, which seems to support the notion that the two should be able to communicate. I realize this is not a Keysight device, but seeing as I have a functional example in Windows XP that works, I hope someone might have some insight on how device discovery or addressing might have changed just enough to make older programs unable to use them.


I also had similar problems relating to the SICL protocol/addressing/communication when trying to address my Agilent 34970A Data Acquisition Modules. Specifically, any of the programs using the sicl32.dll (programs which work on older versions of Windows) no longer work when ported to Windows 10.


I have managed a work around with the 34970A by applying fixed addresses on the software side, but it isn't a stable long term solution, but a workaround. That solution does not appear to work for the power supply though. Interactive IO show a VISA address for the device, and Connection Expert shows that it has also been given a VISA and SICL address, but commands like iopen fail or time out (can't tell which).


I know the original executables of these programs were built in a variant of Object Pascal, and have reference libraries that port/translate the data from the C version of sicl32.dll, but I do not have complete versions of the source code to reference. What I am hoping to learn is what changes might have been made between versions, and what directions I can look as I continue trying to port these applications into Windows 10.


Any help or suggestions would be very much appreciated!