首先,在你的PC機(jī)上開發(fā),保證軟件能在你的微控制器上運(yùn)行。測試軟件,并需要一個(gè)獨(dú)立的程序來模擬目標(biāo)系統(tǒng)。這個(gè)模擬系統(tǒng)僅以軟件存在。
模擬
想象模擬系統(tǒng)是一個(gè)黑匣子,你將你的控制軟件設(shè)置的控制變量輸入這個(gè)黑匣子,然后你能從黑匣子中得出相應(yīng)變量結(jié)果,模擬你出目標(biāo)系統(tǒng)的傳感器中得出的值。
模擬系統(tǒng)通常擁有自己的控制盤柜,你能用以手動方式模擬故障,改變環(huán)境狀況,等等。記住,所有你的設(shè)置,都在改變變量的值,兩個(gè)程序共享的,同時(shí)也在你的PC上運(yùn)行。
一旦,你確定并仔細(xì)地測試過你的控制軟件,你已經(jīng)完成了控制器的設(shè)置,你的硬件已經(jīng)建立,而且連接到你的目標(biāo)系統(tǒng)的測試版上。
正像你看到的,這
是一個(gè)復(fù)雜的過程,需要你建立和集成不少獨(dú)立的元件。要成功地實(shí)現(xiàn)這個(gè)過程,你需要盡可能得到一切你能得到的幫助。從你準(zhǔn)備使用的控制器的制造公司來看,所有主要的半導(dǎo)體公司都提供開放套件軟件,幫助你在盡可能減少麻煩的情況下了解整個(gè)過程。三個(gè)主要的廠商包括:Rabbit 半導(dǎo)體、Fressscale半導(dǎo)體和AMD。
第三代和第四代
你應(yīng)該計(jì)劃如何實(shí)現(xiàn)你的應(yīng)用程序,至少使用第三代語言,如C語言。第三代于語言適應(yīng)性比較強(qiáng),這種新一代的語言易于理解和編程。匯編語言,屬于第二代語言,通常在低級別的機(jī)器上運(yùn)行,并隨著目標(biāo)處理器的不同而改變。當(dāng)寫入?yún)R編語言時(shí),你必須自己追蹤所有的寄存器、存儲器的地址等。而第三代語言就能解決這類問題。
第四代語言,有時(shí)候稱其為框架結(jié)構(gòu),建立抽象的層即可。以NI(National Instruments) 的LabView舉例,它能提供目標(biāo)(被稱為虛擬儀器或VI),收集所有通信所需要的的低級代碼模塊,例如,數(shù)據(jù)采集卡,或電機(jī)。若在某個(gè)發(fā)電系統(tǒng)中,你能通過建立VI,控制所有的燃?xì)獍l(fā)電機(jī),并從子VI中讀取的各個(gè)傳感器和繼電器。
當(dāng)處理第三代和第四代語言時(shí),你能通過實(shí)際的硬件來通信,通過軟件驅(qū)動器來控制。驅(qū)動器是代碼模塊,通常以第二代語言編寫,由生產(chǎn)計(jì)算機(jī)控制的硬件元件公司編寫(如電機(jī)的驅(qū)動),這樣你能在實(shí)際應(yīng)用中正常使用。
如果你已采用第三代語言編寫,你不僅包含了相關(guān)的驅(qū)動庫,而且使用硬件制造商提供的高級別的指令。第四代語言,則更為簡化。










