HMI-панель

Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

Парсить пакеты разной длинны, толком так и не получается пока. Фиксированной длинны на много проще. Мне например в полне хватило и четырёх байтов. Заставить отправлять HMI эти четыре байта по практически любому событию на дисплее - не проблема.
Универсальный распарсиватель это только библиотеки подключать с кодом. А там еще не всё гладко пока.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

dekorator, а можно пример посмотреть flprog и hmi?
Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13 окт 2015, 16:47
Контактная информация:

HMI-панель

Сообщение Олег »

dekorator здесь выкладывал.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

Олег писал(а):dekorator здесь выкладывал.
с отправкой все понятно, интересует прием.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

Вот простенький пример. Моргаем светодиодом на 13-й ноге.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dekorator 23 фев 2016, 01:57, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

Создал блок для приема и идентификации данных от HMI.
В частности определяет текущую страницу по команде sendme прописанной в HMI и сенсорное событие возврат данных в Next editor необходимо проставить галочки Send component ID на нужной функции.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

gav81, хороший блок. Можете добавить туда, еще один выход типа -данные готовы? Пусть выдаёт короткий импульс когда пришла команда от hmi. И возможность выбора сом порта не помешала бы.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

Выход En уже реализован, а вот с выбором серийного порта проблема, только ручками. Если кто знает как, сделайте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

Класс!
Если еще 0х70 и 0х71 добавить, цены бы небыло. С ид.- 0х70 вобще проблема. Это стринг и надо програмно отделить начало ( ид.) Подсчитать длинну строки, отделить от неё последние три байта и отправить результат на выход. Вроде знаю что делать но незнаю как. Изображение
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

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

Есть облегченная библиотека для для HMI и несколько примеров для ознакомления. Может кто приделает ей правильные ноги и руки  Изображение
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dekorator 08 мар 2016, 14:17, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

А как при каких действиях отправляются 0х71 и 0х70 из HMI
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение 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.
Последний раз редактировалось dekorator 08 мар 2016, 21:16, всего редактировалось 1 раз.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

Ок. подумаю как можно реализовать прием 0х71, 0х70.
Кстати вот блок отправки сделан на базе выложенного здесь, но по удобнее на мой взгляд.
По тестите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

gav81 писал(а):По тестите.
Не пропускает команду переключения между экранами -   page page0  Она переключает на нулевую страницу,   page page1  соответственно на первую.
к стати, вторую часть команды помеченную зелёным, можно менять на свою, заранее прописанную в панель. Это я так на всякий случай, может пригодится кому инфа.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

Обновленные блоки приема и передачи.
Выход En по приему - импульс 300мс, реализован прием команды 0х71 numeric val отдельный выход.
В блоке передачи создан отдельный вход для команд get nx(jx).val и page x
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

gav81.  Блок приёма работает но как и в предыдущем блоке, импульс на выходе en появляется раньше чем обновляются переменные на выходах блока. В итоге отставание на один шаг. При сбросе контроллера и последующем нажатии компонента на экране, на выходах нолики. Дальше, нажимаем другой элемент управления и получаем данные предыдущего.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

HMI-панель

Сообщение dekorator »

Взял на себя смелость и немного доработал обновлённый блок приёма от gav81.
Добавил возможность изменять время импульса на выходе en.
Убрал запаздывание на один шаг.
Добавил авто-обнуление выхода - numeric val, при условии если следующая команда не 0х71. 
 Немного переделал проект ( для наглядности ).  Сам блок в проекте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
gav81
Рядовой
Сообщения: 48
Зарегистрирован: 07 окт 2015, 21:04

HMI-панель

Сообщение gav81 »

dekorator, молодец что осмелился. У меня совсем не было времени.
Сегодня набросал блок для Waveform. Выкладываю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

HMI-панель

Сообщение support »

Благодарю Вас всех за проделанную работу. Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу. Мне очень помогают Ваши блоки. Надеюсь у меня получится ненамного хуже чем у вас (я нахально пользуюсь вашими наработками Изображение ).
Автор программы FLProg.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

HMI-панель

Сообщение Max »

support писал(а):Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу.
Новость великолепная! Мне так же не так давно панель эта пришла. Ждем с нетерпением!
Ответить

Вернуться в «Архив версия 1.11»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя