IVC 에디터
이 장에서 다루는 것
IVC 에디터는 차량 내 통신 토폴로지를 그림으로 설계하는 에디터입니다. ECU/HPC 노드와 그 안의 커넥터·컨트롤러를 놓고, 통신 클러스터와 물리 채널로 묶은 뒤, 이더넷 스위치(Coupling Element)의 포트를 케이블로 잇는 작업을 이 화면에서 진행합니다. 용어의 뜻은 21. 용어 사전에 정리되어 있습니다.
대상 독자는 AUTOSAR 네트워크 토폴로지를 직접 편집하는 사용자입니다. 작업을 시작하려면 먼저 프로젝트가 열려 있어야 합니다.
6.1 에디터 열기와 저장 위치
프로젝트 탐색기에서 design ▸ System ▸ IVC 노드를 열면 IVC 에디터가 탭으로 나타납니다.
에디터를 열면 앞서 저장한 내용을 자동으로 불러오고, Ctrl+S 는 그 자리에 그대로 저장합니다.
아직 아무것도 만들지 않은 프로젝트라면 빈 캔버스로 시작하며, 첫 저장 때 내용이 만들어집니다. 저장된 내용이 손상되어 읽지 못하는 경우에는 빈 캔버스를 저장해도 되는 상태로 취급하지 않습니다. 그대로 저장하면 원래 내용을 빈 것으로 덮어써 잃게 되기 때문입니다.
노드의 위치·크기, 커넥터가 붙은 경계 위치, 직접 다듬은 연결선 경로 같은 화면 배치도 함께 저장됩니다. 다만 이 배치 정보는 ARXML로 내보낼 때 포함되지 않으므로, 내보낸 ARXML을 다시 임포트하면 노드 위치는 새로 계산됩니다.
6.2 다룰 수 있는 요소
이 에디터가 캔버스에 놓고 편집하는 요소는 여덟 가지입니다. 각 요소의 의미는 다음 표와 같습니다.
| 요소 | 설명 |
|---|---|
| ECU | Classic Platform 전자 제어 장치 (ECU-INSTANCE) |
| HPC | Adaptive Platform 고성능 컴퓨터 (MACHINE-DESIGN) |
| Connector | 노드의 통신 커넥터 (Ethernet / CAN / LIN) |
| Controller | 노드의 통신 컨트롤러 (Ethernet / CAN / LIN Master / LIN Slave) |
| Ethernet Switch (Coupling Element) | 이더넷 스위치·허브·라우터 |
| Coupling Port | 스위치가 소유한 포트, 또는 이더넷 컨트롤러가 소유한 포트 |
| Communication Cluster | 통신 클러스터 (CAN / Ethernet / LIN) |
| Physical Channel | 클러스터 내부의 물리 채널 (이더넷은 VLAN ID 포함) |

표의 요소들이 캔버스에서 어떻게 보이는지입니다. ECU·HPC·SLAVE_ECU·ZONE 네 노드가 있고, 노드 안쪽의 사각형이 Controller, 노드 경계에 걸친 사각형이 Connector 입니다. 둘을 잇는 짧은 주황색 선이 노드 내부 배선이고, 노드 밖에서 커넥터끼리 이어 주는 선과 그 가운데 사각형이 Communication Cluster 입니다. 배치는 6.10 자동 레이아웃으로 정리한 상태입니다.
FlexRay 요소는 이 에디터에 나타나지 않습니다. 추가하는 메뉴 항목이 없을 뿐 아니라 (Add Connector / Add Controller 하위 목록에서 빠져 있고, 비활성으로 보이는 것도 아닙니다), 임포트로 이미 들어와 있는 FlexRay 커넥터·컨트롤러·클러스터도 캔버스에 그리기 전에 걸러집니다. 저장은 화면에 그려진 다이어그램만 가지고 내용을 다시 만들기 때문에, FlexRay가 들어 있는 프로젝트에서 이 에디터를 편집하고 저장하면 그 요소가 프로젝트에서 없어집니다. FlexRay가 포함된 ARXML을 다룰 때는 IVC 에디터에서 저장하지 않는 편이 안전합니다 (02.5 참고).
6.3 캔버스 조작
이 절에서는 캔버스를 움직이고 요소를 선택·이동하는 기본 조작을 정리합니다.
6.3.1 마우스
마우스로 할 수 있는 조작은 다음과 같습니다.
| 조작 | 동작 |
|---|---|
| 빈 곳에서 좌클릭 드래그 | 화면 이동(팬) |
| 가운데 버튼 드래그 | 화면 이동 |
Space + 좌클릭 드래그 | 화면 이동 |
| 휠 | 위아래 이동 |
Shift + 휠 | 좌우 이동 |
Ctrl (macOS는 Cmd) + 휠 | 포인터 위치를 중심으로 확대/축소 (0.1배 ~ 4.0배) |
| 노드 클릭 | 선택 |
Ctrl + 클릭 | 다중 선택 (이미 선택된 노드는 선택 해제) |
| 노드 드래그 | 격자에 맞춰 이동 |
Shift + 드래그 | 연결 모드 (6.5.5 참조) |
| 노드 더블클릭 | 종류별 설정 다이얼로그 열기 (6.7 참조) |
| 우클릭 | 컨텍스트 메뉴 |
컨트롤러와 내장 스위치는 부모 ECU/HPC 경계 안에 머무르고, 커넥터와 Coupling Port는 부모의 테두리 위를 미끄러집니다. 부모 밖으로 끌어내도 가장 가까운 테두리로 되돌아옵니다.
노드를 하나만 선택하면 크기 조절 핸들이 붙습니다. 핸들이 붙는 노드는 ECU, HPC, Ethernet Switch(Coupling Element) 세 가지뿐입니다. 여러 개를 선택하면 핸들은 사라집니다. 핸들로 줄일 수 있는 최소 크기는 세 종류 모두 200x100 입니다.
6.3.2 키보드
단축키는 에디터가 포커스를 가지고 있을 때만 동작합니다. 다른 곳을 클릭해 포커스가 빠져나가면 캔버스 단축키는 반응하지 않습니다.
| 키 | 동작 |
|---|---|
Delete / Backspace | 선택 항목 삭제 |
Esc | 선택 해제. 경로점 드래그 중이면 그 드래그만 취소합니다 |
Ctrl+Z | 실행 취소 |
Ctrl+Y / Ctrl+Shift+Z | 다시 실행 |
Ctrl+A | 전체 선택 |
| 방향키 | 선택 노드를 1px 이동 |
Shift + 방향키 | 선택 노드를 20px(격자 한 칸) 이동 |
Ctrl+S | 저장 |
Ctrl+Shift+S | 다른 이름으로 저장 (파일 대화상자) |
Ctrl+O | 파일 대화상자로 다른 IVC 토폴로지를 이 에디터에 불러오기 |
Ctrl+C / Ctrl+V / Ctrl+X | 동작 없음 |
- 입력란에 커서가 있을 때는
Delete·방향키·Ctrl+A같은 캔버스 단축키가 동작하지 않습니다.Ctrl+S,Ctrl+Shift+S,Ctrl+O,Ctrl+Z,Ctrl+Y는 입력란 안에서도 동작합니다. - 입력란에서
Ctrl+Z를 누르면 먼저 포커스를 풀어 편집 중이던 값을 확정한 뒤 실행 취소합니다. 그래서 글자 단위가 아니라 필드 한 번의 편집이 통째로 되돌아갑니다. - 여러 노드를 방향키로 함께 움직여도 실행 취소 한 번으로 전부 되돌아갑니다.
6.3.3 툴바 (캔버스 왼쪽 아래)
캔버스 왼쪽 아래 툴바의 버튼은 다음과 같습니다.
| 버튼 | 동작 |
|---|---|
| Zoom In | 1.1배 확대. 최대 배율(4.0)에서는 비활성 |
| Zoom Out | 1.1배 축소. 최소 배율(0.1)에서는 비활성 |
| Fit to View | 모든 노드가 보이도록 맞춤 |
| Auto Layout | 자동 배치 실행 (6.10 참조) |
| Toggle Grid | 격자 표시 토글. 기본값은 켜짐 |
| Toggle Connector Animation | 연결선 흐름 애니메이션 토글. 기본값은 꺼짐 |
| Export as PNG | 현재 다이어그램을 PNG 파일로 저장 |
Export as PNG 는 파일 대화상자를 띄우지 않습니다. <프로젝트>/doc/capture/ 폴더를 만들고
20260818_143015_001.png 형식(날짜_시각_일련번호)으로 저장한 뒤 Screenshot saved: <파일명> 토스트를
표시합니다. 캔버스에 노드가 하나도 없으면 No content to export 경고만 표시되고 파일은 만들어지지
않습니다.
격자 토글과 애니메이션 토글은 화면 표시 상태일 뿐이므로 저장되지 않고, 탭을 수정된 상태로 표시하지도 않습니다.
6.4 노드 만들기
모든 노드의 우클릭 메뉴는 Delete 로 끝납니다. 아래 표에는 종류별로 추가되는 항목을 정리합니다.
6.4.1 빈 캔버스 우클릭
빈 캔버스를 우클릭하면 다음 항목이 나타납니다.
| 항목 | 동작 |
|---|---|
| Add ECU | Classic ECU 노드를 클릭 지점에 추가 |
| Add HPC | Adaptive HPC 노드를 클릭 지점에 추가 |
| Add Ethernet Switch | 독립 이더넷 스위치(Coupling Element) 추가 |
| Auto Layout | 자동 배치 실행 |
6.4.2 ECU / HPC 노드 우클릭
ECU 또는 HPC 노드를 우클릭하면 다음 항목이 나타납니다.
| 항목 | 하위 항목 / 동작 |
|---|---|
| Add Connector | Ethernet · CAN · LIN |
| Add Controller | Ethernet · CAN · LIN Master · LIN Slave |
| Add Ethernet Switch (embedded) | 이 노드 안에 스위치를 추가합니다 |
| Map Composition | VFB 컴포지션을 이 노드에 매핑 (6.6 참조) |
| Extract ECU / Extract Machine | 이 노드만 잘라 ARXML로 추출 |
| Delete | 노드 삭제 (Del) |
메뉴 이름은 노드 종류에 따라 달라집니다. ECU 노드에서는 Extract ECU, HPC 노드에서는 Extract Machine 으로 표시됩니다. 추출 결과와 절차는 13. 임포트 · 익스포트에서 확인할 수 있습니다.
ECU/HPC를 지우면 그 안의 커넥터·컨트롤러, 내장 스위치와 그 포트, 컨트롤러가 소유한 포트가 함께
지워집니다. 이때 확인 대화상자는 표시되지 않으므로, 잘못 지운 경우에는 Ctrl+Z 로 되돌립니다.
6.4.3 Ethernet Switch(Coupling Element) 노드 우클릭
Ethernet Switch 노드를 우클릭하면 다음 항목이 나타납니다.
| 항목 | 동작 |
|---|---|
| Add CouplingPort | 스위치 포트 추가 |
| Delete | 스위치 삭제 (Del) |
6.4.4 Controller 노드 우클릭
이더넷 컨트롤러에만 포트 추가 항목이 있습니다. CAN/LIN 컨트롤러의 메뉴에는 Delete 만 표시됩니다.
| 항목 | 동작 |
|---|---|
| Add Coupling Port | 컨트롤러가 소유한 포트 추가. 이미 하나 있으면 비활성 |
| Delete | 컨트롤러 삭제 (Del) |
이더넷 컨트롤러는 포트를 하나만 가질 수 있습니다. 두 번째를 만들려고 해도 항목이 비활성 상태라 눌리지 않습니다.
6.4.5 Coupling Port 노드 우클릭
Coupling Port 노드를 우클릭하면 다음 항목이 나타납니다.
| 항목 | 동작 |
|---|---|
| Connect to Port... | 상대 포트를 골라 물리 케이블로 연결 (6.5.4 참조) |
| Delete | 포트 삭제 (Del) |
6.4.6 자동으로 붙는 기본 이름
새 노드의 이름은 같은 종류·같은 부모 안에서 겹치지 않는 번호를 붙여 자동으로 만들어집니다. 번호는 0부터 시작합니다. 클러스터만 부모가 없으므로 프로토콜별로 번호를 셉니다. 형식은 다음 표와 같습니다.
| 대상 | 형식 | 예시 |
|---|---|---|
| ECU | ECU_<n> | ECU_0 |
| HPC | HPC_<n> | HPC_0 |
| Ethernet Switch | EthSwitch_<n> | EthSwitch_0 |
| Connector | <노드>_<Ethernet|Can|Lin>_Connector_<n> | DoorEcu_Can_Connector_0 |
| Controller | <노드>_<Ethernet|Can|LinMaster|LinSlave>_Controller_<n> | DoorEcu_Can_Controller_0 |
| Cluster | <CanCluster|EthernetCluster|LinCluster>_<n> | CanCluster_0 |
| Coupling Port | <부모>_Port_<n> | EthSwitch_0_Port_0 |
Coupling Port의 <부모> 는 스위치가 소유한 포트면 스위치 이름, 컨트롤러가 소유한 포트면 컨트롤러
이름입니다.
이름은 속성 패널의 Name 필드에서 바꿉니다. 규칙은 6.12 를 따릅니다.
6.5 연결 만들기
이 절에서는 커넥터, 클러스터, 컨트롤러, 포트 사이의 연결을 만들고 끊는 방법을 설명합니다.
6.5.1 커넥터에서 클러스터로 (커넥터 쪽에서 시작)
아직 어떤 클러스터에도 연결되지 않은 커넥터에는 초록색 [+] 배지가 붙습니다. 연결되는 순간 배지는 사라집니다.
- 커넥터의 [+] 배지를 클릭합니다. 메뉴가 열립니다.
- Create CommunicationCluster [...] 를 고르면 같은 프로토콜의 클러스터를 새로 만들어 바로
연결합니다. 대괄호 안에는 커넥터의 프로토콜 이름이 들어갑니다(
Can,Ethernet,Lin). - 기존 클러스터에 붙이려면 Connect to Channel... 하위에서 클러스터 ▸ 물리 채널을 고릅니다.
- 연결되면 커넥터와 클러스터를 잇는 선이 그려지고, [+] 배지가 사라집니다.
Connect to Channel... 은 같은 프로토콜의 클러스터가 하나도 없으면 메뉴에 나타나지 않습니다.
클러스터에 물리 채널이 여러 개면 클러스터 ▸ 채널 두 단계로 펼쳐지고, 채널이 하나도 없는 클러스터는
클러스터 이름을 바로 고르는 한 단계로 나옵니다. 이더넷 채널은 목록에 채널명 (VLAN: 10) 형태로,
VLAN 태그가 없는 채널은 채널 이름만 표시됩니다.
커넥터 노드를 우클릭하면 Connect to Channel... 과 Delete 두 항목이 나타납니다. 하위 메뉴는 [+] 배지 쪽과 같지만, 이쪽은 이미 연결된 커넥터에서도 열립니다. 다른 클러스터를 고르면 아래 확인 창이 표시됩니다.
Connector 'DoorEcu_Can_Connector_0' is already connected to 'CanCluster_0'. Replace connection?
확인하면 이전 클러스터의 채널 멤버십에서 빠지고 새 채널에 들어갑니다. 이 두 가지 변경은 하나의 실행
취소 단위로 묶이므로, Ctrl+Z 한 번으로 이전 연결 상태가 그대로 돌아옵니다.
6.5.2 클러스터에서 커넥터로 (클러스터 쪽에서 시작)
클러스터 쪽에서 연결을 시작하려면 클러스터 노드를 우클릭합니다. 메뉴 항목은 다음과 같습니다.
| 메뉴 | 동작 |
|---|---|
| Add Connector to Channel... | 채널 ▸ 연결할 커넥터를 고릅니다 (채널이 하나 이상일 때) |
| Add Connector... | 연결할 커넥터를 바로 고릅니다 (채널이 하나도 없을 때) |
| Add Physical Channel | 물리 채널 추가. 프로토콜 상한에 도달하면 비활성 |
| Configure... | 클러스터 설정 다이얼로그 (CAN / Ethernet / LIN 만) |
| Delete | 클러스터 삭제 (Del) |
커넥터 후보는 <노드 이름> / <커넥터 이름> 형태로 나오며, 같은 프로토콜이면서 아직 어느 클러스터에도
연결되지 않은 커넥터만 보입니다. 후보가 하나도 없으면 두 항목 모두 메뉴에 나타나지 않습니다.
물리 채널 개수 상한과 기본 이름은 프로토콜마다 다릅니다. 클러스터를 새로 만들면 기본 채널이 하나 함께 만들어집니다.
| 프로토콜 | 채널 상한 | 첫 채널 이름 | 추가로 만드는 채널 이름 |
|---|---|---|---|
| CAN | 1 | PhysicalChannel | (상한 도달) |
| LIN | 1 | PhysicalChannel | (상한 도달) |
| Ethernet | 제한 없음 | PhysicalChannel | PhysicalChannel_<현재 채널 수> |
6.5.3 컨트롤러와 커넥터 잇기 (내부 배선)
내부 배선은 같은 ECU 안의 컨트롤러와 커넥터를 잇는 선입니다. 만드는 방법은 두 가지입니다.
- 커넥터를 선택하고 속성 패널의 Controller 필드에서 컨트롤러를 고릅니다.
- 컨트롤러에서 커넥터로
Shift+ 드래그합니다 (6.5.5 참조).
프로토콜이 맞아야 하고(CAN 컨트롤러는 CAN 커넥터에만) 같은 ECU 안이어야 합니다. 참고로 컨트롤러 쪽 속성 패널에는 커넥터를 고르는 필드가 없습니다. AUTOSAR 모델에서 참조 방향이 커넥터 ▸ 컨트롤러 한 방향이기 때문입니다.
6.5.4 포트와 포트 잇기 (물리 케이블)
두 Coupling Port를 물리 케이블로 이으려면 다음과 같이 진행합니다.
- Coupling Port 노드를 우클릭합니다.
- Connect to Port... 하위에서 상대 포트를 고릅니다. 두 포트를 잇는 선이 생깁니다.
후보 목록에는 <부모 이름> / <포트 이름> 형태로 표시되며, 다음 포트는 제외됩니다.
- 이미 다른 포트와 연결된 포트 (케이블은 점대점입니다)
- 자기 자신, 그리고 같은 컨트롤러에 속한 다른 포트
- 다른 이더넷 클러스터에 속한 포트 (출발 포트의 클러스터를 알 수 있을 때만 적용)
같은 스위치의 다른 포트는 후보에 남습니다. 출발 포트가 이미 연결되어 있거나 후보가 하나도 없으면 Connect to Port... 항목 자체가 나타나지 않습니다.
6.5.5 Shift + 드래그로 직접 잇기
노드 위에서 Shift 를 누른 채 드래그하면 미리보기 선이 따라오고, 커서 모양이 상황을 알려 줍니다.
커서 모양의 의미는 다음과 같습니다.
| 커서 | 뜻 |
|---|---|
| 십자 모양 | 아직 대상 위가 아닙니다 |
| 복사 모양 | 이 대상에 연결할 수 있습니다 |
| 금지 모양 | 이 대상에는 연결할 수 없습니다 |
드래그를 시작할 수 있는 노드는 Connector, Controller, Cluster, Coupling Port 입니다. ECU/HPC 노드 자체에서는 연결 드래그가 시작되지 않습니다. 출발과 도착 조합에 따른 결과는 다음 표와 같습니다.
| 출발 ▸ 도착 | 결과 | 조건 |
|---|---|---|
| Controller ▸ Connector (양방향) | 내부 배선 | 같은 ECU, 프로토콜 일치 |
| Connector ▸ Connector | 두 커넥터를 잇는 클러스터를 새로 만듭니다 | 서로 다른 ECU, 프로토콜 일치 |
| Connector ▸ Cluster (양방향) | 커넥터를 클러스터에 연결 | 프로토콜 일치 |
| Coupling Port ▸ Coupling Port | 물리 케이블 | 자기 자신과 같은 컨트롤러의 두 포트는 제외 |
| Coupling Port ▸ Controller (양방향) | 물리 케이블 | 이더넷 컨트롤러만 |
조건을 만족하지 않는 곳에 놓으면 아무 일도 일어나지 않고 메시지도 표시되지 않습니다. 거부 사유는 개발자 콘솔에만 기록됩니다. 연결이 되지 않을 때는 프로토콜과 소속 ECU를 먼저 확인하는 것이 좋습니다.
6.5.6 연결 끊기
연결을 끊는 방법은 연결 종류마다 다릅니다.
| 연결 | 끊는 방법 |
|---|---|
| 커넥터 - 클러스터 | 연결선 우클릭 ▸ Disconnect, 또는 커넥터 속성 패널의 Connected Channel 을 비웁니다 |
| 컨트롤러 - 커넥터 | 연결선 우클릭 ▸ Disconnect |
| 포트 - 포트 | 연결선 우클릭 ▸ Delete Connection |
커넥터의 [+] 배지 메뉴와 커넥터 우클릭 메뉴에는 Disconnect 항목이 없습니다. 예전에는 있었지만 정상 동작하지 않아 제거되었습니다. 커넥터 쪽에서 끊으려면 속성 패널의 Connected Channel 필드를 비웁니다.
6.5.7 연결선 우클릭 메뉴와 경로 편집
연결선 종류별 우클릭 메뉴는 다음과 같습니다.
| 연결선 종류 | 메뉴 |
|---|---|
| 커넥터 - 클러스터 | Disconnect · TO STEP EDGE · TO STRAIGHT |
| 컨트롤러 - 커넥터(내부 배선) | Disconnect |
| 포트 - 포트 | Delete Connection · TO STEP EDGE · TO STRAIGHT |
| 스위치 - 클러스터 참조선 | 메뉴 없음 |
- TO STEP EDGE 는 직접 지정한 경로를 지우고 자동 직각 경로로 되돌립니다. 저장된 경로가 없으면 이 항목은 나타나지 않습니다.
- TO STRAIGHT 는 경로점 없는 직선으로 만듭니다. 이미 경로점 없는 직선이면 나타나지 않습니다.
- 경로 편집이 가능한 것은 커넥터-클러스터와 포트-포트 두 종류뿐입니다. 내부 배선은 항상 직선으로 다시 계산되고, 스위치-클러스터 참조선은 자동 경로만 사용합니다.
연결선을 선택하면 경로점 손잡이가 나타납니다. 손잡이를 끌어 배선을 직접 다듬을 수 있고, 드래그 도중
Esc 를 누르면 그 드래그만 취소되어 원래 경로로 돌아갑니다.
6.6 컴포지션 매핑 (SWC - ECU)
VFB의 컴포지션을 ECU/HPC 노드에 배치하려면 노드를 우클릭하고 Map Composition 하위 메뉴에서 컴포지션을 고릅니다. 하위 메뉴 항목의 의미는 다음과 같습니다.
| 항목 | 의미 |
|---|---|
이름 뒤에 체크 표시 | 현재 이 노드에 매핑된 컴포지션 |
이름 (-> 다른ECU) | 다른 노드에 이미 매핑된 컴포지션 |
| 표시 없는 이름 | 매핑 대상 후보 |
| Unmap | 매핑 해제 (매핑된 컴포지션이 있을 때만 나타납니다) |
| Create Composition & Map | 이 노드와 같은 이름의 컴포지션을 VFB에 새로 만들고 매핑 |
Create Composition & Map 은 이 노드에 이미 매핑된 컴포지션이 있으면 비활성입니다. 예를 들어
노드가 DoorEcu 라면 VFB에 DoorEcu 라는 이름의 컴포지션이 만들어집니다.
매핑은 1:1 입니다. 체크 표시가 붙은 항목을 다시 고르면 매핑이 해제되고, 다른 이름을 고르면 그쪽으로 옮겨갑니다.
매핑 자체는 System 페이지가 관리하는 내용에 기록됩니다. System 페이지가 열려 있으면 그쪽에 바로 반영되고, 닫혀 있으면 IVC 에디터가 대신 기록합니다. 반면 Create Composition & Map 이 만드는 컴포지션은 VFB 에디터가 관리하는 내용에 기록됩니다. VFB 에디터가 열려 있으면 그 자리에서 만들어지고, 닫혀 있으면 IVC 에디터가 대신 만듭니다.
반대 방향(컴포지션에서 ECU 만들기)은 08. VFB 에디터에서 다룹니다.
6.7 설정 다이얼로그
이 절에서는 노드를 더블클릭했을 때 열리는 설정 다이얼로그를 종류별로 설명합니다.
6.7.1 어떤 노드가 어떤 다이얼로그를 여는가
노드를 더블클릭하면 종류에 맞는 다이얼로그가 열립니다. 노드별 다이얼로그는 다음과 같습니다.
| 노드 | 다이얼로그 제목 |
|---|---|
| ECU | ECU Configuration [<이름>] |
| HPC | HPC Configuration [<이름>] |
| Cluster (CAN/Ethernet/LIN) | Communication Cluster Configuration [<이름>] |
| Ethernet Switch | Ethernet Switch Configuration [<이름>] |
| Coupling Port (스위치 소유) | 스위치 다이얼로그가 그 포트를 선택한 상태로 열립니다 |
| Coupling Port (컨트롤러 소유) | Coupling Port Configuration [<ECU>/<포트>] |
Connector와 Controller 노드는 더블클릭해도 아무 일도 일어나지 않습니다. 이들 속성은 우측 속성 패널에서 편집합니다.
6.7.2 모든 설정 다이얼로그의 공통 규칙
모든 설정 다이얼로그는 다음 규칙을 공유합니다.
- 편집은 작업 사본에 이루어집니다. 저장하기 전에는 캔버스의 모델이 바뀌지 않습니다.
- 다이얼로그 아래쪽에는 Close 버튼 하나뿐이고 Save 버튼이 없습니다. 저장은
Ctrl+S로 합니다. Ctrl+S를 누르면 작업 사본이 모델에 반영되고, 이어서 디스크에까지 저장됩니다. 이 전체가 실행 취소 한 번에 되돌아가는 하나의 단위입니다. 저장해도 다이얼로그는 닫히지 않습니다.Ctrl+Z/Ctrl+Y/Ctrl+Shift+Z는 다이얼로그 안에서만 쓰이는 별도 이력을 되감습니다. 최대 50 단계까지 쌓이며, 이력이 비면 아무 일도 일어나지 않습니다(프로젝트 이력으로 이어지지 않습니다).- 저장하지 않은 변경이 있으면 제목 앞에 점(
●)이 붙습니다. Esc또는 Close 로 닫을 때 저장하지 않은 변경이 있으면Do you want to save the changes?창이 표시됩니다. Save · Don't Save · Cancel 중에서 고릅니다.Esc는 가장 안쪽에 열린 UI(드롭다운, 메뉴, 인라인 편집)를 먼저 닫습니다. 아무것도 열려 있지 않을 때 한 번 더 누르면 다이얼로그가 닫힙니다.- 다이얼로그가 열려 있는 동안 다른 프로그램이 같은 프로젝트 파일을 바꿔도, 다이얼로그에 저장하지 않은 편집이 있으면 다시 읽어 들이지 않습니다. 자세한 내용은 6.13 을 참고하세요.
6.7.3 Node Configuration (ECU / HPC)
탭은 항상 세 개입니다. 다이얼로그를 열면 NETWORK MANAGEMENT 탭이 먼저 표시됩니다. 각 탭의 내용은 다음과 같습니다.
| 탭 | 내용 |
|---|---|
| ECU 또는 HPC | SHORT-NAME, DESCRIPTION, 그리고 ECU에 한해 SLEEP-MODE-SUPPORTED와 WAKE-UP-OVER-BUS-SUPPORTED |
| NETWORK MANAGEMENT | 좌측에 NM 요소 목록, 우측에 선택 항목의 설정 폼과 다이어그램 |
| TIME DOMAIN | Global Time 도메인에서 이 노드가 맡는 마스터/슬레이브/게이트웨이 역할 설정 |
첫 번째 탭은 전부 읽기 전용입니다. 값 자체는 우측 속성 패널에서 편집하며, 탭 아래에도 그 사실을 알리는 문구가 표시됩니다.
Basic node attributes are edited in the node property panel. Shown here for reference.
NETWORK MANAGEMENT 탭의 좌측 목록은 맨 위에 NM ECU 항목 하나, 그 아래에 클러스터별 NM NODE
항목이 CAN 또는 UDP 배지와 함께 놓입니다. 우측 다이어그램은 선택에 따라 바뀝니다. NM ECU 를
고르면 NM 코디네이터 그림이, NM NODE 를 고르면 그 클러스터의 NM 상태 머신 그림이 표시됩니다.

다이얼로그를 열면 이렇게 NETWORK MANAGEMENT 탭이 먼저 나옵니다. 좌측 목록 맨 위가 NM ECU, 그 아래가 CAN 배지를 단 NM NODE 입니다. NM ECU 를 고른 상태이므로 우측에는 이 노드가 참여하는 네트워크(participating networks) 그림이 표시됩니다.
NM 요소 목록은 사용자가 직접 만드는 것이 아니라 토폴로지에서 자동으로 만들어집니다. 어떤 클러스터에도 연결되지 않은 노드에는 편집할 NM 요소가 없으므로 아래 안내 문구만 표시됩니다.
No NM configuration for this node yet. NM is auto-generated from topology — connect the node to a CAN/Ethernet cluster.
6.7.4 Cluster Configuration
탭 구성은 프로토콜에 따라 달라집니다. 처음 열리는 탭은 항상 PHYSICAL CHANNEL 입니다.
| 프로토콜 | 탭 |
|---|---|
| CAN | PHYSICAL CHANNEL · CAN NM CLUSTER · TRANSPORT PROTOCOL · TIME DOMAIN |
| Ethernet | PHYSICAL CHANNEL · UDP NM CLUSTER · TIME DOMAIN |
| LIN | PHYSICAL CHANNEL · TRANSPORT PROTOCOL |
NM 탭 이름은 클러스터가 가진 NM 종류를 따라 CAN NM CLUSTER 또는 UDP NM CLUSTER 로 표시됩니다. 탭이 빠지는 이유는 프로토콜마다 다릅니다. LIN은 NM을 쓰지 않아 NM 탭이 없고, Ethernet은 CanTp/LinTp 같은 전송 계층 설정이 없어 TRANSPORT PROTOCOL 탭이 없으며, Time Sync 대상은 CAN과 Ethernet 뿐이므로 LIN에는 TIME DOMAIN 탭이 없습니다.
| 탭 | 내용 |
|---|---|
| PHYSICAL CHANNEL | 아직 만들어지지 않은 자리입니다. 아래 문단 참고 |
| NM CLUSTER | NM 클러스터 설정, NM 상태 머신 다이어그램 |
| TRANSPORT PROTOCOL | CanTp / LinTp 설정. 좌측 설정 패널 + 우측 TP TOPOLOGY 다이어그램 |
| TIME DOMAIN | Global Time 도메인 설정과 마스터/슬레이브/게이트웨이 토폴로지 다이어그램 |
PHYSICAL CHANNEL 탭은 아직 비어 있습니다. 편집 항목 없이 아래 한 줄만 표시됩니다. 물리 채널은 이 탭이 아니라 클러스터를 선택했을 때의 우측 속성 패널에서 편집합니다(6.8.5 참조).
PHYSICAL CHANNEL configuration will be added here.
TRANSPORT PROTOCOL 탭의 주요 선택지는 다음과 같습니다. 두 항목 모두 CAN TP 연결(CanTpConnection)의 속성입니다.
| 항목 | 값 |
|---|---|
| ADDRESSING FORMAT | STANDARD · EXTENDED · MIXED · MIXED29BIT · NORMALFIXED |
| TA TYPE | PHYSICAL · FUNCTIONAL |
TIME DOMAIN 탭의 주요 선택지는 다음과 같습니다.
| 항목 | 값 |
|---|---|
| MESSAGE COMPLIANCE (이더넷) | IEEE802-1AS · IEEE802-1AS-AUTOSAR |
| CRC-SECURED (마스터) | SUPPORTED · NOT-SUPPORTED |
| CRC-VALIDATED (슬레이브) | IGNORED · NOT-VALID · OPTIONAL · VALIDATED |
NM과 마찬가지로 TP의 노드·주소 항목도 토폴로지에서 자동으로 만들어집니다. 클러스터에 연결된 ECU가 늘거나 줄면 목록이 따라 바뀝니다. 자동으로 만들어진 ECU 행은 지울 수 없고, 노드 이름은 직접 바꿀 수 있습니다.
6.7.5 Ethernet Switch Configuration
이 다이얼로그는 두 단계로 파고드는 화면입니다. 예전의 GENERAL / PORTS / VLAN MATRIX / PORT DETAILS 탭 구성은 없어졌습니다.
[SWITCH 페이스플레이트] → [PORT 파이프라인 (EGRESS 편집기 포함)]
포트를 더블클릭하면 아래 단계로 내려가고, 상단의 breadcrumb (Switch > Port X)와 < > 버튼으로
포트 사이를 오갑니다. 컨트롤러가 소유한 단일 포트를 열면 페이스플레이트 없이 곧바로 포트 화면에서
시작합니다.
1단계 - SWITCH (페이스플레이트)
스위치를 포트가 늘어선 그림으로 보여 줍니다. 포트를 클릭하면 우측 패널에 상세가 표시되고, 아무것도 선택하지 않으면 스위치 자체의 속성이 표시됩니다. 화면 아래에는 검사 결과 표시줄이 있습니다. 이 표시줄에는 오류(error)만 실리고, 경고는 포트 배지와 패널 힌트로 표시됩니다. 표시줄의 항목을 클릭하면 문제가 있는 포트가 선택됩니다.
우측 패널의 항목 구성은 다음과 같습니다.
| 패널 | 항목 |
|---|---|
| Switch (선택 없음) | SWITCH 아코디언에 NAME · ECU(읽기 전용) · ETHERNET CLUSTER(필수) · COUPLING TYPE(필수, SWITCH/HUB/ROUTER) · MAC ADDRESS LEARNING(SHARED VLAN/INDEPENDENT VLAN) · DESCRIPTION, 그 아래 PORTS (n) 아코디언 |
| Port (포트 선택) | COUPLING PORT 아코디언에 PORT NAME · CONNECTED TO · PHYSICAL LAYER TYPE · MAC LAYER TYPE(X-MII/XG-MII/XXG-MII) · PORT ROLE(HOST-PORT/STANDARD-PORT/UP-LINK-PORT) · RECEIVE ACTIVITY · NEGOTIATION(AUTO/MASTER/SLAVE) · DEFAULT VLAN (PVID), 그 아래 VLAN MEMBERSHIP · MAC ADDRESS VLAN ASSIGNMENT · WAKEUP/SLEEP 아코디언 |
PORTS (n) 는 읽기 전용 목록으로 PORT · ROLE · PEER · VLAN 네 열을 보여 줍니다. 행을
클릭하면 그 포트가 선택되고, 더블클릭하면 포트 화면으로 내려갑니다. 값이 없는 칸은 -- 로
표시됩니다.

1단계 페이스플레이트입니다. 포트 네 개가 각각 상대 노드(ECU_1/BC_ECU1 등)와 함께 그려지고, 아무 포트도 선택하지 않았으므로 우측에는 스위치 자체의 SWITCH 아코디언이 표시됩니다. 그 아래 PORTS (4) 목록에서 값이 없는 ROLE · VLAN 칸이 -- 로 나오는 것도 볼 수 있습니다.
필수 항목을 비우면 빨간 밑줄과 메시지가 표시됩니다. 별표 같은 표식은 쓰지 않습니다.
VLAN MEMBERSHIP 목록의 각 줄은 접었다 펼 수 있습니다. 펼치면 VLAN 참조·기본 우선순위·송신 방식 (TAGGED / UNTAGGED / NOT SENT)·DHCP 설정을 편집합니다.
MAC ADDRESS VLAN ASSIGNMENT 는 COUPLING TYPE이 SWITCH 인 경우에만 나타납니다. HUB 와
ROUTER 에서는 나타나지 않습니다.
컨트롤러가 소유한 포트(엔드포인트)에서는 RECEIVE ACTIVITY, DEFAULT VLAN (PVID), VLAN MEMBERSHIP, MAC ADDRESS VLAN ASSIGNMENT 가 아예 그려지지 않습니다. 대신 FRAME PREEMPTION SUPPORT 와 PLCA (10BASE-T1S) 항목이 나타납니다. WAKEUP/SLEEP 은 두 경우 모두 나타납니다.
페이스플레이트의 우클릭 메뉴는 두 가지입니다.
| 우클릭 대상 | 메뉴 |
|---|---|
| 포트 | Open Port · Delete Port |
| 빈 곳 | Add CouplingPort |
2단계 - PORT (파이프라인)
포트 하나가 프레임을 처리하는 경로를 블록 그림으로 보여 줍니다. 블록을 클릭하면 우측 패널에 해당 설정이 표시되고 아래쪽 상세 영역이 열립니다. 클릭은 선택일 뿐이며 모델을 바꾸지 않습니다.
| 블록 | 우측 패널에 열리는 내용 | 상세 영역 |
|---|---|---|
| PORT | INGRESS VLAN TAG HANDLING(RECEIVE ACTIVITY FORWARD-AS-IS/DROP-UNTAGGED, DEFAULT VLAN (PVID)) · FRAME PREEMPTION SUPPORT · VLAN MEMBERSHIP · VLAN TRANSLATION | 802.1Q 프레임 구조 그림과 VLAN TRANSLATION 표 |
| PRIORITY REGENERATION | 수신 PCP를 다른 PCP로 바꾸는 8행 매핑 | 매핑 흐름 그림 |
| TRAFFIC CLASS ASSIGNMENT | PCP를 트래픽 클래스에 할당. 기본 트래픽 클래스 포함 | 할당 흐름 그림 |
| EGRESS | 송신 큐 구조 | EGRESS 편집기가 바로 열립니다 |
- 아무 블록도 선택하지 않으면 우측 패널에
Select the port or a pipeline stage to edit it.안내가 표시됩니다. - 예전에 따로 있던 TAG CHECK 단계와 VLAN TRANSLATION 단계는 PORT 블록으로 합쳐졌습니다.
- 활성화/비활성화 버튼은 없습니다. 패널의 값 자체가 상태입니다. TRAFFIC CLASS ASSIGNMENT 는
할당도 기본 트래픽 클래스도 없으면 회색 점선으로 그려지고
Pass-Through라고 표시됩니다. PRIORITY REGENERATION 과 EGRESS 는 항상 활성으로 그려집니다. - 802.1Q 프레임 구조 그림(
DA·SA· 802.1Q 태그 ·TYPE·PAYLOAD)은 PORT 블록의 상세 영역에만 나타납니다. - 컨트롤러가 소유한 단일 포트에서는 VLAN 관련 항목과 PCP/TC 단계가 아예 그려지지 않습니다. AUTOSAR 상 엔드포인트 포트에는 해당 속성이 없기 때문입니다. 이 경우 PORT 와 EGRESS 만 보입니다.
EGRESS 편집기
EGRESS 편집기는 FIFO, 셰이퍼, 스케줄러를 노드로 놓고 선으로 잇는 그래픽 편집기입니다. 구조가 비어
있으면 No egress structure. Right-click the canvas to add FIFOs, schedulers or a preset. 안내가
표시됩니다.
| 우클릭 대상 | 메뉴 |
|---|---|
| 빈 캔버스 | Add FIFO · Add Scheduler (STRICT PRIORITY) · Add Scheduler (ETS) · Preset: 8 FIFOs / Strict Priority · Preset: AVB, CBS on TC6/7 · Preset: ETS weighted |
| FIFO | Attach Shaper: CBS · Attach Shaper: ETS · Remove Shaper · Delete FIFO |
| 셰이퍼 자리 | Attach Shaper: CBS · Attach Shaper: ETS · Remove Shaper |
| 스케줄러 | Delete Scheduler |
| 연결선 | TO STEP EDGE · TO STRAIGHT · DISCONNECT |
- FIFO에 이미 셰이퍼가 붙어 있으면 메뉴 이름이 Replace Shaper: CBS / Replace Shaper: ETS 로 바뀌고 Remove Shaper 가 추가됩니다. 셰이퍼가 없으면 Remove Shaper 는 나타나지 않습니다.
- 프리셋은 기존 구조를 통째로 갈아 끼웁니다. 구조가 이미 있으면
Applying a preset replaces the whole egress structure. Continue?확인 창이 먼저 표시됩니다. - 캔버스에서 요소나 연결선을 선택하고
Delete또는Backspace를 눌러도 지울 수 있습니다. - 연결선 메뉴의 TO STEP EDGE 와 TO STRAIGHT 는 조건에 맞지 않으면 사라지지 않고 비활성으로 남습니다. 캔버스 본체의 연결선 메뉴와는 다른 점입니다.
FIFO를 선택하면 우측 패널에 SHAPER 아코디언이 표시됩니다. KIND 는 NONE · CBS · ETS 세
값을 제공하고, CBS 는 IDLE SLOPE (bit/s), ETS 는 BANDWIDTH MODE(PERCENT/WEIGHT)와
그에 맞는 값 필드를 함께 보여 줍니다. 값이 이미 들어 있는 셰이퍼의 종류를 바꾸면
Changing the shaper kind discards the current shaper values. Continue? 확인 창이 먼저 표시됩니다.
스케줄러를 선택하면 PORT SCHEDULER 가 STRICT PRIORITY 또는 ETS 로 나옵니다. FIFO의
PREEMPTION 은 EXPRESS / PREEMPTABLE 두 값이며, 포트의 FRAME PREEMPTION SUPPORT 가 켜져
있지 않으면 EXPRESS 로 고정되어 바꿀 수 없습니다.
ATS(비동기 트래픽 셰이퍼)는 UI로 만들 수 없습니다. 셰이퍼를 붙이는 경로는 Attach Shaper: CBS 와 Attach Shaper: ETS, KIND 세그먼트의
CBS/ETS뿐입니다. 임포트된 ATS 셰이퍼는 모델에 그대로 보존되고 캔버스에ASYNCHRONOUS라벨로 표시되지만, KIND 세그먼트에는 대응하는 선택지가 없어 아무 값도 선택되지 않은 상태로 보이고, ATS 고유 값(committed burst size, committed information rate)을 편집할 화면도 없습니다. 이 상태에서 손댈 수 있는 것은 셰이퍼 이름과NONE(제거)뿐입니다.
6.8 속성 패널 (우측)
노드나 연결선을 선택하면 우측 속성 패널에 종류별 항목이 아코디언으로 나타납니다. 이 패널의 편집은 라이선스 게이트를 거치지 않습니다.
6.8.1 노드 종류별 구성
선택 대상별 패널 구성은 다음과 같습니다.
| 선택 대상 | 항목 |
|---|---|
| ECU | Name · Description · CONNECTORS · CONTROLLERS · Power Management · ECUC GENERATION |
| HPC | Name · Description · CONNECTORS · CONTROLLERS |
| Coupling Element | Name · Communication Cluster · Coupling Type · Description · COUPLING PORTS |
| Coupling Port | Name · Port Settings |
| Cluster | Name · Description · Protocol · Physical Channels · Schedule Tables(LIN) · Warnings |
- ECU의 Power Management 는
SLEEP MODE SUPPORTED와WAKE-UP OVER BUS두 개의 독립 토글입니다. 둘 다 켜거나 둘 다 끌 수 있습니다. - Port Settings 에는 Port Role(
HOST-PORT/STANDARD-PORT/UP-LINK-PORT), Physical Layer Type, Negotiation(AUTO/MASTER/SLAVE)이 있습니다. Default VLAN (PVID) 는 스위치가 소유한 포트에만 나타납니다. 컨트롤러가 소유한 포트에는 해당 속성이 없기 때문입니다. - 클러스터의 Protocol 섹션은 통신 속도(Baudrate)만 담습니다. CAN은 kbps, LIN은 bps 단위로 표시됩니다. 이더넷 클러스터에는 이 섹션이 없습니다.
- Warnings 섹션은 참조가 풀리지 않은 커넥터가 있을 때만 나타납니다.
- LIN SLAVES 섹션은 클러스터가 아니라 LIN Master 컨트롤러를 선택했을 때 나타납니다.

표의 첫 줄(ECU)이 실제로 이렇게 나타납니다. CONNECTORS 와 CONTROLLERS 는 프로토콜 배지와 함께 나열되고, POWER MANAGEMENT 의 두 항목은 서로 독립된 토글이며, 맨 아래 ECUC GENERATION 은 ECU를 선택했을 때만 나타납니다.
6.8.2 커넥터 선택 시
커넥터를 선택하면 다음 항목이 표시됩니다.
| 항목 | 설명 |
|---|---|
| Name | 커넥터 이름 |
| Controller | 같은 ECU 안, 같은 프로토콜의 컨트롤러를 고릅니다 |
| Connected Channel | 연결된 클러스터의 물리 채널. 비우면 연결이 끊깁니다 |
| Description | 설명 |
프로토콜에 따라 아래 섹션이 더해집니다.
| 프로토콜 | 추가 섹션 |
|---|---|
| Ethernet | Network Endpoint · Application Endpoints · Service Instances · TX PDUs · RX PDUs |
| CAN | TX Frames · RX Frames |
| LIN | LIN Connector Settings · TX Frames · RX Frames |
- Network Endpoint 는 머리글의 토글로 IPv4와 IPv6 중 하나를 표시합니다. AUTOSAR 상 두 주소는
동시에 쓰지 않기 때문입니다. Address Source 선택지는 표시 중인 계열에 따라 다릅니다. IPv4는
FIXED·AUTO-IP·DHCPv4, IPv6는FIXED·DHCPv6·LINK-LOCAL입니다. Keep Behavior는 양쪽 모두STORE·FORGET입니다. - TX/RX Frames 와 TX/RX PDUs 의 후보 목록은 Signal 에디터의 내용을 읽어 옵니다. 섹션 머리글의
+버튼을 누르면 선택 팝업이 열립니다. - Application Endpoints, Service Instances 는 이더넷 커넥터에만 있습니다. Coupling Port를 선택해도 나타나지 않습니다.
6.8.3 컨트롤러 선택 시
모든 컨트롤러에 Name과 Description이 먼저 나오고, LIN 컨트롤러는 읽기 전용 Protocol 필드를 하나 더 가집니다. 그 아래 섹션은 종류에 따라 다릅니다.
| 컨트롤러 | 섹션 |
|---|---|
| Ethernet | Configuration(MAC Address, MAC Layer Type, Max TX/RX Buffer Length) · COUPLING PORTS |
| CAN | CAN Controller Configuration (머리글 토글로 CAN / CAN FD 전환) |
| LIN Master | LIN Settings · LIN SLAVES |
| LIN Slave | LIN Settings |
6.8.4 연결선 선택 시
포트-포트 연결선을 선택하면 Connection Info 섹션에 First Port 와 Second Port 가 읽기 전용으로 표시됩니다. 10BASE-T1S 다중 접속(PLCA) 정보가 임포트되어 있으면 PLCA (10BASE-T1S) 섹션이 함께 나타납니다. 다만 이 섹션은 읽기 전용이며 편집 수단이 없습니다.
나머지 연결선(커넥터-클러스터, 내부 배선, 스위치-클러스터 참조선)을 선택하면 속성 패널은 빈 채로 남습니다. 이들 연결선에는 패널에서 편집할 속성이 없습니다.
6.8.5 물리 채널 편집
클러스터를 선택하면 Physical Channels 섹션에서 채널을 직접 편집합니다. 클러스터 다이얼로그의 PHYSICAL CHANNEL 탭이 아니라 이곳이 실제 편집 지점입니다. 편집 항목은 다음과 같습니다.
| 항목 | 설명 |
|---|---|
| Channel Name | 채널 이름. AUTOSAR 이름 규칙을 따릅니다 |
| VLAN ID (이더넷) | 1 ~ 4094. 비우면 UNTAGGED(태그 없음)가 됩니다 |
| Idle Timeout (LIN) | 버스 유휴 타임아웃. 입력란에 단위 선택기가 붙으며 모델에는 초 단위로 저장됩니다. 비우면 설정하지 않은 상태입니다 |
| X 버튼 | 채널 삭제 |
VLAN ID에 범위를 벗어난 값을 넣고 포커스를 옮기면 값이 저장되지 않고 마지막으로 저장된 값으로
되돌아가면서 Must be 1..4094 or empty (UNTAGGED) 오류가 표시됩니다.
섹션 머리글의 + 버튼으로 채널을 추가합니다. 프로토콜 상한(6.5.2 표)에 도달하면 + 버튼이
사라집니다.
채널마다 아래에 Connected Connectors (n) 줄이 붙고, 그 채널에 연결된 커넥터가 <노드>/<커넥터>
형식으로 나열됩니다. 각 줄의 X 버튼은 커넥터를 그 채널에서 뺍니다. 하나도 없으면 No connectors
라고 표시됩니다.

CAN 클러스터를 선택한 화면입니다. PROTOCOL 에 통신 속도만 있고(500 kbps), 그 아래 PHYSICAL CHANNELS 에 채널 이름과 Connected Connectors (2) 가 이어집니다. 연결된 커넥터가 ZONE/CanConnector 처럼 <노드>/<커넥터> 형식으로 나열됩니다.
채널에 커넥터를 추가하려면 다음과 같이 진행합니다.
Connected Connectors줄 오른쪽의 Add Connector 버튼을 누릅니다.Select Connector팝업에서 커넥터를 고르고 Add 를 누릅니다. 커넥터가 그 채널에 연결됩니다.- 후보가 하나도 없으면 팝업 대신
No available connectors with matching protocol.안내가 표시됩니다.
6.9 ECUC 생성
ECU 노드를 선택하면 속성 패널에 ECUC GENERATION 섹션이 나타납니다. 생성 절차는 다음과 같습니다.
- 생성할 모듈을 체크합니다.
Can,CanIf,Com,EcuC,PduR다섯 개가 모두 선택된 상태로 시작합니다. - Generate ECUC 를 누릅니다. 선택한 모듈마다 설정 파일이 만들어집니다.
- 성공하면
ECUC Configuration generated successfully: <ECU 이름>토스트가 표시됩니다. 실패하면ECUC generation failed: <사유>, 예외가 발생하면ECUC generation error: <사유>가 표시됩니다.
전제 조건과 결과는 다음과 같습니다.
-
CAN 커넥터가 하나라도 있는 ECU 에서만 동작합니다. 없으면 Generate ECUC 버튼과 체크박스가 모두 비활성이 되고 아래 문구가 표시됩니다.
No CAN connector configured. Please add a CAN connector first to enable ECUC generation. -
결과는
design▸Module▸Configuration▸<ECU 이름>아래에 모듈별로 만들어집니다. 예를 들어 ECU 이름이DoorEcu면Configuration▸DoorEcu안에Can모듈 구성이 생깁니다. -
같은 모듈의 Module Definition 이 프로젝트에 있으면 그 내용으로 빠진 파라미터를 채웁니다. 정의가 없어도 생성 자체는 진행되며, 대신 파라미터가 덜 채워진 결과가 나옵니다.
-
생성 결과는 실행 취소 한 번으로 되돌릴 수 있는 하나의 이력으로 기록됩니다. 같은 내용이 다시 생성되면 이력에 아무것도 남지 않습니다.
-
생성은 CAN 컨트롤러가 1개라고 가정합니다. 컨트롤러가 여러 개여도 첫 번째 CAN 컨트롤러만 반영합니다.
-
HPC 노드에는 이 섹션이 나타나지 않습니다.
체크박스 상태는 패널이 다시 그려질 때마다 전체 선택으로 돌아갑니다. 일부만 생성하려면 체크를 푼 뒤 바로 Generate ECUC 를 누릅니다. 참고로 체크를 전부 풀고 누르면 버튼은 눌리지만 아무 일도 일어나지 않고 안내도 표시되지 않습니다.
자세한 내용은 12. ECUC에서 확인할 수 있습니다.
6.10 자동 레이아웃
노드가 많아져 배치를 손으로 정리하기 어려울 때는 자동 레이아웃을 사용합니다. 툴바의 Auto Layout 또는 빈 캔버스 우클릭 ▸ Auto Layout 을 실행하면 elkjs 기반 계층 배치가 적용됩니다.
- 직접 다듬은 연결선 경로가 있으면
N manually adjusted edge routes will be replaced by the automatic layout.확인 창이 먼저 표시됩니다. Replace 를 누르면 진행하고, Cancel 을 누르면 아무것도 바뀌지 않습니다. - 진행 다이얼로그가 표시됩니다.
Preparing...▸Placing connectors...▸Computing layout...▸Applying layout...▸Routing edges...▸Complete!순으로 진행 상태가 바뀝니다. - 끝나면 모든 노드가 보이도록 화면이 맞춰집니다.
- 진행 다이얼로그는 노드 개수와 상관없이 항상 표시됩니다.
- 진행 중 Cancel 을 누르면 단계 사이에서 중단되며, 이때 배치는 하나도 적용되지 않습니다. 적용 단계에 들어간 뒤에는 중단되지 않고 끝까지 진행됩니다.
- 배치 결과 전체(크기·위치·경계 오프셋·연결선 경로)는 실행 취소 한 번으로 되돌아갑니다.
6.11 다른 에디터와의 연동
IVC 에디터의 편집은 다음 지점에서 다른 에디터와 연동됩니다.
- ECU/HPC와 컴포지션의 매핑은 System 페이지, VFB 에디터와 실시간으로 동기화됩니다.
- 커넥터의 TX/RX 프레임·PDU 후보 목록은 Signal 에디터의 내용을 반영합니다. Signal 쪽이 바뀌면 목록이 다시 읽힙니다(07. Signal 에디터 참고).
- System 에디터에서 시스템 이름을 바꾸면 캔버스의 시스템 라벨이 따라 바뀝니다 (11. System 페이지 참고).
- ECU/HPC 이름을 바꾸거나 지우면 열어 두지 않은 다른 내용(System, Machine 설정, ECUC 구성 등)의 이름 참조도 함께 갱신되며, 이 갱신은 IVC 편집과 같은 하나의 실행 취소 단위로 묶입니다. System 에디터나 VFB 에디터가 열려 있으면 그 에디터가 맡은 부분은 건드리지 않고 열린 에디터 쪽이 스스로 갱신합니다. 이 갱신은 최선 노력 방식이라, 실패해도 IVC 편집 자체는 막지 않습니다.
- 검사(Validation) 결과에서 항목을 클릭하면 해당 노드가 선택되고, 필요하면 설정 다이얼로그가 그 탭·그 필드에 맞춰 열립니다(14. Validation 참고).
6.12 이름 규칙
노드·커넥터·컨트롤러·채널 등의 이름은 AUTOSAR SHORT-NAME 규칙을 따릅니다.
- 첫 글자는 영문자, 이후에는 영문자·숫자·밑줄만 쓸 수 있고, 최대 128자입니다.
- 빈 값, 공백만 있는 값, 규칙에 어긋나는 값은 모델에 저장되지 않습니다. 입력란은 오류 표시만 하며, 포커스를 벗어나면 마지막으로 저장된 이름으로 되돌아갑니다.
- 이름은 입력할 때가 아니라 포커스를 벗어나거나
Enter를 눌렀을 때 확정됩니다. 그래서 편집 도중의 글자는 검사 대상이 아니며, 실행 취소도 편집 한 번 단위로 이루어집니다. - 편집 도중
Esc를 누르면 확정하지 않고 마지막으로 저장된 이름으로 되돌립니다. 이때Esc는 그 입력란이 소비하므로 다이얼로그가 닫히지 않습니다. - 앞뒤 공백은 잘라 낸 뒤 저장됩니다.
이름을 이렇게 엄격하게 다루는 이유는 이름이 곧 식별자이기 때문입니다. 빈 이름이 저장되면 그 이름을 참조하던 다른 파일의 참조가 빈 문자열로 덮여 되돌릴 수 없게 됩니다.
6.13 표시와 실제 동작이 다른 항목
이 절에는 화면 표시만 보고 오해하기 쉬운 지점을 모았습니다. 기대와 다르게 동작하는 것처럼 보일 때는 이 표를 먼저 확인하는 것이 좋습니다.
| 항목 | 실제 동작 |
|---|---|
Ctrl+C / Ctrl+V / Ctrl+X | 동작 없음 |
| 커넥터의 Disconnect | [+] 배지 메뉴와 커넥터 우클릭 메뉴에 없습니다. 연결선 우클릭이나 Connected Channel 비우기로 끊습니다 |
조건에 맞지 않는 Shift+드래그 | 아무 일도 일어나지 않으며 오류 메시지도 표시되지 않습니다 |
| 설정 다이얼로그의 저장 | 아래쪽에는 Close 버튼만 있습니다. 저장은 Ctrl+S 로 합니다 |
다이얼로그 안의 Ctrl+Z | 다이얼로그 전용 이력만 되감습니다. 이력이 비면 아무 일도 일어나지 않습니다 |
| 클러스터 다이얼로그의 PHYSICAL CHANNEL 탭 | 안내 문구만 있는 빈 탭입니다. 채널 편집은 속성 패널에서 합니다 |
| Node Configuration의 첫 탭 | 전부 읽기 전용입니다. 값은 속성 패널에서 고칩니다 |
| EGRESS 셰이퍼의 ATS | UI로 만들 수 없습니다. 임포트된 값만 표시·보존되고 고유 값은 편집할 수 없습니다 |
| PLCA (10BASE-T1S) 섹션 | 임포트된 값을 보여 주기만 하고 편집 수단이 없습니다 |
| ECUC 모듈 체크 해제 | 하나도 남기지 않고 Generate ECUC 를 누르면 조용히 아무 일도 하지 않습니다 |
| Export as PNG | 저장 위치를 묻지 않고 <프로젝트>/doc/capture/ 에 바로 저장합니다 |
Ctrl+O | 프로젝트를 여는 것이 아니라, 고른 IVC 토폴로지를 현재 IVC 에디터에 불러옵니다 |
저장하지 않은 편집이 있을 때 파일이 밖에서 바뀌면 다시 읽어 들이지 않고 아래 경고만 표시합니다. 설정 다이얼로그에 저장하지 않은 편집이 있을 때도 마찬가지입니다.
IVC file changed on disk. Keeping your unsaved edits - save to overwrite the external change.
이는 편집 중인 내용을 말없이 버리지 않기 위한 동작입니다. 디스크 쪽 내용을 쓰고 싶으면 편집을 실행 취소하거나 탭을 닫았다가 다시 엽니다. 반대로 편집 내용을 남기려면 저장해서 덮어씁니다.