PNC 다이얼로그 — PNC별 바인딩
이 장에서 할 일
이 장에서는 PNC 다이얼로그에서 PNC(Partial Network Cluster)마다 필요한 참조를 연결(바인딩)한다. PNC 하나에 VFC(Virtual Function Cluster), I-PDU Group, 물리 채널, 서비스 인스턴스, 웨이크업 프레임을 한 화면에서 묶는다.
PNC_ParkAssist를 예로 들어 섹션마다 따라 한다. 웨이크업 프레임은 PNC_Trailer에서 입력한다. PNC_Comfort와 PNC_Trailer의 나머지 값은 값 표와 완성 화면으로 제공한다.
이 장을 마치면 다음 상태가 된다.
PNC_ParkAssist에VFC_ParkAssist, 그룹RearCAN_PNC_ParkAssist_Rx/_Tx, 채널RearCAN_Channel과VLAN_Rear, 서비스 인스턴스ParkDistance_Provider와ParkDistance_Consumer가 바인딩되어 있다.PNC_Trailer의 WAKEUP FRAMES에RearCAN_NmFrame_TrailerModule이 있다.- 변경 내용이 저장되어 있다.
시작하기 전에
- VFB와 VFC(PortGroup)를 마쳐야 한다.
- 이 장은 앞 장에서 이어진다. 앞 장까지의 결과가 모두 모델에 들어 있어야 하며, 시작 상태는 다음과 같다.
- PNC 3개(
PNC_Comfort17,PNC_ParkAssist18,PNC_Trailer19)가 있다(PNC 정의와 커넥터 PNC 속성). - I-PDU Group 8개가 SIGNAL 모델에 있고, 4장에서 만들 때 각각 해당 PNC에 바인딩되었다(신호·PDU·프레임과 I-PDU Group).
PNC_ParkAssist에는RearCAN_PNC_ParkAssist_Rx(ParkDistance_Pdu1개)와RearCAN_PNC_ParkAssist_Tx(PDU 없음)가 들어 있다. - SOME/IP 서비스 인스턴스 7개가 커넥터에 바인딩되어 있다(인터페이스와 SOME/IP 서비스).
- 원자 SWC의 PortGroup
VFC_Comfort,VFC_ParkAssist,VFC_Trailer가 있고, 컴포지션과 루트에 같은 이름의 PortGroup이 자동으로 생겨 있다. 아직 어느 PNC에도 바인딩되어 있지 않다(VFB와 VFC(PortGroup)). - 컴포지션과 응용 AA의 PortGroup 멤버 포트(OUTER PORTS)는 아직 비어 있다. 이 장의 SWC HIERARCHY에서 채운다.
- PNC 3개(
- 이 장의 그림 7-2부터 7-9까지와 그림 7-14, 7-15는 PNC에 아무것도 바인딩되지 않은 상태에서 찍었다. 4장을 따라 한 프로젝트에서는 PNC GROUPS에 그룹 2행이 이미 보인다. 차이가 나는 자리는 해당 절에서 다시 알려 준다.
이 장에서 PNC_ParkAssist에 입력하는 값은 다음과 같다.
| 섹션 | 값 |
|---|---|
| VIRTUAL FUNCTION CLUSTERS (VFC) | VFC_ParkAssist |
| PNC GROUPS | RearCAN_PNC_ParkAssist_Rx(ParkDistance_Pdu), RearCAN_PNC_ParkAssist_Tx(PDU 없음) |
| PHYSICAL CHANNELS | CAN RearCAN / RearCAN_Channel, ETHERNET Backbone / VLAN_Rear (VLAN 200) |
| SERVICE INSTANCES | ParkDistance_Provider, ParkDistance_Consumer |
| WAKEUP FRAMES | 없음 |
PNC 다이얼로그 열기
-
왼쪽 EDITOR 뷰의 DESIGN 아래에서 System을 눌러 System 편집기(탭
PNC:System)를 연다. -
캔버스 왼쪽 가장자리의 세로 아이콘 줄에서 두 번째(아래쪽) 아이콘을 누른다. 마우스를 올리면 Partial Network (PNC) 툴팁이 나타난다.

그림 7-1. System 편집기. ① EDITOR 뷰 DESIGN 아래의 System. ② PNC 버튼. 캔버스 왼쪽 가장자리 세로 아이콘 줄의 두 번째(아래쪽) 아이콘이다.
Partial Network (PNC) Configuration 다이얼로그가 열린다.
-
왼쪽 PARTIAL NETWORKS 목록에서 PNC 18 PNC_ParkAssist를 누른다.

그림 7-2. PNC 18 PNC_ParkAssist를 선택한 화면. ① 목록 항목 PNC 18 PNC_ParkAssist. ② VIRTUAL FUNCTION CLUSTERS (VFC) 섹션. 아직 "No VFC bound. Click [+] to bind or create a PortGroup."이 표시된다. PNC GROUPS, SERVICE INSTANCES, WAKEUP FRAMES도 비어 있고, PHYSICAL CHANNELS에는 체크가 없다.
화면 구성
다이얼로그는 세 영역으로 나뉜다.
| 영역 | 내용 |
|---|---|
| 왼쪽 PARTIAL NETWORKS | PNC 목록. 항목은 PNC <식별자> <이름> 형식이다. 머리글의 +/− 버튼으로 PNC를 추가, 삭제한다(PNC 정의와 커넥터 PNC 속성). |
| 가운데 상세 | 선택한 PNC의 섹션이 위에서 아래로 나온다: PARTIAL NETWORK CLUSTER(PNC IDENTIFIER, NAME) → VIRTUAL FUNCTION CLUSTERS (VFC) → PNC GROUPS → PHYSICAL CHANNELS → SERVICE INSTANCES → WAKEUP FRAMES. 각 섹션 머리글 오른쪽의 + 버튼으로 항목을 추가한다. 내용이 길어지면 가운데 상세를 세로로 스크롤한다. |
| 오른쪽 뷰어 | PDU GROUPS, MATRIX, NM VECTOR 탭. 이 장에서는 PDU GROUPS 탭만 쓴다. 나머지 탭은 PDU GROUPS·MATRIX·NM VECTOR 검토에서 다룬다. |
- 저장하지 않은 변경이 있으면 다이얼로그 제목 앞에 ● 표시가 붙는다.
- 저장은 Ctrl+S로 한다. 다이얼로그 아래에는 Close 버튼만 있다.
VFC 바인딩하기
-
VIRTUAL FUNCTION CLUSTERS (VFC) 머리글 오른쪽의 + 버튼을 누른다(툴팁 Bind or create a VFC (PortGroup)).
메뉴가 열린다. 맨 위의 New VFC (PortGroup)... 항목은 새 PortGroup을 만들고, 구분선 아래는 이미 있는 VFC 목록이다.
-
메뉴에서 VFC_ParkAssist를 누른다.

그림 7-3. + 메뉴. New VFC (PortGroup)... 아래에
VFC_Comfort,VFC_ParkAssist,VFC_Trailer가 있다. ① 고를 항목VFC_ParkAssist.VFC 표에 행이 생긴다. 제목 앞에 ● 표시가 붙는다.

그림 7-4. ① 새 행: PORT GROUP
VFC_ParkAssist, MEMBERSHPC, SouthZone, ParkSensor_RR, PORTS4 ports.참고. MEMBERS는 루트 컴포지션
PncVehicle의 직계 프로토타입 중 같은 이름의 PortGroup(VFC_ParkAssist)을 가진 것이다. 이름이 다르면 멤버로 세지 않는다(VFC 패밀리 규칙). -
VFC_ParkAssist행을 눌러 펼친다.
그림 7-5. 펼친 행의 VFC (PORT-GROUP) 영역. ① CATEGORY. PARTIAL_NETWORKING이 선택되어 있다. ② SWC HIERARCHY 표(열 COMPONENT/PORT, 체크, TYPE). 루트
PncVehicle아래 직계 프로토타입 14개가 모두 나오고, 체크가 끝나면HPC,SouthZone,ParkSensor_RR세 행만 체크된 상태가 된다. -
SWC HIERARCHY에서 이 VFC에 참여하는 컴포지션과 포트를 체크한다.
VFC_ParkAssist는HPC,SouthZone,ParkSensor_RR세 컴포지션이다. 컴포지션 행을 체크한 뒤 그 행을 펼쳐, VFB와 VFC(PortGroup)의 ECU 컴포지션 표에 적힌 OUTER PORTS를 포트 행에서 체크한다.컴포지션 체크할 포트 HPCParkDistanceSvcSouthZoneParkDistance,ParkDistanceSvcParkSensor_RRParkDistanceHPC안의 응용 AAParkAssistApp의 포트(ParkDistanceSvc,VehicleStateSvc)도 같은 방법으로 체크한다. AA에는 PortGroup을 만드는 전용 화면이 없으므로, 이 표가 AA의 PortGroup을 만드는 유일한 자리이다. -
행을 다시 눌러 접는다.
주의. SWC HIERARCHY의 체크박스는 누르는 즉시 SWC 모델(
.swc.io.model)에 기록된다. Ctrl+S를 기다리지 않는다. 컴포지션 행의 체크는 그 컴포지션 타입에 같은 이름의 PortGroup을 만들거나 지우고, 펼친 포트 행의 체크는 그 PortGroup의 멤버 포트를 넣거나 뺀다. 체크를 잘못 풀면 그 컴포지션의 PortGroup이 지워지므로, 표에 없는 행은 건드리지 않는다.
참고. VFC 행 오른쪽의 ×(툴팁 Unbind VFC from this PNC (the PortGroup itself is kept))는 PNC와의 연결만 끊는다. PortGroup 자체는 남는다.
PNC GROUPS 확인하기
PNC GROUPS에는 이 PNC에 바인딩된 I-PDU Group이 나온다. 신호·PDU·프레임과 I-PDU Group에서 PNC GROUPS의 + 버튼으로 그룹을 만들었고, **+**로 만든 그룹은 만들 때 선택되어 있던 PNC에 바로 바인딩된다. 그래서 PNC_ParkAssist에는 이미 두 행이 있다.
PNC GROUPS에 RearCAN_PNC_ParkAssist_Rx(RX, 1 PDU)와 RearCAN_PNC_ParkAssist_Tx(TX, 0 PDUs)가 있는지 확인한다. 결과는 그림 7-10의 PNC GROUPS와 같다.
이 절의 나머지는 그룹을 바인딩하는 두 번째 방법이다. 오른쪽 PDU GROUPS 표에서 PDU에 PNC를 지정하는 방법으로, 아직 어느 PNC에도 들어가지 않은 PDU를 넣을 때 쓴다. 예제에서는 4장에서 이미 넣었으므로 읽고 화면만 확인한다.
PNC GROUPS의 + 버튼(툴팁 Add I-PDU group to this PNC)은 새 그룹을 만드는 메뉴(New Rx group..., New Tx group...)만 연다. 이미 있는 그룹 이름을 입력하면 "A group with this name already exists"로 거부된다. 그래서 이미 있는 그룹에 PDU를 더 넣을 때는 오른쪽 PDU GROUPS 표를 쓴다. PNC에 Rx 그룹이나 Tx 그룹이 하나도 없을 때 PDU 하나를 PNC에 지정하면, <클러스터>_<PNC>_Rx/_Tx 쌍이 PNC에 새로 만들어져 바인딩된다. 같은 이름의 그룹이 이미 있으면 새로 만들지 않고 그 그룹을 쓴다.
참고. 그림 7-6부터 7-9까지는 그룹이 아직 바인딩되지 않은 상태에서 찍었다. 4장을 따라 했다면 그림 7-6의 PNC MEMBERSHIP 칸에 "Assign PNCs..." 대신
PNC_ParkAssist가 이미 표시되고, 그림 7-9의RearCAN_PNC_ParkAssist_Tx는 CONTAINED PDUS가 비어 있다. 아래 3단계와 7단계는 그래서 이미 반영된 상태이며, 다시 하지 않는다.
-
오른쪽 PDU GROUPS 탭의 검색칸에
ParkDistance를 입력한다. 표에ParkDistance_Pdu한 행만 남는다. -
가운데 상세와 오른쪽 뷰어 사이의 경계선을 왼쪽으로 끌어 뷰어를 넓힌다. 기본 폭에서는 PNC MEMBERSHIP 열이 오른쪽 끝에서 잘려, 칸의 드롭다운 화살표가 보이지 않는다.

그림 7-6. 뷰어를 넓힌 PDU GROUPS 표. ① 검색칸에
ParkDistance입력. 남은 행은ParkDistance_Pdu/RearCAN_ParkDistance CAN 0x401/RearCAN CAN이다. ② PNC MEMBERSHIP 칸("Assign PNCs..."). -
PNC MEMBERSHIP 칸을 누른다. 체크 목록이 열리면 PNC_ParkAssist를 체크한다.

그림 7-7. PNC MEMBERSHIP 체크 목록(
PNC_Comfort,PNC_ParkAssist,PNC_Trailer). ①PNC_ParkAssist를 체크한 모습. -
Esc를 눌러 체크 목록을 닫는다. 다이얼로그는 닫히지 않는다. 목록을 닫을 때 지정이 반영된다.

그림 7-8. ① PNC GROUPS에
RearCAN_PNC_ParkAssist_Rx(RX,1 PDU)와RearCAN_PNC_ParkAssist_Tx(TX,1 PDU)가 바인딩되었다. ②ParkDistance_Pdu행이 강조되고, PNC MEMBERSHIP에PNC_ParkAssist가 표시된다.그림 7-8에서 Tx 그룹도
1 PDU이다. PDU를 PNC에 지정하면, 그 PDU를 보내는 노드와 받는 노드가 모두 있을 때 Rx 그룹과 Tx 그룹 양쪽에 들어간다. 버스 PDU는 보통 보내는 노드와 받는 노드가 모두 있으므로 양쪽에 들어간다. 그룹 방향은 Zone(게이트웨이) 관점이고ParkDistance_Pdu는SouthZone이 받는 PDU이므로, 예제에서는 Rx 그룹에만 둔다(명명 규약). 다음 단계에서 Tx 그룹의ParkDistance_Pdu를 뺀다. -
뷰어 경계선을 오른쪽으로 끌어 원래 폭으로 되돌린다.
-
PNC GROUPS에서
RearCAN_PNC_ParkAssist_Tx행을 눌러 펼친다. GROUP(PDU GROUP, DIRECTION)과 CONTAINED PDUS 표가 나타난다. -
CONTAINED PDUS의
ParkDistance_Pdu행 오른쪽 끝에 있는 ×(툴팁 Remove contained element)를 누른다.
그림 7-9. 펼친
RearCAN_PNC_ParkAssist_Tx. DIRECTION은 TX이다. ① CONTAINED PDUS의ParkDistance_Pdu행(RearCAN_ParkDistance,CAN 0x401,RearCAN). ② 누를 × 버튼.Tx 그룹 행의 PDUS가
0 PDUs로 바뀐다. -
RearCAN_PNC_ParkAssist_Tx행을 다시 눌러 접는다. -
PDU GROUPS 탭의 검색칸을 비운다.
주의. CONTAINED PDUS 행의 × 버튼과 그룹 행(
RearCAN_PNC_ParkAssist_Tx행) 오른쪽 끝의 × 버튼을 헷갈리지 않는다. 그룹 행의 ×(툴팁 Delete group (removes it from the SIGNAL model and every reference))는 바인딩만 끊는 것이 아니라 그룹 자체를 삭제한다.
물리 채널 선택하기
PHYSICAL CHANNELS 표에는 프로젝트의 모든 물리 채널이 나온다. 열은 체크, PROTOCOL, CLUSTER, CHANNEL, CONNECTED ECUS, GATEWAY이다.
-
다음 두 행의 체크박스를 켠다.
- CAN /
RearCAN/RearCAN_Channel - ETHERNET /
Backbone/VLAN_Rear (VLAN 200)

그림 7-10. ①
RearCAN_Channel행 체크. ②VLAN_Rear (VLAN 200)행 체크. ③ GATEWAY 열. 두 채널 모두SouthZone (A)이다. PNC GROUPS의 Tx 그룹은0 PDUs이다. - CAN /
참고. GATEWAY 열은 표시 전용이다. 각 채널에서 PNC 게이트웨이 역할을 하는 노드를 보여 주며,
(A)는 ACTIVE,(P)는 PASSIVE이다. 값은 커넥터의 PNC 속성(PNC 정의와 커넥터 PNC 속성)에서 온다. 기본 폭에서는VLAN_Body행의WestZone (A), EastZone (P)처럼 긴 값이 잘린다. 셀에 마우스를 올리면 툴팁으로 전체 값을 볼 수 있다.
주의. 물리 채널은 자동으로 채워지지 않는다. 그룹이나 PDU를 바인딩해도 채널 체크는 바뀌지 않는다. PNC가 걸치는 채널은 사람이 직접 체크한다.
서비스 인스턴스 추가하기
-
SERVICE INSTANCES 머리글 오른쪽의 +(툴팁 Add service instance reference)를 누른다. 검색칸이 있는 후보 목록이 열린다. 후보 아래에 역할과 노드가 작게 표시된다(예:
SOME/IP provider on SouthZone). -
검색칸에
ParkDistance를 입력한다. 후보 7개가 2개로 좁혀진다. -
ParkDistance_Provider를 누른다.

그림 7-11. SERVICE INSTANCES의 후보 목록. ① 검색칸에
ParkDistance입력. ② 고를 항목ParkDistance_Provider(SOME/IP provider on SouthZone). 위의ParkDistance_Consumer는SOME/IP consumer on HPC이다. -
다시 + 버튼을 누르고
ParkDistance를 입력한 뒤 ParkDistance_Consumer를 누른다.카드 2개가 생긴다. 카드에는 SOME/IP 배지, 역할 배지(P 제공자, C 소비자), 인스턴스 이름이 표시된다.
-
(확인만)
ParkDistance_Provider카드를 누르면 상세가 펼쳐진다.
그림 7-12. ① SERVICE INSTANCES 섹션. 펼친
ParkDistance_Provider카드에 OWNING NODESouthZone (SouthZone_Eth_Conn), ROLEProvider, SERVICE INTERFACESVC_ParkDistance, INSTANCE ID1, SERVICE ID4097, ENDPOINT192.168.200.12, UDP 30502가 표시된다. 아래는ParkDistance_Consumer카드이다.
참고. 카드 오른쪽의 ×(툴팁 Remove reference)는 PNC의 참조만 지운다. 서비스 인스턴스 자체는 남는다.
저장하기
-
Ctrl+S를 누른다.
제목 앞의 ● 표시가 사라진다.

그림 7-13. 저장 후의 PNC 18 PNC_ParkAssist. ① 다이얼로그 제목. 앞에 ● 표시가 없다. VFC 1개, 그룹 2개(RX
1 PDU, TX0 PDUs), 채널 2개, 서비스 인스턴스 2개가 바인딩되어 있고, 맨 아래 WAKEUP FRAMES에는 카드가 없다.
참고. 다이얼로그에서 저장하면 PNC 바인딩은 SYSTEM 모델(
SYSTEM.io.model)에, 그룹 내용은 SIGNAL 모델(SIGNAL.io.model)에 기록된다. System 편집기 탭(PNC:System)은 바뀌지 않는다. 저장하지 않고 Close를 누르면 저장 여부를 묻는 창이 나타난다.
웨이크업 프레임 추가하기
PNC_ParkAssist에는 웨이크업 프레임이 없다. 웨이크업 프레임은 PNC_Trailer에서 입력한다.
-
왼쪽 목록에서 PNC 19 PNC_Trailer를 누른다.
-
WAKEUP FRAMES 머리글 오른쪽의 +(툴팁 Add wakeup frame reference)를 누른다. CAN 프레임 29개가 후보로 나온다. 후보 아래에 CAN ID와 클러스터/채널이 표시된다.
-
검색칸에
TrailerModule을 입력한다. 후보 29개가 1개로 좁혀진다. -
RearCAN_NmFrame_TrailerModule을 누른다.

그림 7-14. ① PNC 19 PNC_Trailer. ② 검색칸에
TrailerModule입력. ③ 고를 항목RearCAN_NmFrame_TrailerModule(0x512 RearCAN/RearCAN_Channel).CAN 배지가 붙은 카드가 생긴다.
-
(확인만) 카드를 누르면 상세가 펼쳐진다.

그림 7-15. ① 펼친
RearCAN_NmFrame_TrailerModule카드. PROTOCOLCAN, FRAME ID0x512, CLUSTERRearCAN, CHANNELRearCAN_Channel, TX NODESTrailerModule, RX NODES—. -
Ctrl+S를 눌러 저장한다.
-
Close를 눌러 다이얼로그를 닫는다. 저장한 뒤이므로 확인 창 없이 닫힌다.
참고. PNC에 Rx 그룹이 바인딩되어 있으면, 후보 목록 위쪽에 PNC RX FRAMES 머리글과 함께 그 그룹의 PDU를 싣는 프레임이 먼저 나온다. 그림 7-14의
PNC_Trailer에는 바인딩된 그룹이 없으므로 29개가 한 목록으로 나온다. 4장을 따라 했다면RearCAN_PNC_Trailer_Rx가 이미 바인딩되어 있으므로, 목록이 이 머리글과 그 그룹의 PDU를 싣는 프레임으로 시작한다.
나머지 PNC의 값
PNC_Comfort와 PNC_Trailer도 같은 방법으로 입력한다. 다음 장은 세 PNC의 바인딩이 모두 끝난 상태에서 시작한다.
PNC GROUPS 열은 4장에서 그룹을 만들 때 이미 바인딩된 값이므로 확인만 한다. 새로 입력하는 것은 VFC, PHYSICAL CHANNELS, SERVICE INSTANCES, WAKEUP FRAMES 네 가지이다. VFC를 바인딩한 뒤에는 행을 펼쳐 SWC HIERARCHY에서 아래 MEMBERS 표의 컴포지션과 그 포트를 체크한다.
| PNC | VFC | PNC GROUPS | PHYSICAL CHANNELS | SERVICE INSTANCES | WAKEUP FRAMES |
|---|---|---|---|---|---|
PNC 17 PNC_Comfort | VFC_Comfort | WestCAN_PNC_Comfort_Rx, WestCAN_PNC_Comfort_Tx, EastCAN_PNC_Comfort_Rx, EastCAN_PNC_Comfort_Tx | EastCAN_Channel, WestCAN_Channel, VLAN_Body (VLAN 100) | ComfortControl_Provider_West(P), ComfortControl_Provider_East(P), ComfortControl_Consumer(C) | WestCAN_NmFrame_DoorCtrl_FL(0x511), EastCAN_NmFrame_DoorCtrl_FR(0x511) |
PNC 18 PNC_ParkAssist | VFC_ParkAssist | RearCAN_PNC_ParkAssist_Rx, RearCAN_PNC_ParkAssist_Tx | RearCAN_Channel, VLAN_Rear (VLAN 200) | ParkDistance_Provider(P), ParkDistance_Consumer(C) | 없음 |
PNC 19 PNC_Trailer | VFC_Trailer | RearCAN_PNC_Trailer_Rx, RearCAN_PNC_Trailer_Tx | RearCAN_Channel, VLAN_Rear (VLAN 200) | VehicleState_Provider(P), VehicleState_Consumer(C) | RearCAN_NmFrame_TrailerModule(0x512) |
그룹별 CONTAINED PDUS는 신호·PDU·프레임과 I-PDU Group의 그룹 표와 같다. VFC별 멤버와 PORTS 표시는 다음과 같다.
| VFC | MEMBERS(SWC HIERARCHY에서 체크된 직계 프로토타입) | PORTS |
|---|---|---|
VFC_Comfort | HPC, WestZone, EastZone, DoorCtrl_FL, SeatCtrl_FL, MirrorAct_FL, WindowSw_FL, DoorCtrl_FR, SeatCtrl_FR, MirrorAct_FR (10개) | 28 ports |
VFC_ParkAssist | HPC, SouthZone, ParkSensor_RR (3개) | 4 ports |
VFC_Trailer | HPC, SouthZone, TrailerModule, TailLamp_RR (4개) | 8 ports |
참고. 그룹을 만들지 않고 PDU GROUPS 표에서
PNC_Trailer의 그룹을 만들려면(4장을 건너뛴 경우),TrailerStatus_Pdu,TailLampStatus_Pdu,TrailerCmd_Pdu,TailLampCmd_Pdu네 PDU에 각각 PNC_Trailer를 지정한다. PDU마다 Rx 그룹과 Tx 그룹 양쪽에 들어가므로, 그림 7-9와 같이 CONTAINED PDUS의 × 버튼으로RearCAN_PNC_Trailer_Tx에서TrailerStatus_Pdu,TailLampStatus_Pdu를 빼고,RearCAN_PNC_Trailer_Rx에서TrailerCmd_Pdu,TailLampCmd_Pdu를 뺀다. 결과는 Rx2 PDUs, Tx2 PDUs이다. PNC MEMBERSHIP의 체크를 끄면 그 PNC의 모든 그룹에서 PDU가 빠지므로, 한쪽 그룹에서만 뺄 때는 체크를 끄지 않는다.
주의.
PNC_Comfort처럼 버스가 둘 이상인 PNC에는 PDU GROUPS 표의 지정 방법을 쓰지 않는다. 첫 버스(예:WestCAN)의 그룹 쌍이 바인딩된 뒤에는 다른 버스의 PDU를 지정해도 새 쌍이 생기지 않고, 이미 바인딩된 그룹에 들어간다.
완성 화면

그림 7-16. 완성 예제의 PNC 17 PNC_Comfort(위쪽). ① 목록 항목 PNC 17 PNC_Comfort. ② VFC VFC_Comfort(28 ports). ③ PNC GROUPS 4개: 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). ④ PHYSICAL CHANNELS에서 EastCAN_Channel, WestCAN_Channel, VLAN_Body (VLAN 100) 체크. 오른쪽 PDU GROUPS 표에서는 이 PNC에 속한 PDU가 강조된다.

그림 7-17. 같은 화면을 아래로 스크롤한 모습. ① SERVICE INSTANCES: ComfortControl_Provider_West(P), ComfortControl_Provider_East(P), ComfortControl_Consumer(C). ② WAKEUP FRAMES: WestCAN_NmFrame_DoorCtrl_FL, EastCAN_NmFrame_DoorCtrl_FR.

그림 7-18. VFC_Comfort 행을 펼친 모습. ① CATEGORY PARTIAL_NETWORKING. ② SWC HIERARCHY. HPC, WestZone, EastZone, DoorCtrl_FL 등은 체크되어 있고 SouthZone은 체크되어 있지 않다. ③ 펼친 WestZone. 포트 7개가 모두 체크되어 있다: P ComfortCmd(SRI_ComfortCmd), P MirrorCmd, R DoorStatus, R SeatStatus, R MirrorStatus, R WindowSwitch, P ComfortControlSvc(SVC_ComfortControl). 행 앞의 > 표시를 누르면 포트 단위로 펼칠 수 있다.

그림 7-19. 완성 예제의 PNC 18 PNC_ParkAssist. ① 목록 항목 PNC 18 PNC_ParkAssist. ② SERVICE INSTANCES: ParkDistance_Provider(P), ParkDistance_Consumer(C). 이 장에서 입력한 결과(그림 7-13)와 같다.

그림 7-20. 완성 예제의 PNC 19 PNC_Trailer(아래로 스크롤). ① 목록 항목 PNC 19 PNC_Trailer. 가운데 상세에는 VFC VFC_Trailer(8 ports), RearCAN_PNC_Trailer_Rx(RX, 2 PDUs)와 RearCAN_PNC_Trailer_Tx(TX, 2 PDUs), 채널 RearCAN_Channel과 VLAN_Rear (VLAN 200), 서비스 인스턴스 VehicleState_Provider(P)와 VehicleState_Consumer(C). ② WAKEUP FRAMES: RearCAN_NmFrame_TrailerModule.
왜 이렇게 설계하는가
- 한 화면에서 PNC 하나를 완성한다. AUTOSAR의 PNC 매핑은 VFC, I-PDU Group, 물리 채널, 서비스 인스턴스, 웨이크업 프레임을 모두 참조한다. 이 참조를 PNC 단위로 모아 보여 주므로 빠진 곳을 바로 알 수 있다.
- 물리 채널은 사람이 정한다. PNC가 어느 채널에 걸치는지는 그룹이나 PDU에서 자동으로 유도하지 않는다. 체크 하나가 SYSTEM 모델의 물리 채널 참조 한 줄이 된다.
PNC_ParkAssist에는 웨이크업 프레임이 없다. 이 PNC는 버스 프레임이 아니라 HPC의 FunctionGroup 상태(후진 기어)로 요청된다(AP 머신 — NM 핸들과 FunctionGroup).PNC_Trailer는 트레일러 모듈의 NM 프레임으로 깨어난다.RearCAN_NmFrame_TrailerModule(0x512)은 웨이크업 필터 블록0x500..0x5FF안에 있다.
확인하기
- PNC 18 PNC_ParkAssist의 VFC 표에
VFC_ParkAssist(HPC, SouthZone, ParkSensor_RR,4 ports)가 있다. - PNC GROUPS에
RearCAN_PNC_ParkAssist_Rx(RX,1 PDU)와RearCAN_PNC_ParkAssist_Tx(TX,0 PDUs)가 있다. - PHYSICAL CHANNELS에서
RearCAN_Channel과VLAN_Rear (VLAN 200)만 체크되어 있다. - SERVICE INSTANCES에
ParkDistance_Provider(P)와ParkDistance_Consumer(C)가 있다. - PNC 19 PNC_Trailer의 WAKEUP FRAMES에
RearCAN_NmFrame_TrailerModule이 있다. -
VFC_ParkAssist행을 펼치면 SWC HIERARCHY에HPC,SouthZone,ParkSensor_RR세 행만 체크되어 있다. -
PNC_Comfort와PNC_Trailer에도 VFC, 물리 채널, 서비스 인스턴스, 웨이크업 프레임이 나머지 PNC의 값의 표대로 들어가 있다. - 다이얼로그 제목 앞에 ● 표시가 없다.
다음 단계
PDU GROUPS·MATRIX·NM VECTOR 검토에서 오른쪽 뷰어의 세 탭으로 PNC 설계를 교차 검토한다.