メインコンテンツまでスキップ

Signals, PDUs, Frames and I-PDU Groups

What You Will Do​

What a PNC (Partial Network Cluster) actually starts and stops is the I-PDU group — a group that bundles I-Signal I-PDUs. In this chapter you create CAN frames, I-Signal I-PDUs, signals and NM (Network Management)-PDUs yourself in the Signal editor and map them to each other. You then create the per-PNC I-PDU groups in the PNC dialog and put PDUs into them.

When you finish this chapter, you reach the following state.

  • The Signal model holds 42 signals, 16 I-Signal I-PDUs, 18 NM-PDUs and 29 CAN frames (16 application frames plus 13 NM frames). The Signal editor in the current version cannot create the 13 NM frames, so a project you built yourself from Chapter 2 onward stops at the 16 application frames (see Creating NM-PDUs).
  • You can find frames, PDUs, signals, NM frames and NM-PDUs in the Signal editor and check their values.
  • PNC GROUPS in the PNC dialog holds 4 groups for PNC_Comfort, 2 groups for PNC_ParkAssist and 2 groups for PNC_Trailer, and each group contains PDUs.

Before You Begin​

  • Finish PNC Definitions and Connector PNC Properties so that the three PNCs (17, 18, 19) are defined.
  • In this chapter you build one representative set from scratch: the CAN frame WestCAN_DoorStatus_FL, the I-Signal I-PDU DoorStatus_FL_Pdu that is created together with it, the signals DoorOpen_FL, DoorLock_FL and WindowPos_FL, the NM-PDU WestCAN_NmPdu_WestZone, and the I-PDU group WestCAN_PNC_Comfort_Rx. For the rest you repeat the same operations from the value tables.
  • The procedure figures show a project in which the remaining frames and PDUs are already in place and only the representative set is created anew. The item counts below the lists therefore start at CAN FRAMES "27 items" and PDUS "32 items". The "33 items" visible in the PDU tab figure is the count after the representative frame added one PDU (Figure 4-6). The figures from Looking at a CAN Frame onward show the example built to the end (29 frames, 34 PDUs, 42 signals). Only the item counts differ; the labels, the button positions and the values you type are the same.
  • The Signal editor in the current version cannot create the 13 NM frames. The reason and the workaround are described in Creating NM-PDUs.
  • For the full feature set of the Signal editor, see Signal editor.

Opening the Signal Editor​

  1. In the EDITOR view on the left, click System under DESIGN to open the System editor (tab PNC:System). Then, in the vertical icon strip along the left edge of the canvas, click the first (upper) icon, Signal. DESIGN has no Signal row, so the Signal editor is opened from this icon.

    System under DESIGN and the Signal icon on the System editor canvas

    Figure 4-1. The System editor. ① System under DESIGN in the EDITOR view, ② Signal, the first (upper) icon in the vertical icon strip along the left edge of the canvas. The icon below it is Partial Network (PNC).

  2. An editor tab titled PNC:Signal opens. Across the top of the editor are the protocol tabs CAN, LIN, PDU and SIGNAL, with CAN selected initially.

The editor is divided into three parts.

AreaContents
Left listThe elements of the selected tab (CAN FRAMES, PDUS, SIGNALS). The item count appears below the list.
CenterCONFIGURATION (the properties of the selected element) and the SIGNALS table below it
RightTwo tabs to the right of the CONFIGURATION fields: PREVIEW (the byte and bit layout grid) and PDU REFERENCES (the PDUs a frame carries). A PDU has PREVIEW only. PREVIEW is selected when the editor opens, and the tab you pick stays selected when you select another frame. On the SIGNAL tab this area is the SIGNAL GROUPS panel.

Creating a CAN Frame and Its PDU​

Build the one representative frame WestCAN_DoorStatus_FL all the way through. For the rest, repeat the same method from the Remaining Frames, PDUs and Signals table.

  1. Confirm that the CAN tab is selected.

  2. Click + (tooltip Add) to the right of the CAN FRAMES header. The − next to it deletes, and ⋯ holds sorting and filtering.

    The + button on the CAN FRAMES header

    Figure 4-2. The CAN FRAMES list. ① + (tooltip Add) to the right of the header. "27 items" appears below the list.

  3. NewFrame appears at the bottom of the list and is selected automatically. If that name is already taken, a number is appended. At the same time the I-Signal I-PDU NewFrame_Pdu is created and linked to the frame. Click the PDU REFERENCES tab in the right column to see it. Because creating a frame brings a PDU with it, you do not need to create the PDU separately.

    FieldDefault value of a new frame
    NAMENewFrame
    ADDRESSINGSTANDARD
    CAN IDThe first value counting up from 0x100 that is not yet in use
    DLC8 (8 bytes)
    UNUSED BIT PATTERN0
    PDU REFERENCESNewFrame_Pdu (LENGTH 8, SIGNALS 0)

    The default values of a new frame

    Figure 4-3. Right after clicking + and then the PDU REFERENCES tab. ① NewFrame (0x100) added at the bottom of the list, ② NAME = NewFrame, ③ CAN ID = 0x100, ④ NewFrame_Pdu on the PDU REFERENCES tab (LENGTH 8, SIGNALS 0). The item count below the list rises to "28 items", and a dirty marker appears next to the tab name PNC:Signal.

  4. Click the NAME field in CONFIGURATION, type WestCAN_DoorStatus_FL and press Enter.

  5. Click the CAN ID field, type 0x301 and press Enter.

  6. Leave ADDRESSING at STANDARD, DLC at 8 (8 bytes) and UNUSED BIT PATTERN at 0. ADDRESSING and UNUSED BIT PATTERN are not input fields but buttons that place two values side by side.

    CONFIGURATION with the name and CAN ID typed in

    Figure 4-4. Close-up of CONFIGURATION. ① NAME = WestCAN_DoorStatus_FL, ② CAN ID = 0x301, ③ ADDRESSING = STANDARD (the STANDARD | EXTENDED button), ④ the PDU REFERENCES tab. The PDU has already followed the frame name, so the combo box at the right end of the tab bar and the table read WestCAN_DoorStatus_FL_Pdu.

    The DEC | HEX control to the right of the CAN ID label switches the notation, and the default is HEX.

    Switching the CAN ID between DEC and HEX

    Figure 4-5. Switching the CAN ID notation. ① The DEC | HEX button, ② the value 769 with DEC selected. The stored value is the same.

  7. Click the PDU tab. The list title changes to PDUS. The PDU created alongside the frame has followed the frame name and now reads WestCAN_DoorStatus_FL_Pdu. Click that item (the IS tag).

    FieldDefault value of a new PDU
    LENGTH (BYTES)8
    UNUSED BIT PATTERN0
    CYCLE TIME (MS)0
    TRANSMISSION MODENONE

    The automatically created PDU on the PDU tab

    Figure 4-6. The PDU tab. ① The PDU tab, ② WestCAN_DoorStatus_FL_Pdu in the list (IS tag, 8B), ③ LENGTH (BYTES) = 8, ④ CYCLE TIME (MS) = 0. TRANSMISSION MODE is set to NONE.

  8. Type DoorStatus_FL_Pdu in the NAME field. When you rename a PDU, the references from the frames and I-PDU groups that point to it are renamed as well.

  9. Leave LENGTH (BYTES) at 8 and type 50 in CYCLE TIME (MS).

  10. Select CYCLIC in TRANSMISSION MODE. The choices are CYCLIC, EVENT, NOT-USED and NONE.

    The PDU with its name and cycle time set

    Figure 4-7. The finished PDU. ① NAME = DoorStatus_FL_Pdu, ② LENGTH (BYTES) = 8, ③ CYCLE TIME (MS) = 50, ④ TRANSMISSION MODE = CYCLIC. UNUSED BIT PATTERN stays at 0.

  11. Press Ctrl+S to save. The dirty marker next to the tab name PNC:Signal disappears. Undo is Ctrl+Z and redo is Ctrl+Shift+Z.

Note. When you rename a frame, the PDU created with it is renamed too. Renaming NewFrame to WestCAN_DoorStatus_FL makes the PDU WestCAN_DoorStatus_FL_Pdu. Four conditions must hold: the frame carries exactly one PDU, that PDU is named {old frame name}_Pdu, that frame is the only one referencing the PDU, and the new name is not yet in use. If a frame carries two or more PDUs, the PDU names stay as they are.

Note. On a frame's PDU REFERENCES tab, the combo box at the right end of the tab bar offers I-Signal I-PDUs as candidates (and N-PDUs, which this example does not have). Use this combo box to attach an existing PDU to another frame, or to attach several PDUs to one frame. If the PDU lengths add up to more than the bytes of the frame's DLC, PAIO raises the DLC to fit them. If they add up to more than 64 bytes (the largest CAN FD payload), the error Total PDU size ...B exceeds frame max size ...B appears below the table, and the PDU REFERENCES tab label turns red.

Creating Signals and Mapping Them to a PDU​

You create signals from the SIGNALS table while a frame (or a PDU) is selected. A new signal is mapped to the selected PDU right away.

  1. On the CAN tab, click WestCAN_DoorStatus_FL.

  2. Click + (tooltip Add Signal) right after the SIGNALS title. A signal named after the frame with _Sig appended (WestCAN_DoorStatus_FL_Sig) is created and mapped to this frame's PDU. The defaults are TYPE UINT, BYTE-ORDER LITTLE-ENDIAN, LENGTH 8, FACTOR 1, OFFSET 0, MIN 0, MAX 255, INIT VALUE 0, and START is the bit after the last signal already mapped. This PDU is still empty, so START is 0.

    The SIGNALS table right after adding a signal

    Figure 4-8. Close-up of the SIGNALS table. ① + (tooltip Add Signal) right after the SIGNALS title, ② the added default row WestCAN_DoorStatus_FL_Sig: START 0, LENGTH 8, MIN 0, MAX 255, INIT VALUE 0.

  3. Click a cell in the new row to change its value. When the input field opens, type the value and press Enter to commit it. Esc cancels the input. Edit LENGTH, START and MAX in that order. If you move START while LENGTH is still 8, the bits may overlap another signal.

    The first signal after editing

    Figure 4-9. The first signal after editing. ① NAME = DoorOpen_FL, ② LENGTH = 1, ③ MAX = 0. Leave START at its automatic value 0.

  4. This PDU holds three signals. You changed the first row to DoorOpen_FL in step 3, so click + once more for each of the remaining two rows and edit their values the same way. Then click the PREVIEW tab in the right column to check the bit layout.

    NAMELENGTHSTARTMAX
    DoorOpen_FL10 (automatic value, left as is)0
    DoorLock_FL21 (automatic value, left as is)0
    WindowPos_FL88 (typed in)0

    The result of mapping three signals

    Figure 4-10. The result of mapping three signals. ① The three rows of the SIGNALS table, ② the lower bits of Byte 0 and all of Byte 1 in PREVIEW, with the legend DoorOpen_FL, DoorLock_FL, WindowPos_FL on the right, ③ the PDU REFERENCES tab, where DoorStatus_FL_Pdu now has LENGTH 8 and SIGNALS 3.

  5. Save with Ctrl+S.

Caution. Changing LENGTH leaves MAX at 255. The signals in this example have both MIN and MAX at 0, so set MAX to 0 yourself.

Caution. The automatic START is not the first free bit but the bit after the last mapping (0 → 1 → 3 in the table above). To place the third signal WindowPos_FL at Byte 1, type 8 into START yourself.

Note. The automatic name of the second and later signals is also WestCAN_DoorStatus_FL_Sig. Because you rename the previous row first, no number is appended. Work in the order add, rename, add the next.

Creating NM-PDUs​

  1. On the PDU tab, click + (tooltip Add) to the right of the PDUS header. A two-level menu opens.

    Menu groupItems
    Signal I-PDUI-Signal I-PDU, Multiplexed I-PDU
    Network MgmtNM-PDU
    Transport (TP)N-PDU, DCM-I-PDU
    General PurposeGeneral Purpose PDU

    The + menu on the PDUS header

    Figure 4-11. The + menu on the PDUS header. ① The four menu groups, ② the submenu item NM-PDU expanded by hovering over Network Mgmt. When the menu opens, the list selection is cleared and "Select a PDU" appears in the center.

  2. Hover over Network Mgmt and click NM-PDU. NewNmPdu is created and selected. The defaults are LENGTH (BYTES) 8, UNUSED BIT PATTERN 0, NM VOTE INFORMATION FALSE and NM DATA INFORMATION FALSE.

    The default values of NewNmPdu

    Figure 4-12. Right after creating NewNmPdu. ① NewNmPdu at the bottom of the list (NM tag, 8B), ② NAME = NewNmPdu, ③ NM VOTE INFORMATION = FALSE, ④ NM DATA INFORMATION = FALSE. The SIGNALS table shows "No signals. Click + to add a signal."

  3. Type WestCAN_NmPdu_WestZone in the NAME field.

  4. Change NM DATA INFORMATION to TRUE. All 18 NM-PDUs in this example are 8 bytes long with NM VOTE INFORMATION FALSE and NM DATA INFORMATION TRUE.

    The finished NM-PDU

    Figure 4-13. The finished NM-PDU. ① NAME = WestCAN_NmPdu_WestZone, ② NM DATA INFORMATION = TRUE, ③ LENGTH (BYTES) = 8. Leave NM VOTE INFORMATION at FALSE.

  5. The example uses the 18 NM-PDUs in the table below. Create the 17 other than WestCAN_NmPdu_WestZone, which you built above, the same way and save with Ctrl+S.

    Note. Once you create and save these 18, you can carry out the step deferred in NM Settings of PNC Definitions and Connector PNC Properties. After finishing this chapter, return to Chapter 3 once and fill TX-NM-PDU-REFS and RX-NM-PDU-REFS for each NM node. The second table in All NM Values lists the values per node.

    ClusterNM-PDU
    WestCANWestCAN_NmPdu_WestZone, WestCAN_NmPdu_DoorCtrl_FL, WestCAN_NmPdu_SeatCtrl_FL, WestCAN_NmPdu_MirrorAct_FL, WestCAN_NmPdu_WindowSw_FL
    RearCANRearCAN_NmPdu_SouthZone, RearCAN_NmPdu_ParkSensor_RR, RearCAN_NmPdu_TrailerModule, RearCAN_NmPdu_TailLamp_RR
    EastCANEastCAN_NmPdu_EastZone, EastCAN_NmPdu_DoorCtrl_FR, EastCAN_NmPdu_SeatCtrl_FR, EastCAN_NmPdu_MirrorAct_FR
    VLAN_BodyVLAN_Body_NmPdu_HPC, VLAN_Body_NmPdu_WestZone, VLAN_Body_NmPdu_EastZone
    VLAN_RearVLAN_Rear_NmPdu_HPC, VLAN_Rear_NmPdu_SouthZone

Caution. In the current version you cannot create NM frames in the Signal editor, because the PDU REFERENCES candidates of a CAN frame are I-Signal I-PDUs (and N-PDUs) and never NM-PDUs. The 13 NM frames in this example are values prepared in the example project or the result of an ARXML import. The I-PDU group work in this chapter does not need NM frames, so if you are building the project yourself, continue without them. Read Looking at an NM Frame below against the example screens.

The candidate list of PDU REFERENCES

Figure 4-14. The PDU REFERENCES candidates of WestCAN_DoorStatus_FL. ① The combo box at the right end of the tab bar, shown while the PDU REFERENCES tab is selected, ② the expanded candidate list. The candidates are only the 16 I-Signal I-PDUs, in the form name (length, signal count) — for example SeatPosition_FL_Pdu (8B, 2 sig) — and not one NM-PDU appears, including the WestCAN_NmPdu_WestZone you just created. The list is as narrow as the combo box, so long items wrap onto two lines.

Remaining Frames, PDUs and Signals​

The example uses the 16 application CAN frames in the table below. Create the 15 other than WestCAN_DoorStatus_FL, which you built above (the second row of the table), the same way. Creating a frame also creates its PDU, so enter the frame name and CAN ID, set the PDU name, length and cycle time, and then map the signals.

  • ADDRESSING is STANDARD for all, DLC is 8 (8 bytes) for all, and UNUSED BIT PATTERN is 0 for all. Even when the PDU length is 4, 2 or 1 byte, the frame DLC is 8.
  • TRANSMISSION MODE is CYCLIC for every PDU. A new PDU defaults to NONE, so set it on each PDU yourself.
  • Every signal has TYPE UINT, BYTE-ORDER LITTLE-ENDIAN, FACTOR 1, OFFSET 0, MIN 0, MAX 0 and INIT VALUE 0.

Note. The 16 application frames in this example are marked as CAN FD frames in the model, but the Signal editor in the current version has no frame-level CAN FD field, so you can neither check nor change it on screen. This value is separate from configuring the controller as CAN FD in Chapter 2, and it does not affect the work in this chapter.

FrameCAN IDPDUPDU length (B)Cycle time (ms)Signals (START, LENGTH)
WestCAN_ComfortCmd0x300ComfortCmd_West_Pdu820LockCmd_FL(0, 2), WindowCmd_FL(2, 4), SeatMoveCmd_FL(8, 4), SeatHeatCmd_FL(12, 2)
WestCAN_DoorStatus_FL0x301DoorStatus_FL_Pdu850DoorOpen_FL(0, 1), DoorLock_FL(1, 2), WindowPos_FL(8, 8)
WestCAN_SeatPosition_FL0x302SeatPosition_FL_Pdu8100SeatPos_FL(0, 8), SeatHeat_FL(8, 2)
WestCAN_MirrorStatus0x303MirrorStatus_FL_Pdu4100MirrorFoldSts_FL(0, 2), MirrorTiltX_FL(8, 8), MirrorTiltY_FL(16, 8)
WestCAN_MirrorCmd0x304MirrorCmd_FL_Pdu2100MirrorFoldCmd_FL(0, 2), MirrorMoveCmd_FL(2, 4)
WestCAN_WindowSwitch0x305WindowSwitch_Pdu1100WindowSwUp(0, 1), WindowSwDown(1, 1), WindowSwAuto(2, 1)
EastCAN_ComfortCmd0x310ComfortCmd_East_Pdu820LockCmd_FR(0, 2), WindowCmd_FR(2, 4), SeatMoveCmd_FR(8, 4), SeatHeatCmd_FR(12, 2)
EastCAN_DoorStatus_FR0x311DoorStatus_FR_Pdu850DoorOpen_FR(0, 1), DoorLock_FR(1, 2), WindowPos_FR(8, 8)
EastCAN_SeatPosition_FR0x312SeatPosition_FR_Pdu8100SeatPos_FR(0, 8), SeatHeat_FR(8, 2)
EastCAN_MirrorStatus0x313MirrorStatus_FR_Pdu4100MirrorFoldSts_FR(0, 2), MirrorTiltX_FR(8, 8), MirrorTiltY_FR(16, 8)
EastCAN_MirrorCmd0x314MirrorCmd_FR_Pdu2100MirrorFoldCmd_FR(0, 2), MirrorMoveCmd_FR(2, 4)
RearCAN_ParkDistance0x401ParkDistance_Pdu850ParkDist_1(0, 8), ParkDist_2(8, 8), ParkDist_3(16, 8), ParkDist_4(24, 8), ParkSensorFault(32, 1)
RearCAN_TrailerCmd0x410TrailerCmd_Pdu850TrailerLampCmd(0, 8)
RearCAN_TrailerStatus0x411TrailerStatus_Pdu8100TrailerAttached(0, 1), TrailerLampFault(1, 4), TrailerBrakeLamp(5, 1)
RearCAN_TailLampStatus0x412TailLampStatus_Pdu1100TailLampSts(0, 4)
RearCAN_TailLampCmd0x413TailLampCmd_Pdu1100TailLampCmd(0, 4)

This table yields 16 application CAN frames, 16 I-Signal I-PDUs and 42 signals. Add the 18 NM-PDUs from Creating NM-PDUs and the 13 NM frames prepared in the example, and you reach the state shown in the screens of the sections below (29 frames, 34 PDUs, 42 signals).

Once everything is entered, save with Ctrl+S.

Looking at a CAN Frame​

  1. In the CAN FRAMES list on the CAN tab, click WestCAN_DoorStatus_FL. Each row shows its CAN ID on the right, and "29 items" appears below the list ("16 items" in a project without NM frames). In the right column, click the PREVIEW tab.

    WestCAN_DoorStatus_FL selected on the CAN tab

    Figure 4-15. The CAN tab. ① The protocol tab row, ② the list row WestCAN_DoorStatus_FL 0x301, ③ CAN ID = 0x301, ④ the PDU REFERENCES tab, ⑤ the SIGNALS table, ⑥ the selected PREVIEW tab.

  2. Check the frame properties in CONFIGURATION, then click the PDU REFERENCES tab to see the PDU the frame carries.

    Close-up of the CONFIGURATION section

    Figure 4-16. Close-up of CONFIGURATION. ① CAN ID = 0x301 (the DEC | HEX switch to the right of the label, HEX by default), ② DLC = 8 (8 bytes), ③ the PDU REFERENCES tab. The table lists DoorStatus_FL_Pdu (LENGTH 8, SIGNALS 3), and the combo box at the right end of the tab bar shows DoorStatus_FL_Pdu (8B, 3 sig).

    FieldValue
    NAMEWestCAN_DoorStatus_FL
    ADDRESSINGSTANDARD
    CAN ID0x301
    DLC8 (8 bytes)
    UNUSED BIT PATTERN0
  3. Check the signals mapped to this frame's PDU in the SIGNALS table below. The PREVIEW tab (Figure 4-15) shows the signals in color on a grid of Byte 0–7 × bit 7–0, with a legend to its right.

    NAMESTARTLENGTH
    DoorOpen_FL01
    DoorLock_FL12
    WindowPos_FL88

Looking at a PDU​

  1. Click the PDU tab. The list title changes to PDUS and 34 items appear. The IS tag at the left of a row marks an I-Signal I-PDU (16 of them) and the NM tag an NM-PDU (18 of them). The length (8B, 4B, 2B, 1B) is appended at the right of each row.

  2. Click DoorStatus_FL_Pdu.

    DoorStatus_FL_Pdu selected on the PDU tab

    Figure 4-17. The PDU tab. ① The PDU tab, ② DoorStatus_FL_Pdu (IS tag), ③ LENGTH (BYTES) = 8, ④ CYCLE TIME (MS) = 50, ⑤ TRANSMISSION MODE = CYCLIC. UNUSED BIT PATTERN is 0, and the SIGNALS table holds three signals.

  3. In the list, click WestCAN_NmPdu_WestZone, which carries the NM tag. An NM-PDU has the fields NM VOTE INFORMATION and NM DATA INFORMATION, and no signals.

    The NM-PDU WestCAN_NmPdu_WestZone selected

    Figure 4-18. An NM-PDU. ① WestCAN_NmPdu_WestZone, ② NM VOTE INFORMATION = FALSE, ③ NM DATA INFORMATION = TRUE. LENGTH (BYTES) is 8, and the SIGNALS table shows "No signals. Click + to add a signal."

    Note. All 18 NM-PDUs in this example are 8 bytes long with NM VOTE INFORMATION = FALSE and NM DATA INFORMATION = TRUE. Five of them (VLAN_Body_NmPdu_*, VLAN_Rear_NmPdu_*) are for Ethernet VLANs and therefore have no CAN frame.

Looking at a Signal​

  1. Click the SIGNAL tab. The list title changes to SIGNALS and 42 items appear. The bit length (1bit, 2bit, and so on) is appended at the right of each row.

  2. Click DoorOpen_FL.

    DoorOpen_FL selected on the SIGNAL tab

    Figure 4-19. The SIGNAL tab. ① The SIGNAL tab, ② DoorOpen_FL (1bit), ③ BIT LENGTH = 1. TYPE is UINT, with FACTOR 1, OFFSET 0, MIN 0 and MAX 0, and INIT VALUE shows the note boolean (1-bit) with the value 0. The right panel is SIGNAL GROUPS ("No signal groups").

Looking at an NM Frame​

The NM frames are prepared in the example project. If a project you built yourself has no NM frames, read this section only to see how the screen is laid out (see the caution in Creating NM-PDUs).

  1. Click the CAN tab, then click WestCAN_NmFrame_WestZone (0x510) in the list. The PDU REFERENCES tab you clicked in Looking at a CAN Frame is still selected.

    The NM frame WestCAN_NmFrame_WestZone selected

    Figure 4-20. An NM frame. ① The list row WestCAN_NmFrame_WestZone 0x510, ② CAN ID = 0x510, ③ WestCAN_NmPdu_WestZone on the PDU REFERENCES tab. Because it points to an NM-PDU, LENGTH and SIGNALS are shown as -.

    Note. When you select an NM frame, the UNUSED BIT PATTERN field does not appear. This is how the current version displays it, and the stored values are unaffected. The PREVIEW tab shows the empty 8-byte grid of the NM-PDU, because an NM-PDU carries no signals.

The NM frames in this example are numbered from 0x510 in node order within each cluster. The names follow {cluster}_NmFrame_{node}, and each frame carries the {cluster}_NmPdu_{node} of the same node.

Cluster0x5100x5110x5120x5130x514
WestCANWestZoneDoorCtrl_FLSeatCtrl_FLMirrorAct_FLWindowSw_FL
RearCANSouthZoneParkSensor_RRTrailerModuleTailLamp_RR—
EastCANEastZoneDoorCtrl_FRSeatCtrl_FRMirrorAct_FR—

Design rationale. In Chapter 3 you entered PNC WAKEUP CAN ID 0x500 and PNC WAKEUP CAN ID MASK 0x700 on the Zone CAN connectors. That combination treats frames in the 0x500..0x5FF block as wakeup frames. The NM frames above (0x510..0x514) all fall inside that block and are therefore recognized as wakeup frames. AUTOSAR does not reserve a CAN ID range for NM; this range follows OEM network design practice.

Practice: Adding a Signal​

This section revisits the operations from Creating Signals and Mapping Them to a PDU on a PDU that already holds signals. The ChildLock_FL you add here does not exist in the example, so you discard it instead of saving when the practice is over. You already saved the work of the previous sections with Ctrl+S, so the only thing discarded here is the practice signal.

  1. On the CAN tab, click WestCAN_DoorStatus_FL, then click the PREVIEW tab in the right column.

  2. Click + (tooltip Add Signal) right after the SIGNALS title.

    The + button on the SIGNALS table

    Figure 4-21. Close-up of the SIGNALS table. ① + (Add Signal).

  3. WestCAN_DoorStatus_FL_Sig is added as the fourth row. The name is generated automatically by appending _Sig to the frame name. The defaults are START 16, LENGTH 8 and MAX 255. SIGNALS on the PDU REFERENCES tab changes to 4, and a dirty marker appears next to the tab name PNC:Signal.

    Right after adding the signal

    Figure 4-22. Right after clicking +. ① The new row WestCAN_DoorStatus_FL_Sig, ② all of Byte 2 in PREVIEW shown in the new signal's color.

  4. Click the NAME cell of the new row. When the input field opens, type ChildLock_FL and press Enter. Esc cancels the input.

    Typing ChildLock_FL in the NAME cell

    Figure 4-23. ① Typing ChildLock_FL into the NAME input field.

  5. Click the LENGTH cell, type 2 and press Enter. In PREVIEW, only bits 1–0 of Byte 2 turn the ChildLock_FL color.

    The result of changing the name and length

    Figure 4-24. ① NAME = ChildLock_FL, ② LENGTH = 2, ③ bits 1–0 of Byte 2 in PREVIEW.

    Caution. Changing LENGTH leaves MAX at 255. Edit MAX yourself if you need to. A new signal is also placed after the last signal (START 16 here) rather than at the first free bit. Bits 3–7 of DoorStatus_FL_Pdu are free, but a signal is not placed there automatically, so type START yourself if you have a position in mind.

    Note. Ctrl+Z also undoes the added signal. Redo is Ctrl+Shift+Z.

  6. When the practice is over, click × (tooltip Remove Signal) at the right end of the row to delete the ChildLock_FL row.

  7. Hover over the PNC:Signal tab and click the × (tooltip Close) that appears to close the tab. When the Unsaved Changes window appears, click Don't Save. The practice is not saved and is discarded entirely.

    Caution. If you leave the Signal editor open in a dirty state (the marker next to the tab name) and then save the PNC dialog in the next section, PAIO applies the groups to the open Signal editor and saves that editor's contents along with them. To keep your practice edits from being saved, be sure to close the tab without saving before you open the PNC dialog.

Creating I-PDU Groups​

You create I-PDU groups in the PNC dialog. As the representative case, create the WestCAN receive group WestCAN_PNC_Comfort_Rx of PNC_Comfort and put DoorStatus_FL_Pdu into it.

Creating the Group​

  1. In the EDITOR view on the left, click System under DESIGN to open the System editor (tab PNC:System).

  2. In the vertical icon strip along the left edge of the canvas, click the second (lower) icon, Partial Network (PNC) (Figure 3-1). The Partial Network (PNC) Configuration dialog opens.

  3. Confirm that PNC 17 PNC_Comfort is selected in the PARTIAL NETWORKS list. PNC GROUPS in the center is empty.

    Empty PNC GROUPS

    Figure 4-25. The PNC dialog. The right panel is divided into the PDU GROUPS / MATRIX / NM VECTOR tabs, with PDU GROUPS selected. ① PNC 17 PNC_Comfort, ② the PNC GROUPS section (columns PDU GROUP / DIRECTION / PDUS). It shows "No PNC group bound yet. Click [+] to create one, or assign a PDU on the PDU GROUPS table (groups are generated on first use)." ③ + (tooltip Add I-PDU group to this PNC).

  4. Click the + button to the right of the PNC GROUPS header. In the menu, click New Rx group....

    The New Rx group menu

    Figure 4-26. The + menu. ① New Rx group.... The New Tx group... item below it creates a transmit group.

  5. The New Rx I-PDU group input window opens. Type WestCAN_PNC_Comfort_Rx and click OK.

    The New Rx I-PDU group input window

    Figure 4-27. The input window. The guidance text reads "I-SIGNAL-I-PDU-GROUP SHORT-NAME (identity, AUTOSAR identifier)." ① The name field, ② OK.

    Note. The placeholder in the field is Cluster_PNC_Rx. PAIO checks only whether the name is a valid AUTOSAR identifier and whether it is a duplicate; it does not enforce the Naming Convention below. Type the name according to the convention yourself.

  6. The row WestCAN_PNC_Comfort_Rx | RX | 0 PDUs appears in PNC GROUPS and expands automatically. A ● marker is prefixed to the dialog title.

    The group after creation

    Figure 4-28. ① The new group row and its detail. The GROUP section holds PDU GROUP (the name) and DIRECTION (RX / TX), and CONTAINED PDUS shows "No contained element. Click [+] to reference a PDU, group or NM-PDU." ② The + of CONTAINED PDUS.

    Note. A group created with the + button of PNC GROUPS is bound immediately to the PNC that was selected at the time. To create a group for another PNC, first select that PNC in the PARTIAL NETWORKS list.

Putting PDUs into the Group​

  1. Click + (tooltip Add contained element) to the right of the CONTAINED PDUS header. A new row appears. The columns are # / KIND / REFERENCE / FRAME / FRAME ID / CLUSTER, and KIND defaults to I-SIGNAL-I-PDU. Until you pick a PDU, the REFERENCE field is marked red (tooltip Reference is required).

  2. Click the REFERENCE cell of the new row and type DoorStatus. The candidates narrow to DoorStatus_FR_Pdu and DoorStatus_FL_Pdu.

    Picking a REFERENCE candidate

    Figure 4-29. ① DoorStatus typed into the REFERENCE cell, ② the candidate DoorStatus_FL_Pdu. The KIND cell is narrow, so it is truncated to I-SIGNAL-I-P….

  3. Click DoorStatus_FL_Pdu. FRAME, FRAME ID and CLUSTER are filled in automatically, and PDUS on the group row changes to 1 PDU. In the PDU GROUPS table on the right, the DoorStatus_FL_Pdu row is highlighted.

    The result of adding the PDU

    Figure 4-30. ① The CONTAINED PDUS row: DoorStatus_FL_Pdu / WestCAN_DoorStatus_FL / CAN 0x301 / WestCAN, ② the DoorStatus_FL_Pdu row in the PDU GROUPS table on the right.

  4. Press Ctrl+S to save. The ● marker before the title disappears.

Note. When you save from the PNC dialog, the groups themselves are written to the SIGNAL model (SIGNAL.io.model) and the links between the PNCs and the groups to the SYSTEM model (SYSTEM.io.model). No dirty marker appears on the System editor tab (PNC:System).

Caution. The REFERENCE candidates for KIND = I-SIGNAL-I-PDU include CAN NM-PDUs (WestCAN_NmPdu_* and so on) mixed in with the I-Signal I-PDUs. Do not put NM-PDUs into a PNC group (see Why Is It Designed This Way?). Pick only the application PDUs whose names end in _Pdu.

Caution. The × button at the right end of a group row does not merely unbind the group from the PNC — it deletes the group itself. If the group is bound to other PNCs as well, a delete confirmation window appears first.

Creating the Remaining Groups​

Create every group in the table below the same way and put its PDUs in.

  • First, add the remaining three PDUs (SeatPosition_FL_Pdu, MirrorStatus_FL_Pdu, WindowSwitch_Pdu) to the WestCAN_PNC_Comfort_Rx you built above. Click the group row to expand it, then click the + button of CONTAINED PDUS once per PDU.
  • Create receive groups with New Rx group... and transmit groups with New Tx group....
  • Select the relevant PNC in the PARTIAL NETWORKS list before you create a group.
  • For RearCAN_PNC_ParkAssist_Tx, create the group only and put no PDU in it.
PNCGroupDIRECTIONCONTAINED PDUS
PNC 17 PNC_ComfortWestCAN_PNC_Comfort_RxRXDoorStatus_FL_Pdu, SeatPosition_FL_Pdu, MirrorStatus_FL_Pdu, WindowSwitch_Pdu
PNC 17 PNC_ComfortWestCAN_PNC_Comfort_TxTXComfortCmd_West_Pdu, MirrorCmd_FL_Pdu
PNC 17 PNC_ComfortEastCAN_PNC_Comfort_RxRXDoorStatus_FR_Pdu, SeatPosition_FR_Pdu, MirrorStatus_FR_Pdu
PNC 17 PNC_ComfortEastCAN_PNC_Comfort_TxTXComfortCmd_East_Pdu, MirrorCmd_FR_Pdu
PNC 18 PNC_ParkAssistRearCAN_PNC_ParkAssist_RxRXParkDistance_Pdu
PNC 18 PNC_ParkAssistRearCAN_PNC_ParkAssist_TxTX(none)
PNC 19 PNC_TrailerRearCAN_PNC_Trailer_RxRXTrailerStatus_Pdu, TailLampStatus_Pdu
PNC 19 PNC_TrailerRearCAN_PNC_Trailer_TxTXTrailerCmd_Pdu, TailLampCmd_Pdu

Once everything is entered, save with Ctrl+S and click Close to close the dialog.

The Finished Result​

In the finished example, the Signal editor and the PNC dialog look as follows.

The Signal editor in the finished example

Figure 4-31. The Signal editor in the finished example. ① The CAN FRAMES list (29 items). The selected WestCAN_ComfortCmd (0x300) carries ComfortCmd_West_Pdu, and its signals are LockCmd_FL (START 0, LENGTH 2), WindowCmd_FL (2, 4), SeatMoveCmd_FL (8, 4) and SeatHeatCmd_FL (12, 2). PREVIEW shows them in Byte 0 and Byte 1.

The PNC GROUPS of PNC_Comfort

Figure 4-32. PNC 17 PNC_Comfort in the finished example. ① PNC GROUPS: WestCAN_PNC_Comfort_Rx (RX, 4 PDUs), WestCAN_PNC_Comfort_Tx (TX, 2 PDUs), EastCAN_PNC_Comfort_Rx (RX, 3 PDUs), EastCAN_PNC_Comfort_Tx (TX, 2 PDUs). VIRTUAL FUNCTION CLUSTERS (VFC), PHYSICAL CHANNELS, SERVICE INSTANCES and the WAKEUP FRAMES below them are filled in PNC Dialog — Per-PNC Bindings.

Click a group row to expand it and see its CONTAINED PDUS.

The CONTAINED PDUS of WestCAN_PNC_Comfort_Rx

Figure 4-33. WestCAN_PNC_Comfort_Rx expanded. ① The four CONTAINED PDUS rows: DoorStatus_FL_Pdu (CAN 0x301), SeatPosition_FL_Pdu (CAN 0x302), MirrorStatus_FL_Pdu (CAN 0x303), WindowSwitch_Pdu (CAN 0x305). All have CLUSTER WestCAN.

The PNC GROUPS of PNC_ParkAssist

Figure 4-34. PNC 18 PNC_ParkAssist in the finished example. ① PNC 18 PNC_ParkAssist, ② PNC GROUPS: RearCAN_PNC_ParkAssist_Rx (RX, 1 PDU), RearCAN_PNC_ParkAssist_Tx (TX, 0 PDUs).

Naming Convention​

PAIO derives the SHORT-NAME of an I-PDU group from the structure by convention. ARXML import and export normalize to the same convention, so the example uses these names as they are.

FormNameExampleContents in this example
Container{cluster}_Rx / {cluster}_TxRearCAN_RxHolds RearCAN_PNC_ParkAssist_Rx, RearCAN_PNC_Trailer_Rx and RearCAN_NoPnc_Rx.
PNC leaf{cluster}_{pnc}_Rx / {cluster}_{pnc}_TxWestCAN_PNC_Comfort_RxHolds the PDUs that belong to that PNC on that bus.
Non-participating leaf{cluster}_NoPnc_Rx / {cluster}_NoPnc_TxWestCAN_NoPnc_TxHolds the PDUs that belong to no PNC. In this example every application PDU belongs to a PNC, so these are empty.
NM-PDU{cluster}_NmPdu_{node}WestCAN_NmPdu_WestZoneOne per node, 8 bytes
NM frame{cluster}_NmFrame_{node}WestCAN_NmFrame_WestZoneNumbered from 0x510 in node order
  • The direction (_Rx / _Tx) is from the Zone (gateway) point of view. A status PDU sent by an end ECU (for example DoorStatus_FL_Pdu) is received by the Zone and is therefore _Rx, while a command PDU the Zone sends down to an end ECU (for example ComfortCmd_West_Pdu) is _Tx.
  • Only the PNC leaf groups are bound to a PNC. The container and NoPnc groups are bound to no PNC.

Container groups and NoPnc groups do not appear in PNC GROUPS, because PNC GROUPS shows only the groups bound to the selected PNC. In the finished example you can see their names in the candidate list by adding a row to CONTAINED PDUS, changing KIND to GROUP and typing a name into REFERENCE.

The NoPnc groups shown as GROUP candidates

Figure 4-35. NoPnc typed into REFERENCE on a KIND = GROUP row in the finished example. ① The REFERENCE cell, ② the candidates WestCAN_NoPnc_Rx, WestCAN_NoPnc_Tx, EastCAN_NoPnc_Rx, EastCAN_NoPnc_Tx, RearCAN_NoPnc_Rx, RearCAN_NoPnc_Tx. This screen is for inspection only, so close it with Esc without picking a candidate, then delete the row with the × (tooltip Remove contained element) at the right of the row.

Caution. PAIO currently has no dedicated screen for creating container groups and NoPnc groups. A group created with the + button of PNC GROUPS is bound to the selected PNC, so do not create containers or NoPnc groups that way. Both kinds arrive through ARXML import, and that is how they are present in the finished example. A project you build yourself does not need them. Because only leaf groups are bound to a PNC, the validation results in later chapters and the contents of the groups bound to each PNC are the same without them. Only the number of <I-SIGNAL-I-PDU-GROUP> elements in the exported ARXML differs. Figure 4-35 shows the finished example, for inspection.

Note. The differences between a project you follow along and build yourself and the finished example — including the 13 NM frames you cannot create in this chapter and the container and NoPnc groups — are collected in one table in Appendix — Differences Between a Self-Built Project and the Finished Example.

Why Is It Designed This Way?​

Design rationale.

  • What actually starts and stops when a PNC wakes up or goes to sleep is the I-PDU group. Each bus therefore has per-PNC Rx/Tx leaf groups, and a container group bundles the leaves of that bus. PDUs that belong to no PNC stay in the NoPnc group.
  • NM-PDUs are not put into PNC groups, because NM must keep running whether a PNC is on or off.
  • The left and right comfort command signals are split into _FL and _FR and kept separate. Mapping the same I-Signal to two PDUs violates constr_3514 (one ISignalToIPduMapping per I-Signal).

Check Your Work​

  • The Signal editor holds 29 frames on the CAN tab (16 application frames in a project that cannot create NM frames), 34 items on the PDU tab (IS 16, NM 18) and 42 items on the SIGNAL tab.
  • There is no dirty marker next to the PNC:Signal tab name.
  • The CAN ID of WestCAN_DoorStatus_FL is 0x301, and its PDU REFERENCES tab lists DoorStatus_FL_Pdu (length 8, signals 3).
  • The CYCLE TIME (MS) of DoorStatus_FL_Pdu is 50 and its TRANSMISSION MODE is CYCLIC.
  • The ChildLock_FL added during the practice is no longer in the SIGNALS table.
  • In the PNC dialog, PNC GROUPS of PNC 17 PNC_Comfort has four rows, as in Figure 4-32.
  • PNC GROUPS of PNC 18 PNC_ParkAssist holds RearCAN_PNC_ParkAssist_Rx (1 PDU) and RearCAN_PNC_ParkAssist_Tx (0 PDUs).
  • PNC GROUPS of PNC 19 PNC_Trailer holds RearCAN_PNC_Trailer_Rx (2 PDUs) and RearCAN_PNC_Trailer_Tx (2 PDUs).
  • No PNC group has an NM-PDU (*_NmPdu_*) in its CONTAINED PDUS.
  • There is no ● marker before the PNC dialog title.
  • You returned to NM Settings in Chapter 3 and filled one TX-NM-PDU-REFS and the RX-NM-PDU-REFS for each NM node.

Next Steps​

Return to NM Settings in Chapter 3 and fill the NM-PDU references of the NM nodes first. Then, in Interfaces and SOME/IP Services, create the SOME/IP service interfaces and service instances and prepare the services the PNCs will reference.