HMI-панель
HMI-панель
Парсить пакеты разной длинны, толком так и не получается пока. Фиксированной длинны на много проще. Мне например в полне хватило и четырёх байтов. Заставить отправлять HMI эти четыре байта по практически любому событию на дисплее - не проблема.
Универсальный распарсиватель это только библиотеки подключать с кодом. А там еще не всё гладко пока.
Универсальный распарсиватель это только библиотеки подключать с кодом. А там еще не всё гладко пока.
HMI-панель
Вот простенький пример. Моргаем светодиодом на 13-й ноге.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dekorator 23 фев 2016, 01:57, всего редактировалось 1 раз.
HMI-панель
Создал блок для приема и идентификации данных от HMI.
В частности определяет текущую страницу по команде sendme прописанной в HMI и сенсорное событие возврат данных в Next editor необходимо проставить галочки Send component ID на нужной функции.
В частности определяет текущую страницу по команде sendme прописанной в HMI и сенсорное событие возврат данных в Next editor необходимо проставить галочки Send component ID на нужной функции.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
HMI-панель
gav81, хороший блок. Можете добавить туда, еще один выход типа -данные готовы? Пусть выдаёт короткий импульс когда пришла команда от hmi. И возможность выбора сом порта не помешала бы.
HMI-панель
Выход En уже реализован, а вот с выбором серийного порта проблема, только ручками. Если кто знает как, сделайте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
HMI-панель
Класс!
Если еще 0х70 и 0х71 добавить, цены бы небыло. С ид.- 0х70 вобще проблема. Это стринг и надо програмно отделить начало ( ид.) Подсчитать длинну строки, отделить от неё последние три байта и отправить результат на выход. Вроде знаю что делать но незнаю как.
Если еще 0х70 и 0х71 добавить, цены бы небыло. С ид.- 0х70 вобще проблема. Это стринг и надо програмно отделить начало ( ид.) Подсчитать длинну строки, отделить от неё последние три байта и отправить результат на выход. Вроде знаю что делать но незнаю как.

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

У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dekorator 08 мар 2016, 14:17, всего редактировалось 1 раз.
HMI-панель
По команде - 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.
Вот пример формата в котором панель отправляет в порт строку - 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 раз.
HMI-панель
Ок. подумаю как можно реализовать прием 0х71, 0х70.
Кстати вот блок отправки сделан на базе выложенного здесь, но по удобнее на мой взгляд.
По тестите.
Кстати вот блок отправки сделан на базе выложенного здесь, но по удобнее на мой взгляд.
По тестите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
HMI-панель
Не пропускает команду переключения между экранами - page page0 Она переключает на нулевую страницу, page page1 соответственно на первую.gav81 писал(а):По тестите.
к стати, вторую часть команды помеченную зелёным, можно менять на свою, заранее прописанную в панель. Это я так на всякий случай, может пригодится кому инфа.
HMI-панель
Обновленные блоки приема и передачи.
Выход En по приему - импульс 300мс, реализован прием команды 0х71 numeric val отдельный выход.
В блоке передачи создан отдельный вход для команд get nx(jx).val и page x
Выход En по приему - импульс 300мс, реализован прием команды 0х71 numeric val отдельный выход.
В блоке передачи создан отдельный вход для команд get nx(jx).val и page x
У вас нет необходимых прав для просмотра вложений в этом сообщении.
HMI-панель
gav81. Блок приёма работает но как и в предыдущем блоке, импульс на выходе en появляется раньше чем обновляются переменные на выходах блока. В итоге отставание на один шаг. При сбросе контроллера и последующем нажатии компонента на экране, на выходах нолики. Дальше, нажимаем другой элемент управления и получаем данные предыдущего.
HMI-панель
Взял на себя смелость и немного доработал обновлённый блок приёма от gav81.
Добавил возможность изменять время импульса на выходе en.
Убрал запаздывание на один шаг.
Добавил авто-обнуление выхода - numeric val, при условии если следующая команда не 0х71.
Немного переделал проект ( для наглядности ). Сам блок в проекте.
Добавил возможность изменять время импульса на выходе en.
Убрал запаздывание на один шаг.
Добавил авто-обнуление выхода - numeric val, при условии если следующая команда не 0х71.
Немного переделал проект ( для наглядности ). Сам блок в проекте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
HMI-панель
dekorator, молодец что осмелился. У меня совсем не было времени.
Сегодня набросал блок для Waveform. Выкладываю.
Сегодня набросал блок для Waveform. Выкладываю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- support
- Супермодератор
- Сообщения: 1917
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Поблагодарили: 23 раза
- Контактная информация:
HMI-панель
Благодарю Вас всех за проделанную работу. Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу. Мне очень помогают Ваши блоки. Надеюсь у меня получится ненамного хуже чем у вас (я нахально пользуюсь вашими наработками
).

Автор программы FLProg.
HMI-панель
Новость великолепная! Мне так же не так давно панель эта пришла. Ждем с нетерпением!support писал(а):Мне пришла панель Nextion и сейчас я занимаюсь интеграцией её в программу.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя