Панель Nextion

Использование дисплеев и обсуждение пользовательских блоков к ним
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Панель Nextion

#321

Сообщение grin-mpx » 26.07.2018{, 11:05}

А сколько параметров Вам нужно передавать и как часто?

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#322

Сообщение Alias » 26.07.2018{, 11:29}

Я, скорее всего, сделаю как проще, то есть текстом. Ибо, мои коллеги давно уже варят пиво в кастрюльках и на глаз, а я все изобретаю :) Хотя мне интереснее сам процес поиска решений и собственного развития. А чистые культуры дрожжей в анабиозе никуда не спешат и могут подождать :smile225:
У меня четыре экрана ввода параметров.
На первый, к примеру, всякий раз при переходе на этот экран однократно пересылаются десять параметров. Сейчас они отправляются индивидуальными блоками и это занимает до трех секунд, видео из темы про кнопку Вы видели. Каждый параметр корректируется на экране и по нажатии на кнопку сохранения все параметры передаются обратно. Пока не выставил в таймере TOF 3 секунды, данные терялись и даже путались.
На других - почти то же самое.
Главный экран отображает цветом элементов активность технологических процессов, это меняется при старт/стопе, то есть редко, и эти тормоза на том же видео видно. Температура опрашивается на датчиках ежесекундно и при изменении передается на панель. При этом отображается и динамика изменения цветом. Прогресс в процентах - аналогично.
В общем, не перегруженная панель, но штатными блоками выполняется с тормозами, заметными даже не заточенному глазу. Хотелось бы оптимизировать. Первый шаг уже сделан, о чем вчера докладывал. В железе, правда, не испытал еще.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Панель Nextion

#323

Сообщение grin-mpx » 26.07.2018{, 11:51}

Alias писал(а):
26.07.2018{, 11:29}
всякий раз при переходе на этот экран однократно пересылаются десять параметров
Так передавайте эти 10 параметров постоянно с интервалом 0.5...1 сек. Тогда при переходе на эту страницу данные уже будут на своих местах.

Отправлено спустя 2 минуты 14 секунд:
Alias писал(а):
26.07.2018{, 11:29}
Ибо, мои коллеги давно уже варят пиво в кастрюльках и на глаз, а я все изобретаю
Та-же фигня у меня с сигнализацией, уже 2 недели, а хотел просто дозвон по тревоге :D

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#324

Сообщение Alias » 26.07.2018{, 11:59}

В конце видео, на тот момент, где меняется цвет текста на зеленый, атрибуты на панель давно уже были переданы. Однако, обновление происходит медленно и синяя кнопка с надписью пропадает с огромной задержкой, хотя она сразу при загрузке скетча отключается, но всякий раз, когда перехожу на главный экран появляется и исчезает снова. Не знаю, где косяк - или в flprog, или в панели, или во мне - непрограммисте :smile427:
ЗЫ Все и всюду глобально, глобальнее некуда :)

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Панель Nextion

#325

Сообщение grin-mpx » 26.07.2018{, 12:02}

Alias писал(а):
26.07.2018{, 11:59}
Не знаю, где косяк - или в flprog, или в панели, или во мне - непрограммисте
Я же скинул последний пример по кнопке, там проблема задержки пропадания была решена.
Кстати, таймера которые обслуживают на страницах обработку кода должны иметь значение 50мс, по умолчанию там по моему стоит 400.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#326

Сообщение Alias » 26.07.2018{, 12:07}

Я до нее пока не дошел, каюсь. Обязательно посмотрю!

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#327

Сообщение Alias » 31.07.2018{, 09:41}

Столкнулся с непонятной вещью: порядком арифметических действий.
Хотел упаковать четыре числа по формуле n4.val=n0.val+256*n1.val+65536*n2.val+16777216*n3.val , но панель не понимает, что в какой последовательности делать. Скобки вызывают ошибку синтаксиса.
Пробовал столбиком складывать:
n4.val=n0.val
n4.val=256*n1.val+n4.val
n4.val=65536*n2.val+n4.val
n4.val=16777216*n3.val+n4.val
но опять не то, на что рассчитывал.
Это панель себе на уме или мне идти учить язык?

Отправлено спустя 6 часов 6 минут 40 секунд:
Ладно, разобрался. Вернее, вбил костыль:
sys0=n0.val
sys1=256*n1.val
sys0=sys1+sys0
sys1=65536*n2.val
sys0=sys1+sys0
sys1=16777216*n3.val
sys0=sys1+sys0
n4.val=sys0
Причем, значения n должны вписаться в диапазон от -2147483648 до 2147483647, но это оговорка для макетирования. Если использовать для обмена системные переменные, ограничения уже от 0 до 4294967295.

Отправлено спустя 42 минуты 10 секунд:
Хм, если верить описанию, системные переменные беззнаковые, то есть от 0 до 4294967295. Однако, я так и не смог понять, как получить от деления 132:
sys2=2219313677/16777216
n8.val=sys2
n7.val=sys0/16777216
n6.val=2219313677/16777216
Во всех трех случаях частное -123. Активная подсказка поставила в тупик:
sys.png
sys.png (3.61 КБ) 3079 просмотров
Это китайцы что-то преднамеренно недоговаривают или сами путаются?
Вложения
Test_transmit.HMI
(36.19 КБ) 92 скачивания

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Панель Nextion

#328

Сообщение grin-mpx » 31.07.2018{, 18:00}

Я упаковал- бы значения в одну строку типа (223002095) и отправил-бы на дисплей. Там разобрал по три разряда и занес в ячейки. Ардуине пофиг отправлять числовое значение или как строку.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#329

Сообщение Alias » 31.07.2018{, 18:45}

Мне не пофиг и интерес перерос в спортивный :smile44:
Так, видимо, и придется сделать. Но хотелось бы понимать, с чем имеешь дело и какому источнику верить, учитывая и без того скудные данные о панели. Даже артиллерийская вилка не помогает.

Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17.07.2017{, 18:39}
Репутация: 55
Откуда: Днепр. UA
Имя: Григорий

Панель Nextion

#330

Сообщение grin-mpx » 31.07.2018{, 18:51}

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

Отправлено спустя 11 минут 58 секунд:
Кстати. Такой подробный разбор дисплея вижу только на этом сайте. На других все ограничено отправкой и приемом значений или кропок. Видимо сказывается огромный потенциал флпрог и соответственно увеличенные требования к возможностям дисплея.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#331

Сообщение Alias » 06.08.2018{, 09:55}

Перешел на отправку и разбор строки. Оказывается, и тут есть свои нюансы: приходится отправлять несколькими строчками, тк есть несколько значений, которые могут менять разрядность, например, проценты - от 1 до 3 знаков. Соответственно, длина отправляемой строки плывет и проценты приходится ставить в конец отправляемой строки. В flprog есть только сумма строк и нельзя прописать, в какой позиции будут слагаемые в итоговой строке.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#332

Сообщение Alias » 07.08.2018{, 14:17}

Сам спросил, сам и решил.
Если нужно отправить одной строкой несколько значений с плавающей разрядностью, например, положительные температуры с нескольких датчиков, можно зафиксировать длину каждой переменной в отправляемой строке следующим костылем.
Допустим, имеем три значения: 4, 25, 85. Пять знакомест в строке 42585. Если температура первой переменной выросла до 10, длина строки поплывет и не поймешь, где какое значение: 102585
Для избежания этой неприятности, к каждой переменной прибавляем в данном случае по 100 и получаем строку 104125185. Панель замечательно умеет вычитать и как привести переменные к исходному значению показывать, надеюсь, уже не нужно.

Аватара пользователя
Alias
Лейтенант
Сообщения: 481
Зарегистрирован: 27.11.2017{, 13:15}
Репутация: 36
Откуда: Rus44
Имя: Michael
Контактная информация:

Панель Nextion

#333

Сообщение Alias » 08.08.2018{, 17:11}

Устал воевать со связкой панели и flprog. Теперь пропадают значения :smile250:
Есть тестовый проектик во вложении для проверки, в котором автоматически отправляется значение для системной переменной sys0, успешно отображается на панели, запрашивается обратно, но всякий раз возвращается битым, если отправляется значение с разрядностью выше Int, то есть больше 32 с копейками тысяч.
Вроде все просто и не может быть проблем на НАСТОЛЬКО ровном месте, но!..
Прошу помочь советом, видимо, что-то не понимаю.
Если это косяк в flprog, как-то можно напрямую запросить у системы это? Просто в пользовательский блок вписать какой-то код?
Вложения
tr2.HMI
(24.68 КБ) 96 скачиваний
tr2.flp
(107.52 КБ) 100 скачиваний

drimer
Рядовой
Сообщения: 57
Зарегистрирован: 07.09.2015{, 18:45}
Репутация: 0
Откуда: vilnius

Панель Nextion

#334

Сообщение drimer » 23.08.2018{, 11:01}

привет всем как соедиить между сабой выход и блок нажатие на елемент ? плата номер 4
aqva.flp
(271.35 КБ) 117 скачиваний

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

Панель Nextion

#335

Сообщение pipapsix » 23.08.2018{, 11:05}

drimer писал(а):
23.08.2018{, 11:01}
привет всем как соедиить между сабой выход и блок нажатие на елемент ? плата номер 4 aqva.flp
и каким образом это должно заработать?
выход откуда будет получать сигнал??

drimer
Рядовой
Сообщения: 57
Зарегистрирован: 07.09.2015{, 18:45}
Репутация: 0
Откуда: vilnius

Панель Nextion

#336

Сообщение drimer » 23.08.2018{, 11:07}

с nextion bt1 id 3 кнопка помпа какгда нажимаеш на кнопку помпа реле включается и врубается насос
Последний раз редактировалось drimer 23.08.2018{, 11:12}, всего редактировалось 1 раз.

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

Панель Nextion

#337

Сообщение pipapsix » 23.08.2018{, 11:12}

отслеживание нажатий не подходит?

Отправлено спустя 1 минуту 55 секунд:
нужно входы использовать а не выходы.

Отправлено спустя 35 секунд:
на экран нажал к примеру реле сработало?? так?

drimer
Рядовой
Сообщения: 57
Зарегистрирован: 07.09.2015{, 18:45}
Репутация: 0
Откуда: vilnius

Панель Nextion

#338

Сообщение drimer » 23.08.2018{, 11:16}

а как подключить релюшку тогда?
да

Аватара пользователя
pipapsix
Лейтенант
Сообщения: 436
Зарегистрирован: 25.10.2016{, 21:26}
Репутация: 15
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр

Панель Nextion

#339

Сообщение pipapsix » 23.08.2018{, 11:18}

можно так. кажется я делал себе так.

Отправлено спустя 7 минут 2 секунды:
вот еще.я там подписал последние блоки. а то тупить будет. уже проходил это.
Вложения
aqva.flp
(298.27 КБ) 98 скачиваний
aqva.flp
(295 КБ) 86 скачиваний

drimer
Рядовой
Сообщения: 57
Зарегистрирован: 07.09.2015{, 18:45}
Репутация: 0
Откуда: vilnius

Панель Nextion

#340

Сообщение drimer » 23.08.2018{, 11:32}

а куда value подлючить ?

Ответить

Вернуться в «Дисплеи и индикаторы»