генерация, DAQ
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
генерация, DAQ
Здравствуйте. У меня такая проблема.
Мне нужно сгенерировать синусоидальный сигнал на плате NI BNC-2120, и путем Output-Input считать его на этой же плате. При этом необходимо, чтобы можно было в реальном времени изменять параметры сигнала (амплитуду и частоту).
Я попробовал сделать подобный VI (см. рис.), но он работает с большой задержкой. Например, когда я меняю параметры в реальном времени, должно пройти порядка 10 секунд, прежде чем сигнал, считанный с Input тоже изменит свой вид.
Также, в самом начале, при первом запуске VI, хотя сигнал генерируется синусоидальный, примерно первые 10 секунд считывается какой-то кривой "затреуголенный" сигнал.
Давно копаюсь, чего только не пробовал, не могу понять, в чем проблема.
P.S. На рисунке вопросики - потому что скриншот сделан был на другом компьютере. Под вопросиками стоят "DAQmx Start Task" и "Create Task". За циклом (что тянется слева внизу) - то же самое.
Спасибо.
Мне нужно сгенерировать синусоидальный сигнал на плате NI BNC-2120, и путем Output-Input считать его на этой же плате. При этом необходимо, чтобы можно было в реальном времени изменять параметры сигнала (амплитуду и частоту).
Я попробовал сделать подобный VI (см. рис.), но он работает с большой задержкой. Например, когда я меняю параметры в реальном времени, должно пройти порядка 10 секунд, прежде чем сигнал, считанный с Input тоже изменит свой вид.
Также, в самом начале, при первом запуске VI, хотя сигнал генерируется синусоидальный, примерно первые 10 секунд считывается какой-то кривой "затреуголенный" сигнал.
Давно копаюсь, чего только не пробовал, не могу понять, в чем проблема.
P.S. На рисунке вопросики - потому что скриншот сделан был на другом компьютере. Под вопросиками стоят "DAQmx Start Task" и "Create Task". За циклом (что тянется слева внизу) - то же самое.
Спасибо.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: генерация, DAQ
1. Задачу сбора данных и генерации желательно сделать в отдельных циклах, чтобы они не влияли друг на друга. Ваш вариант будет работать корректно только в строго определенной комбинации параметров.
2. Данные для генерации сначала подготавливаются в Simulate Signal, потом передаются в буфер платы и из него выводятся с заданной частотой. Пока все старые данные из буфера не выйдут новые на выход не поступят. Предположим, что частоты измерения и генерации у вас одинаковые. Тогда, раз вы считываете по 100 точек за период, то и генерировать в Simulate Signal должны те же 100 точек. У вас там скорее всего 1000, вот и будет запаздывание в 10 раз.
2. Данные для генерации сначала подготавливаются в Simulate Signal, потом передаются в буфер платы и из него выводятся с заданной частотой. Пока все старые данные из буфера не выйдут новые на выход не поступят. Предположим, что частоты измерения и генерации у вас одинаковые. Тогда, раз вы считываете по 100 точек за период, то и генерировать в Simulate Signal должны те же 100 точек. У вас там скорее всего 1000, вот и будет запаздывание в 10 раз.
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Сделал все в отдельных циклах (пробовал как параллельный вариант, так и последовательный с использованием Flat Sequence). Попробовал вместо Simulate Signal использовать генератор синусоидальной волны. На какие только значения не менял параметры генерации и считывания (samples per second, number of samples). Все равно результат лучше не становился.
Опишу подробнее.
Все то же самое: задержка порядка 10 секунд при смене амплитуды или частоты. В самом начале, при первом запуске, вместо синуса с Input снимается "пила" в течение ~10 секунд.
Если все это дело просмотреть через Highlight execution, при первом же проходе циклов, а именно при первом считывании, вылазит ошибка - что-то типа "Samples you try to read are not available, because they have been rewritten...", хотя это странно - ведь сэмплы были только что записаны в предыдущем цикле без ошибки. Смена параметров скорости считки и количества сэмплов так же не приносит результата.
Опишу подробнее.
Все то же самое: задержка порядка 10 секунд при смене амплитуды или частоты. В самом начале, при первом запуске, вместо синуса с Input снимается "пила" в течение ~10 секунд.
Если все это дело просмотреть через Highlight execution, при первом же проходе циклов, а именно при первом считывании, вылазит ошибка - что-то типа "Samples you try to read are not available, because they have been rewritten...", хотя это странно - ведь сэмплы были только что записаны в предыдущем цикле без ошибки. Смена параметров скорости считки и количества сэмплов так же не приносит результата.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Вопросики - то же самое, делал на другом компьютере.Andrew Lunev писал(а):Начните с изучения теории...
Выкладывайте код, посмотрим, в чем именно проблема.
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: генерация, DAQ
у Вас DAQ не установлена, не все VI найденыlv00 писал(а):Вопросики - то же самое, делал на другом компьютере.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Я знаю, я делал на другом компьютере, говорю же, где все было установлено. А скриншот сделал там, где ничего не установлено.IvanLis писал(а):у Вас DAQ не установлена, не все VI найденыlv00 писал(а):Вопросики - то же самое, делал на другом компьютере.
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: генерация, DAQ
Я просил выложить код, а не картинку. Я же не могу заглянуть в SubVI, чтобы увидеть все параметры... Код выкладывайте для случая, когда у вас генерация и сбор идут в отдельных циклах. При вашем уровне знаний, сделать корректно в одном цикле у вас точно не получится.
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Andrew Lunev писал(а):Я просил выложить код, а не картинку. Я же не могу заглянуть в SubVI, чтобы увидеть все параметры... Код выкладывайте для случая, когда у вас генерация и сбор идут в отдельных циклах. При вашем уровне знаний, сделать корректно в одном цикле у вас точно не получится.
- Вложения
-
- generation21flat.vi
- (34.84 КБ) 127 скачиваний
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: генерация, DAQ
1.
2. Подпрограммы конфигурации не выложили.Andrew Lunev писал(а):Код выкладывайте для случая, когда у вас генерация и сбор идут в отдельных циклах.
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Простите за задержку.
P.S. В архиве могут быть лишние файлы, упаковал все подряд.
P.S. В архиве могут быть лишние файлы, упаковал все подряд.
- Вложения
-
- generation.rar
- (285.54 КБ) 131 скачивание
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: генерация, DAQ
Попробуйте этот вариант.
Запускать две программы одновременно. Одна генерит, другая измеряет. Можете потом объединить в одну, если надо.
Запускать две программы одновременно. Одна генерит, другая измеряет. Можете потом объединить в одну, если надо.
- Вложения
-
- Voltage - Continuous Input Edited.vi
- LV2012
- (73.06 КБ) 142 скачивания
-
- Voltage (non-regeneration) - Continuous Output Edited.vi
- LV2012
- (61.64 КБ) 141 скачивание
-
- interested
- Сообщения: 7
- Зарегистрирован: 15 май 2014, 14:48
- Версия LabVIEW: 2012
- Контактная информация:
Re: генерация, DAQ
Большое спасибо.Andrew Lunev писал(а):Попробуйте этот вариант.
Запускать две программы одновременно. Одна генерит, другая измеряет. Можете потом объединить в одну, если надо.
Я нашел для себя вариант решения проблемы - все стало отлично работать, как я поставил Event Structure на изменение параметров. А так же, сделал остановку задачи перед считыванием (что именно повлияло, точно не знаю, так как сделал все вместе).