1 (08-08-2025 16:54:15 отредактировано NiklasK)

Тема: Светодиод в режиме детекции CAN-ошибок

Добрый день коллеги!

Для начала: спасибо за отличный продукт, пользуюсь Кенни 7.3 Эхо в режиме шлюза а так же драйвер ДАП. Всё работает отлично. Решил использовать светодиод как индикатор пергрузки шюза и/или ошибки передачи сообщений по шине. Ошибки передаются так сказать по приоритету. Если встает один регистр, то он передается как индекс ошибки. При этом светодиод должен моргнуть такое количество раз, которое соотвествует индексу ошибки с частотой в 1 Гц и потом потухнуть на 10 секунд.Собрал диаграмму (CAN_LED_Error) и для ее проверки заменил регистры ошибок константами, которые симулируют регистры (Test_LED_Error). Обнaружил следующую проблему: при симуляции диаграммы в режиме длиной одного цикла (длинна = 1 секунда) всё идет нормально, счетчик LED_on_Counter считает нормально и при достижения индекса ошибки CAN_Error_Index меняет статус LED_on_delay_time с 0 секунд на 10 и счетчик сбрасывается нормально. В режиме непрерывной симуляции счетчик достигает значения (LED_on_Counter - 1) и потом сбрасывается до нуля, в связи с чем бит LED_on_delay не достигет 1 и светодиод моргает непрерывно... В чём моя ошибка?

За ранее спасибо...

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

Иконка вложения CAN_LED_Error.cfd 3.23 кб, скачивался 24 раз, последний раз 2025-08-08 

Иконка вложения Test_LED_Error.cfd 3.2 кб, скачивался 29 раз, последний раз 2025-08-08 

Иконка вложения Test_LED_Error.png 93.97 кб, скачивался 15 раз, последний раз 2025-08-08 

2

Re: Светодиод в режиме детекции CAN-ошибок

Вариантов решения может быть несколько. Один из них - см.вложение. В нем, в частности, Триггер (блок №6) позволяет закончить индикацию ошибки при ее пропадании.
Вообще, возможно, следует подумать об использовании варианта с конвейером событий с приоритетом (см. https://canny.ru/docs/tips_tricks/prior … _pipeline/)

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

Иконка вложения c73echo_CAN_LED_Error.cfd 3.64 кб, скачивался 33 раз, последний раз 2025-08-08 

3

Re: Светодиод в режиме детекции CAN-ошибок

Здраствуйте Денис, большое спасибо - имплементировал ваше решение а так же по примеру улучшил пару других аспектов в моей диаграмме по этому примеру!