A little more background:
The goal of this project is to develope a replacement for an obsolete oscilloscope in an automated test set, hence the reason for emulating the command set - changing the test set program is not an option. So, what I am planning is to place an embedded controller (PXI-8184), a DAQ (PXI-6115), and GPIB card (PXI-GPIB) in a PXI chassis - this system as a whole will be a drop in replacement for the obsolete oscilloscope. The embedded controller (with Windows, not Real-Time LabVIEW) will run a VI (the meat of this project) which will monitor the GPIB for commands intended for the replaced oscilloscope and when it receives a command, parse the command and perform the appropriate actions such as setting up the 6115 for acquisition, starting acquisition on the 6115, or performing analysis on data acquired by the 6115.
I've looked at some of the GPIB scope drivers, but they are focused on sending the proper commands from LabVIEW via GPIB to a stand-alone instrument. My problem is once I've received a command and parsed it (in LabVIEW), what is the best way to "set" the appropriate parameter on the 6115. I need to be able to receive a command that sets the range, then one that sets the sample rate, then another one that sets the number of points to acquire, then one that tells the 6115 to acquire a waveform according to the parameters set by the previous commands (and using defaults for any parameters not explicitly set).
An example command (NOTE: this is a slightly modified command): "RANGE CHANNEL1 10V" - When this message is received, it would be parsed with several nested case statements (2 in this case). The first argument, "RANGE", would select the "RANGE" case of a case structure. The second argument, "CHANNEL1", would be passed inside the case structure and would select then "CHANNEL1" case of a case structure nested inside the "RANGE" case of the first case structure. Inside this second case structure, I need to the set the Vertical Range of Channel 1 of the DAQ to 10 Volts. What is the best way to do this? Would DAQmx property nodes be appropriate? Are there better ways to parse the commands and select the appropriate action?
Thanks for any more assistance,
- Jason