- Jelina 개요
- CommBridge
- 데이터 수집
CAN 수집
1. 노드 생성
섹션 제목: “1. 노드 생성”(1) CommBridge 페이지의 【스마트 트윈】으로 이동한 후 왼쪽에서 【장치 연결】로 전환합니다.

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

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

2. 구성 생성
섹션 제목: “2. 구성 생성”(1) SocketCAN을 두 번 클릭하고 【구성 추가】 버튼을 클릭합니다.

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

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

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

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

3. 결과 확인
섹션 제목: “3. 결과 확인”(1) 【장치 연결】의 【배포】 버튼을 클릭하여 배포합니다.

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

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

4. 설정 설명
섹션 제목: “4. 설정 설명”연결 설정
섹션 제목: “연결 설정”| 매개변수 | 설명 | 형식 | 예 | 비고 |
|---|---|---|---|---|
| 구성 이름 | 사용자가 지정하는 구성 이름 | 필수 | CAN 수집 | |
| CAN 인터페이스 | 실제 장치의 CAN 포트에 따라 결정 | 드롭다운 선택 | vcan0 | |
| DBC | 아래 설명 참조 | DBC 파일 | testType.dbc | |
| 반환 데이터 유형 | 수집하는 실시간 데이터의 유형 | 드롭다운 선택 | Phy | |
| 스로틀링 시간 | 스로틀링 시간이 경과하거나 데이터가 변경될 때까지 시간 내 중복 프레임을 건너뜁니다. 0은 스로틀링을 사용하지 않음을 의미합니다. | 필수, 숫자, 범위: [0,2147483647] | Phy | |
| Socketcand | socketcand 활성화 여부입니다. Socketcand는 네트워크 인터페이스를 통해 컴퓨터의 CAN 인터페이스에 액세스할 수 있습니다. | Yes, No | No | |
| Socketcand 포트 | 원격 데이터 디버깅에 사용 | 숫자 |
참고:
- DBC는 원본 데이터 구조의 출처입니다. 이후 그룹(메시지) 및 데이터(신호)에 대한 모든 변경은 이 dbc 구조에 병합됩니다.
- 반환 데이터 유형: Raw는 원시 값, Phy는 물리 값, PhyWIthUnit은 단위가 포함된 물리 값을 반환합니다.
- 통신 프로토콜은 TCP/IP 연결과 전용 프로토콜을 사용하여 CAN 프레임과 제어 명령을 전송합니다. 현재 클래식 CAN만 지원하며 CAN FD는 지원하지 않습니다.
그룹 추가
섹션 제목: “그룹 추가”| 매개변수 | 설명 | 형식 | 예 |
|---|---|---|---|
| 그룹 이름 | 사용자가 지정하는 그룹 이름 | 필수 | t_msg_1_unsigned |
| 메시지 이름 | 메시지의 기능이나 용도를 나타내는 이름 | 필수, 영문자, 숫자 및 밑줄만 허용하며 숫자로 시작할 수 없음 | t_msg_1_unsigned |
| 메시지 ID | CAN 버스에서 메시지를 구별하는 고유 식별자 | 필수, 숫자 또는 16진수, 범위: [0x0-0xffffffff] | 0 |
| 데이터 길이 코드 | 데이터 길이 코드(DLC): 클래식 CAN의 DLC 0 |
데이터, 범위: [0,8] 또는 [0,15] | 8 |
| 송신 노드 | 메시지를 전송하는 송신자(Transmitter), 즉 장치(Node) | 드롭다운 선택, 기본값 Vector__XXX |
Vector__XXX |
| 메시지 설명 | 메시지의 역할이나 기능을 이해하기 쉽게 설명하는 선택 필드 | 문자열 |
참고:
- 그룹은 dbc 파일의 메시지(Message)에 해당합니다.
- 메시지 ID는 일반적으로 11비트(표준 프레임) 또는 29비트(확장 프레임) 숫자입니다.
- 메시지(그룹)에 송신 노드가 지정되지 않았다면 이 값을
Vector__XXX로 설정해야 합니다.
데이터 추가
섹션 제목: “데이터 추가”| 매개변수 | 조건 | 설명 | 형식 | 예 |
|---|---|---|---|---|
| 신호 이름 | 사용자가 지정하는 신호 이름으로, 데이터의 기능을 설명합니다. | |||
| 신호 모드 | 신호의 전송 모드 | 드롭다운 선택 | ||
| 시작 비트 | 메시지에서 신호가 시작되는 위치(Start Bit)입니다. 0부터 시작하며 CAN 프레임 내 신호의 구체적인 저장 위치를 결정합니다. | 단위: bit | 0 | |
| 값 유형 | 신호의 데이터 유형 | 드롭다운 선택 | Intel | |
| 바이트 순서 | 메시지 내 신호의 저장 순서 | 드롭다운 선택 | ||
| 스케일링 계수 | 원시 값을 실제 물리 값으로 변환하는 계산 계수 | 부동소수점 수 | ||
| 오프셋 | 데이터의 물리 값을 계산할 때 사용하는 오프셋(offset) | 부동소수점 수 | ||
| 최솟값 | 신호 범위를 제한하는 물리 값의 최솟값 | 부동소수점 수 | ||
| 최댓값 | 신호 범위를 제한하는 물리 값의 최댓값 | 부동소수점 수 | ||
| 단위 | 신호의 물리 단위 | 문자열 | ||
| 수신 노드 | 신호를 수신하는 노드 이름(receiver)으로, 하나 이상 지정하며 신호의 대상 장치를 나타냅니다. | 드롭다운 선택, 기본값 Vector__XXX |
||
| 설명 | 신호의 물리 단위(예: km/h, °C, m/s) | 문자열 | ||
| 계산 | 사용자가 데이터 별칭을 기반으로 정의하는 수식 | |||
| 길이 | 값 유형이 Unsigned/Signed | 신호가 차지하는 비트 수(비트 길이) | 단위: bit, [1,64] | |
| 다중화 값 | 신호 모드가 Signal이 아님 | 다중화기 신호가 어떤 값일 때 해당 신호가 유효한지 설정 |
참고:
- 신호 모드: Signal, Multiplexor, Multiplexed.
- 값 유형: Unsigned(부호 없는 정수), Signed(부호 있는 정수), Float(단정밀도 부동소수점 수), Double(배정밀도 부동소수점 수).
- 바이트 순서: Intel 바이트 순서(리틀 엔디언), Motorola 바이트 순서(빅 엔디언).
- 시작 비트: 신호의 최하위 비트(LSB, Least Significant bit) 위치입니다.
- 끝 비트: 신호의 최상위 비트(MSB, Most Significant bit) 위치입니다.
- 분해능 및 오프셋: 물리 값과 네트워크 값의 변환에 사용합니다. 네트워크 값 = (물리 값 - 오프셋) ÷ 분해능.
- 신호에 수신 노드가 지정되지 않았다면 반드시
Vector__XXX로 설정해야 합니다.
5. DBC 파일 관련 매개변수 설명
섹션 제목: “5. DBC 파일 관련 매개변수 설명”DBC 파일(CAN Database File)은 CAN(Controller Area Network) 버스의 메시지와 신호 정의를 기술하는 표준 파일 형식입니다.
구성 요소
섹션 제목: “구성 요소”(1) Node(노드)
노드는 네트워크 내 장치를 논리적으로 나타냅니다. 각 노드는 메시지의 송신자 또는 수신자가 될 수 있습니다.
1). DBC 파일 형식:
BU_: Node1 Node2 Node3BU_: 노드 목록을 정의합니다.- 뒤에 모든 노드 이름을 공백으로 구분하여 나열합니다.
(2) Message(메시지)
메시지는 CAN 네트워크에서 전송하는 최소 데이터 단위로, 여러 신호를 포함하며 고정된 ID와 길이를 가집니다.
1). DBC 파일 형식:
BO_ <메시지_ID> <메시지_이름>: <데이터_길이_코드> <송신_노드>2). 예:
BO_ 1001 SpeedMessage: 8 Node1BO_: 메시지를 나타냅니다.1001: 메시지 ID입니다.SpeedMessage: 메시지 이름입니다.8: 데이터 길이 코드(DLC)입니다.Node1: 송신 노드입니다.
(3) Signal(신호)
신호는 메시지 안의 데이터 단위로, 속도, 회전수, 온도 등의 구체적인 물리량을 나타냅니다.
1). DBC 파일 형식:
SG_ <신호_이름> : <시작_비트>|<길이>@<바이트_순서><값_유형_기호> (<스케일링_계수>,<오프셋>) [<최솟값>|<최댓값>] "<단위>" <수신_노드>2). 예:
SG_ Speed : 0|16@1+ (0.1,0) [0|200] "km/h" Node2BO_: 메시지를 나타냅니다.
주요 매개변수 설명
섹션 제목: “주요 매개변수 설명”(1) 신호 모드
| 신호 모드 | 의미 |
|---|---|
| Signal | 데이터를 직접 담는 일반 신호로, 별도의 표시나 관계가 없습니다. |
| Multiplexor | 메시지에 포함되는 다른 신호가 어느 그룹인지를 결정하는 다중화기 신호입니다. 예를 들어 하나의 메시지에 여러 데이터 형식이 포함될 수 있으며, 다중화기는 사용할 데이터 형식을 선택합니다. |
| Multiplexed | 다중화기 신호와 연결된 다중화 신호입니다. 다중화기 신호의 값에 따라 이 신호의 전송 여부가 결정됩니다. 예를 들어 다중화기 값이 1이면 특정 다중화 신호 그룹을 전송합니다. |