?
CANbus (Controller Area Network) 即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的開(kāi)放式現(xiàn)場(chǎng)總線(xiàn)之一。作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CANbus已被廣泛應(yīng)用到各個(gè)自動(dòng)化控制系統(tǒng)中。例如,在汽車(chē)電子、自動(dòng)控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等各領(lǐng)域。
德國(guó)ExpertControl公司的CANbus專(zhuān)用工具包是一套基于Matlab和Simulink仿真環(huán)境,直接對(duì)CANbus數(shù)據(jù)流作實(shí)時(shí)的存取,感應(yīng)和監(jiān)控。CANbus專(zhuān)用工具包的讀寫(xiě)功能模塊,能像標(biāo)準(zhǔn)的Matlab模塊和Simulink庫(kù)一樣在Matlab和Simulink中直接使用。

?
Canbus工具包硬件設(shè)備
CANbus工具包的硬件設(shè)備,包括在筆記本中使用的PCMCIA卡或在臺(tái)式機(jī)中使用的PCI卡。這些硬件設(shè)備的作用是實(shí)時(shí)的將CANbus數(shù)據(jù)耦合到計(jì)算機(jī)中,這樣Simulink才可以訪(fǎng)問(wèn)CANbus數(shù)據(jù)。
CANbus工具包也可以使用USB接口來(lái)訪(fǎng)問(wèn)CANbus。提供最多10個(gè)CANbus通道。
?
Matlab中的操作步驟
一般可以從Matlat命令行或程序界面調(diào)用四個(gè)功能函數(shù): (1) 初始化,(2)從Canbus讀數(shù),(3) 寫(xiě)入Canbus (4)停止Canbus訪(fǎng)問(wèn)。
在Simulink中的訪(fǎng)問(wèn)和建模步驟
訪(fǎng)問(wèn)Canbus的步驟如下:
為了方便在Simulink中建模,CANbus Toolset提供如圖所示定義菜單。所有信號(hào)通過(guò)Canbus識(shí)別器定義,包含數(shù)據(jù)和Simulink訪(fǎng)問(wèn)名稱(chēng)(SAN)。這些數(shù)位和字節(jié)只需定義一次,在Simulink建模和仿真時(shí)就不再需要關(guān)心硬件方面的細(xì)節(jié)。這個(gè)仿真模型可以通過(guò)用戶(hù)定義的名稱(chēng),SAN,寫(xiě)回Canbus。

?
2. Simulink建模
Simulink模型需包含Canbus特定的模塊,這些模塊可以被CANbus Toolset模塊庫(kù)"canlib"訪(fǎng)問(wèn)。一般這些庫(kù)包括三個(gè)模塊:
? ModelControlBlock 對(duì)每個(gè)仿真模型使用一次。
? FromCanBlock 將按需要多次被仿真模塊使用。
? ToCanBlock將按需要多次被仿真模塊使用。
3. 定義"Canbus Read Activities"
Canbus的讀取功能是由上述模塊提供的。通過(guò)Simulink標(biāo)準(zhǔn)的方法實(shí)現(xiàn)參數(shù)化。
評(píng)論