Проверьте маршрутизацию через PDUR - PullRequest
0 голосов
/ 22 февраля 2019

Чтобы проверить, получено ли сообщение на уровне COM, мы можем добавить выноску Ipdu для Pdu / Signal и дождаться достижения точки останова при отладке.

Это не такдля маршрутизации Pdu.

Если сообщение направляется через PduR, оно никогда не отправляется на уровень Com.Следовательно, нет возможности проверить, получено ли сообщение устройством (т. Е. PduR не имеет функции обратного вызова).

Есть ли способ проверить, получено ли сообщение PduR и успешно ли оно скопировано?к Tx Pdu для отправки (т. е. проверить успешность шлюза)?

1 Ответ

0 голосов
/ 25 февраля 2019

Имейте в виду, что иногда PduR может иметь несколько пунктов назначения, у нас есть такие ECU, которые маршрутизируют сообщения, например, локально, на Com и одновременно направляют их для передачи в другой сети.

PduR запускается RxIndications и TxConfirmations (и их аналогами Tp-интерфейса).Таким образом, для нормального отношения маршрутизации вы должны подключить RxIndication для RxPdu и, например, подождать TxConfirmation для TxPdu, который сообщает, что TxPdu был передан.

Имейте в виду, что:

  • a RxPdu может быть поставлен в очередь, что означает, что они могут быть не переданы напрямую.Это может быть удобно в случае потоковой передачи Pdus, такой как XCP, чтобы сохранить порядок PDU, если они в настоящее время не могут быть переданы.
  • Пути маршрутизации могут быть включены / отключены во время выполнения, например, системные условия обрабатываютсяПравила и списки действий BswM, вызывающие PduR_[Enable|Disable]Routing(<routingpathgroupId>)
...