CLASSIC
Modul: modemanagementguide
Rolle: heuristic
Konfidenz: 80%
SNIP_CLASSIC_MODEMANAGEMENTGUIDE_SECTION_3_4_7_PduR_routing_path_group_switching
Wortlaut
3.4.7 PduR routing path group switching
PduR routing path group switching is used to switch routing path of I-PDUs which are
not assigned to a Com I-PDU group (see chapter 3.4.2 I-PDU Group Switching), e.g.
I-PDUs transmitted via LdCom. LdCom has not the capability to control I-PDU groups
as it is provided by Com.
Therefore it is possible to control the affected PudR routing paths by configured PduR
routing path groups (similar to I-PDU groups in Com).
Guide to Mode Management
The
PduR
routing
path
groups
are
controlled
via
the
following
API:
PduR_EnableRouting(<routing path group id>) and PduR_DisableRouting(<routing
path group id>).
The APIs could be called by BswM based on particular BswM rules. This enable the
switching of PduR routing path groups in combination with partial networking, e.g.
ComM indicate the current PNC state to BswM, BswM evaluate the trigger conditions
of the dedicated BswM rules and trigger the BswM action (control the PduR routing
path groups).
Please note:
• If I-PDUs should be controlled, then it is recommended to control Com I-PDUs
via Com I-PDU groups and the remaining I-PDUs via switching of PduR routing
path groups.
The following scenarios illustrate how PduR routing path groups of an ECU can be
managed. The exemplary ECU shall have one physical Ethernet channel with two
VLANs and three partial network clusters.
The mode request ports for the VLANs are named EthSM_Vlan1 and EthSM_Vlan2,
the request sources for the partial network clusters are named PNC1, PNC2 and
PNC3. I-PDUs of PNC1 shall be communicated only over Vlan1. I-PDUs of PNC2
shall be communicated over Vlan1 and Vlan2. I-PDUs of PNC3 shall be communicated only over Vlan2. In case of an indication by a bus state manager the BswM shall
check, which partial network clusters are requested.
Listing 3.26: Active wakeup on channel
rule activeWakeupVlan1 initially false {
if ( EthSM_Vlan1 == ETHSM_BSWM_FULL_COMMUNICATION){
actionlist activeWakeupVlan1Actions
}
}
actions activeWakeupVlan1Actions on condition{
rule pnc1requested rule pnc2requested
}
rule activeWakeupVlan2 initially false{
if ( EthSM_Vlan2 == ETHSM_BSWM_FULL_COMMUNICATION &&
PNC2 != PNC_REQUESTED &&
PNC3 != PNC_REQUESTED ) {
actionlist activeWakeupVlan2Actions
}
}
actions activeWakeupVlan2Actions on condition{
rule pnc2requested rule pnc3requested
}
Guide to Mode Management
If the bus state manager reports that a VLAN is going offline the BswM disable the
corresponding I-PDU routing path groups. If the channel is part of a partial network the
whole partial network has to be disabled.
Listing 3.27: EthSM reports NO_COMMUNICATION
rule offlineVlan1 initially false {
if (EthSM_Vlan1 == ETHSM_BSWM_NO_COMMUNICATION){
actionlist offlineVlan1Actions }
}
actions offlineVlan1Actions on condition {
PduRRoutingPathGroupSwitch{
init true disable ArMmExample.EcuC.MyPduR.VLAN1_IPDU_ROUTING_PATHS,
ArMmExample.EcuC.MyPduR.PNC1_IPDU_ROUTING_PATHS, ArMmExample.EcuC.MyPduR
.PNC2_IPDU_ROUTING_PATHS }
}
rule offlineVlan2 initially false {
if ( EhtSM_Can2 == CANSM_BSWM_NO_COMMUNICATION ) {
actionlist offlineVlan2Actions
}
}
actions offlineVlan2Actions on condition {
PduRRoutingPathGroupSwitch {
init true disable ArMmExample.EcuC.MyPduR.VLAN2_IPDU_ROUTING_PATHS,
ArMmExample.EcuC.MyPduR. PNC2_IPDU_ROUTING_PATHS, ArMmExample.EcuC.
MyPduR.PNC3_IPDU_ROUTING_PATHS
}
}
In case that a single partial network cluster is released the I-PDU routing path group
representing this network has to be disabled.
Listing 3.28: PNC reports NO_COMMUNICATION
rule pnc1nocom initially false {
if ( PNC1 == PNC_NO_COMMUNICATION ) {
actionlist pnc1nocomTrueActions
}
}
actions pnc1nocomActions on condition {
PduRRoutingPathGroupSwitch {
init true disable ArMmExample.EcuC.MyPduR.PNC1_IPDU_ROUTING_PATHS
}
}
rule pnc2nocom initially false {
if ( PNC2 == PNC_NO_COMMUNICATION ) {
actionlist pnc2nocomTrueActions
}
}
actions pnc2nocomActions on condition {
PduRRoutingPathGroupSwitch {
Guide to Mode Management
init true disable ArMmExample.EcuC.MyPduR.PNC2_IPDU_ROUTING_PATHS
}
}
rule pnc3nocom initially false {
if ( PNC3 == PNC_NO_COMMUNICATION ) {
actionlist pnc3nocomActions
}
}
actions pnc3nocomActions on condition {
PduRRoutingPathGroupSwitch {
init true disable ArMmExample.EcuC.MyPduR.PNC3_IPDU_ROUTING_PATHS
}
}
If a partial network cluster is requested the corresponding I-PDU routing path groups
are enabled.
Listing 3.29: PNC reports PNC_REQUESTED or PNC_READY_SLEEP
rule pnc1requested initially false {
if ( PNC1 == PNC_REQUESTED ||
PNC1 == PNC_READY_SLEEP )
{ actionlist pnc1requestedActions }
}
actions pnc1requestedActions on condition {
PduRRoutingPathGroupSwitch
{ init true enable ArMmExample.EcuC.MyPduR.PNC1_IPDU_ROUTING_PATHS }
}
rule pnc2requested initially false {
if ( PNC2 == PNC_REQUESTED ||
PNC2 == PNC_READY_SLEEP )
{ actionlist pnc2requestedActions }
}
actions pnc2requestedActions on condition {
PduRRoutingPathGroupSwitch
{ init true enable ArMmExample.EcuC.MyPduR.PNC2_IPDU_ROUTING_PATHS }
}
rule pnc3requested initially false
{ if ( PNC3 == PNC_REQUESTED || PNC3 == PNC_READY_SLEEP ) { actionlist
pnc3requestedActions }
}
actions pnc3requestedActions on condition
{ PduRRoutingPathGroupSwitch { init true enable ArMmExample.EcuC.MyPduR.
PNC2_IPDU_ROUTING_PATHS }
}
Versionen & Provenienz · Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.
Begründung & Zuweisungs-Evidenz
Immediate effect of enabling routing path groups
Dokumenten-Herkunft & Rückverfolgbarkeit
| Spezifikations-Dokument | ModeManagementGuide.pdf |
|---|---|
| Dokumentseite | Seite 50 |
| Ziel-Modul | modemanagementguide (classic) |
| Ziel-Anforderung | SWS_PduR_00715 |
| Semantische Rolle | heuristic |
| Automatisierungs-Konfidenz | 0.80 |