ホーム ソリューション Smart Display Custom CAN ID プロトコルの概要

Smart Display Custom CAN ID プロトコルの概要

May 04,2023

イントロダクション

Smart Displayは、CANバスのハードウェア通信インターフェースに対応しており、通信プロトコルとしてCANopenを使用できます。CANopenはCANバスをベースとした産業用通信プロトコルとして、医療機器、車載機器、鉄道関連機器、ビルオートメーションなど、幅広い分野で利用されています。一方、CANopenを使用する場合、ホスト側にCANopenに対応した通信処理を実装する必要があるため、シンプルなCANバス通信を必要とするアプリケーションでは、システム構築が複雑になる場合があります。そこでWINSTARでは、CANopenをホスト側に実装することなく利用できるCustom CAN IDプロトコルを開発しました。カスタムDBCファイルを使用してCAN IDやデータとSmart Display上のWidgetを関連付けることで、CANデータと表示画面をリアルタイムに連携できます。これにより、システムデータの把握や制御が容易になり、柔軟性とメンテナンス性に優れたシステムを構築できます。

Custom CAN IDプロトコルでは、主にDBC(CAN Database)ファイルを使用してCANデータを設定し、Smart Display上のWidgetとの連携方法を定義します。DBCファイルには、CAN ID、メッセージフォーマット、デコード情報など、CAN通信に必要な情報が定義されています。カスタムDBCファイルを使用することで、各CAN IDやデータをSmart Display上のWidgetに関連付け、リアルタイムに連携させることができます。例えば、受信したCAN IDやデータに応じて画面上のグラフィックやテキストを更新したり、Smart Display上のボタンやスライダーの操作に応じてCANデータを送信したりすることができます。このような双方向の連携により、システムデータの表示と操作をSmart Display上で効率的に行うことができ、柔軟でメンテナンスしやすいHMIシステムを構築できます。

DBCファイルについて

DBCファイルは通常、ASCII形式のプレーンテキストファイルで、CANバス上で伝送される物理信号に関する情報が記述されています。主な情報には、CAN ID、信号名、スケーリング係数、信号定義などがあります。DBCファイルを使用することで、Raw CAN Dataを意味のある値にデコードし、各CAN IDに対応する信号を特定できます。また、CANメッセージのペイロードを実際の物理値へ変換するために必要な情報も定義されています。

Raw CAN Dataのデコード例

raw-can-data-testing-data-example01

CAN ID 0x181のデコードルールが定義されたCAN DBCファイルがある場合、DBCファイルの定義に基づいて、以下のデータをデコードできます。

raw-can-data-testing-data-example02

DBCファイルの主な役割の一つは、CANメッセージおよび信号のデコードルールを定義することです。以下は、DBCファイルから抜粋したテストデータの例です。

test-data-description-excerpted-from-dbc-file01

上記のDBC情報から、以下のデコード情報を確認できます。

test-data-description-excerpted-from-dbc-file02

上記のデコードルールに基づいて、先ほどのRaw CAN Dataを以下のようにデコードできます。

test-data-description-excerpted-from-dbc-file03

この例のように、DBCファイルに定義された情報を使用することで、CAN IDに対応するCAN Dataを正しくデコードし、実際の値を取得できます。DBCファイルにはCANメッセージや信号のレイアウトおよび定義が記述されており、Raw CAN Dataを解析して対応する物理値に変換することで、CAN経由で伝送された情報をシステム上で扱えるようになります。

DBCエディタ

DBCファイルは構造や記述形式が複雑なため、テキストを直接確認しながら作成・編集するのは容易ではありません。そのため、カスタムDBCファイルの作成や編集にはDBCエディタを使用できます。代表的なDBCエディタの一つに、Vector Informatik GmbHが提供するVector CANdb++があります。グラフィカルなインターフェース上でDBCファイルを作成・編集でき、メッセージや信号の追加、メッセージID、開始ビット、データ長、スケーリング係数、オフセットなどの各種属性を設定できます。

dbc-editor

Smart Display GUI Builder – Custom CAN IDの設定

Smart Display GUI Builderでは、Custom CAN IDプロジェクトを簡単に作成できます。DBCファイルをインポートし、Message/Signalと対応するWidgetを関連付けることで、Smart Display上でCANデータの表示や操作が可能になります。以下では、Smart Display GUI BuilderでCustom CAN IDプロジェクトを作成し、DBCファイルとWidgetの関連付けを設定する手順について説明します。

Custom CAN IDプロジェクトの作成

Project名を入力してSmart Displayの機種を選択し、Protocolで「Custom CAN Id (CANbus)」を選択すると、Custom CAN IDプロジェクトを作成できます。

create-custom-can-project

カスタムDBCファイルのインポート

DBC Viewer画面に切り替え、「Load DBC File」をクリックしてカスタムDBCファイルをインポートします。インポート後、DBCファイルに定義されているMessage、Signal、および関連する設定情報を確認できます。

import-custom-dbc-file

GaugeとHorizontal Slider Widgetの設定

Gaugeオブジェクトを選択し、GaugeのプロパティにあるCAN Signal欄で、MessageをEEC1、SignalをEngSpeedに設定します。これにより、GaugeとEngSpeedが関連付けられ、Gaugeの表示値がEngSpeedの値に応じて変化します。

add-gauge-and-horizontal-slider-widget-in-the-main-page

Horizontal Sliderオブジェクトを選択し、Horizontal SliderのプロパティにあるCAN Signal欄で、MessageをHorizontalSliderMessage、SignalをHorizontalSliderSignal1に設定します。これにより、Horizontal SliderとHorizontalSliderSignal1が関連付けられ、Horizontal SliderがHorizontalSliderSignal1の値に応じて変化します。

add-gauge-and-horizontal-slider-widget-in-the-main-page02

CAN ID/CAN DataとWidgetの連動をシミュレーション

「Simulator With GUI」アイコンをクリックしてシミュレータを起動します。

add-gauge-and-horizontal-slider-widget-in-the-main-page03

シミュレータを起動した後、画面下部のEngSpeed sliderを操作すると、Host側からEngSpeedデータを送信する動作をシミュレーションでき、シミュレータ上のGaugeの変化を確認できます。右側のMessage Logでは、CAN IDおよびCAN Dataの変化を確認できます。また、シミュレータ上のHorizontal Sliderを操作することで、Device側からデータを送信する動作もシミュレーションできます。

add-gauge-and-horizontal-slider-widget-in-the-main-page04

Smart Displayの設定を更新

シミュレータで動作を確認し、問題がないことを確認したらDeviceに接続し、Projectの設定をSmart Displayへアップロードします。

add-gauge-and-horizontal-slider-widget-in-the-main-page05

Projectのアップロードと更新が完了するまで待ちます。

add-gauge-and-horizontal-slider-widget-in-the-main-page06

DeviceのCAN ID/CAN DataとWidgetの連動を確認

ProjectをDeviceへアップロードした後、Smart Displayの動作を確認できます。GUI BuilderをDeviceに接続し、「Test Device」をクリックするとTest Device Windowが開き、HostとDevice間のデータ連動をテストできます。

verify-data-and-the-widget

Test Device Window

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側から送信されるデータが要求どおりであるかを確認することもできます。

test-device-window

Smart Displayの実機表示

actual-display-of-the-smartdisplay-device

Custom CAN Commandの説明

ここでは、Custom CANで使用するCommand Protocolについて説明します。これらのCommandを使用することで、Host側からSmart Displayのページ切り替え、輝度調整、Buzzerの制御などを行うことができます。

CAN IDの設定

Command Protocolでは、以下のCAN IDを使用します。

  • CAN Id format:29 bit
    CAN Id:0xEF0000 + 0x7B00 (default channel id. GUI Builderで変更可能)
 

Command Data Format

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 Payloadの内容は以下のとおりです。

  • Set Brightness:0x6
    Send Command
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
  • Set Buzzer:0x7
    Send Command
 
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
 
  • Set Page Index:0x8
    Send Command
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
 
  • Get Page Count:0xA
    Send Command
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
 
  • Get Current Page Index:0xF
    Send Command
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
 
  • Set Device State:0x20
    Send Command
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
 

通信例

  • 輝度を90に設定

transmission-example-set-brightness-to-90

  • Page Indexを1に切り替える
 

ページを切り替える場合は、まずDevice StateをConfigModeに設定し、その後ページ切り替えCommandを送信します。ページ切り替え処理の完了後、Device StateをDisplayModeに戻します。Commandの実行順序は以下のとおりです。

transmission-example-switch-page-index-to-1

Custom CAN IDによるCAN HMI開発の簡素化

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に接続する前に、Smart Display GUI Builderのシミュレーション機能を使用して、DBC設定、CANデータ、Widget間の連携動作を確認することもできます。

ディスプレイ ソリューションについてのご質問はあるのでしょうか。 お問合わせ!

配信申し込み

Winstar からの最新情報を受け取ります。

お問合わせ

価格/データシート/一般的なお問合せ

技術的なサポート

技術情報についてはお問合せください。

go top
お問合わせ
close

私たちはあなたのプライバシーを大切にします

「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー

私たちはあなたのプライバシーを大切にします

Winstarおよび特定の第三者は、www.winstar.com.twでクッキーを使用しています。クッキーの種類、目的、および関与する第三者に関する詳細は、以下および当社のクッキーポリシーに記載されています。「すべて許可」をクリックして、当社のクッキー使用に同意し、ウェブサイトでの最良の体験を得てください。また、設定を変更するか、必要なクッキーを除きクッキーを拒否することもできます。

同意設定の管理

常にアクティブ
必須なクッキー

これらのクッキーは、ウェブサイト内を移動したり、プライバシーの設定、ログイン、フォームの記入などの機能を使用できるようにするために不可欠です。

分析用クッキー

「統計クッキー」とも呼ばれるこれらのクッキーは、ウェブサイトの使用方法に関する情報を収集します。たとえば、どのページを訪れ、どのリンクをクリックしたかなどです。詳細を確認してください。