콘텐츠로 이동
공식 웹사이트로 돌아가기

SAE J1939 수집

(1) CommBridge 페이지의 【스마트 트윈】으로 이동한 후 왼쪽에서 【장치 연결】로 전환합니다.

(2) SAE J1939, 데이터 처리 및 MQTT 업로드 플러그인을 차례로 플러그인 작업 영역에 끌어 놓아 세 개의 노드를 생성합니다.

(3) 세 노드를 차례로 연결합니다. 연결 순서는 SAE J1939 → 데이터 처리 → MQTT 업로드입니다.

(1) SAE J1939를 두 번 클릭하고 【구성 추가】 버튼을 클릭합니다.

(2) 연결 설정을 입력하고 dbc 파일을 가져온 후 【다음】을 클릭합니다.

(3) 그룹 및 데이터 포인트 정보를 확인합니다.

(4) 【완료】를 클릭하여 수집 구성을 추가합니다.

(5) 구성의 스위치를 켜고 【저장】을 클릭합니다.

(1) 【장치 연결】의 【배포】 버튼을 클릭하여 배포합니다.

(2) 【스마트 트윈】으로 전환한 후 SAE J1939 노드 위로 마우스를 이동하면 노드 정보 목록이 표시됩니다.

(3) 구성을 클릭하여 해당 구성의 각 그룹에 속한 데이터 포인트의 실시간 데이터와 이력 데이터를 확인합니다.

매개변수 조건 설명 형식 예 비고
구성 이름 사용자가 지정하는 구성 이름 필수 CAN 수집
CAN 인터페이스 실제 장치의 CAN 포트에 따라 결정 드롭다운 선택 vcan0
DBC 아래 설명 참조 DBC 파일 testType.dbc
이름 설정 방식 Hex Number
선호 주소 드롭다운 선택 128
반환 데이터 유형 수집하는 실시간 데이터의 유형 드롭다운 선택 Phy
Socketcand socketcand 활성화 여부입니다. Socketcand는 네트워크 인터페이스를 통해 컴퓨터의 CAN 인터페이스에 액세스할 수 있습니다. Yes, No No
Socketcand 포트 원격 데이터 디버깅에 사용 숫자
이름 선호 주소가 Hex Number 이름(Name)은 각 ECU에 고유한 식별 정보를 부여하는 64비트(8바이트) 길이의 레이블입니다. 0x7758
임의 주소 사용 가능 비트 선호 주소가 Properties ECU의 송신 주소 자동 변경 허용 여부를 나타냅니다. 1은 허용, 0은 고정입니다. 숫자, 0, 1 0
산업 그룹 선호 주소가 Properties 차량이 속한 산업 분류 숫자, 범위: [0,7] 0
장치 클래스 인스턴스 선호 주소가 Properties 동일 장치 클래스 내에서 구별하는 인스턴스 번호 숫자, 범위: [0,15] 0
장치 클래스 선호 주소가 Properties SAE가 정의하는 7비트 “장치/시스템” 분류 숫자, 범위: [0,127] 0
기능 코드 선호 주소가 Properties ECU가 “차량 시스템” 내에서 수행하는 구체적인 기능 숫자, 범위: [0,255] 0
기능 인스턴스 선호 주소가 Properties 동일 기능의 인스턴스 번호로, 같은 기능을 수행하는 여러 ECU를 구별 숫자, 범위: [0,31] 0
ECU 인스턴스 선호 주소가 Properties 동일한 물리적 ECU 모델의 인스턴스 구별 숫자, 범위: [0,7] 0
제조사 코드 선호 주소가 Properties SAE가 할당하는 11비트 제조사 식별자 숫자, 범위: [0,2047] 0
식별 번호 선호 주소가 Properties 제조사가 정의하는 21비트 일련번호 숫자, 범위: [0,2097151] 0

참고:

  1. DBC는 원본 데이터 구조의 출처입니다. 이후 그룹(메시지) 및 데이터(신호)에 대한 모든 변경은 이 dbc 구조에 병합됩니다.
  2. 반환 데이터 유형: Raw는 원시 값, Phy는 물리 값, PhyWIthUnit은 단위가 포함된 물리 값을 반환합니다.
  3. 통신 프로토콜은 TCP/IP 연결과 전용 프로토콜을 사용하여 CAN 프레임과 제어 명령을 전송합니다. 현재 클래식 CAN만 지원하며 CAN FD는 지원하지 않습니다.
  4. 선호 주소: Hex Number, Properties
  5. J1939 네트워크에서는 두 노드가 같은 주소를 사용할 수 없습니다. 주소 충돌을 방지하기 위해 J1939는 64비트 “이름”과 8비트 “주소”를 함께 사용하여 노드를 식별합니다. 이름의 구조는 다음과 같습니다.
  1. 임의 주소 비트, 길이 1비트. 0은 네트워크 관리자가 노드 주소를 정적으로 설정함을, 1은 동적으로 임의 할당함을 나타냅니다.
  2. 산업 그룹, 길이 3비트. 일반적인 값은 000(일반), 001(고속도로 차량—트럭, 버스 등), 010(농업), 011(건설) 등입니다.
  3. 차량 시스템 인스턴스, 길이 4비트
  4. 차량 시스템, 길이 7비트
  5. 예약 비트
  6. 기능, 길이 8비트
  7. 기능 인스턴스, 길이 5비트
  8. ECU 인스턴스, 길이 3비트
  9. 제조사 코드, 길이 11비트
  10. 식별 번호, 길이 21비트
매개변수 설명 형식 예
그룹 이름 사용자가 지정하는 그룹 이름 필수 t_msg_1_unsigned
메시지 이름 메시지의 기능이나 용도를 나타내는 이름 필수, 영문자, 숫자 및 밑줄만 허용하며 숫자로 시작할 수 없음 t_msg_1_unsigned
우선순위 3
파라미터 그룹 번호 0x0
데이터 길이 코드 데이터 길이 코드(DLC): 클래식 CAN의 DLC 08은 08바이트에 해당합니다. CAN FD의 DLC 08도 08바이트에 해당하며, DLC 9~15는 각각 12, 16, 20, 24, 32, 48, 64바이트에 해당합니다. 이 프로토콜 길이 정의가 현재 플러그인의 CAN FD 지원을 의미하지는 않습니다. 데이터, 범위: [0,8] 또는 [0,15] 8
송신 노드 메시지를 전송하는 송신자(Transmitter), 즉 장치(Node) 드롭다운 선택, 기본값 Vector__XXX Vector__XXX
메시지 설명 메시지의 역할이나 기능을 이해하기 쉽게 설명하는 선택 필드 문자열

참고:

  1. 그룹은 dbc 파일의 메시지(Message)에 해당합니다.
  2. 메시지(그룹)에 송신 노드가 지정되지 않았다면 이 값을 Vector__XXX로 설정해야 합니다.
매개변수 조건 설명 형식 예
신호 이름 사용자가 지정하는 신호 이름으로, 데이터의 기능을 설명합니다.
의심 파라미터 번호(SPN)
신호 모드 신호의 전송 모드 드롭다운 선택
시작 비트 메시지에서 신호가 시작되는 위치(Start Bit)입니다. 0부터 시작하며 CAN 프레임 내 신호의 구체적인 저장 위치를 결정합니다. 단위: bit 0
값 유형 신호의 데이터 유형 드롭다운 선택 Intel
바이트 순서 메시지 내 신호의 저장 순서 드롭다운 선택
스케일링 계수 원시 값을 실제 물리 값으로 변환하는 계산 계수 부동소수점 수
오프셋 데이터의 물리 값을 계산할 때 사용하는 오프셋(offset) 부동소수점 수
최솟값 신호 범위를 제한하는 물리 값의 최솟값 부동소수점 수
최댓값 신호 범위를 제한하는 물리 값의 최댓값 부동소수점 수
단위 신호의 물리 단위 문자열
수신 노드 신호를 수신하는 노드 이름(receiver)으로, 하나 이상 지정하며 신호의 대상 장치를 나타냅니다. 드롭다운 선택, 기본값 Vector__XXX
설명 신호의 물리 단위(예: km/h, °C, m/s) 문자열
계산 사용자가 데이터 별칭을 기반으로 정의하는 수식
길이 값 유형이 Unsigned/Signed 신호가 차지하는 비트 수(비트 길이) 단위: bit, [1,64]
다중화 값 신호 모드가 Signal이 아님 다중화기 신호가 어떤 값일 때 해당 신호가 유효한지 설정

참고:

  1. 신호 모드: Signal, Multiplexor, Multiplexed.
  2. 값 유형: Unsigned(부호 없는 정수), Signed(부호 있는 정수), Float(단정밀도 부동소수점 수), Double(배정밀도 부동소수점 수).
  3. 바이트 순서: Intel 바이트 순서(리틀 엔디언), Motorola 바이트 순서(빅 엔디언).
  4. 시작 비트: 신호의 최하위 비트(LSB, Least Significant bit) 위치입니다.
  5. 끝 비트: 신호의 최상위 비트(MSB, Most Significant bit) 위치입니다.
  6. 분해능 및 오프셋: 물리 값과 네트워크 값의 변환에 사용합니다. 네트워크 값 = (물리 값 - 오프셋) ÷ 분해능.
  7. 신호에 수신 노드가 지정되지 않았다면 반드시 Vector__XXX로 설정해야 합니다.

DBC 파일(CAN Database File)은 CAN(Controller Area Network) 버스의 메시지와 신호 정의를 기술하는 표준 파일 형식입니다.

(1) Node(노드)

노드는 네트워크 내 장치를 논리적으로 나타냅니다. 각 노드는 메시지의 송신자 또는 수신자가 될 수 있습니다.

1). DBC 파일 형식:

BU_: Node1 Node2 Node3
  • BU_: 노드 목록을 정의합니다.
  • 뒤에 모든 노드 이름을 공백으로 구분하여 나열합니다.

(2) Message(메시지)

메시지는 CAN 네트워크에서 전송하는 최소 데이터 단위로, 여러 신호를 포함하며 고정된 ID와 길이를 가집니다.

1). DBC 파일 형식:

BO_ <메시지_ID> <메시지_이름>: <데이터_길이_코드> <송신_노드>

2). 예:

BO_ 1001 SpeedMessage: 8 Node1
  • BO_: 메시지를 나타냅니다.
  • 1001: 메시지 ID입니다.
  • SpeedMessage: 메시지 이름입니다.
  • 8: 데이터 길이 코드(DLC)입니다.
  • Node1: 송신 노드입니다.

(3) Signal(신호)

신호는 메시지 안의 데이터 단위로, 속도, 회전수, 온도 등의 구체적인 물리량을 나타냅니다.

1). DBC 파일 형식:

SG_ <신호_이름> : <시작_비트>|<길이>@<바이트_순서><값_유형_기호> (<스케일링_계수>,<오프셋>) [<최솟값>|<최댓값>] "<단위>" <수신_노드>

2). 예:

SG_ Speed : 0|16@1+ (0.1,0) [0|200] "km/h" Node2
  • BO_: 메시지를 나타냅니다.
  1. d
63 (MSB) 62-60 59-56 55-49 48 47-40 39-35 34-32 31-21 20-0 (LSB)
임의 주소 산업 그룹 차량 시스템 인스턴스 차량 시스템 예약 비트 기능 기능 인스턴스 ECU 인스턴스 제조사 코드 식별 번호
1 bit 3 bits 4 bits 7 bits 1 bit 8 bits 5 bits 3 bits 11 bits 21 bits
  1. 신호 모드
신호 모드 의미
Signal 데이터를 직접 담는 일반 신호로, 별도의 표시나 관계가 없습니다.
Multiplexor 메시지에 포함되는 다른 신호가 어느 그룹인지를 결정하는 다중화기 신호입니다. 예를 들어 하나의 메시지에 여러 데이터 형식이 포함될 수 있으며, 다중화기는 사용할 데이터 형식을 선택합니다.
Multiplexed 다중화기 신호와 연결된 다중화 신호입니다. 다중화기 신호의 값에 따라 이 신호의 전송 여부가 결정됩니다. 예를 들어 다중화기 값이 1이면 특정 다중화 신호 그룹을 전송합니다.