본문으로 건너뛰기

프로젝트와 노드 만들기

이 장에서 할 일​

이 장에서는 프로젝트가 열려 있지 않은 PAIO 창에서 출발해 차량 네트워크 토폴로지의 뼈대를 만든다. 프로젝트 TopologyDesign 을 만들고, System 편집기 캔버스에 노드 네 개를 2x2 로 놓는다. 세 개는 ECU 노드(ECU, ZONE, SLAVE_ECU)이고 하나는 HPC 노드(HPC)이다. 노드는 아직 서로 연결하지 않는다. 버스(CAN, 이더넷, LIN)는 3장부터 하나씩 붙인다.

이 장을 마치면 System 편집기에 이름이 붙은 노드 네 개가 저장되고, VALIDATION 패널에는 No validation issues. 가 보인다.

시작하기 전에​

  • PAIO 가 설치되어 있고 실행할 수 있어야 한다.
  • 프로젝트가 열려 있지 않은 PAIO 창에서 시작한다. 창 제목이 PAIO 이고, 왼쪽 EDITOR 뷰에 No project open 이 보이고, Welcome 탭(Welcome to PAIO)이 열려 있으면 된다. PAIO 가 전에 작업한 프로젝트를 열면 PROJECT › New Window 를 선택해 이런 창을 연다.
  • 이 튜토리얼은 다른 튜토리얼이나 예제 프로젝트에 기대지 않는다. 이 장부터 차례로 따라가면 된다.

이 장에서 입력하는 값은 프로젝트를 둘 폴더를 빼면 다섯 개뿐이다. 이 이름들은 이후 모든 장에서 그대로 쓰이므로 바꾸지 않는다.

요소입력하는 값어디서
프로젝트 이름TopologyDesignNew Project 대화상자
ECU 노드 이름 (세 개)ECU, ZONE, SLAVE_ECUSystem 편집기 속성 패널 NAME
HPC 노드 이름HPCSystem 편집기 속성 패널 NAME

참고. 프로젝트 이름 TopologyDesign 은 탭 제목(TopologyDesign:System)과 익스포트 파일 이름(TopologyDesign_System.arxml 등)에 그대로 들어간다. 노드 이름은 이후 장에서 만드는 컨트롤러와 커넥터가 어느 노드에 속하는지 구별하는 데 쓰인다.

새 프로젝트 만들기​

Project 메뉴에서 New Project 열기​

  1. 화면 위쪽 메뉴에서 PROJECT 를 클릭한다.

  2. 드롭다운에서 New Project... 를 클릭한다. 단축키는 없다. Welcome 탭의 New Project 버튼도 같은 대화상자를 연다.

    Project 메뉴의 New Project

    그림 1-1. 프로젝트가 열려 있지 않은 창에서 연 PROJECT 메뉴. ① PROJECT 메뉴 버튼, ② New Project... 항목. 같은 드롭다운에 Open Project..., Open Recent, New Window, Save, Save All, Exit 가 있다. 메뉴 뒤의 EDITOR 뷰에는 No project open 이 보이고 Welcome 탭이 열려 있다.

이름을 입력하고 만들기​

  1. New Project 대화상자의 Name 에 TopologyDesign 을 입력한다.

  2. Location 에 프로젝트를 둘 폴더를 지정한다. 경로를 직접 입력하거나 Browse… 를 클릭해 폴더를 고른다. PAIO 는 그 안에 프로젝트 폴더 TopologyDesign 을 만들고, 입력란 아래 줄에 그 경로를 The project will be created in …\TopologyDesign 으로 보여 준다. Create 는 Name 과 Location 이 모두 채워져야 켜진다.

  3. Create 버튼을 클릭한다.

    New Project 대화상자

    그림 1-2. New Project 대화상자. ① TopologyDesign 을 입력한 Name, ② Location 과 Browse… 버튼, ③ 새 프로젝트 폴더를 알려 주는 The project will be created in … 줄, ④ Create 버튼. 그림의 폴더는 예시일 뿐이므로 직접 고른 폴더를 쓰면 된다.

EDITOR 뷰에서 System 찾기​

  1. 같은 창이 새 프로젝트로 들어간 것을 확인한다. 창 제목이 PAIO [TopologyDesign] 이고, 왼쪽 뷰의 머리글이 EDITOR: TopologyDesign 이다.

  2. EDITOR 뷰에 DESIGN 과 MODULE 이 펼쳐져 있고, DESIGN 아래 첫 행이 System 인 것을 확인한다.

    새 프로젝트의 EDITOR 뷰

    그림 1-3. Create 뒤의 창. ① 창 제목 PAIO [TopologyDesign], ② 뷰 머리글 EDITOR: TopologyDesign, ③ DESIGN 아래의 System. 편집기 영역에는 아직 열린 탭이 없다.

EDITOR 뷰의 각 항목은 다음과 같다.

항목역할이 튜토리얼에서
DESIGN › System차량 네트워크 토폴로지(노드, 컨트롤러, 커넥터, 클러스터) 편집기. 캔버스 오른쪽 가장자리의 System 버튼이 시스템 정보를 보여 준다이 장부터 대부분의 작업. 2장에서 시스템 버전을 바꾼다
DESIGN › VFB, Interface, DataType, Diagnostic소프트웨어, 인터페이스, 데이터 타입, 진단 편집기쓰지 않는다
MODULE › Definition, Configuration모듈 정의와 설정쓰지 않는다
DOC프로젝트 문서쓰지 않는다
CODE, EXPORT코드와 익스포트 산출물EXPORT 는 7장

프로젝트를 만든 직후 design/ 에는 IVC.io.model, SYSTEM.io.model, VFB.io.model 세 파일이 있다. 이 장이 끝나도 파일은 이 세 개 그대로다.

첫 번째 ECU 노드 만들기​

System 편집기 열기​

  1. 왼쪽 EDITOR 뷰의 DESIGN 아래에서 System 을 클릭한다. 한 번 클릭하면 System 편집기가 열린다.
  2. 탭 TopologyDesign:System 이 열리고 캔버스 왼쪽 위에 System 이 보이는 것을 확인한다. 캔버스는 비어 있다.

참고. 프로젝트를 만들기만 해서는 편집기가 열리지 않는다. 창이 프로젝트로 들어갈 때 Welcome 탭이 닫히고, System 을 클릭할 때까지 편집기 영역에는 탭이 없다.

캔버스에 ECU 추가하기​

  1. 캔버스의 왼쪽 위 빈 곳을 마우스 오른쪽 버튼으로 클릭한다. 메뉴에 Add ECU, Add HPC 두 항목이 보인다.

  2. Add ECU 를 클릭한다.

    System 편집기 캔버스 메뉴의 Add ECU

    그림 1-4. 빈 System 편집기 캔버스의 오른쪽 클릭 메뉴. ① 메뉴 두 항목, ② Add ECU, ③ 탭 TopologyDesign:System.

  3. 오른쪽 클릭한 자리에 노드 ECU_0 이 생긴다. 탭 제목 옆에 파란 점(수정됨 표시)이 붙는다.

  4. 노드의 헤더 ECU_0 을 클릭한다. 오른쪽에 제목이 ECU 인 속성 패널이 열린다.

    기본 이름 ECU_0 의 노드

    그림 1-5. 방금 만든 노드. ① 선택된 노드 ECU_0, ② 속성 패널의 NAME 입력란. 아래에 DESCRIPTION, CONNECTORS (No connectors), CONTROLLERS (No controllers), POWER MANAGEMENT, PARTIAL NETWORK 섹션이 있다.

ECU 노드의 속성 패널에는 다음 섹션이 있다. 이 장에서는 NAME 만 바꾼다.

섹션지금 보이는 것이 튜토리얼에서
CONNECTORSNo connectors3~5장에서 커넥터가 생긴다
CONTROLLERSNo controllers3~5장에서 컨트롤러가 생긴다
POWER MANAGEMENT토글 SLEEP MODE SUPPORTED, WAKE-UP OVER BUS (둘 다 꺼짐)ECU 속성에서 켠다
PARTIAL NETWORKPNC NM REQUEST 등 토글과 타이머 입력란쓰지 않는다

이름을 ECU 로 바꾸기​

  1. 속성 패널의 NAME 입력란에 있는 ECU_0 을 지우고 ECU 를 입력한다.

  2. Tab 키를 누른다. 캔버스의 노드 헤더가 ECU 로 바뀐다. 포커스는 DESCRIPTION 으로 넘어간다. DESCRIPTION 은 비워 둔다.

    이름을 ECU 로 바꾼 노드

    그림 1-6. 이름을 바꾼 노드. ① 헤더가 ECU 로 바뀐 노드, ② NAME 입력란의 ECU. 포커스가 넘어간 DESCRIPTION 라벨이 파랗게 보인다.

나머지 노드 만들기​

두 번째 ECU 를 ZONE 으로 만들기​

  1. 캔버스의 오른쪽 위 빈 곳을 마우스 오른쪽 버튼으로 클릭하고 Add ECU 를 클릭한다.

  2. 새 노드의 이름이 다시 ECU_0 인 것을 확인한다. 앞 노드의 이름을 바꿨기 때문에 같은 기본 이름이 다시 쓰인다.

    두 번째 ECU 노드의 기본 이름

    그림 1-7. 두 번째 ECU 노드. ① 앞에서 만든 ECU, ② 새 노드 ECU_0, ③ NAME 입력란의 ECU_0.

  3. 새 노드가 선택된 상태에서 NAME 입력란에 ZONE 을 입력하고 Tab 키를 누른다.

세 번째 ECU 와 HPC 추가하기​

  1. 캔버스의 왼쪽 아래 빈 곳을 오른쪽 클릭하고 Add ECU 를 클릭한다. 새 노드 ECU_0 의 NAME 에 SLAVE_ECU 를 입력하고 Tab 키를 누른다.

  2. 캔버스의 오른쪽 아래 빈 곳을 오른쪽 클릭하고 이번에는 Add HPC 를 클릭한다.

    System 편집기 캔버스 메뉴의 Add HPC

    그림 1-8. 노드 세 개를 만든 뒤 오른쪽 아래에서 연 메뉴. ① Add HPC. 위에 ECU 와 ZONE, 왼쪽 아래에 선택된 SLAVE_ECU 가 있다.

  3. 노드 HPC_0 이 생긴다. 헤더를 클릭하면 제목이 HPC 인 속성 패널이 열린다.

    기본 이름 HPC_0 의 노드

    그림 1-9. 방금 만든 HPC 노드. ① 노드 HPC_0, ② 패널 제목 HPC, ③ NAME 입력란의 HPC_0. ECU 패널과 달리 POWER MANAGEMENT 섹션이 없다.

  4. NAME 입력란에 HPC 를 입력하고 Tab 키를 누른다.

네 노드를 만드는 값을 모으면 다음과 같다. 반드시 표의 순서대로 추가한다.

순서오른쪽 클릭 위치메뉴 항목생기는 노드NAME 에 입력
1캔버스 왼쪽 위Add ECUECU_0ECU
2캔버스 오른쪽 위Add ECUECU_0ZONE
3캔버스 왼쪽 아래Add ECUECU_0SLAVE_ECU
4캔버스 오른쪽 아래Add HPCHPC_0HPC

주의. 추가 순서 ECU → ZONE → SLAVE_ECU → HPC 를 지킨다. 추가 순서로 정해지는 이름은 없다. 노드는 NAME 에 입력한 이름으로 저장되고, 노드 이름을 바꾸고 나면 기본 이름 ECU_0, HPC_0 은 프로젝트에 남지 않는다. 다만 ECU 노드는 추가한 순서대로 저장되고 익스포트되므로, ARXML 익스포트에 나오는 줄 번호는 표의 순서로 추가했을 때만 맞다.

저장하기​

  1. 네 노드 사이의 빈 캔버스를 클릭한다. 선택이 풀리고 속성 패널이 접힌다.

  2. Ctrl+S 를 눌러 저장한다. 탭 제목의 파란 점이 사라진다.

    저장한 네 노드

    그림 1-10. 저장 뒤의 System 편집기. ① ECU, ② ZONE, ③ SLAVE_ECU, ④ HPC, ⑤ 수정됨 표시가 없는 탭 TopologyDesign:System. ECU 노드는 청록색, HPC 노드는 파란색 테두리다.

참고. 선택을 풀 때는 노드가 없는 캔버스 가운데를 클릭한다. 캔버스 가장자리, 특히 아래 툴바 근처를 클릭하면 선택이 그대로 남을 수 있다.

검증 결과 보기​

  1. 화면 아래 푸터의 V 아이콘(툴팁 Toggle Validation)을 클릭해 VALIDATION 패널을 연다. 패널이 열리면 캔버스가 위로 줄어든다.

    오류가 없는 Validation 패널

    그림 1-11. VALIDATION 패널. ① 푸터의 V 아이콘, ② No validation issues. 행. 열은 ELEMENT TYPE / NAME / DESCRIPTION / CONSTR 이다.

검증 결과는 0건(error 0, warning 0)이다. 이 결과는 정상이다.

참고. 검증은 창에 열린 프로젝트를 대상으로 돈다. 먼저 선택할 프로젝트 행은 없다.

왜 이렇게 설계하는가​

  • 노드 네 개의 역할을 이름에 담는다. ECU 는 CAN 과 LIN 마스터를 함께 가진 ECU, ZONE 은 CAN 과 이더넷을 함께 가진 ECU, SLAVE_ECU 는 LIN 슬레이브 ECU, HPC 는 이더넷에만 연결되는 HPC 노드다. 이후 장에서 버스를 붙일 때 이 이름으로 노드를 구별한다.
  • HPC 만 HPC 노드로 만든다. HPC 노드는 ECU 노드와 다른 요소(머신 설계)로 저장되고, 속성 패널에 POWER MANAGEMENT 섹션이 없다. 그래서 다음 장에서 전원 관리 설정은 ECU 노드 세 개에만 켠다.
  • 노드를 2x2 로 놓고 Auto Layout 은 쓰지 않는다. 노드는 오른쪽 클릭한 자리에 생기므로, 위치를 직접 골라 두면 이후 장의 그림과 같은 화면을 보며 따라갈 수 있다.

확인하기​

  • 창 제목이 PAIO [TopologyDesign] 이고, EDITOR 뷰의 DESIGN 아래에 System, VFB, Interface, DataType, Diagnostic 이 보인다.
  • System 편집기(탭 TopologyDesign:System)에 노드 ECU, ZONE, SLAVE_ECU, HPC 가 2x2 로 놓여 있다.
  • ECU, ZONE, SLAVE_ECU 는 청록색, HPC 는 파란색 테두리다.
  • HPC 를 선택하면 패널 제목이 HPC 이고, 나머지 세 노드를 선택하면 ECU 이다.
  • 탭 TopologyDesign:System 에 수정됨 표시가 없다.
  • 프로젝트 폴더의 design/ 아래에 IVC.io.model, SYSTEM.io.model, VFB.io.model 세 파일이 있다.
  • VALIDATION 패널에 No validation issues. 가 보인다.

다음 단계​

ECU 속성에서 시스템 버전을 바꾸고, ECU 노드 세 개의 POWER MANAGEMENT 토글을 켠다.