Построение AnalogWaveform<TData> на графике Waveform с помощью метода PlotWaveforms с использованием Measurement Studio 2013 в.Net
Я использую Measurement Studio 2013 с VS 2012.
Я получаю данные из NI PXI 5122, которые я хочу построить на графике. Я отчетливо вижу записи при печати в консоли или даже в виде сетки, но не могу отобразить их на WaveformGraph. Вот мой код:
static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms)
{
List<AnalogWaveform<double>> waveformList = new List <AnalogWaveform<double>>(waveforms);
MainWindow main = new MainWindow();
main.waveformGraph.PlotWaveforms(waveformList.ToArray());
}
в приведенном выше коде нет ошибок, также данные присутствуют в WaveformList, но не отображаются на графике.
1 ответ
Решение
Вы создаете MainWindow
экземпляр динамически в вашем PlotWaveformsOnGraph
метод, потому что вы не можете достичь объекта waveformGraph из контекста метода? Если это так, вы можете рассмотреть следующее:
- Передача объекта waveformGraph, в который вы строите свои осциллограммы, в качестве параметра для вашего
PlotWaveformsOnGraph
метод. Таким образом, вы можете получить доступ кPlotWaveformsAppend
метод на waveformGraph из вашего статического метода.
Это может выглядеть так:
static void PlotWaveformsOnGraph(AnalogWaveformCollection<double> waveforms,
WaveformGraph graph)
{
var waveformList = new List<AnalogWaveform<double>>(waveforms);
graph.PlotWaveforms(waveformList.ToArray());
}
- Удалите статическое ключевое слово из
PlotWaveformsOnGraph
метод. Если предположить,PlotWaveformsOnGraph
является членом вашегоMainWindow
класс, и ваше окно имеетWaveformGraph
контроль над ним, вы можете получить доступ к waveformGraph из вашего метода. У вас есть конкретная причина сделать этот метод статичным?
Похоже, что здесь достигнут больший прогресс в этом вопросе.