앤디 블로그
  • 모두
  • 아키텍처
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
  • 개발 문화
책
짧은 글
  • 모두
  • ISOBUS
이력서
  • 모두
  • 아키텍처
  • 기술
  • 자바
  • 스프링
  • 인프라
  • 카프카
  • 데이터베이스
  • 컨퍼런스
  • 개발 문화
책
짧은 글
  • 모두
  • ISOBUS
이력서
  • 통신과 CAN 기초

    • 소개
    • CH1. 통신의 기초
    • CH2. CAN 통신 입문
    • CH3. CAN 물리 계층
    • CH4. CAN 데이터 프레임
    • CH5. CAN 중재와 우선순위
    • CH6. CAN 에러 처리
    • CH7. CAN FD
  • SAE J1939

    • CH8. J1939 입문
    • CH9. J1939 메시지 구조
    • CH10. J1939 주소 체계
    • CH11. J1939 Transport Protocol
  • ISOBUS (ISO 11783)

    • CH12. ISOBUS 개요
    • CH13. 네트워크 아키텍처
    • CH14. 네트워크 관리
  • Virtual Terminal (VT)

    • CH15. VT 기초
      • 1. VT란 무엇인가
      • 2. 왜 VT가 혁신적인가
        • VT 이전: 전용 디스플레이 시대
        • VT 이후: 통합 디스플레이
      • 3. VT 동작 원리
      • 4. VT 버전
      • 5. AUX (보조 입력)
        • AUX 구성 요소
        • Preferred Assignment
      • 다음 챕터
    • CH16. VT 오브젝트 풀
    • CH17. VT 명령어
  • Task Controller (TC)

    • CH18. TC 기초
    • CH19. TC 프로세스 데이터
    • CH20. TC DDOP
  • 심화 및 실습

    • CH21. 기타 기능
    • CH22. 종합 실습
  • 부록

    • 용어 사전
    • PGN/SPN 목록
    • DDI 목록
    • 트러블슈팅
    • 참고 자료

Virtual Terminal (VT) 기초

학습 목표

  • Virtual Terminal(VT)이 무엇이며 어떤 문제를 해결하는지 설명할 수 있다.
  • VT의 동작 원리와 오브젝트 풀의 역할을 이해한다.
  • VT 버전별 주요 기능 차이를 비교할 수 있다.
  • AUX(보조 입력) 장치의 개념과 Preferred Assignment를 설명할 수 있다.

1. VT란 무엇인가

Virtual Terminal(VT)은 ISO 11783-6에 정의된 표준 사용자 인터페이스 시스템이다. 트랙터 운전석에 장착된 디스플레이에 작업기의 UI를 표시하고 사용자 입력을 받는 인터페이스 역할을 한다.

VT 시스템은 두 주체로 구성된다.

역할장치담당
VT Server트랙터 캐빈 디스플레이화면 렌더링, 입력 처리
VT Client작업기 ECU화면 내용(오브젝트 풀) 정의, 데이터 갱신

즉, 디스플레이 하드웨어는 트랙터가 제공하고, 화면에 무엇을 보여줄지는 작업기 ECU가 결정한다. 트랙터와 작업기의 역할이 명확히 분리되어 있는 것이 핵심이다.

graph LR
    subgraph 트랙터
        VTS[VT Server<br>CANBUS 주소 0x26]
        DISP[디스플레이 하드웨어]
        VTS --> DISP
    end
    subgraph 작업기
        ECU[작업기 ECU<br>VT Client]
    end
    ECU -- "오브젝트 풀 전송<br>사용자 입력 수신" --> VTS
    VTS -- "사용자 입력 이벤트" --> ECU

2. 왜 VT가 혁신적인가

VT 이전: 전용 디스플레이 시대

VT 표준이 없던 시절, 각 작업기 제조사는 전용 디스플레이 패널을 함께 납품했다.

  • 비료 살포기 → 비료 살포기 전용 컨트롤 박스
  • 파종기 → 파종기 전용 모니터
  • 스프레이어 → 스프레이어 전용 디스플레이

운전석에 작업기가 늘어날수록 디스플레이도 늘어났다. 배선은 복잡해지고, 운전자는 여러 개의 서로 다른 UI를 익혀야 했다.

VT 이후: 통합 디스플레이

VT는 이 문제를 스마트폰 앱 스토어 모델로 해결했다.

스마트폰(VT Server) = 하드웨어 플랫폼
앱(오브젝트 풀)     = 작업기 ECU가 제공하는 UI 정의

하나의 VT 디스플레이에 어떤 제조사의 작업기를 연결해도, 작업기가 자신의 UI 정의를 VT로 전송하면 VT가 화면을 렌더링한다. 운전자는 하나의 디스플레이로 모든 작업기를 조작할 수 있다.

graph TD
    VT[VT 디스플레이<br>하나의 통합 인터페이스]
    A[비료 살포기 ECU]
    B[파종기 ECU]
    C[스프레이어 ECU]
    D[베일러 ECU]

    A -- "오브젝트 풀 A" --> VT
    B -- "오브젝트 풀 B" --> VT
    C -- "오브젝트 풀 C" --> VT
    D -- "오브젝트 풀 D" --> VT

3. VT 동작 원리

VT와 작업기 ECU 사이의 동작은 크게 세 단계로 나뉜다.

  1. 오브젝트 풀 전송: 작업기 ECU가 화면 정의 데이터를 VT로 업로드
  2. 렌더링: VT가 오브젝트 풀을 해석해 화면에 표시
  3. 상호작용: 사용자 입력 → VT → ECU, ECU 데이터 갱신 → VT 화면 업데이트
sequenceDiagram
    participant ECU as 작업기 ECU (VT Client)
    participant VT as VT Server (디스플레이)
    participant User as 운전자

    ECU->>VT: VT Status 요청 (Working Set Maintenance)
    VT-->>ECU: VT Status 응답 (버전, 메모리 등)

    ECU->>VT: Object Pool Transfer (화면 정의 데이터 전송)
    VT-->>ECU: End of Object Pool Response (전송 완료 확인)

    VT->>VT: 오브젝트 풀 파싱 및 화면 렌더링

    User->>VT: 버튼 클릭 / 소프트키 입력
    VT->>ECU: Button Activation Message (입력 이벤트 전달)

    ECU->>ECU: 입력 처리 (예: 살포량 변경)
    ECU->>VT: Change Numeric Value (화면 데이터 갱신)
    VT->>User: 새로운 값 화면 표시

4. VT 버전

ISO 11783-6은 지속적으로 개정되어 왔으며, VT Server와 Client가 지원하는 버전(Version)에 따라 사용 가능한 기능이 달라진다.

버전주요 특징
Version 2기본 오브젝트 타입, 기본 그래픽(픽셀 단위)
Version 3색상 팔레트 확장(256색), 소프트키 마스크 개선
Version 4향상된 그래픽 품질, 윈도우 마스크(복수 화면 관리)
Version 5스크롤 컨테이너, 드래그 앤 드롭 이벤트 지원
Version 6최신 버전, 추가 입력 이벤트, 다국어 개선

VT Server와 Client가 서로 다른 버전을 지원할 경우, 낮은 버전으로 협상하여 동작한다. 협상 과정은 VT Status 메시지 교환 시 이루어진다.

graph LR
    subgraph 버전 협상 예시
        C[ECU: Version 5 지원]
        V[VT: Version 4 지원]
        R[실제 동작: Version 4]
        C -- min 버전 협상 --> V
        V --> R
    end

5. AUX (보조 입력)

AUX(Auxiliary Input)는 조이스틱, 추가 버튼 패드, 풋 페달 등 VT 디스플레이 외부의 보조 입력 장치를 ISOBUS에 통합하는 메커니즘이다. ISO 11783-6 Annex에 정의되어 있다.

현재 표준에서 사용되는 버전은 AUX-N(New AUX)으로, 기존 AUX-O(Old AUX)를 대체했다.

AUX 구성 요소

구성 요소설명
AUX Input Unit물리적 입력 장치 (조이스틱, 버튼 등)
AUX Function작업기 ECU가 정의하는 논리적 기능 (예: "살포 시작")
Assignment입력 유닛의 특정 입력과 ECU 기능을 연결하는 매핑

Preferred Assignment

AUX의 핵심 개념 중 하나는 Preferred Assignment이다. 사용자가 한 번 입력 장치와 기능의 매핑을 설정하면, 그 설정이 VT에 저장된다. 다음에 같은 작업기를 연결하면 이전 매핑이 자동으로 복원된다.

sequenceDiagram
    participant AUX as AUX Input Unit (조이스틱)
    participant VT as VT Server
    participant ECU as 작업기 ECU

    ECU->>VT: AUX Function 정의 (오브젝트 풀 포함)
    AUX->>VT: AUX Input Unit 능력 광고 (Available Input 목록)

    VT->>VT: Preferred Assignment 복원 (이전 저장 설정)
    VT->>ECU: Preferred Assignment 적용 알림
    VT->>AUX: Assignment 적용 알림

    Note over AUX, ECU: 매핑 완료 — 조이스틱 조작 시 ECU 기능 실행

    AUX->>VT: AUX Input Status (입력값 전달)
    VT->>ECU: AUX Input Maintenance (기능에 매핑된 입력값 전달)

핵심 정리

  • VT는 ISO 11783-6에 정의된 표준 디스플레이 인터페이스로, 트랙터 디스플레이(VT Server)와 작업기 ECU(VT Client)로 구성된다.
  • 작업기 ECU는 오브젝트 풀을 VT로 전송하고, VT는 이를 렌더링한다.
  • VT는 버전(2~6)에 따라 지원 기능이 다르며, 낮은 버전으로 자동 협상한다.
  • AUX-N은 조이스틱 등 보조 입력 장치를 ISOBUS에 통합하며, Preferred Assignment로 매핑 설정을 저장한다.

다음 챕터

  • 다음 : VT 오브젝트 풀
Prev
ISOBUS 네트워크 관리
Next
VT 오브젝트 풀 (Object Pool)