Страница 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 и сейчас я занимаюсь интеграцией её в программу.
Новость великолепная! Мне так же не так давно панель эта пришла. Ждем с нетерпением!