Страница 5 из 6
HMI-панель
Добавлено: 22 фев 2016, 07:01
dekorator
Парсить пакеты разной длинны, толком так и не получается пока. Фиксированной длинны на много проще. Мне например в полне хватило и четырёх байтов. Заставить отправлять HMI эти четыре байта по практически любому событию на дисплее - не проблема.
Универсальный распарсиватель это только библиотеки подключать с кодом. А там еще не всё гладко пока.
HMI-панель
Добавлено: 22 фев 2016, 18:27
gav81
dekorator, а можно пример посмотреть flprog и hmi?
HMI-панель
Добавлено: 22 фев 2016, 18:33
Олег
dekorator здесь выкладывал.
HMI-панель
Добавлено: 22 фев 2016, 21:39
gav81
Олег писал(а):dekorator здесь выкладывал.
с отправкой все понятно, интересует прием.
HMI-панель
Добавлено: 23 фев 2016, 01:56
dekorator
Вот простенький пример. Моргаем светодиодом на 13-й ноге.
HMI-панель
Добавлено: 06 мар 2016, 22:13
gav81
Создал блок для приема и идентификации данных от HMI.
В частности определяет текущую страницу по команде sendme прописанной в HMI и сенсорное событие возврат данных в Next editor необходимо проставить галочки Send component ID на нужной функции.
HMI-панель
Добавлено: 07 мар 2016, 12:16
dekorator
gav81, хороший блок. Можете добавить туда, еще один выход типа -данные готовы? Пусть выдаёт короткий импульс когда пришла команда от hmi. И возможность выбора сом порта не помешала бы.
HMI-панель
Добавлено: 08 мар 2016, 10:47
gav81
Выход En уже реализован, а вот с выбором серийного порта проблема, только ручками. Если кто знает как, сделайте.
HMI-панель
Добавлено: 08 мар 2016, 11:26
dekorator
Класс!
Если еще 0х70 и 0х71 добавить, цены бы небыло. С ид.- 0х70 вобще проблема. Это стринг и надо програмно отделить начало ( ид.) Подсчитать длинну строки, отделить от неё последние три байта и отправить результат на выход. Вроде знаю что делать но незнаю как.

HMI-панель
Добавлено: 08 мар 2016, 14:14
dekorator
Добавлено (08.03.2016, 14:14)
---------------------------------------------
gav81, Ваш блок после приёма команды, выдаёт два импульса на выходе en, вместо одного. В порт выводится то что приняли до этого и то что сейчас.
---------------------------------------------------------------------------------------------------
Есть облегченная библиотека для для HMI и несколько примеров для ознакомления. Может кто приделает ей правильные ноги и руки

HMI-панель
Добавлено: 08 мар 2016, 19:48
gav81
А как при каких действиях отправляются 0х71 и 0х70 из HMI
HMI-панель
Добавлено: 08 мар 2016, 21:14
dekorator
По команде - get t0.txt HMI отсылает в порт строку из параметра - тхт текстового поля - t0 на текущем экране.
Вот пример формата в котором панель отправляет в порт строку - abc в ASCII формате.
0X70+Variable Content in ASCII code+EndWhen the variable obtained through get command is string type, return this data
Instance: 0X70 0X61 0X62 0X63 0XFF 0XFF 0XFFMeaning: Return the string data: “abc”
Аналогично по команде get n0.val отсылает в порт строку из параметра - val
цифрового поля - n0 на текущем экране.
0X71+variable binary data(4 bytes little endian mode, low in front)+EndWhen the variable obtained by get command is value, this data returns.
Instance:0X71 0X66 0X00 0X00 0X00 0XFF 0XFF 0XFFMeaning:return value data:102
Таблички из оригинального описания на
панельку nextion.
HMI-панель
Добавлено: 08 мар 2016, 21:42
gav81
Ок. подумаю как можно реализовать прием 0х71, 0х70.
Кстати вот блок отправки сделан на базе выложенного здесь, но по удобнее на мой взгляд.
По тестите.
HMI-панель
Добавлено: 08 мар 2016, 22:59
dekorator
gav81 писал(а):По тестите.
Не пропускает команду переключения между экранами -
page page0 Она переключает на нулевую страницу,
page page1 соответственно на первую.
к стати, вторую часть команды помеченную зелёным, можно менять на свою, заранее прописанную в панель. Это я так на всякий случай, может пригодится кому инфа.
HMI-панель
Добавлено: 09 мар 2016, 22:07
gav81
Обновленные блоки приема и передачи.
Выход En по приему - импульс 300мс, реализован прием команды 0х71 numeric val отдельный выход.
В блоке передачи создан отдельный вход для команд get nx(jx).val и page x
HMI-панель
Добавлено: 10 мар 2016, 01:06
dekorator
gav81. Блок приёма работает но как и в предыдущем блоке, импульс на выходе en появляется раньше чем обновляются переменные на выходах блока. В итоге отставание на один шаг. При сбросе контроллера и последующем нажатии компонента на экране, на выходах нолики. Дальше, нажимаем другой элемент управления и получаем данные предыдущего.
HMI-панель
Добавлено: 11 мар 2016, 14:44
dekorator
Взял на себя смелость и немного доработал обновлённый блок приёма от gav81.
Добавил возможность изменять время импульса на выходе en.
Убрал запаздывание на один шаг.
Добавил авто-обнуление выхода - numeric val, при условии если следующая команда не 0х71.
Немного переделал проект ( для наглядности ). Сам блок в проекте.
HMI-панель
Добавлено: 17 мар 2016, 20:51
gav81
dekorator, молодец что осмелился. У меня совсем не было времени.
Сегодня набросал блок для Waveform. Выкладываю.
HMI-панель
Добавлено: 17 мар 2016, 21:31
support
Благодарю Вас всех за проделанную работу. Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу. Мне очень помогают Ваши блоки. Надеюсь у меня получится ненамного хуже чем у вас (я нахально пользуюсь вашими наработками

).
HMI-панель
Добавлено: 17 мар 2016, 21:41
Max
support писал(а):Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу.
Новость великолепная! Мне так же не так давно панель эта пришла. Ждем с нетерпением!