我們重視您的隱私
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。
Smart Display 目前支援 CAN bus 硬體通訊介面,並使用 CANopen 軟體通訊協定。CANopen 是基於 CAN bus 的工業標準通訊協定,被廣泛應用於各種領域,如醫療設備、車輛、軌道交通或建築自動化。然而,使用 CANopen 協定時,客戶端需要在主機端實作相應的 CANopen 通訊機制,這可能會增加僅希望使用 CAN bus 進行通訊之應用的開發複雜度。因此,為了簡化客戶的使用,我們設計出新的 Custom CAN ID 協定,其不需要在客戶端實作 CANopen 協定,只需要透過自訂的 DBC 檔案設定資料,就能輕易地將 CAN ID / 資料和顯示器上的 Widget 相關聯,從而實現即時互動。此種互動方式可以幫助客戶更好地掌握和控制系統中的資料,並達到彈性高、維護方便等目的。
Custom CAN ID 協定主要是透過 DBC(CAN Database)檔案來設定資料及其與顯示器上 Widget 之間的互動方式。DBC 檔案是用來定義系統中的 CAN ID、訊息格式及解碼資訊等相關內容的重要工具。使用自訂的 DBC 檔案可以輕鬆地將不同的 CAN ID / 資料和顯示器上的 Widget 相關聯,這樣就可以實現即時互動。例如,透過 CAN ID / 資料來控制顯示器上的圖形或文字,顯示器上的按鈕或滑桿可以用來控制 CAN 的資料。這種互動方式可以幫助客戶更好地掌握和控制系統中的資料。
DBC 檔案通常是 ASCII 純文字檔,其中包含各種關於在 CAN bus 上傳輸的物理訊號資訊,包括訊號的 CAN ID、名稱、轉換比例、定義等。這些檔案用於將原始的 CAN 資料解碼成有意義的值,並將不同的 CAN ID 對應至其相應的訊號。DBC 檔案提供了將 CAN 訊息有效負載轉換為物理訊號值所需的資訊。

假設已有 CAN DBC 檔案,且檔案中包含 CAN ID(0x181)的解碼規則設定,即可透過 DBC 檔案中的資訊解碼出以下內容。

DBC 檔案的主要功能之一是描述 CAN 訊息與訊號的解碼規則。以下為 DBC 檔案節錄的測試資料:

由上述 DBC 資訊可取得以下解碼資訊:

根據上述解碼規則,可將先前取得的 Raw CAN Data 解碼為以下資訊:

透過上述範例可以了解,利用 DBC 檔案中的設定,即可正確解碼 CAN ID 與 CAN 資料所代表的實際值。DBC 檔案包含 CAN 訊息與訊號的配置資訊,可用於解析原始資料並將其轉換為對應的物理值,使系統能夠理解透過 CAN 傳輸的實際資訊。
由於 DBC 檔案的內容與格式較不易直接閱讀及編輯,因此可使用 DBC 編輯器協助建立及編輯自訂 DBC 檔案。其中一款常用的 DBC 編輯器為 Vector CANdb++,由 Vector Informatik GmbH 開發,可用於建立及編輯 DBC 檔案,並透過圖形化介面新增訊息與訊號,以及定義訊息和訊號的相關屬性,例如訊息 ID、起始位元、長度、縮放比例與偏移量等。

Smart Display GUI Builder 提供直觀的操作介面,可協助使用者建立 Custom CAN ID 專案。只需匯入 DBC 檔案,並設定訊息/訊號與對應 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 進行測試。

透過 Test Device Window,可模擬 Host 端依據 DBC 設定送出對應的 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。透過這些指令,Host端可輕鬆控制SmartDisplay,包括換頁、調整背光亮度,或者使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 |

切換Page 時, 需要先設定Device State 為ConfigMode, 之後在下換頁命令, 結束換頁命令後, 就再設定Device State Mode 為Display Mode, 即可完成換頁的命令, 相關命令順序如下:

透過 Custom CAN ID 協定,使用者可利用標準 DBC 檔案定義 CAN ID 與 CAN Data,並透過 Smart Display GUI Builder 建立 Message / Signal 與 Widget 之間的關聯,完成 CAN 資料與 HMI 介面的整合。對於不需要導入 CANopen 或 J1939 等較完整通訊協定的應用,Custom CAN ID 提供了較簡化的整合方式,讓 Host 與 Smart Display 之間可依 DBC 設定進行資料交換與介面互動。
在連接實際 Smart Display 裝置之前,也可先使用 Smart Display GUI Builder 的模擬功能驗證 DBC、CAN 資料與 Widget 的互動設定。
通過點擊「允許所有 Cookie」,代表您同意在您的設備上存儲 Cookie 以增強網站瀏覽體驗、分析網站使用情況並協助我們的行銷和網站效能優化工作。您可以在我們的隱私權政策中找到有關於此的更多資訊。