Проверьте маршрутизацию через PDUR
Чтобы проверить, получено ли сообщение на уровне COM, мы можем добавить выноску Ipdu для Pdu/Signal и дождаться достижения точки останова при отладке.
Это не относится к маршрутизации Pdu.
Если сообщение направляется через PduR, оно никогда не отправляется на уровень Com. Следовательно, нет возможности проверить, получено ли сообщение устройством (т.е. PduR не имеет функции обратного вызова).
Есть ли способ, с помощью которого мы можем проверить, получено ли сообщение PduR и успешно ли оно скопировано в Tx Pdu для отправки (т. Е. Проверить успешность шлюза)?
1 ответ
Имейте в виду, что иногда PduR может иметь несколько пунктов назначения, у нас есть такие ECU, которые маршрутизируют сообщения, например, локально, на Com и одновременно направляют их для передачи в другой сети.
PduR запускается RxIndications и TxConfirmations (и их аналогами Tp-интерфейса). Таким образом, для нормального отношения маршрутизации вы должны подключить RxIndication для RxPdu и, например, могли бы ожидать подтверждение TxPdu для TxPdu, которое сообщает, что TxPdu был передан.
Имейте в виду, что:
- RxPdu может быть поставлен в очередь, что означает, что они могут быть не переданы напрямую. Это может быть удобно в случае потоковой передачи Pdus, такой как XCP, чтобы сохранить порядок PDU, если они в настоящее время не могут быть переданы.
- Пути маршрутизации могут быть включены / отключены во время выполнения, например, системные условия обрабатываются правилами BswM и вызовами ActionLists
PduR_[Enable|Disable]Routing(<routingpathgroupId>)