I have a problem with reading the measurements from the TDS7404B Oscilloscope. I do not get the measurement (for example Amplitude) for the current waveform when I request the value via IVI-COM. The value I get is either from the previous acquisition or "infinite" (which happens the first time). I use the Acquisition.State Property to find out when the acquisition is complete. I then read the measurement using the Measurement:Value query. It seems that it takes some time for the oscilloscope to calculate the amplitude and that this calculation takes place AFTER the Acquisition complete message. I have tried to wait some time before requesting the measurement and then I get the right value. I need to figure out when the measurement value for the current waveform is ready. I have not been able to locate a status flag or property that can tell me if the MEASUREMENT calculation is complete.
Rather than relying on Acquisition:State which only tells you when the trigger has occurred, you should instead use one of the steps referred to in the programmers manual in the section titled, "synchronization methods".
Most commonly, the *OPC method is used. This does require some setup of registers as documented in the referenced section, but once the OPC bit indicates a set state, this assures you that the acqisition has not just started, but is also complete. Your assumption that some time is required to process the measurements after the acquisition completes is correct, but the time required to do so is less than the time required to parse the incoming value query.
常見問答集 ID 59061檢視所有常見問答集 »