12-07-2018 08:38 AM
Setup:
-My app controls one Power Supply and sets a static voltage for testing (simple & basic).
Problem:
-I have one particular user (out of thousands) whose PS is taking nearly 4 sec. to turn on once the GPIB command is sent (yes, I actually use a timer and A->D to check).
Q:
-Any ideas why this might be happening?
-Any ideas for debugging?
HW:
-National Instruments GPIB-USB-HS
-Agilent E3642A power supply
SW:
-Lasted NI488 drivers from NI
-My custom App (which I can provide an exe example of).
Solved! Go to Solution.
12-07-2018 10:39 AM
12-07-2018 11:16 AM
If they have more than a single instrument on the bus, how are they wired? It is not uncommon for reflections from daisy-chained instruments to cause reflections and therefore delays on the bus. It is best to have multiple instruments connected to the controller via a star pattern. If that is not possible, then at least a stem and petals design.
Also, Some instruments have older modes that send the command received back onto the bus. In these cases, try to set the instrument into a mode that only responds on the bus when queried.
When these instances occur, the controller may wait for another instrument to timeout before releasing the bus and allowing the command to be accepted by the expected instrument.
12-07-2018 12:51 PM
What's the command string? Are you also checking for errors before and after the commands? It seems like something is timing out and you don't get that feedback, just the resulting long delay. I've seen this when installing a new card in a PSU chassis and the new card did not accept the same parameter formats as the commands sent to the original card. Chassis was still waiting for more parameters but the software was waiting for a response. No response sent, just the timeout, then reading the error was also unhelpful - timeout waiting for reply.
If you can swap out that unit with another and see if it behaves the same, if so then customers setup is the problem.
12-07-2018 01:38 PM
Thanks for the reply's/ideas - keep 'em coming. I'll attempt to answer all below.
-Only 1 instrument on the bus (the PS) - and controller is directly connected to it.
-Handshake speed - where to set?
-Timeout before releasing the bus. This sound very plausible. How to investigate this?
-Different PS. Yes, they tried another one - with same results (4 sec delay).
-Command string (issued in one ibwrt()) "VOLT 12.8;CURR 2.0;OUTP ON"
-Error (iberr) I think it was 0 (no error) but will confirm.
The user is off today, so I can investigate Monday.
12-07-2018 01:47 PM
12-07-2018 01:47 PM - edited 12-07-2018 01:50 PM
The SCPI command line interpreter inside the equipment and controller will consider a ";" and a "\n" as the same (Essentially an End command). With that said, what is used to allow the instrument to Turn ON its output? Append one of these two to the end of your string for the system to properly handle the command.
VOLT 12.8;CURR 2.0;OUTP ON; VOLT 12.8;CURR 2.0;OUTP ON\n
12-07-2018 01:50 PM
12-07-2018 01:52 PM
I have seen issues where that is not always the case. It is better practice to terminate rather than depend on certain configurations.