Serial Plotter (Плоттер по последовательному соединению)

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#1

Сообщение Dryundel » 16.02.2022{, 17:45}

Plotter
.
В Arduino IDE, есть очень удобная штука - Плоттер по последовательному соединению.
С его помощью можно отслеживать происходящее в контроллере визуально. Это очень помогает при отладке проектов. Общение с плоттером осуществляется через UART - по тому же USB кабелю, что и загрузка проекта в контроллер.
Однако, по моим наблюдениям, данным удобством пользуются не многие, а зря.

Для облегчения данной коммуникации и создан этот мультиблок.
С его помощью можно не только выводить данные на плоттер в виде графиков, но и изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера в онлайн режиме.
.
Serial Plotter.jpg
===============================================================================
Список доступных функций в актуальной версии.
- Вывод нескольких графиков
- Подпись параметра
- Вывод верхней и нижней границ (борьба с авто-масштабированием)
- Управление таймаутом вывода (отправки в плоттер)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (Масштаб)
- Вывод нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"
- Отправка переменной из плоттера в контроллер. (обратная связь)
- Управление настройками и параметры, имитация поведения датчиков и органов управления из окна плоттера.
- Эмуляция устройств, таких как кнопка, потенциометр, нагреватель с термометром.
-

V 0.4 (Актуальная)
============================================================
- Исправлены некритичные ошибки
- В проект добавлены эмуляторы устройств (Кнопка без удержания, Потенциометр, Нагреватель с термометром)
.
0.jpg
0.jpg (11.03 КБ) 3523 просмотра
Плоттер(UART)_V0.4_(Code_-_Professional).ubi
(1.21 МБ) 167 скачиваний
.
Подробности ниже, в посте #4.

V 0.3
============================================================
2.jpg
2.jpg (10.35 КБ) 3596 просмотров
Плоттер(UART)_V0.3_(Code_-_Professional).ubi
(569.41 КБ) 79 скачиваний
Добавлено:
- Блок отправки переменной из плоттера в контроллер. (обратная связь)
Очень мощная функция, позволяющая общаться с контроллером онлайн. Теперь ложно легко изменять настройки и параметры, имитировать поведение датчиков и органов управления прямо из окна плоттера.

Подробности и пример использования описаны ниже. Пост #3
.
V 0.2
============================================================
1.jpg
1.jpg (8.01 КБ) 3656 просмотров
Плоттер(UART)_V0.2_(Code_-_Professional).ubi
(425.41 КБ) 87 скачиваний
Добавлено:
- Блок управления таймаутом (Масштаб по горизонтали)
- Сдвиг графика по вертикали (Offset)
- Масштабирование каждого графика по вертикали (М)
- Нулевая линия для смещенного графика
- Вход En для отключения графика "на горячую"

.
Плоттер(UART)_V0.1_(Code_-_Professional).ubi
(254.49 КБ) 107 скачиваний
Блок для вывода параметра(переменной) в Serial Plotter

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Serial Plotter (Плоттер по последовательному соединению)

#21

Сообщение ArtemArable » 05.03.2022{, 20:01}

Спасибо за блок. Плоттером пользовался по необходимости всегда, но то что сделано очень здорово. Промышленный подход. Зачастую его очень не хватает.

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Serial Plotter (Плоттер по последовательному соединению)

#22

Сообщение Di123 » 13.03.2022{, 11:23}

в блоке приём переменной прописал Q
в блоке кнопки A
в плотере посылаю команду Q/A но сигнала нет

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#23

Сообщение Dryundel » 14.03.2022{, 20:48}

Di123 писал(а):
13.03.2022{, 11:23}
в плотере посылаю команду Q/A но сигнала нет
Где проект?

Отправлено спустя 4 минуты 12 секунд:
Для блока приема переменной требуется команда к примеру Q/125
А для того что бы сработал блок кнопки надо послать к примеру A/

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

Serial Plotter (Плоттер по последовательному соединению)

#24

Сообщение Di123 » 15.03.2022{, 04:54}

теперь понятно

skrickis
Рядовой
Сообщения: 86
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 9

Serial Plotter (Плоттер по последовательному соединению)

#25

Сообщение skrickis » 28.04.2022{, 20:10}

Привет всем!
Вопрос автору блоков - ставлю блоки в проект с контролёром ардуино дуе в плотере графики работают но не отаброжают название грфиков


пробовал простой пример тоже самое

на ардуино уно простой примерб всё работает
где искать проблему?
Вложения
IMG_20220428_191834.jpg
pid.png
ploter.flp
(3.04 МБ) 43 скачивания
Kalte_DUE_plot19200.zip
(504.05 КБ) 38 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Serial Plotter (Плоттер по последовательному соединению)

#26

Сообщение Dryundel » 29.04.2022{, 15:58}

skrickis, тип контроллера не должен влиять.
Названия графиков отсылаются на плоттер в самом первом цикле при запуске (перезагрузке) контроллера один раз.
В этот момент не должны быть закрыты платы на которых находятся блоки плоттера.
У Вас они выполняются по условию. В этом может быть причина.

skrickis
Рядовой
Сообщения: 86
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 9

Serial Plotter (Плоттер по последовательному соединению)

#27

Сообщение skrickis » 29.04.2022{, 19:02}

Спосибо!
Буду разбыратся :smile9:

skrickis
Рядовой
Сообщения: 86
Зарегистрирован: 05.02.2017{, 12:02}
Репутация: 9

Serial Plotter (Плоттер по последовательному соединению)

#28

Сообщение skrickis » 30.04.2022{, 17:19}

поставил плоттер плату первой и включение плоттера на прямую от Nextion,
всё заработало.
но есть другая проблема плотер работает только на serial 0
если ставить например Serial 1 плотер не работает и перестаёт работать Nextion :(
может это связано с самой программой FLProg так как на версии выше 7.3.8 при комплции выдоёт ошибку о Serial 2 (на нём Nextion) Serial1 (на нём Ploter)
Вложения
Bez nosaukuma.png
Kalte_DUE_plot19200.zip
(405.67 КБ) 31 скачивание

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Serial Plotter (Плоттер по последовательному соединению)

#29

Сообщение WildCat » 01.04.2023{, 03:28}

Dryundel,
Интересная разработка.
А не делали тесты на максимальное количество отображаемых графиков?

Я сейчас пытаюсь сделать логгер, достаточно много параметров нужно писать (около 20). Получится воспользоваться Вашими блоками?

Пробовал веб (JeeUI), всё замечательно, пока графиков немного. А на 15 шт уже тормоза жуткие.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Serial Plotter (Плоттер по последовательному соединению)

#30

Сообщение ecoins » 01.04.2023{, 08:35}

WildCat писал(а):
01.04.2023{, 03:28}
Я сейчас пытаюсь сделать логгер, достаточно много параметров нужно писать (около 20). Получится воспользоваться Вашими блоками?

Пробовал веб (JeeUI), всё замечательно, пока графиков немного. А на 15 шт уже тормоза жуткие.
Про тормоза - это связано с тем что в данной реализации не используется буферированный вывод через UART и соответственно при большом объеме данных тормозит через программа Arduino IDE "Плоттер", а программа контроллера.
Эта проблема решена в блоке ecoins "15.01.2.Вывод на плоттер (Arduino IDE)". Собственно использован тот же метод, что и в Nextion.
При этом ограничение на скорость вывода определяется только размером выходного буфера UART.
Для AVR это 32, для ESP32 вроде 512(можно подсмотреть в CORE). В любом случае рекомендовал по возможности избегать длинных переменных (LONG,Float - это 4 байта), для разрешения на экране вполне может хватить байтовой переменной. C integer немного сложнее, но если не вдаваться в особенности Arduino IDE, то в блоке ecoins при выборе переменных типа слово (v16) - это будет два байта(со знаком или без по выбору).
skrickis писал(а):
30.04.2022{, 17:19}
если ставить например Serial 1 плотер не работает и перестаёт работать Nextion
может это связано с самой программой FLProg так как на версии выше 7.3.8 при комплции выдоёт ошибку о Serial 2 (на нём Nextion) Serial1 (на нём Ploter)
Какой контроллер и какую программу Nextion используете?
Лучше ответить в этой теме -> viewtopic.php?f=247&t=6943
----------------------
С уважением, Энвер.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Serial Plotter (Плоттер по последовательному соединению)

#31

Сообщение ArtemArable » 01.04.2023{, 10:47}

Посмотрите мой эксперимент viewtopic.php?f=206&t=8451

Отправлено спустя 24 минуты 35 секунд:
WildCat писал(а):
01.04.2023{, 03:28}
Dryundel,
Интересная разработка.
А не делали тесты на максимальное количество отображаемых графиков?

Я сейчас пытаюсь сделать логгер, достаточно много параметров нужно писать (около 20). Получится воспользоваться Вашими блоками?

Пробовал веб (JeeUI), всё замечательно, пока графиков немного. А на 15 шт уже тормоза жуткие.

ecoins
Полковник
Сообщения: 2921
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 452
Откуда: Шатура
Имя: Энвер

Serial Plotter (Плоттер по последовательному соединению)

#32

Сообщение ecoins » 01.04.2023{, 13:29}

На мой взгляд очень здоровый взгляд - отображать результаты во внешних с возможностями приложениях. Arduino Plotter - эта полезная опция для оперативной проверки некоторых результатов. Пытаться из неё выжать - это не лучшее решения. В FLProg серьезно продвинулись коммуникационные возможности и прежде всего ModBus. В прежних версиях при большом потоке данных контроллер тормозил, теперь используется буферированный вывод (ввод и раньше был буферированный) и этой проблемы теперь нет.
Вы подняли хорошую тему - внешние приложения для тестирования, исследования и просто прикладного использования в связке FLProg.
С Уважением, Энвер.

WildCat
Лейтенант
Сообщения: 422
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Serial Plotter (Плоттер по последовательному соединению)

#33

Сообщение WildCat » 01.04.2023{, 15:20}

ArtemArable писал(а):
01.04.2023{, 11:12}
Посмотрите мой эксперимент
Спасибо, почитаю.
Правильно я понимаю я что эта scada ориентирована только на modbus?
К сожалению, у меня сейчас нет возможности организовать modbus.
Базовое устройство собрано. Там esp32.
Встал вопрос о логгировании параметров при настройке оборудования, у устройства есть много своих собственных датчиков, и я хочу использовать их.
К чему пришел:
По UDP с головного устройства шлю все параметры на другой контроллер (условный логгер), а уже с логгера вывожу куда-нибудь. Попробовал на jeeUI, всё прекрасно, наглядно, очень удобно, но больше 1000 точек (как оказалось, суммарно, а не не один график) - очень сильно тормозит и контроллер, и браузер. А мне 1000 точек маловато.
Нужна запись примерно 25 параметров в течение хотя бы 10 часов. Периодичность опроса - раз в 30..60с.
ecoins писал(а):
01.04.2023{, 08:35}
Эта проблема решена в блоке ecoins "15.01.2.Вывод на плоттер (Arduino IDE)". Собственно использован тот же метод, что и в Nextion.
Я пока не пробовал блоки плоттера от Drundel, лишь вспомнил про эту тему, когда уже глубокой ночью постиг разочарование в ожиданиях от jeeUI ))
На мой взгляд, достоинство этих блоков в том, что есть управление выводом. И можно мониторить только те графики параметров, которые нужны в конкретный момент наблюдения.
Что ж, попробую.
А общий лог испытаний в таком случае придется писать на SD карту для дальнейшего анализа.

Ваши блоки вывода в плоттер тоже попробую.
К сожалению, времени на отработку решения не так много как хотелось бы.
Вот и ищу разные варианты.

ArtemArable
Сержант
Сообщения: 139
Зарегистрирован: 23.11.2020{, 16:46}
Репутация: 10
Имя: Artem

Serial Plotter (Плоттер по последовательному соединению)

#34

Сообщение ArtemArable » 01.04.2023{, 15:29}

WildCat писал(а):
01.04.2023{, 15:20}
ArtemArable писал(а):
01.04.2023{, 11:12}
Посмотрите мой эксперимент
Спасибо, почитаю.
Правильно я понимаю я что эта scada ориентирована только на modbus?
К сожалению, у меня сейчас нет возможности организовать modbus.
Базовое устройство собрано. Там esp32.
Встал вопрос о логгировании параметров при настройке оборудования, у устройства есть много своих собственных датчиков, и я хочу использовать их.
К чему пришел:
По UDP с головного устройства шлю все параметры на другой контроллер (условный логгер), а уже с логгера вывожу куда-нибудь. Попробовал на jeeUI, всё прекрасно, наглядно, очень удобно, но больше 1000 точек (как оказалось, суммарно, а не не один график) - очень сильно тормозит и контроллер, и браузер. А мне 1000 точек маловато.
Нужна запись примерно 25 параметров в течение хотя бы 10 часов. Периодичность опроса - раз в 30..60с.
ecoins писал(а):
01.04.2023{, 08:35}
Эта проблема решена в блоке ecoins "15.01.2.Вывод на плоттер (Arduino IDE)". Собственно использован тот же метод, что и в Nextion.
Я пока не пробовал блоки плоттера от Drundel, лишь вспомнил про эту тему, когда уже глубокой ночью постиг разочарование в ожиданиях от jeeUI ))
На мой взгляд, достоинство этих блоков в том, что есть управление выводом. И можно мониторить только те графики параметров, которые нужны в конкретный момент наблюдения.
Что ж, попробую.
А общий лог испытаний в таком случае придется писать на SD карту для дальнейшего анализа.

Ваши блоки вывода в плоттер тоже попробую.
К сожалению, времени на отработку решения не так много как хотелось бы.
Вот и ищу разные варианты.
RapidSCADA поддерживает разные протоколы.

Аватара пользователя
Daimer
Рядовой
Сообщения: 15
Зарегистрирован: 20.12.2018{, 12:45}
Репутация: 0
Откуда: Кыргызстан
Имя: Максим

Serial Plotter (Плоттер по последовательному соединению)

#35

Сообщение Daimer » 11.05.2023{, 21:19}

Спасибо большое за Ваши труды! как промышленный энкодер это мощь! Можно сделать чтобы еще X-Y зависимость строить, для В.А.Х.
:smile37:

Аватара пользователя
Sevast
Сержант
Сообщения: 145
Зарегистрирован: 21.06.2017{, 15:57}
Репутация: 5

Serial Plotter (Плоттер по последовательному соединению)

#36

Сообщение Sevast » 30.06.2023{, 10:01}

Скажите а как в плотер вывести реальные показания, которые соответствуют графикам?
В основном, это датчики температуры.

Ответить

Вернуться в «Другое»