私たちはあなたのプライバシーを大切にします
「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー
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ファイルは通常、ASCII形式のプレーンテキストファイルで、CANバス上で伝送される物理信号に関する情報が記述されています。主な情報には、CAN ID、信号名、スケーリング係数、信号定義などがあります。DBCファイルを使用することで、Raw CAN Dataを意味のある値にデコードし、各CAN IDに対応する信号を特定できます。また、CANメッセージのペイロードを実際の物理値へ変換するために必要な情報も定義されています。

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

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

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

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

この例のように、DBCファイルに定義された情報を使用することで、CAN IDに対応するCAN Dataを正しくデコードし、実際の値を取得できます。DBCファイルにはCANメッセージや信号のレイアウトおよび定義が記述されており、Raw CAN Dataを解析して対応する物理値に変換することで、CAN経由で伝送された情報をシステム上で扱えるようになります。
DBCファイルは構造や記述形式が複雑なため、テキストを直接確認しながら作成・編集するのは容易ではありません。そのため、カスタムDBCファイルの作成や編集にはDBCエディタを使用できます。代表的なDBCエディタの一つに、Vector Informatik GmbHが提供するVector CANdb++があります。グラフィカルなインターフェース上でDBCファイルを作成・編集でき、メッセージや信号の追加、メッセージID、開始ビット、データ長、スケーリング係数、オフセットなどの各種属性を設定できます。

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の機種を選択し、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を送信します。ページ切り替え処理の完了後、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に接続する前に、Smart Display GUI Builderのシミュレーション機能を使用して、DBC設定、CANデータ、Widget間の連携動作を確認することもできます。
「すべてのクッキーを許可」をクリックすると、サイトのナビゲーションを向上させ、サイト使用状況を分析し、マーケティングおよびパフォーマンスの取り組みを支援するために、クッキーをデバイスに保存することに同意したことになります。この件に関する詳細情報は、ポリシーをご覧ください。プライバシーポリシー