Здравствуйте, инженеры-программисты!)Нужна ваша помощь! Создал простенькую программу, которая считывает данные напряжения с двух каналов АЦП. Но работает она не совсем корректно, а именно:
1) Записывает в файл и в массив только несколько десятков ПОСЛЕДНИХ значений сигналов, нужно, чтобы писало все данные от начала до конца непрерывно и в файл и в массив, ну или например каждое 10е значение.
2)Проблема с графиком зависимости одного значения от другого XY, на графике только видна плавающая точка, а необходимо, чтобы была четкая линия, которую можно было бы отматывать назад.
Потерял уже кучу времени, если кто-то знает как исправить эти моменты, буду благодарен!
ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
-
- interested
- Сообщения: 4
- Зарегистрирован: 01 июн 2017, 16:04
- Версия LabVIEW: 2014
- Контактная информация:
ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
- Вложения
-
- 2_Готовая Программа по требованию.vi
- (154.89 КБ) 137 скачиваний
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
1. Вы сохраняете намерянные данные внутри цикла в массиве, в шифт регистре - а записываете не с него. Поэтому у Вас пишется только последнее измерение. Конечно, лучше записывать в цикле, или же сохранять в какой-то буфер, а затем записывать в файл. Но в Вашем случае попробуйте переделать программу, чтобы за циклом использовался массив, а не последнее измерение.
2. Если два раза клацнуть на функцию Build XY Graph, появится окно с галочкой "Clear data on each call". Галочку как раз нужно и убрать.
Надеюсь, что это Вам поможет.
2. Если два раза клацнуть на функцию Build XY Graph, появится окно с галочкой "Clear data on each call". Галочку как раз нужно и убрать.
Надеюсь, что это Вам поможет.
Мы делили апельсин - много наших полегло...
-
- interested
- Сообщения: 4
- Зарегистрирован: 01 июн 2017, 16:04
- Версия LabVIEW: 2014
- Контактная информация:
Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
Спасибо за ответ на счет графика, сработало! А вот на счет буфера не очень понятно, какие могут быть варианты?
Что может быть таким буфером, на границе массива данные вроде-бы индексируются и накапливаются, или это не совсем так?
Что может быть таким буфером, на границе массива данные вроде-бы индексируются и накапливаются, или это не совсем так?
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
Насчет буфера - представьте, что у Вас есть два параллельных цикла. Один для считывания данных, другой - для записи. Из первого цикла во второй, Вы посылаете данные при помощи очереди. Есть пара вариантов - посылать данные на запись после каждой итерации чтения; или накапливать данные (в массив, скажем), и отсылать каждые N измерений/N секунд, и т.д.ABS писал(а):Спасибо за ответ на счет графика, сработало! А вот на счет буфера не очень понятно, какие могут быть варианты?
Что может быть таким буфером, на границе массива данные вроде-бы индексируются и накапливаются, или это не совсем так?
Сейчас Вы собираете все данные в массив, в шифт регистр - но для записи вытаскиваете данные не из шифт-регистра, и из последнего считывания.
Но даже если будете записывать в конце с шифт регистра - представьте, что программа будет считывать данные целый день. Какой объем данных будет храниться в шифт-регистре? Приложение просто "упадет", т.к. вся оперативная память будет "забита" массивом с данными.
Но это уже больше вопрос к архитектуре приложения. На форуме можете поискать примеры разных подходов - может, что-то выберете для себя...
Мы делили апельсин - много наших полегло...
- nae
- user
- Сообщения: 79
- Зарегистрирован: 20 мар 2014, 14:21
- Версия LabVIEW: 15
- Откуда: Новосибирск
- Благодарил (а): 5 раз
- Контактная информация:
Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY
Обычно если данные поступают "бесконечным" потоком, то их выводят в waveform chart и параллельно скидывают в файл. Если данные можно разбить на кадры (с разверткой), то выводят на обычный график кадрами. Для вывода на XY Graph я предпочитаю делать поточечный replace в буфере данных этого компонента если точки поступают медленно по одной или replace всей кривой если поступают быстро или кадрами.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 12 Ответы
- 600 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 3 Ответы
- 349 Просмотры
-
Последнее сообщение IvanLis
-
- 4 Ответы
- 958 Просмотры
-
Последнее сообщение jane_wild
-
- 1 Ответы
- 19 Просмотры
-
Последнее сообщение Artem.spb
-
- 3 Ответы
- 879 Просмотры
-
Последнее сообщение IvanLis