隨著工業自動化和信息化的快速發展,不同系統之間需要高效、靈活地進行數據交互與通信。然而,各系統往往采用不同的通信協議和報文格式,導致數據傳輸存在兼容性問題。軟件網關應運而生,它通過圖形界面配置、零代碼開發的方式,實現報文的靈活映射與轉發。這種模塊化設計不僅降低了開發難度和成本,還提高了系統的可擴展性和維護性,能夠滿足復雜多變的工業場景需求,為系統集成與數據交互提供了有力支持。本文重點介紹軟件網關的兩個功能:報文轉發功能和繞過預發送事件的報文轉發功能。
本文關鍵詞:軟件網關,報文轉發,注入故障
目錄
Catalog
1. 概述
2. 典型應用
3.軟件網關功能實現
4. 縮寫
1
概述
軟件網關模塊是一款基于圖形界面配置、零代碼的報文映射轉發工具。它支持創建報文轉發列表,可靈活配置源通道和目標通道,實現報文實時轉發。同時,借助信號生成器,還能修改目標通道數據,支持多種信號模式。適用于報文故障注入及Rolling Counter信號變化發送等場景,為數據交互與測試提供高效解決方案。
2
典型應用
軟件網關在工業自動化領域有典型應用。例如,在汽車制造工廠的生產線上,軟件網關可連接不同設備和傳感器,實時采集生產數據并轉發至監控系統。同時,它能通過信號生成器模擬故障數據,注入到報文轉發過程中,用于測試設備的故障響應能力。此外,軟件網關還可新增Rolling Counter信號變化發送,優化設備間的協同工作,提高生產效率和產品質量。
3
軟件網關功能實現
本文主要介紹軟件網關功能的兩個功能:
1. 報文轉發功能;
2. 繞過預發送事件的報文轉發功能
3.1 報文轉發功能實現
3.1.1 工程環境準備
▲ 需求:
將通道2發送的ID 0x64報文,經通道1接收后,從通道3轉發出去,再通過通道4接收。
▲ 文件:
示例DBC文件:CAN_FD_Powertrain.dbc。
▲ 軟件網關模塊位置:
TSMaster - > 測試 - > 測試工具 - > 軟件網關。
3.1.2 報文轉發操作過程
操作步驟如下:
步驟1:在報文發送窗口中,用戶可以添加一幀或多幀報文,支持直接添加原始報文,或從數據庫中選擇報文進行添加,并可指定報文對應的通道,如圖1所示。

圖1: 添加發送報文
步驟2:在已添加的報文中,用戶可選中一個或多個信號,并為其設置信號生成器的類型,包括正弦、斜坡脈沖、值范圍、切換、隨機、自定義以及系統變量。若未設置信號生成器,則信號保持默認狀態,即“無”狀態。如圖2所示。

圖2: 添加發送報文
步驟3:在軟件網關窗口,以相同方式添加具有相同ID的報文,并激活相應信號。若未設置信號生成器,轉發的報文信號保持不變;若設置了信號生成器,則轉發的報文信號將按照生成器的設置進行發送。同時,需設置報文的源通道和目的通道。例如,若報文發送窗口中ID為0x64的報文從通道2發送并在通道1接收,則軟件網關中該報文的源通道為通道1,目的通道可設置為通道3或通道4。如圖3所示。

圖3: 添加發送報文
3.1.3 報文轉發實現效果
在報文發送后,報文信息窗口會顯示正常發送的報文和已轉發的報文。例如,ID為0x64的報文中的Engspeed信號,以值范圍形式從通道2發送,并在通道1接收。隨后,通道3將通道1接收到的ID為0x64的報文以正弦形式轉發出去,最終由通道4接收,從而實現預期效果。如圖4、5、6所示。

圖4:軟件網關原理圖

圖5:報文轉發后效果

圖6: 信號波形展示
3.2繞過預發送事件功能
3.2.1繞過預發送事件操作過程
操作步驟如下:
步驟1:在完成報文轉發操作后,進一步添加C小程序的預發送事件,用于修改ID為0x64的報文中Engspeed信號的值,如圖7所示。

圖7: 添加預發送事件
步驟2:激活軟件網關中的繞過預發送事件,如圖8所示。

圖8:激活繞過預發送事件
3.2.2繞過預發送事件實現效果
在激活繞過預發送事件之前,Engspeed信號值始終為預發送事件中設置的10。激活繞過功能后,通過圖形波形可以看到,通道3和通道4上ID為0x64的報文中的Engspeed信號值恢復為軟件網關中設定的正弦波形值,從而實現了預期的效果。如圖9所示。

圖9:繞過預發送事件實現效果
4
縮寫
DBC | Database CAN |
CAN | Controller Area Network |
CAN FD | CAN with Flexible Data-Rate |
ID | Identifier |
-
網關
+關注
關注
9文章
5258瀏覽量
52444 -
MASTER
+關注
關注
0文章
105瀏覽量
11605 -
工業自動化
+關注
關注
17文章
2652瀏覽量
68092
發布評論請先 登錄
評論