Обычно удаленный кадр отправляется для запроса данных от другого узла, который позже отправляет соответствующий кадр данных с тем же идентификатором.Но когда оба узла отправляют фрейм данных, как избежать конфликта шин?
Например, узел A отправляет кадр данных в узел B, например, перемещается на 10 мм вперед, затем узел B возвращает кадр данных в узел A, когда движение завершено.Таким образом, оба сообщения имеют одинаковые данные и идентификаторы одинаковы.
Обновление
В настоящее время идентификатор узла назначен всей печатной плате, которая содержит несколько компонентовкак датчики и моторы.Согласно сообщению Lundin , я понимаю, что невозможно различить эти компоненты.Существует высокая вероятность привести к ошибке в битах при отправке сообщений постороннему, и в то же время получить ответное сообщение, например, от датчиков.В этом случае арбитраж не вступает в силу.Итак, являются ли следующие пункты передовой практикой?
- Каждый датчик или двигатель должен быть определен как узел с уникальным идентификатором.Но кажется неудобным перемещать компоненты между различными печатными платами, поскольку фильтры соответствующих печатных плат должны обновляться каждый раз.
- Каждая из печатных плат должна определять больше фильтров, чтобы принимать все идентификаторы узлов на ней.
- ТОЛЬКО используйте удаленный кадр для запроса данных от датчика.