1 (01-03-2021 17:03:16 отредактировано PACH)

Тема: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

Доброго времени суток всем))))
Собственно все в названии темы)))
Нужно организовать кан-шлюз на базе 7.2duo для передачи всего потока из кан1 в кан0 изменяя байты D0:D1 в сообщении с идентификатором ID 5F2 по следующему алгоритму: если значения байт меньше или больше указанного диапазона, то передавать без изменений, если лежат в выбранном диапазоне, то заменять на постоянные по верхнему пределу.
Соответственно пример диаграммы прилагается)))
Прошу сильно не гнобить - мое первое творчество)))

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

Иконка вложения D&H.cfd 3.34 кб, скачивался 19 раз, последний раз 2021-03-01 

2

Re: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

А, ну и собственно - прошу проверить на работоспособность и указать на ошибки))))

3

Re: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

  • Судя по логике, блок №1 должен быть не Сдвиг влево, а ЦИКЛИЧЕСКИЙ сдвиг влево: https://canny.ru/docs/fbd/bitwise_opera … lar_shift/

  • Блок №6 лишний, так как вы передаете сразу как получаете, нет необходимости хранить промежуточный результат. Но будет работать и так.

  • отбор-маска на регистре ERL а должна быть на IDL

  • Ну и главное - Регистр начала передачи у вас CAN1, а все остальные регистры передачи от CAN0

Я бы посоветовал еще встроенный светодиод задействовать, для индикации/диагностики работы алгоритма.

4 (01-03-2021 22:29:44 отредактировано PACH)

Re: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

Константин, CANNY пишет:
  • Судя по логике, блок №1 должен быть не Сдвиг влево, а ЦИКЛИЧЕСКИЙ сдвиг влево:

  • Блок №6 лишний, так как вы передаете сразу как получаете, нет необходимости хранить промежуточный результат. Но будет работать и так.

  • отбор-маска на регистре ERL а должна быть на IDL

  • Ну и главное - Регистр начала передачи у вас CAN1, а все остальные регистры передачи от CAN0

Я бы посоветовал еще встроенный светодиод задействовать, для индикации/диагностики работы алгоритма.

Да, конечно, циклический сдвиг)))  От того у меня и несоответствие было)))
Регистром вы абсолютно правы, просмотрел.

5 (01-03-2021 22:30:59 отредактировано PACH)

Re: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

Исправил и добавил светодиоды)))
Надеюсь теперь правильно?)))

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

Иконка вложения D&H.cfd 3.11 кб, скачивался 35 раз, последний раз 2021-03-01 

6

Re: При передаче из CAN1 в CAN0 изменять первые байты определенного ID

Так лучше, но при таком использовании светодиодов Триггер D нужно будет вернуть на диаграмму
Следует так же добавить Регистр установки запрета ретрансляции отбора 0 и установить его в "1"