Работа с графиком

Простейшие вопросы в области инженерной разработки
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Работа с графиком

Сообщение BobbyHoby »

Добрый день! (буды выражаться не профессионально поэтому сразу прошу меня простить)
ситуация следующая:
на график приходят данные и накапливаются на нем, так как программа работает 8 часов (данные обновляются с частотой раз в 1 - 30 с.)
график получается очень нагруженным, точки сливаются в жирную линию.
Как сделать, что бы график отображал поступающие данные за час или два, что бы можно было прокрутить его и посмотреть предыдущие данные???

вот пример графика
Вложения
test.jpg
:help:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

BobbyHoby писал(а): 06 июл 2020, 15:24 Как сделать, что бы график отображал поступающие данные за час или два, что бы можно было прокрутить его и посмотреть предыдущие данные???
Какой тип контрола (графика) используется для отображения?
И я бы рекомендовал еще скрыть отображение точек на всех графиках...
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

XY Graphs если я не ошибаюсь
Вложения
XY Graphs.jpg
XY Graphs.jpg (28.53 КБ) 2668 просмотров
:help:
Аватара пользователя
zxc_pavel
adviser
adviser
Сообщения: 242
Зарегистрирован: 02 июн 2016, 12:07
Версия LabVIEW: 15
Благодарил (а): 9 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Работа с графиком

Сообщение zxc_pavel »

Просто точки проредить у массивов X и Y
Вложения
0607.png
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

BobbyHoby писал(а): 06 июл 2020, 15:24 Как сделать, что бы график отображал поступающие данные за час или два, что бы можно было прокрутить его и посмотреть предыдущие данные???
Отключите "Авто масштабирование X", отобразите для него скролл, а пределами управляйте программно.
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

IvanLis писал(а): 06 июл 2020, 17:23 Отключите "Авто масштабирование X", отобразите для него скролл, а пределами управляйте программно.
Немного не пойму как задать масштабирование графика так что бы при каждом новом запуске программы он брал текущее время и диапазон в час ?
получается сейчас когда я включаю программу через несколько дней (после выходных) приходится скроллом мотать до сегодняшнего числа.
Вложения
Время.jpg
:help:
Artem.spb

Activity Автор
professor
professor
Сообщения: 3403
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Работа с графиком

Сообщение Artem.spb »

BobbyHoby писал(а): 15 июл 2020, 11:02 Немного не пойму как задать масштабирование графика так что бы при каждом новом запуске программы он брал текущее время и диапазон в час ?
руками, всё исключительно руками. А то вы хотите а НЕ автоскрол, И автоскрол
xy.png
xy.png (12.7 КБ) 2528 просмотров
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

Artem.spb писал(а): 15 июл 2020, 12:10
BobbyHoby писал(а): 15 июл 2020, 11:02 Немного не пойму как задать масштабирование графика так что бы при каждом новом запуске программы он брал текущее время и диапазон в час ?
руками, всё исключительно руками. А то вы хотите а НЕ автоскрол, И автоскрол
xy.png
Сделал как на картинке, но что подводить к XScale.Maximum, константу?
:help:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

BobbyHoby писал(а): 15 июл 2020, 16:01 Сделал как на картинке, но что подводить к XScale.Maximum, константу?
Вам же нужно, что бы интервал постоянно отслеживал текущее время.
Вот и запускайте в отдельном цикле таймер, который например раз в минуту на основе текущего времени устанавливать MIN и MAX.
Допустим +5 мин (для эстетики) и -60 мин. Тогда он будет постоянно ползти...
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

IvanLis писал(а): 15 июл 2020, 18:26 Вам же нужно, что бы интервал постоянно отслеживал текущее время.
Вот и запускайте в отдельном цикле таймер, который например раз в минуту на основе текущего времени устанавливать MIN и MAX.
Допустим +5 мин (для эстетики) и -60 мин. Тогда он будет постоянно ползти...
Что то до меня совсем не доходит как это сделать((
Вложения
XY.jpg
:help:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

BobbyHoby писал(а): 16 июл 2020, 12:44Что то до меня совсем не доходит как это сделать((
Да, необходимо создать еще один цикл, который будет за пределами основного и который будет крутиться с другой тактовой частотой....
Вы можете попробовать в основном на каждой (или каждой 12) итерации обновлять свойства XYGraph, так будет проще даже.
На каждой итерации (каждые 5 сек) дергать свойства тоже можно, но не очень хорошо.
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

IvanLis писал(а): 16 июл 2020, 12:50 Да, необходимо создать еще один цикл, который будет за пределами основного и который будет крутиться с другой тактовой частотой....
вообще не пойму с чего начать*(
какой лучше цикл для этого использовать или структуру?
min и max должны быть в основном цикле (структуре)?
Может есть пример? Что то уж совсем туговато мне.
:help:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

BobbyHoby писал(а): 16 июл 2020, 14:08Что то уж совсем туговато мне.
Вложения
Снимок экрана от 2020-07-16 14-57-01.png
Аватара пользователя
BobbyHoby
beginner
beginner
Сообщения: 25
Зарегистрирован: 21 май 2020, 15:38
Версия LabVIEW: 16
Контактная информация:

Re: Работа с графиком

Сообщение BobbyHoby »

IvanLis писал(а): 16 июл 2020, 14:58
правильно ли я понял и сделал?
на вашем скрине в основном цикле я выделил фрагменты с "stop", для чего это так реализовано?
у меня сейчас программа на кнопку стоп вообще не реагирует, пока через красный "ромб" в labview не вырубишь будет фигачить)
P.S
Как тут оценивать сообщения? ВЫ мне здоровский помогли (хотя тут вообще не уместно слово помощь тут вы просто взяли и сделали за меня).
Огромный вам респект!
Вложения
1.png
2.png
Скрин.png
:help:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5463
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Работа с графиком

Сообщение IvanLis »

Я уже удалил все, но в Event Structure еще одно событие обрабатывается: Stop: Value Change.
Снимок экрана от 2020-07-16 22-47-34.png
Ну а так так, что бы остановился первый цикл по Локальной переменной от кнопки Stop, необходимо использовать кнопку (Switch), которая сама не отщелкивается, а по этому при старте и для эстетики при остановке, мы ее программно отключаем.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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