最近在使用 Matlab_Simulink 進行開發的過程中,遇到總線使用不當或未按規則使用所導致的故障問題。在此總結記錄其中關鍵的兩點如下,實際上都是總線信號名稱的問題:
一、總線信號名稱定義
創建總線的模塊 Bus Creator,其輸入端的信號可命名也可不命名,但在后一級 Bus Creator 總線創建模塊會產生不同的效果。
1、如下圖,O_Bus_Crtr 模塊后端的連線未定義名稱
11.png (9.54 KB, 下載次數: 57)
下載附件
2023-6-24 17:54 上傳
2、在其后一級的總線創建模塊 Bus Creator 的輸入端對應的信號為 signal4 (前3個已命名),可見未命名時系統會自動添加名稱,但均以 "signal+序號" 進行命名。
22.png (47.36 KB, 下載次數: 47)
下載附件
2023-6-24 17:54 上傳
3、將前述未命名的信號進行命名,如下
33.png (11.01 KB, 下載次數: 53)
下載附件
2023-6-24 17:55 上傳
4、再雙擊查看后一級的 Bus Creator 模塊,發現沒有了名稱為 signal4 的信號,取而代之的是名稱為 ECU_ecuCtrl 的信號。
44.png (48.09 KB, 下載次數: 57)
下載附件
2023-6-24 17:55 上傳
二、總線信號重名
如果對創建總線的模塊 Bus Creator 的輸入端口的信號均進行命名,有時會失誤將兩個甚至多個輸入的信號定義成了相同的名稱。實際當然不希望有重復的名稱定義,此時系統為了進行區分,會自動添加后綴名稱。未定義成相同名稱的情形如前面所述,輸入端口的信號定義成了相同名稱的信號列表如下:
55.png (18.04 KB, 下載次數: 48)
下載附件
2023-6-24 17:55 上傳
查看其后級的 Bus Creator 信號創建模塊的信號列表,各信號均在所命名的名稱后又添加了 "(signal n)" 的后綴名稱。
66.png (57.33 KB, 下載次數: 62)
下載附件
2023-6-24 17:55 上傳
而在后一級對應的總線信號選擇模塊 Bus Selector 的信號列表中,輸入側的信號列表與前面的實際對應。而在信號選擇側,如果之前已經按約定定義了對應的名稱,則系統無法識別將兩側的信號進行對應,從而導致了下圖中的信號選擇側列表中各信號的前綴均出現了 "???" 字符。
77.png (93.6 KB, 下載次數: 55)
下載附件
2023-6-24 17:56 上傳
此時如果不予理會直接進行編譯,將出現總線模塊中找不到有關信號的錯誤如下:
88.png (20.47 KB, 下載次數: 60)
下載附件
2023-6-24 17:56 上傳
99.png (24.22 KB, 下載次數: 51)
下載附件
2023-6-24 17:57 上傳
實際上,如果出現信號命名重復的情形時,在 Matlab 的命令窗口中也會給出響應的告警信息,可見有時對于告警信息完全不予理會時不可取的。
AA.png (17.63 KB, 下載次數: 53)
下載附件
2023-6-24 17:57 上傳
|