許多使用者在熟悉操作MR2後,往往希望進一步進行自動化實驗,以便在開發驅動器的過程中,以快速便捷的方式執行多項測試,此時MR2可連接通訊模組,讓使用者透過通訊機制配置MR2內部參數,從而實現自動化功能。本文將逐步介紹通訊模組,幫助讀者快速理解整體系統之操作方式,其內容涵蓋Master與Slave之間的傳輸機制,以及模組功能簡介。

通訊模組之Physical layer為RS-485,採取Request-response model通訊機制進行傳輸,而通訊模組之相關腳位SG+與SG-,對應至RS-485 Differential signal腳位,其系統連接方式參考(圖2)所示。

通訊模組之Data link layer採用類似Modbus RTU封包格式進行傳輸,具體封包格式將於後文逐一說明,當使用者發送Request packet後,MR2將執行對應的功能,目前通訊模組共提供4種功能,其內容如(表1)所示。

通訊模組提供4種功能,每項功能皆對應特定的封包格式,首先介紹讀取參數值功能(0x3),此功能可用於讀取MR2相關參數,例如多種類型的參數表內容,或示波器的相關變數等,當使用者發送Request packet後,模組會回傳Response packet,使用者可根據Response packet的內容,判斷操作是否成功,其封包格式如(圖3)所示。

接下來進一步說明讀取功能中Request packet與Response packet的內容,對應的內容可參考(圖4)所示:
1. Address由Group與Index組成,例如讀取Input voltage and feedback signal scaling setup參數表中的3-Ph AC Source (RMS)數值,Address為0x0001,而Group與Index具體定義可參考通訊模組手冊
2. Data資料型態為SGL(單精度浮點數),例如數值為380時,其Binary表示為0x43BE0000
3. Length在Request packet與Response packet中的定義不同,Request packet為欲讀取的參數數量,而Response packet則為Data所佔用之Byte數量,例如若欲讀取1個參數,此時Request packet的Legnth為1,而Response packet的Length則為4 ,因為1個SGL長度為4 Bytes
4. CRC校驗計算方式,可參考通訊模組手冊

接著介紹讀取參數名稱(0x63)功能,此功能可用於讀取多個MR2參數名稱,而參數名稱實際為一組字串,因此需以ASCII Code解析Response packet內的Data,其封包格式如(圖5)所示。

寫入參數值(0x6),此功能可用於寫入單個參數值或載入參數表檔案,其封包格式分別如(圖6)與(圖7)所示。值得一提的是MR2具有多種類型的參數表,使用者可將參數表儲存為檔案,以利於下次操作時,透過載入該參數表檔案,快速部屬所需的實驗情境。


寫入多個參數值(0x10),使用者可於指定Address下,連續寫入多個參數值。需要特別注意的是Response packet中回傳的Length表示實際寫入的參數數量,其封包格式如(圖8)所示。

我們透過前文的介紹,已了解通訊模組如何與MR2搭配使用,並簡要說明各功能及封包格式。由於通訊模組採用相對常見的通訊機制,客戶在掌握通訊機制後,透過上述功能可進而實現自動化操作。此外,除了通訊模組,另有一款CAN FD模組,也常被應用於自動化操作或與第三方RT系統進行聯合仿真,因此使用者可根據應用需求挑選合適的模組。
凱登將陸續推出MR2軟體特色、電機模型解析、編碼器驗證、各式外掛模組、應用案例等文章,敬請期待。
如有任何問題歡迎請隨時聯繫我們,並給與我們指教。
Comments