電氣測控系統(tǒng)的改進(jìn)――軟PLC
(4)交叉開發(fā)調(diào)試算法研究
非嵌入式通常采用本機(jī)開發(fā)、本機(jī)調(diào)試、本機(jī)運(yùn)行的開發(fā)方式;而嵌入式開發(fā)需要交叉開發(fā),絕大多數(shù)采用宿主機(jī)開發(fā)、宿主機(jī)和目標(biāo)機(jī)之間交叉調(diào)試、目標(biāo)機(jī)運(yùn)行的方式開發(fā)。
交叉開發(fā)調(diào)試算法:
在宿主機(jī)平臺上編寫程序代碼;
固化監(jiān)控器至目標(biāo)機(jī)上;
連接宿主機(jī)和目標(biāo)機(jī);
編譯鏈接應(yīng)用程序,生成可執(zhí)行代碼;
將可執(zhí)行代碼下載到目標(biāo)機(jī);
使用交叉調(diào)試器進(jìn)行調(diào)試;
如果程序調(diào)試沒有發(fā)現(xiàn)異常,轉(zhuǎn)至11);
調(diào)試程序時(shí)發(fā)生錯誤,利用交叉調(diào)試器定位錯誤;
修改錯誤代碼;
重復(fù)4)-10);
將目標(biāo)機(jī)程序固化在目標(biāo)機(jī)上。
以測試?yán)^電器TV5實(shí)驗(yàn)為例。其要求如下:每次測試5個繼電器,每個繼電器的動作頻率是5s開,5s關(guān)。根據(jù)要求,試驗(yàn)最好的結(jié)果是每個繼電器用6個TV負(fù)載,即每個TV負(fù)載是5s開,55s管。輸入點(diǎn)有:開關(guān),檢出,復(fù)位M個,停止次數(shù)設(shè)定量N次,動作頻率設(shè)定L個,常開/觸點(diǎn)轉(zhuǎn)換。其中,M=測試產(chǎn)品個數(shù),N、L個數(shù)由實(shí)際需要確定。其算法如下:
設(shè)定一個循環(huán)周期,使累積誤差最小;
在循環(huán)周期內(nèi)設(shè)計(jì)動作時(shí)間和動作頻率,以及動作次數(shù);
設(shè)計(jì)相關(guān)聯(lián)動、互鎖、緊急停車和復(fù)位等功能;
執(zhí)行動作與反饋根據(jù)產(chǎn)品相關(guān)標(biāo)準(zhǔn)進(jìn)行比較,判定結(jié)果和設(shè)定中斷程序。
采用模塊化程序設(shè)計(jì)編程,各模塊均由主程序調(diào)用,且為了程序不出誤動作,還要考慮電流諧波和沖擊對高電源的要求。用了算法優(yōu)化設(shè)計(jì),5個繼電器每隔2s一個動作,5個剛好10s。其中一個動作頻率程序如下:
與之對應(yīng)的動作如下:
評論