11-27-2012 04:29 PM
Hello,
i'm developing an application that remotly controls Rhode&Schwarz FS300 spectrum analyzer.
I'm using LabVIEW 2011 Student Version and official VXI Plug&PLay drivers.
To make it more flexible i'm using state machnine structure with event handler inside.
When user press Start button, program goes from IDLE state to INIT state (where I use Initialize.vi among others) then to MEASUREMENT state, and if special conditions occur program automaticly end measurement by entering CLOSE state (Abort.vi, Flush Error Queue.vi, Close.vi etc) and then IDLE.
Measurement state provides posibility to change basic measurement parameters (here i use event handler) from application front panel, and if no user event occured - user didn't press any button (timeout case) - it should collect data from device.
The problem is that RSSIFS Read Complete Sweep Data.vi returns this error:
"(Hex 0xBFFC09F9) ERROR Data not available"
It doesn't matter how long is the timout, because issue started when I added case stucture (that chooses next state).
What do I do wrong? Is this a faulty architecture use, or a driver issue?
Thanks,
rabarbar
11-28-2012 05:48 AM
Hi rabarbar,
It's a bit difficult to answer your question. Have you ever managed to make the R&S FS3000 and LV work together? If yes, please post some VIs about both the working and the not working configurations to see what's with it.
Regards,
Norbert
11-28-2012 12:13 PM
11-28-2012 04:51 PM
Thanks for your replies!
I can't post my whole project, but I managed to simplified main vi to the boundries (event structure in my original vi contains much more cases, but I didn't want it to be "messy" here).
Simplified without state machine.vi works fine - collects data every 150 sec without errors (it's not a fault of too short timeout).
Simplified with state machine.vi doesn't work, and RSSIFS Read Complete Trace.vi returns error I mentioned before...
12-04-2012 02:23 AM
Hi,
I have some suggestions to your state machince code:
- Design the state machine in a way that if you push the 'Stop' button, the loop does not stop immediately, because it has to go the 'Abort' state (where you terminate the process) before.
- Check the error status after every loop iteration, and if there was an error, go to the 'Abort' state.
- Put the 'error in (no error)' input out of the While loop, and initialize the error shift register with it.
- Put some timing to the 'Idle' state to save CPU resource.
I am not sure if these will solve this particular problem, these are rather some general advices.
What I am suspecting is that there are some problems when you initialize the connection with the instrument.
Regards,
Norbert
01-09-2015 03:04 PM
Hello,
Do you've any luck in controlling the FS300?
If yes, can you please help me outt? Thanks!
01-09-2015 04:50 PM