Добрый День,
Работую сразу с двумя Labview версиями - 8.2 и 2009. Пишу сначала в 2009 - всё работает, переношу на 8.2 и начинают вылетать ошибки. В своем проекте использую NI-USB-6211 для получения сигнала с генератора. Полученный сигнал обрабатываю с помощью MathSript (повторяю в 2009 всё работает) - и мне тут же вылетает ошибка о переполнении буфера. Начал проверять сколько времени занимает работа VI с MathSript и без него. Выяснил - если не использовать в MathSript циклы, то всё ОК.Как только начинает считать цикл (даже пустой) - тушите свет, выполнение VI увеличивается в несколько раз !!!!
Вопрос:
Что можно сделать для уменьшения времени обработки кода в MathSript ?
P.S. Может можно что-то сделать с 8.2 версией (какой патч скачать)?
Mathscript тормозит в Labview 8.2
-
- professional
- Сообщения: 390
- Зарегистрирован: 07 мар 2008, 09:26
- Награды: 3
- Версия LabVIEW: 6i-16
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Mathscript тормозит в Labview 8.2
Первое, что было бы правильно сделать, это развести цикл считывания данных с USB-6211 и цикл обработки этих данных. (http://labviewportal.org/viewtopic.php?f=23&t=153)
На своей машине я сгенерировал массив случайных чисел от 0 до 1 и выполнил кусок кода MathScript - у меня получилось 60 мс (LV 8.2.1). На мой взгляд это много, но возникет вопрос, зачем MathScript? Этот же функционал легко реализуется в самом LabVIEW.
PS Функция zeros судя по Help формирует матрицу n на m, но вы ее почему-то потом представляете в виде одномерного массива, какую вообще задачу вы пытаетесь решить?
На своей машине я сгенерировал массив случайных чисел от 0 до 1 и выполнил кусок кода MathScript - у меня получилось 60 мс (LV 8.2.1). На мой взгляд это много, но возникет вопрос, зачем MathScript? Этот же функционал легко реализуется в самом LabVIEW.
PS Функция zeros судя по Help формирует матрицу n на m, но вы ее почему-то потом представляете в виде одномерного массива, какую вообще задачу вы пытаетесь решить?
-
- beginner
- Сообщения: 11
- Зарегистрирован: 23 фев 2010, 17:57
- Версия LabVIEW: 2009
- Контактная информация:
Re: Mathscript тормозит в Labview 8.2
Я не могу развести цикл считывания данных,так как сначала я читаю сигнал(матрица размером 1 на кол-во сэмплов) и только потом эту матрицу обрабатываю в MathScript. Попробую проверить сколько обрабатывает Матскрипт без сигнала. Знаю что с сигналом время обработки доходило до нескольких секунд(от 1 до 4).
-
- professional
- Сообщения: 390
- Зарегистрирован: 07 мар 2008, 09:26
- Награды: 3
- Версия LabVIEW: 6i-16
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Mathscript тормозит в Labview 8.2
Это заблуждение, что нельзя развести. При такой реализации изначально закладывается проблема, АЦП стартовало, а блок считывания зависит от скорости обработки данных, что приводит к переполнению буфера АЦП. Для того, чтобы это избежать, надо сделать два цикла, в одном идет считывание данных, в дроугом обработка, ну или обезопасить этот цикл (в крайнем случае), то есть после считывания данных останавливать АЦП (в этом же цикле), затем производить обработку данных и затем заново стартовать АЦП для следующей порции.
Но все же настоятельно рекомендую сделать два цикла. И конечно же посмотреть в сторону реализации скрипта MathScript средствами LabVIEW.
Но все же настоятельно рекомендую сделать два цикла. И конечно же посмотреть в сторону реализации скрипта MathScript средствами LabVIEW.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 2068 Просмотры
-
Последнее сообщение PozhiloyGoblin
-
- 0 Ответы
- 344 Просмотры
-
Последнее сообщение maxim_MA
-
- 23 Ответы
- 2424 Просмотры
-
Последнее сообщение dadreamer
-
- 2 Ответы
- 391 Просмотры
-
Последнее сообщение ujin1
-
- 5 Ответы
- 847 Просмотры
-
Последнее сообщение dadreamer