top of page

Gathertech Python API

  • 22小时前
  • 讀畢需時 3 分鐘

MR2 Advance硬體在環模擬平台(Hardware in the loop, HIL),核心價值在於為馬達驅動系統提供高擬真度的即時模擬環境。隨著客戶端逐步導入敏捷開發與更頻繁的系統軟體迭代,HIL應用情境也從功能驗證演進到自動化驗證與數據分析,因此我們正式推出Python API,使用者可透過Python存取MR2 Advance,並根據自身的測試情境實作自動化腳本,進而搭配第三方Library對HIL產生的數據,進行數據分析。

(圖一) Python與 MR2 Advance 硬體平台結合
(圖一) Python與 MR2 Advance 硬體平台結合

我們推出的 Python API,本質上是基於標準的 TCP/IP 網路連線,並採用 JSON 格式,進行資料封包的交互與控制,其設計目的為提高系統開放性。由於Python具備數學處理、資料分析等強大優勢,Python API可幫助使用者快速架設連線與通訊機制,但TCP + JSON機制完全不侷限於 Python語言。使用者開發環境若能夠建立 TCP 連線並發送符合規範的 JSON字串,無論使用何種程式語言,皆能以相同機制存取MR2 Advance,此通訊架構為客戶的自動化系統整合帶來更高的自由度。

(圖二) TCP + JSON 通訊機制
(圖二) TCP + JSON 通訊機制

為了幫助大家更具體了解這套通訊機制的運作方式,我們透過一個實際的 JSON 指令封包進行說明,如(圖三)所示


JSON 封包格式:

  1. CMD:指定本次操作類型,使用者可輸入WR(Write)或RD(Read)

  2. Category:指定操作的參數類別,HIL平台提供多種模組化分類(如PR、Motor、UI等),完整參數定義請參閱官方說明書

  3. Data: 指定操作的參數名稱與數值


(圖三) JSON格式
(圖三) JSON格式

下面將為各位說明如何搭配我們的 Python API 結合第三方工具,實現自動化測試報告。首先透過Python存取MR2 Advance,使其依序完成電網參數配置、Scope控制,儲存 Scope 歷史數據。接著利用 Matplotlib 針對直流母線電壓(DC Bus)進行波形繪製。為了對DC Bus的連續性資料進行分析,使用者可透過 NumPy 或 Python 內建函式進行資料處理,在此範例中,系統會求出其最大值、最小值與平均值。當數據與波形圖皆準備就緒後,便進入報告生成階段,這裡推薦的手法是先透過Excel建立標準報告範本,可於Excel圖形界面內,直覺且快速規劃整體報表的字體格式與呈現架構,最後再由Python將數據與波行圖填入範本,最終輸出正式的PDF檔案,其自動化整合結果如(圖四)所示。

(圖四) Python自動化報表
(圖四) Python自動化報表

過去我們已有推出 RS-485 與 CAN FD 等通訊模組,使用者可透過這兩種通訊協議與我們MR2進行資料交握,憑藉著極低的通訊延遲與硬體級的穩定性,非常適合用於產線自動化或是與其他硬體模擬設備(例如 CarSim 車輛模擬軟體)進行硬體級的聯合模擬(Co-simulation)。然而,隨著自動化需求從設備交握延伸至數據分析,因此為了提供使用者能更有效率進行數據分析,我們正式推出 Python API,使用者可透過Python存取MR2 Advance數據,並自由結合如Numpy或Matplotlib等第三方數據分析Library,甚至更進而開發符合內部標準的自動化報表等功能。


凱登將陸續推出MR2軟體特色、電機模型解析、編碼器驗證、各式外掛模組、應用案例等文章,敬請期待。

 

如有任何問題歡迎請隨時聯繫我們,並給與我們指教。

留言


Gathertech Intelligent Automation CO., LTD. | Tainan, Taiwan

Copyright © 凱登智動科技(Gathertech Intelligent Automation CO., LTD.) 版權所有

bottom of page