ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Простейшие вопросы в области инженерной разработки
Ответить
ABS
interested
interested
Сообщения: 4
Зарегистрирован: 01 июн 2017, 16:04
Версия LabVIEW: 2014
Контактная информация:

ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Сообщение ABS »

Здравствуйте, инженеры-программисты!)Нужна ваша помощь! Создал простенькую программу, которая считывает данные напряжения с двух каналов АЦП. Но работает она не совсем корректно, а именно:

1) Записывает в файл и в массив только несколько десятков ПОСЛЕДНИХ значений сигналов, нужно, чтобы писало все данные от начала до конца непрерывно и в файл и в массив, ну или например каждое 10е значение.

2)Проблема с графиком зависимости одного значения от другого XY, на графике только видна плавающая точка, а необходимо, чтобы была четкая линия, которую можно было бы отматывать назад.

Потерял уже кучу времени, если кто-то знает как исправить эти моменты, буду благодарен!
Вложения
2_Готовая Программа по требованию.vi
(154.89 КБ) 137 скачиваний
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Сообщение Kosist »

1. Вы сохраняете намерянные данные внутри цикла в массиве, в шифт регистре - а записываете не с него. Поэтому у Вас пишется только последнее измерение. Конечно, лучше записывать в цикле, или же сохранять в какой-то буфер, а затем записывать в файл. Но в Вашем случае попробуйте переделать программу, чтобы за циклом использовался массив, а не последнее измерение.
2. Если два раза клацнуть на функцию Build XY Graph, появится окно с галочкой "Clear data on each call". Галочку как раз нужно и убрать.
Надеюсь, что это Вам поможет.
Мы делили апельсин - много наших полегло...
ABS
interested
interested
Сообщения: 4
Зарегистрирован: 01 июн 2017, 16:04
Версия LabVIEW: 2014
Контактная информация:

Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Сообщение ABS »

Спасибо за ответ на счет графика, сработало! А вот на счет буфера не очень понятно, какие могут быть варианты?
Что может быть таким буфером, на границе массива данные вроде-бы индексируются и накапливаются, или это не совсем так?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Сообщение Kosist »

ABS писал(а):Спасибо за ответ на счет графика, сработало! А вот на счет буфера не очень понятно, какие могут быть варианты?
Что может быть таким буфером, на границе массива данные вроде-бы индексируются и накапливаются, или это не совсем так?
Насчет буфера - представьте, что у Вас есть два параллельных цикла. Один для считывания данных, другой - для записи. Из первого цикла во второй, Вы посылаете данные при помощи очереди. Есть пара вариантов - посылать данные на запись после каждой итерации чтения; или накапливать данные (в массив, скажем), и отсылать каждые N измерений/N секунд, и т.д.
Сейчас Вы собираете все данные в массив, в шифт регистр - но для записи вытаскиваете данные не из шифт-регистра, и из последнего считывания.
Но даже если будете записывать в конце с шифт регистра - представьте, что программа будет считывать данные целый день. Какой объем данных будет храниться в шифт-регистре? Приложение просто "упадет", т.к. вся оперативная память будет "забита" массивом с данными.
Но это уже больше вопрос к архитектуре приложения. На форуме можете поискать примеры разных подходов - может, что-то выберете для себя...
Мы делили апельсин - много наших полегло...
Аватара пользователя
nae
user
user
Сообщения: 79
Зарегистрирован: 20 мар 2014, 14:21
Версия LabVIEW: 15
Откуда: Новосибирск
Благодарил (а): 5 раз
Контактная информация:

Re: ЗАПИСЬ РЕАЛЬНЫХ ДАННЫХ В ФАЙЛ+ГРАФИК XY

Сообщение nae »

Обычно если данные поступают "бесконечным" потоком, то их выводят в waveform chart и параллельно скидывают в файл. Если данные можно разбить на кадры (с разверткой), то выводят на обычный график кадрами. Для вывода на XY Graph я предпочитаю делать поточечный replace в буфере данных этого компонента если точки поступают медленно по одной или replace всей кривой если поступают быстро или кадрами.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»