|
最近在使用 Matlab_Simulink 進(jìn)行開(kāi)發(fā)的過(guò)程中,遇到總線使用不當(dāng)或未按規(guī)則使用所導(dǎo)致的故障問(wèn)題。在此總結(jié)記錄其中關(guān)鍵的兩點(diǎn)如下,實(shí)際上都是總線信號(hào)名稱的問(wèn)題:
一、總線信號(hào)名稱定義
創(chuàng)建總線的模塊 Bus Creator,其輸入端的信號(hào)可命名也可不命名,但在后一級(jí) Bus Creator 總線創(chuàng)建模塊會(huì)產(chǎn)生不同的效果。
1、如下圖,O_Bus_Crtr 模塊后端的連線未定義名稱
2、在其后一級(jí)的總線創(chuàng)建模塊 Bus Creator 的輸入端對(duì)應(yīng)的信號(hào)為 signal4 (前3個(gè)已命名),可見(jiàn)未命名時(shí)系統(tǒng)會(huì)自動(dòng)添加名稱,但均以 "signal+序號(hào)" 進(jìn)行命名。
3、將前述未命名的信號(hào)進(jìn)行命名,如下
4、再雙擊查看后一級(jí)的 Bus Creator 模塊,發(fā)現(xiàn)沒(méi)有了名稱為 signal4 的信號(hào),取而代之的是名稱為 ECU_ecuCtrl 的信號(hào)。
二、總線信號(hào)重名
如果對(duì)創(chuàng)建總線的模塊 Bus Creator 的輸入端口的信號(hào)均進(jìn)行命名,有時(shí)會(huì)失誤將兩個(gè)甚至多個(gè)輸入的信號(hào)定義成了相同的名稱。實(shí)際當(dāng)然不希望有重復(fù)的名稱定義,此時(shí)系統(tǒng)為了進(jìn)行區(qū)分,會(huì)自動(dòng)添加后綴名稱。未定義成相同名稱的情形如前面所述,輸入端口的信號(hào)定義成了相同名稱的信號(hào)列表如下:
查看其后級(jí)的 Bus Creator 信號(hào)創(chuàng)建模塊的信號(hào)列表,各信號(hào)均在所命名的名稱后又添加了 "(signal n)" 的后綴名稱。
而在后一級(jí)對(duì)應(yīng)的總線信號(hào)選擇模塊 Bus Selector 的信號(hào)列表中,輸入側(cè)的信號(hào)列表與前面的實(shí)際對(duì)應(yīng)。而在信號(hào)選擇側(cè),如果之前已經(jīng)按約定定義了對(duì)應(yīng)的名稱,則系統(tǒng)無(wú)法識(shí)別將兩側(cè)的信號(hào)進(jìn)行對(duì)應(yīng),從而導(dǎo)致了下圖中的信號(hào)選擇側(cè)列表中各信號(hào)的前綴均出現(xiàn)了 "???" 字符。
此時(shí)如果不予理會(huì)直接進(jìn)行編譯,將出現(xiàn)總線模塊中找不到有關(guān)信號(hào)的錯(cuò)誤如下:
實(shí)際上,如果出現(xiàn)信號(hào)命名重復(fù)的情形時(shí),在 Matlab 的命令窗口中也會(huì)給出響應(yīng)的告警信息,可見(jiàn)有時(shí)對(duì)于告警信息完全不予理會(huì)時(shí)不可取的。
|
評(píng)分
-
查看全部評(píng)分
|