1 (27-09-2022 16:13:54 отредактировано Kamel)

Тема: CANNY 5 nano. Передача информации на дисплей NEXTION.

Приветствую!

Помогите пожалуйста.

Задача: брать из CAN шины автомобиля информацию о температуре улицы, температуре ОЖ, температуре АКПП, режиме АКПП и номере текущей передачи, давлению в шинах и индикации значка "АРФА" - индикатор ошибки в системе TPMS.

Есть дисплей NEXTION серии Basic и МК CANNY 5 nano. Дисплей отображает информацию. Преобразование нужно только для индикации знака минус в показаниях температуры. Знак минус передаётся единицей в первом символе. Все остальные преобразования производятся в CANNY.
С МК вопросов нет. Терминал показывает, что информация из МК идёт правильная. Передача в CAN реального трейса машины, выдаёт правильные значения всей информации. Но вот дисплей не отображает передаваемую в него информацию. В прилагаемом файле дисплея, нет преобразования для индикации знака минус. Но хоть цифры бы показывал.
Что я делаю не так? В чём моя ошибка?

Второй вопрос, как правильно организовать модуль перебора индекса передачи и отправки сообщений в UART. Вариант в диаграмме работает. Но, может, есть более правильный вариант. Так как пакеты передаются не по ровному количеству раз. Некоторые по 1 разу, некоторые, по 2-3. Надо обновлять информацию в дисплее раз в 0,5-1,0 секунды.

Буду очень благодарен за помощь.

UPD: Ссылка на статью проекта на Драйв2: https://www.drive2.ru/l/630337922649827624/

Вложений в сообщении

Иконка вложения 1.zi 5.92 кб, скачивался 140 раз, последний раз 2022-09-27 

Иконка вложения c5nano_Creta_CAN_UART.HMI 1.12 мб, скачивался 152 раз, последний раз 2022-09-27 

Иконка вложения c5nano_Creta_CAN_UART.cfd 28.91 кб, скачивался 151 раз, последний раз 2022-09-27 

2 (27-09-2022 19:55:01 отредактировано Kamel)

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Коллеги, всем спасибо!

С первым этапом разобрался. Всё работает как надо.

Подскажите, как сделать сброс регистров передачи CAN, если CAN трансляции нет. Так как если прервать передачу CAN трафика, то в регистрах остаются данные и продолжают передаваться в UART. А надо, что бы данные обнулялись.

3

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Kamel пишет:

...Второй вопрос, как правильно организовать модуль перебора индекса передачи и отправки сообщений в UART. Вариант в диаграмме работает. Но, может, есть более правильный вариант. Так как пакеты передаются не по ровному количеству раз. Некоторые по 1 разу, некоторые, по 2-3. Надо обновлять информацию в дисплее раз в 0,5-1,0 секунды...

При постоянном наличии "1" в регистре начала передачи UART попытки отправки сообщений для дисплея будут выполняться на каждом проходе диаграмы. Правильнее организовать отправку сообщений для Nextion следующим образом (см. c5nano_nextion_1.png). Обратите внимание, что по диаграмме длина сообщения для дисплея составляет 15 байт.

Kamel пишет:

...Подскажите, как сделать сброс регистров передачи CAN, если CAN трансляции нет. Так как если прервать передачу CAN трафика, то в регистрах остаются данные и продолжают передаваться в UART. А надо, что бы данные обнулялись...

Вариант решения см. c5nano_nextion_2.png. Кроме того, тут показан вариант более экономичной разбивки значения регистра на отдельные байты.

Вложений в сообщении

Иконка вложения c5nano_nextion_1.png 22.54 кб, скачивался 46 раз, последний раз 2022-09-28 

Иконка вложения c5nano_nextion_2.png 70.17 кб, скачивался 44 раз, последний раз 2022-09-28 

4 (03-10-2022 19:29:40 отредактировано Kamel)

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Денис, спасибо большое!

После внесённых изменений, всё заработало правильно. Диаграмма работает в полном объёме.
Но есть момент, если линию заменить именованной сетью, то модуль режима АКПП и НОМЕРА ПЕРЕДАЧИ перестают работать. После восстановления линии, работоспособность восстанавливается. В диаграмме, линия подсвечена красным текстовым полем.
В остальном, всё работает в соответствии с задуманной идеей. Индикаторные лампочки взял из Вашего проекта термометра. Да, Байт в пакете действительно 15, а не 16. Так и должно быть.

Ещё раз, спасибо большое!

Вложений в сообщении

Иконка вложения 20221003_190755.jpg 1.81 мб, скачивался 41 раз, последний раз 2022-10-03 

Иконка вложения 20221003_190803.jpg 1.72 мб, скачивался 43 раз, последний раз 2022-10-03 

Иконка вложения c5nano_Creta_CAN_UART_4.cfd 26.42 кб, скачивался 143 раз, последний раз 2022-10-03 

5

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Kamel пишет:

...Но есть момент, если линию заменить именованной сетью, то модуль режима АКПП и НОМЕРА ПЕРЕДАЧИ перестают работать...

Не могли бы Вы выложить диаграмму, в которой это проявилось.
Диаграмма из предыдущего сообщения, с разорванной выделенной линией и корректно установленной именованной сетью на входе Е блока №41 (Триггер D), была проверена нами на стенде и работала корректно.

6 (04-10-2022 21:56:26 отредактировано Kamel)

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Денис, добрый вечер!

Именно в диаграмме из предыдущего сообщения. Я в ней разрывал линию и подключался к сети "3". И  режимы и номер передачи акпп переставали работать. При чём, в симуляторе, всё работало. После восстановления линии, работоспособность восстанавливалась. Я отдельно не сохранял диаграмму с именованной сетью. Прямо в этой диаграме и делал.
Может покажите на этой диаграмме как правильно. Я дома буду только через пару дней. Раньше попробовать не смогу. Может где-то неправильно что-то сделал. Но там всё просто, вроде бы.
Может покажите на этой диаграмме, как правильно.
Либо, вернусь домой, пришлю изменённую диаграмму.

Спасибо.

7

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

В таком виде (см. вложение) диаграмма на стенде работала корректно.
Обратите внимание, что в исходной диаграмме для этой группы блоков обнуление значений (блок №39 Коммутатор 2-в-1) выполняется только по отсутствию данных с ID=0x111 (блок №38), тогда как часть этого значения формируется из сообщения с ID=0x113.

Вложений в сообщении

Иконка вложения c5nano_Creta_CAN_UART_4_1.cfd 26.53 кб, скачивался 129 раз, последний раз 2022-10-05 

8 (05-10-2022 16:34:43 отредактировано Kamel)

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Денис, добрый день!

Спасибо большое!

Я точно так же подключал именованную сеть. Странно, что у меня не работало. Вернусь домой, протестирую ещё раз. По поводу обнуления. Адреса 111 и 113, выдаёт один блок, а именно TCU. Исключение из передачи одного из адресов не предусмотрено производителем автомобиля. Поэтому это не имеет значения. Если нет адреса 111, то не будет и адреса 113. Это проверено. Передача прекращается только по выключению зажигания.
После проверки диаграммы, обязательно отпишусь.

9

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Денис, добрый день!

Проверил диаграмму, всё работает как надо. Странно, что у меня она не работала. Видимо, где-то была какая-то ошибка. Так как именованная сеть у меня была организована точно так же.
Спасибо большое за помощь!
После тестов в реальной машине обязательно отпишусь.

Спасибо!

10

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Интересный проект. А экран вы собираетесь впаять в приборную панель или как то отдельно поставите?

11

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Друзья, приветствую!

Проект полностью закончил. Всё работает в том виде, в котором я и хотел. Приборчик уже катается в машине и показывает то, что от него хотели.
Данный монитор установлен в машине на присоску от старого видеорегистратора. Пока откатывал прошивки, вставлял в разъём OBD фишку с корпусом. После поездки надо вытаскивать разъём из OBD, так как в нём питание присутствует постоянно. Теперь переделаю и подключу монитор напрямую к проводке и линии питания IGN+ (зажигание). Что бы монитор выключался вместе с зажиганием.

Данный проект описан на Драйв2.

Хочу поблагодарить всех и, особенно, Дениса, за оказанную помощь.
Итоговые файлы во вложении.

Всем Мира и Добра!

Вложений в сообщении

Иконка вложения c5nano_Creta_CAN_UART_6.cfd 27.29 кб, скачивался 158 раз, последний раз 2022-11-01 

Иконка вложения c5nano_Creta_CAN_UART_7.HMI 1.76 мб, скачивался 149 раз, последний раз 2022-11-01 

12

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Dmitry30Rus пишет:

Интересный проект. А экран вы собираетесь впаять в приборную панель или как то отдельно поставите?

Приветствую!

Экран установлен на держатель с присоской. В панель его вделать не получиться, так как он очень больших размеров. Есть мысль, вделать в приборку маленький дисплейчик и на него выводить информацию. Но это уже следующий шаг в проекте. Пока остановлюсь на том, что имею. На Драйв2 описал данный проект. Статья называется "Монитор для Креты".

13

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Kamel пишет:

Друзья, приветствую!

Проект полностью закончил. Всё работает в том виде, в котором я и хотел. Приборчик уже катается в машине и показывает то, что от него хотели.
Данный монитор установлен в машине на присоску от старого видеорегистратора. Пока откатывал прошивки, вставлял в разъём OBD фишку с корпусом. После поездки надо вытаскивать разъём из OBD, так как в нём питание присутствует постоянно. Теперь переделаю и подключу монитор напрямую к проводке и линии питания IGN+ (зажигание). Что бы монитор выключался вместе с зажиганием.

Данный проект описан на Драйв2.

Хочу поблагодарить всех и, особенно, Дениса, за оказанную помощь.
Итоговые файлы во вложении.

Всем Мира и Добра!

Я новичок в работе с CANNY но Ваших вычислений не понял в программе. К примеру: В автомобилях, чтобы не передавать отрицательное число, разные автопроизводители к значению плюсуют 40, 48 или 50. В Hyundai +40. Ловим в нужном ID значение, кидаем его в Nextion и в дисплее отнимаем 40. Пишем условие чтобы не отображалось -40 при нуле. Вот и все... Тоже самое с передачами и селектором. Переключаем передачи и смотрим сумму 2-х нужных нам байт. Сопоставляем значения в Nextion (как пример:
if(va1.val==128
{
t0.txt= "1"
}
На каждой передаче + селектор сумма байт разная.
Может я чего-то не понимаю? Все эти действия побитовые, сдвиги...... Не хочу показаться невеждой. Просто хочется услышать пояснения от знатоков. Заранее прошу не обижаться. Я только учусь.

14 (20-06-2023 23:37:35 отредактировано serg290)

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

И еще вопрос. Имея опыт работы с промышленными контроллерами быстро разобрался с Canny Lab. Но вот погряз по уши в проблеме. С Nextion работал в связке с Ардуино. Там данные отправляются по адресу страницы, названию объекта и его ID.
Как с Canny отправить данные на дисплей? Предположим - на станицу page0, объект n0, ID1. И в переменную - va0.

С конечным блоком я разобрался (на рисунке)
Входы 0-7 это пересылаемые данные.
Индекс это порядок передачи
Выход - с ним всё ясно. А вот то, что красным!!! Как данные попадают в нужные места на дисплее?
Прошу не пинать новичка. Заранее спасибо за помощь!

Вложений в сообщении

2023-06-20_21-36-19.png, 18.8 кб, 611 x 218
2023-06-20_21-36-19.png 18.8 кб, скачивался 83 раз, последний раз 2023-06-20 

2023-06-20_23-35-48.png, 49.11 кб, 571 x 273
2023-06-20_23-35-48.png 49.11 кб, скачивался 78 раз, последний раз 2023-06-20 

15

Re: CANNY 5 nano. Передача информации на дисплей NEXTION.

Сам допёр!!! Сам задал вопрос, сам допёр! smile)))