04-23-2021 01:28 AM
Dear all,
I use Keithley 2700 with serial communication. If i loose communication with instrument after hours of data acquisition I must restart computer.
What does not work for me:
- reconfiguring communication runtime,
- reset keithley (power off/on),
- close and start labview application,
- change of communication cable from serial to USB cable
- software updates: NI 488.2 16.0 to 19.5, NI Serial 17.5 to 19.5, Installed: Keithley I/O Layer version C10
This issue with communication still occurs even after NI software updates.
I get the following error:
'Error -1073807339 occurred at VISA Read in Keithley 27XX.lvlib:Error Query.vi->Keithley 27XX.lvlib:Error Query (Multiple).vi->Keithley 27XX.lvlib:Configure Scan.vi->SUB = KEITHLEY INIT.vi->MAIN = test.vi'
Could anyone please share ideas to fix this issue? What can this issue be related to?
Kind regards,
Balázs
04-26-2021 02:02 AM
Is it possible, that data transfer buffer is overloaded?
04-26-2021 12:32 PM
It would help to see your code. If possible reduce the code to a simple test case. That way we can spot potential errors.
Without seeing the code, I can say that I've had issues with USB-serial converters and also with USB power settings (Windows selective suspend) dropping out and causing problem like yours. Power settings help, see here - https://www.windowscentral.com/how-prevent-windows-10-turning-usb-devices
When selective suspend happens the software still has an open handle to the instrument but its no longer valid, and only a restart fixes things.
For long term measurements use LAN or GPIB and avoid USB. I've gone back to PCIe-GPIB cards over USB-GPIB adaptors and those fixed the problems I was seeing.
Hope that helps.
Craig
04-27-2021 04:02 AM
Hi Craig,
You can find my VI as attachement.
Kind regards,
Balázs
04-27-2021 11:22 AM
If any error triggers a reset then your code needs to a shift register so that the VISA resource ID gets passed back to the read inside while loop catches the new ID. Wires on one right side of a loop only pass values back to the left side of a loop if you use a shift register. Like so ..
This still might not be enough to solve your problem, but at least if its possible to restart communications then there's a chance it would work.
Craig