01-05-2010 06:19 AM
Hi everyone and happy NY!!
I've been fighting with it for 2 months now so I decided to ask more advanced users.
My task is to control 3 devices from one VI: signal generator (IFR2023A GPIB comms), delay generator (DG645 serial comms) and scope (TDS3034B TCPIP comms). I'm using LabView 7.1.
I established communication with all three and they all work together under one VI, but scope is not reliable. Why? From time to time (especially after stopping VI and running it again) it gives me error -1073807343 (Insufficient location or device not present in the system) and that it occurred in VISA Open in my VISA.vi and then I can't recover it remotely. I have to physically switch the power off and on for the scope to come back again. I can't access it from M&A Explorer (it gives the same error) nor in Hyper Terminal, when pinging "request timed out"... I attached my code with VISA Open. Any suggestions welcome.
I just want to add that stacked sequence is a new addition to the code and it improves scope's performance. In other words, I can run VI couple of times before it dies :]
01-05-2010 07:12 AM
Hi moniczka,
as the resource wire is completely hidden into the vi, the session is never explicitly closed when stopping the application.
It's likely that not closing the VISA session is messing up the connection state; sometimes closing and reopening can help, but not always.
I suggest to add a pseudo-command (not directed to the scope) or any other technique you prefer to actively close the resource when you stop the application.
01-05-2010 08:56 AM
01-07-2010 06:48 AM
Hi!
I added Close Visa on error in Visa Comms and then again in top lvl vi. Nothing changed so now I think that time-out error and then insufficient location might be caused by full input buffer. I added Initialization Option.vi (*CLS, *ESE 0 ...) in the top lvl, but again nothing.
I'm going to try synchronize all commands to avoid that time-out error.
Other problem is that Tektronix recommend to use TekVisa with TCPIP comms. In my project it's not really a solution because my program will be used on more than one PC and it's going to cause problems. I want to try GPIB comms now. Changing from RS232 to GPIB solved my problems last time (total lock on the front panel of signal generator). But my scope hasn't got communication module with RS232 and GPIB so I have to wait.
Any tips how to best synchronize the scope? Because I don't have GPIB module now, I'll try to do it using BUSY? or WAI commands.
Regards!