1 (30-09-2024 16:00:21 отредактировано kutuzoff)

Тема: Не работает отбор сообщения для обработки.

Канни в режиме шлюза для отбора, обработки сообщения из CAN0 и последующей отправки в CAN1.
Из шины CAN0 нужно сообщение 0001 и у него меняется только D0. Соответственно пишу отборы по 0х0001 и D1:D0.
При наличии в диаграмме только отбора 0 - работает. То есть при чтении шины светодиод моргает, при переводе в другое положение и, соответственно, изменении сообщения - гаснет.
А вот если добавляю отбор 1 - перестает работать и отбор 0.
Пересмотрел кучу примеров, но сам разобраться не смог. Что делаю неправильно?

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

Иконка вложения EGS_OTLADKA_2.cfd 4.34 кб, скачивался 16 раз, последний раз 2024-09-30 

2

Re: Не работает отбор сообщения для обработки.

Отборы работают корректно. Ошибка в обработке данных в диаграмме. Вместо блоков "Равенство" использованы блоки "Побитовое И" (блоки №2 и №4). При поступлении данных оба это блока одновременно принимают не нулевое значение и данные сохраняются в триггерах, моргает зеленый светодиод. У светодиода контроллера контроллера есть особенность - "приоритет зеленого" (см. https://canny.ru/docs/c72duo/resources/ … trollera). Повторное поступление данных не меняет значение на выходах триггеров, что при наличии блоков "Детектор переднего фронта" не позволяет моргать светодиоду.
И вообще не понятна логика алгоритма.
Во вложении более корректные варианты обработки данных в диаграмме.

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

Иконка вложения EGS_OTLADKA_2_1.cfd 5.45 кб, скачивался 14 раз, последний раз 2024-09-30 

3

Re: Не работает отбор сообщения для обработки.

Большое спасибо за подсказку. Я новичок в этом деле, поэтому использовал светодиод для поблочной проверки работоспособности диаграммы - заработало - идем дальше. Буду учится дальше...