Очистка графика, во вложенном цикле.

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
zzontt
beginner
beginner
Сообщения: 15
Зарегистрирован: 31 июл 2014, 13:48
Версия LabVIEW: 2010
Контактная информация:

Очистка графика, во вложенном цикле.

Сообщение zzontt »

Есть конструкция из главного цикла, и нескольких вложенных, внутри которых строятся графики данных с приборов и задаются параметры измерений с этих приборов.
Возникла проблема, при остановке внутренних циклов и изменения в них некоторых настроек, после перезапуска этих внутренних циклов, данные с приборов начинают отображаться по верх того что уже было нарисовано на графике (вместо того что бы начать построения графика с чистого пустого поля), подскажете пожалуйста, как грамотно очистить график во внутреннем цикле, не останавливая при этом внешний.
В приложении упрощенная схема моего проекта. Пробовал использовать выход Reset, но он работает не так как надо, он сбрасывает график именно во время работы вложенного цикла(что логично, когда цикл остановлен кнопка не работает), то есть после нажатия на кнопку Reset именно во время измерений сбрасывается часть графика которая была построена, и строится заново, а мне надо что бы он оказался чистым после остановки при следующем запуске вложенного цикла на нем не чего не было.
Вложения
Снимок.jpg
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Очистка графика, во вложенном цикле.

Сообщение AlexanderKonoval »

Во вложенных циклах ставите Shift Register, на вход вне цикла ставите пустой массив, далее в Shift Register пишите данные, получаемые с генератора сигнала, соответственно подключаете и XY Graph'ы.
1.png
колдооооовствооооо! (С)
zzontt
beginner
beginner
Сообщения: 15
Зарегистрирован: 31 июл 2014, 13:48
Версия LabVIEW: 2010
Контактная информация:

Re: Очистка графика, во вложенном цикле.

Сообщение zzontt »

AlexanderKonoval писал(а):Во вложенных циклах ставите Shift Register, на вход вне цикла ставите пустой массив, далее в Shift Register пишите данные, получаемые с генератора сигнала, соответственно подключаете и XY Graph'ы.
1.png
А можно вас попросить написать название двух компонентов что внутри цикла вы добавили, один как я понимаю это Insert into Array, а второй что то не могу найти, это Build Array или нет?
AlexanderKonoval
developer
developer
Сообщения: 257
Зарегистрирован: 03 янв 2014, 19:37
Версия LabVIEW: 2016
Откуда: Украина, Киев
Контактная информация:

Re: Очистка графика, во вложенном цикле.

Сообщение AlexanderKonoval »

zzontt, первый - верно. Второй - это Bundle из палитры Cluster, Class&Variant.
Собственно, в чём дело: у меня в палитре нет ExpressVI Build XY Graph, которую вы используете. На вход в XY Graph необходимо подавать массив кластеров из 2 элементов, которые, в свою очередь, являются координатами точки. У вас этим занимается EpressVI, у меня - более ручной способ.
То есть, мы каждую итерацию делаем кластер из двух элементов и добавляем его в уже существующий массив кластеров, после чего данные подаются на XY Graph. Shift Register обеспечивает сохранение данных прошлых итераций для использования в текущей. Так, как на вход Shift Register мы подаём пустой массив кластеров, то при каждом запуске цикла данные графика будут обнуляться.
На всякий, для создания Shift Register необходимо кликнуть правой клавишей по структуре (в данном случае это While Loop) - из меню выбрать Add Shift Register.
колдооооовствооооо! (С)
zzontt
beginner
beginner
Сообщения: 15
Зарегистрирован: 31 июл 2014, 13:48
Версия LabVIEW: 2010
Контактная информация:

Re: Очистка графика, во вложенном цикле.

Сообщение zzontt »

AlexanderKonoval писал(а):zzontt, первый - верно. Второй - это Bundle из палитры Cluster, Class&Variant.
Собственно, в чём дело: у меня в палитре нет ExpressVI Build XY Graph, которую вы используете. На вход в XY Graph необходимо подавать массив кластеров из 2 элементов, которые, в свою очередь, являются координатами точки. У вас этим занимается EpressVI, у меня - более ручной способ.
То есть, мы каждую итерацию делаем кластер из двух элементов и добавляем его в уже существующий массив кластеров, после чего данные подаются на XY Graph. Shift Register обеспечивает сохранение данных прошлых итераций для использования в текущей. Так, как на вход Shift Register мы подаём пустой массив кластеров, то при каждом запуске цикла данные графика будут обнуляться.
На всякий, для создания Shift Register необходимо кликнуть правой клавишей по структуре (в данном случае это While Loop) - из меню выбрать Add Shift Register.
Я принцип понимаю, я просто с кластерами не работал до этого, думал это все работа с массивами.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»