CANbus(Controller Area Network)即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的開放式現(xiàn)場總線之一,。作為一種技術(shù)先進(jìn),、可靠性高、功能完善,、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,,CANbus已被廣泛應(yīng)用到各個(gè)自動(dòng)化控制系統(tǒng)中。例如,,在汽車電子,、自動(dòng)控制、智能大廈,、電力系統(tǒng),、安防監(jiān)控等各領(lǐng)域。
德國ExpertControl公司的CANbus Toolset是一套基于Matlab和Simulink仿真環(huán)境,,直接對(duì)Canbus數(shù)據(jù)流作實(shí)時(shí)的存取,,感應(yīng)和監(jiān)控。CANbus Toolset的讀寫功能模塊,,能像標(biāo)準(zhǔn)的Matlab模塊和Simulink庫一樣在Matlab和Simulink中直接使用,。
CANbus工具包的硬件接口:
使用CANbus Toolset需要配置硬件設(shè)備,比如用于筆記本電腦的PCMCIA卡或用于臺(tái)式機(jī)的PCI卡采集CANbus數(shù)據(jù),,供分析軟件使用,。CANbus Toolset也可以使用USB來訪問CANbus。提供最多10個(gè)并發(fā)CANbus通道,。
圖1
Matlab中的操作步驟
一般可以從Matlab命令行或程序界面調(diào)用四個(gè)功能函數(shù): (1) 初始化,,(2)從Canbus讀數(shù),,(3) 寫入Canbus,, (4)停止Canbus訪問。
圖2
在Simulink中的訪問和建模步驟
訪問Canbus的步驟如下:
1. 定義"To CANbus Activities"
為了方便在Simulink中建模,,CANbus Toolset提供如下圖所示定義菜單,。所有信號(hào)通過CANbus識(shí)別器定義,包含數(shù)據(jù)和Simulink訪問名稱(SAN)。這些數(shù)位和字節(jié)一經(jīng)定義,,在Simulink建模和仿真時(shí)就不再需要關(guān)心硬件方面的細(xì)節(jié),。這個(gè)仿真模型可以通過用戶定義的名稱(SAN),寫回CANbus,。
2. Simulink建模
Simulink模型需包含CANbus特定的模塊,,這些模塊可以被CANbus Toolset模塊庫"canlib"訪問。這些庫包括三個(gè)模塊:
3. 定義"CANbus Read Activities"
CANbus的讀取功能是由上述模塊提供的,。通過Simulink標(biāo)準(zhǔn)的方法實(shí)現(xiàn)參數(shù)化。
4. 開始仿真
完成了上述定義,,就可以開始實(shí)時(shí)仿真了,。下面圖示了模型對(duì)CANbus的讀寫,以及通過Simulink標(biāo)準(zhǔn)顯示模塊輸出的信號(hào),。
圖3
CANbus Toolset應(yīng)用領(lǐng)域
CANbus Toolset可用于各種基于Simulink仿真的環(huán)境中:
圖4
CANbus Toolset亮點(diǎn)