우리는 귀하의 프라이버시를 소중히 여깁니다
"모든 쿠키 허용"을 클릭하면 사이트 탐색을 개선하고, 사이트 사용을 분석하며, 마케팅 및 성능 노력에 도움을 주기 위해 쿠키를 귀하의 장치에 저장하는 데 동의한 것으로 간주됩니다. 이 주제에 대한 추가 정보는 당사의 정책에서 확인할 수 있습니다. 개인정보 보호정책
Smart Display는 현재 CAN bus 하드웨어 통신 인터페이스를 지원하며 CANopen 통신 프로토콜을 사용합니다. CANopen은 CAN bus를 기반으로 하는 산업용 통신 프로토콜로, 의료기기, 차량, 철도 시스템, 빌딩 자동화 등 다양한 분야에서 널리 사용되고 있습니다. 그러나 CANopen 프로토콜을 사용하려면 Host 측에서 해당 CANopen 통신 기능을 구현해야 하므로, 단순히 CAN bus 통신만 필요한 애플리케이션에서는 개발 복잡도가 높아질 수 있습니다. 이러한 구현 과정을 간소화하기 위해 WINSTAR는 Custom CAN ID 프로토콜을 개발했습니다. Custom CAN ID를 사용하면 Host 측에서 CANopen 프로토콜을 별도로 구현할 필요 없이, 사용자 정의 DBC 파일을 통해 CAN ID와 데이터를 설정하고 Smart Display의 Widget과 연동하여 실시간으로 데이터를 주고받을 수 있습니다. 이를 통해 시스템 데이터를 보다 쉽게 확인하고 제어할 수 있으며, 애플리케이션 구성의 유연성과 유지보수 편의성도 높일 수 있습니다.
Custom CAN ID 프로토콜은 주로 DBC(CAN Database) 파일을 이용하여 CAN 데이터를 설정하고, CAN 데이터와 Smart Display의 Widget 간 연동 방식을 정의합니다. DBC 파일에는 CAN ID, Message 형식, 데이터 디코딩 정보 등이 정의되어 있습니다. 사용자 정의 DBC 파일을 이용하면 서로 다른 CAN ID와 데이터를 Smart Display의 해당 Widget에 연결하여 실시간으로 연동할 수 있습니다. 예를 들어 CAN ID와 CAN 데이터를 이용해 디스플레이의 그래픽이나 텍스트를 제어할 수 있으며, 반대로 디스플레이의 Button이나 Slider를 조작하여 CAN 데이터를 제어할 수도 있습니다. 이러한 양방향 연동을 통해 시스템 데이터를 보다 효과적으로 확인하고 제어할 수 있으며, 유연하고 유지보수가 용이한 HMI 구성이 가능합니다.
DBC 파일은 일반적으로 ASCII 형식의 일반 텍스트 파일로, CAN bus를 통해 전송되는 물리적 Signal에 대한 정보를 포함합니다. 주요 정보에는 CAN ID, Signal 이름, Scaling Factor 및 정의 등이 포함됩니다. 이러한 정보를 이용하여 Raw CAN Data를 실제 의미를 갖는 값으로 디코딩하고, 각 CAN ID를 해당 Signal과 매핑할 수 있습니다. 즉, DBC 파일은 CAN Message의 Payload를 실제 물리적 Signal 값으로 변환하는 데 필요한 정보를 제공합니다.

CAN ID 0x181에 대한 디코딩 규칙이 포함된 CAN DBC 파일이 있다면, DBC 파일에 정의된 정보를 이용하여 다음 데이터를 디코딩할 수 있습니다.

DBC 파일의 주요 기능 중 하나는 CAN Message와 Signal을 디코딩하기 위한 규칙을 정의하는 것입니다. 다음은 DBC 파일에서 발췌한 테스트 데이터의 예입니다.

위의 DBC 정보를 기준으로 다음과 같은 디코딩 정보를 확인할 수 있습니다.

위의 디코딩 규칙을 적용하면 앞에서 확인한 Raw CAN Data를 다음과 같은 정보로 디코딩할 수 있습니다.

위 예제와 같이 DBC 파일에 정의된 설정을 이용하면 특정 CAN ID에 해당하는 CAN 데이터가 나타내는 실제 값을 올바르게 디코딩할 수 있습니다. DBC 파일에는 CAN Message와 Signal의 구조 및 정의가 포함되어 있으므로, Raw CAN Data를 해석하여 해당 물리적 값으로 변환하고 시스템에서 CAN을 통해 전달되는 정보를 처리할 수 있습니다.
DBC 파일은 구조와 형식상 직접 읽거나 편집하기 어려울 수 있으므로, DBC Editor를 이용하면 사용자 정의 DBC 파일을 보다 편리하게 작성하고 수정할 수 있습니다. 대표적으로 사용되는 DBC Editor 중 하나는 Vector Informatik GmbH에서 개발한 Vector CANdb++입니다. 그래픽 기반 인터페이스를 통해 DBC 파일을 생성 및 편집하고, Message와 Signal을 추가할 수 있으며, Message ID, Start Bit, Length, Scaling Factor, Offset 등의 관련 속성을 설정할 수 있습니다.

Smart Display GUI Builder는 Custom CAN ID 프로젝트를 손쉽게 구성할 수 있는 직관적인 인터페이스를 제공합니다. DBC 파일을 불러온 후 Message/Signal을 해당 Widget과 연결하면 Smart Display에서 CAN 데이터를 표시하고 상호 연동할 수 있습니다. 다음에서는 Smart Display GUI Builder에서 Custom CAN ID 프로젝트를 생성하고 DBC 파일과 Widget 간의 연동 관계를 설정하는 방법을 단계별로 설명합니다.
Project 이름을 입력하고 Smart Display Device Type을 선택한 다음, Protocol에서 "Custom CAN Id (CANbus)"를 선택하여 Custom CAN ID 프로젝트를 생성합니다.

DBC Viewer 페이지로 이동한 후 "Load DBC File"을 클릭하여 사용자 정의 DBC 파일을 불러옵니다. 파일을 불러오면 DBC 파일에 정의된 Message, Signal 및 관련 설정 정보를 확인할 수 있습니다.

Gauge 객체를 선택한 후 Gauge 속성의 CAN Signal 항목에서 Message를 EEC1로, Signal을 EngSpeed로 설정합니다. 이렇게 설정하면 Gauge가 EngSpeed와 연결되며, Gauge에 표시되는 값은 EngSpeed 값에 따라 변경됩니다.

Horizontal Slider 객체를 선택한 후 Horizontal Slider 속성의 CAN Signal 항목에서 Message를 HorizontalSliderMessage로, Signal을 HorizontalSliderSignal1로 설정합니다. 이렇게 설정하면 Horizontal Slider가 HorizontalSliderSignal1과 연결되며, Horizontal Slider의 값은 HorizontalSliderSignal1 값에 따라 변경됩니다.

"Simulator With GUI" 아이콘을 클릭하여 시뮬레이터를 실행합니다.

시뮬레이터를 실행한 후 화면 하단의 EngSpeed Slider를 움직여 Host에서 EngSpeed 데이터를 전송하는 상황을 시뮬레이션하고, 시뮬레이터의 Gauge가 이에 따라 변경되는지 확인합니다. 오른쪽의 Message Log에서는 CAN ID와 CAN Data의 변화를 확인할 수 있습니다. 또한 시뮬레이터의 Horizontal Slider를 조작하여 Device에서 데이터를 전송하는 동작도 시뮬레이션할 수 있습니다.

시뮬레이터를 통해 기능을 확인하고 정상적으로 동작하는 것을 확인한 후 Device에 연결하여 Project 설정을 Smart Display에 업로드합니다.

Project 업로드 및 업데이트가 완료될 때까지 기다립니다.

Project를 Device에 업로드한 후 Smart Display의 실제 동작을 추가로 확인할 수 있습니다. GUI Builder를 Device에 연결하고 "Test Device"를 클릭하여 Test Device Window를 연 다음 Host와 Device 간의 데이터 연동을 테스트합니다.

Test Device Window에서는 DBC 설정에 따라 Host가 해당 CAN ID와 CAN Data를 전송하는 상황을 시뮬레이션할 수 있습니다. EngSpeed Slider를 움직여 Host에서 EngSpeed 데이터를 전송하고 Smart Display의 Gauge가 이에 따라 변경되는지 확인합니다. 화면 하단의 CAN 데이터 기록에서는 CAN ID와 CAN Data를 확인할 수 있습니다. 또한 Smart Display의 Horizontal Slider를 직접 조작하여 Device에서 전송되는 데이터가 요구 사항에 맞는지 확인할 수 있습니다.


다음에서는 Custom CAN에서 사용하는 Command Protocol에 대해 설명합니다. 이러한 Command를 사용하면 Host에서 Smart Display의 페이지 전환, 밝기 조정, Buzzer 동작 등을 제어할 수 있습니다.
Command Protocol에서는 다음과 같은 CAN ID 설정을 사용합니다.
Send Command
| Header Byte (1 Byte) | Length (1 Byte) | Payload (N byte) | CRC (2 Byte) |
|---|---|---|---|
| 고정값:0x53 (S) | Value = 4 + Payload length Payload max size: 250 |
데이터 내용과 길이는 Send Command Payload를 참조하십시오. | Modbus CRC16 |
Response Command
| Header Byte (1 Byte) | Length (1 Byte) | Payload (N byte) | CRC (2 Byte) |
|---|---|---|---|
| 고정값:0x52 (R) | Value = 4 + Payload length Payload max size: 250 |
데이터 내용과 길이는 Response Command Payload를 참조하십시오. | Modbus CRC16 |
각 Command Payload에 대한 설명은 다음과 같습니다.
| Command Code | 1 Byte | 0x6 |
| Brightness | 1 Byte | Brightness value |
Response Command
| Command Code | 1 Byte | 0x6 |
| Error Code | 1 Byte | 0:Success 1:Failed |
| Command Code | 1 Byte | 0x7 |
| Cycle | 1 Byte | Cycle value |
| High | 1 Byte | High value |
| Low | 1 Byte | Low value |
Response Command
| Command Code | 1 Byte | 0x7 |
| Error Code | 1 Byte | 0:Success 1:Failed |
| Command Code | 1 Byte | 0x8 |
| Page Index | 1 Byte | Page Index value |
Response Command
| Command Code | 1 Byte | 0x8 |
| Error Code | 1 Byte | 0:Success 1:Failed |
| Command Code | 1 Byte | 0xA |
Response Command
| Command Code | 1 Byte | 0xA |
| Error Code | 1 Byte | 0:Success 1:Failed |
| High | 1 Byte | Page Count value |
| Command Code | 1 Byte | 0xF |
Response Command
| Command Code | 1 Byte | 0xF |
| Error Code | 1 Byte | 0:Success 1:Failed |
| Page Index | 1 Byte | Page Index value |
| Command Code | 1 Byte | 0x20 |
| Device State | 1 Byte | 0: ConfigMode 1: DisplayMode |
Response Command
| Command Code | 1 Byte | 0x20 |
| Error Code | 1 Byte | 0:Success 1:Failed |

페이지를 전환할 때는 먼저 Device State를 ConfigMode로 설정한 다음 페이지 전환 Command를 전송합니다. 페이지 전환 Command가 완료되면 Device State를 다시 DisplayMode로 설정합니다. Command 실행 순서는 다음과 같습니다.

Custom CAN ID 프로토콜을 사용하면 표준 DBC 파일을 통해 CAN ID와 CAN Data를 정의하고, Smart Display GUI Builder에서 Message/Signal을 해당 Widget과 연결하여 CAN 데이터를 HMI 인터페이스와 연동할 수 있습니다. CANopen이나 J1939와 같은 보다 포괄적인 통신 프로토콜이 필요하지 않은 애플리케이션의 경우, Custom CAN ID는 DBC 설정을 기반으로 Host와 Smart Display를 보다 간편하게 연동할 수 있는 방법을 제공합니다.
실제 Smart Display Device에 연결하기 전에 Smart Display GUI Builder의 시뮬레이션 기능을 사용하여 DBC 설정, CAN 데이터 및 Widget 간의 연동이 정상적으로 이루어지는지 미리 확인할 수도 있습니다.
"모든 쿠키 허용"을 클릭하면 사이트 탐색을 개선하고, 사이트 사용을 분석하며, 마케팅 및 성능 노력에 도움을 주기 위해 쿠키를 귀하의 장치에 저장하는 데 동의한 것으로 간주됩니다. 이 주제에 대한 추가 정보는 당사의 정책에서 확인할 수 있습니다. 개인정보 보호정책