1 (14-02-2020 11:55:28 отредактировано Makim)

Тема: Замена мотора и коробки на авто 7.2duo

Добрый день. Первый раз делаю что то на Canny, для реализации проекти использован 7.2duo.
На авто поменяли мотор, коробку, раздатку надо согласовать с бортовой электрикой автомобиля.
Пока создал небольшую часть, будет все еще добавляться(сигналы передачи оборот двс, климата, круиза, esp и др). Обе шины 500к. 
Постоянная отправка всех команд в CAN0 с периодом 10мс.
Чтение с CAN1 ID 14D3 данных о температуре двс и передача в CAN0 ID 13D54203
Чтение с CAN1 ID 1B65 режима селектора КПП и передача в CAN0 ID 9709BA00
Чтение с CAN0 ID 17E822B0 режима ручки выбора режима полного привода, измененного сигнала обратно в CAN0 по ID 0BD5FDF0 и ID 17D84203, и одновременно подача положительного сигнала на соответствующие выходы (в выкл сост выход висит в воздухе).
Чтение с CAN0 ID 113D данных сигнализатора ЧЕК, изменение другого байта в том же ID 17D84203 , по которому транслируется режим полного привода.
Сам алгоритм вроде работает. Показалось, что при просмотре данных с кан шины, период отправки команд гораздо больше, чем я задаю генератором.
Просьба проверить диаграмму и если возможно, ее сделать более оптимизированную.
Было бы неплохо, что бы команды в CAN0 передавались с двумя периодами:
5мс - ID:
17ADBF75
0001F1F0
16мс - ID все остальные

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

Иконка вложения Can-avto1-avto2.cfd 20.56 кб, скачивался 20 раз, последний раз 2020-02-13 

2

Re: Замена мотора и коробки на авто 7.2duo

Makim пишет:

...Чтение с CAN1 ID 1B65 режима селектора КПП и передача в CAN0 ID 9709BA00...

ID 9709BA00 находится вне возможного диапазона значений идентификатора (в том числе расширенного, 29-битного). Максимально возможное значение расширенного идентификатора 0x1FFFFFFF.

Makim пишет:

...Постоянная отправка всех команд в CAN0 с периодом 10мс...
...Сам алгоритм вроде работает. Показалось, что при просмотре данных с кан шины, период отправки команд гораздо больше, чем я задаю генератором...

В коммутаторах, формирующих сообщения для отправки в CAN, есть пропуски, т.е. при некоторых значениях инденкса сообщения не отправляются, при этом счетчик индекса проходит все значения от 0 до 15. Возможно это и дает бОльшие, чем ожидается, интервалы между отправкой сообщений.
Возможно это так и задумано, но при необходимости можно убрать пропуски и уменьшить максимальное значение индекса до количества отправляемых сообщений.

В целом диаграмма составлена корректно, что-либо оптимизировать, как мне кажется, пока нет необходимости.

Makim пишет:

...Было бы неплохо, что бы команды в CAN0 передавались с двумя периодами...

Этого можно попробовать достичь разными способами. Например, при отправке сообщений в одном большом цикле (как это сделано сейчас), можно более часто отправляемое сообщение несколько раз поставить в очередь (в коммутатор)... Также для этого можно попробовать использовать другой подход (см. сообщение 80): https://forum.canny.ru/viewtopic.php?pid=8054#p8054

3

Re: Замена мотора и коробки на авто 7.2duo

Денис, CANNY пишет:

ID 9709BA00 находится вне возможного диапазона значений идентификатора....

Да, здесь ошибка, исправлю.

Денис, CANNY пишет:

В коммутаторах, формирующих сообщения для отправки в CAN, есть пропуски, т.е. при некоторых значениях инденкса сообщения не отправляются, при этом счетчик индекса проходит все значения от 0 до 15.

Это пока есть пропуски, т.к. в процессе работы то добавляется, то приходится убирать, потом все будет занято. Еще не все команды найдены.

Денис, CANNY пишет:

Этого можно попробовать достичь разными способами. Например, при отправке сообщений в одном большом цикле (как это сделано сейчас), можно более часто отправляемое сообщение несколько раз поставить в очередь (в коммутатор)... Также для этого можно попробовать использовать другой подход (см. сообщение 80):

Рассмотрю и такой вариант.

Спасибо за подсказки.