From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Agilent 33220A Gpib Communication Delay

Hi all,

 

I have done a VI to load a waveform into the Agilent 33220A from a CSV-File. It is working well so far. But there is one strange thing: The first 3 times the VI needs about 1sec to perform, when I try to perform the VI for the 4th time it needs about 5sec. This behavior continues in this manner: 3 times 1sec, then 5sec and so on.

 

Before I added a reset and the clear waveform function it was first time 1sec then 5sec and so on. I have already updated the Firmware, nothing changed.

 

Attached you will find the VI, an oscilloscope picture and a gpib communication trace. I hope somebody can tell me what is wrong there.

0 Kudos
Message 1 of 10
(6,522 Views)

Hello Roman,

        It is probably an instrument operation such as clearing the waveforms that is taking the different amounts of time.  The memory might be filling up during the first 3 1-second iterations and then when it is full, it takes 5 seconds.  You could experiment with different waveform lengths and see if that changes anything.  You could also try calling some of the code in a loop with an initialize and reset before the loop and a close afterwards, and see if that changes the delay.

        If trying those things don't help, I recommend that you contact the manufacturer and see what they have to say.  Please keep us posted.

 

Cheers,

 

NathanT

0 Kudos
Message 2 of 10
(6,505 Views)

Hello Nathan,

thank you for the fast replay and for your proposals!

 

I also tried waveforms with different sizes, but it is always the same situation. In the communication log file I found out that the delay hapens on a simple status read command. That is strange.

 

I tried to rebuild the communication path, change or leave some things out in LabVIEW, but that didnt help too.

 

I am in contact with a nice guy from Agilent now. If I will get a result, I will post it here.

0 Kudos
Message 3 of 10
(6,483 Views)

Hello Roman,

       Since you have found out that the delay happens on a simple status read, try disabling that section of code (unless you already have).  I look forward to hearing how it goes.

 

Thanks,

 

NathanT

0 Kudos
Message 4 of 10
(6,465 Views)

Hello Nathan,

 

my PC was exchanged this week. Now I have got a new one. I was using LabVIEW 2009 on the other PC, now I installed the version 8.5.1, because all of my colleagues are using it. I had to rebuild my VIs, becuase of the version change. Now the situation is a bit different: I get the message "Error -1074000000, possible reasons: Instrument reports -420, "Query UNTERMINATED" after I start the VI for the 4th time.

 

I dont know what query is meant and how to terminate it!? I tried to make a "clear waveforms", but now it is not possible. There is also an error then: "Error -1074000000, possible reasons: Instrument reports +787, "Not able to delete the currently selected active arb waveform".

 

Also a reset did not help out.

0 Kudos
Message 5 of 10
(6,396 Views)

Hello Roman,

      You are probably getting the "Query unterminated" error because one of the instrument commands is not being sent correctly OR the instrument is not able to respond quickly enough to the same command multiple times in a row (it happens on the fourth time, correct?).

 

I first want you to confirm that you are following the Initialize->Configure->Data->Close pattern.  I would also like for you to run the examples that come with the instrument driver and see if any errors are reported.

 

Both of the errors that you are seeing are on the instrument, so it would probably help if you take a look at the instrument's programming or user manual and see what the probable causes are.

 

Cheers,

 

NathanT

0 Kudos
Message 6 of 10
(6,385 Views)

Hello Nathan,

 

thank you very much for your hints and sorry for the long time without answering!

 

The situation is following at the moment: The delay is still present at the 4th time loading of the waveform, but there are no errors anymore. I tried a lot of things, unfortunatley I dont know what helped out. I think I am closer to the delay problem now. I figured out, that the delay comes from an "Error Query.vi". The "Error Query.vi" is built in at almost every other VI. The delay starts with the "Configure Arbitrary Waveform.vi" and if I delete the "ErrorQuery.vi" in it, the delay happens in the next VI with an "Error Query.vi". I am not sure what to do with it at the moment.

 

I also had a crash of the hole LabVIEW sometimes. I figured out what that was: in the "Initialization.vi" was an "ID Query" that made some troubles. I simply switched it off and made a numeric constant with the model number. Since that I never have crashes.

0 Kudos
Message 7 of 10
(6,002 Views)

Hello Roman,

        The Error Query is probably not causing the problem, but is exposing the problem with the instrument being slow to respond to the query.  You would probably get a delay when trying to query anything on the instrument, not just the error information.

 

        I have not heard of ID Query ever causing crashes, but I am glad that you turned it off and hardwired the VI for your particular model.  Do you only call Initialize VI at the very beginning of your application?

 

Cheers,

 

NathanT

0 Kudos
Message 8 of 10
(5,983 Views)

Hello Nathan,

 

that is possible, but why does it happen only every 4th time and not every time? 

 

yes, I am calling the "Initialize.vi" only once at the beginning of my app. I found an interesting text in the ID Query case structure of the "Initialize.vi":

The ID Query failed.  This may mean that you selected the wrong instrument or your instrument did not respond.  You may also be using a model that is not officially supported by this driver.  If you are sure that you have selected the correct instrument and it is responding, try disabling the ID Query.

 

 

 

Roman

0 Kudos
Message 9 of 10
(5,980 Views)

Hello Roman,

       It might be happening only every 4th time because a buffer on the instrument is filling up and having to be emptied.  The instrument's manufacturer might have a better explanation for the odd behavior.

 

       The text in the ID Query is to notify the user if the ID Query fails.

 

Cheers,

 

NathanT

0 Kudos
Message 10 of 10
(5,962 Views)