基于Lonworks技術(shù)的模糊控制智能節(jié)點(diǎn)的設(shè)計(jì)
圖3 溫度測(cè)量節(jié)點(diǎn)結(jié)構(gòu)圖
5、智能節(jié)點(diǎn)軟件設(shè)計(jì)
節(jié)點(diǎn)應(yīng)用程序用Neuron C語言編寫。Neuron C是神經(jīng)元芯片的專用語言,是ANSI C的擴(kuò)展,并增添了一些較強(qiáng)的功能,如網(wǎng)絡(luò)變量類型,事件調(diào)度語句等。神經(jīng)元芯片的任務(wù)調(diào)度是事件驅(qū)動(dòng)的。當(dāng)一個(gè)給定的條件變?yōu)檎鏁r(shí),與該條件相關(guān)聯(lián)的一段代碼被執(zhí)行。該智能節(jié)點(diǎn)的軟件設(shè)計(jì)包括主程序、A/D轉(zhuǎn)換程序、D/A轉(zhuǎn)換程序、顯示子程序、控制算法子程序等,下面以查表法實(shí)現(xiàn)模糊控制為例,給出部分源代碼:
signed short fc(float-type*input1){
……//設(shè)置局部變量
if(mcc==1)
sp=sp1;
pe=e;//記下偏差的上一個(gè)狀態(tài)
fl_sub(input1, sp, e);//計(jì)算偏差get e
fl_neg( range_e, f1);//對(duì)偏差限幅
if(fl_it( e, f1)==TRUE)
ce=f1;
else if(fl_gt( ce, range_ce)==TRUE)
ce=range_ce;
fl_mul( e, f1_6,f1);//對(duì)偏差進(jìn)行量程變換
fl_div( f1, range_e, f1);
fl_add( f1, f1_6, f1);
fl_round( f1, f2);//對(duì)變換后誤差進(jìn)行四舍五入
rol=low-byte(1ro1);
fl_mul( ce, f1_6, f1);//對(duì)偏差變化值進(jìn)行量程變換
fl_div( f1, f1_6, f1);
fl_add( f1, f1_6, f1);
fl_round( f1, f2);//對(duì)變換后的偏差變化值四舍五入
lcow=fl_to_ulong( f2);
cow=low_byte(1cow);
table_u=table[ro1][cow];
……
fl_from_ulong(ltable_u, f1);//對(duì)查表結(jié)果進(jìn)行量程變換
fl_mul( f1, range_dtu, f2);//查模糊控制表
fl_div( f2, f1_6,f1);
……
return f_out;//返回輸出控制增量
本系統(tǒng)投入運(yùn)行后,取得了比傳統(tǒng)單回路PID控制方式更好的控制效果,見圖4中的溫度曲線對(duì)比。從圖中可看出,模糊控制過渡過程時(shí)間短,超調(diào)量小,達(dá)到了工藝生產(chǎn)的要求。
圖4 溫度曲線對(duì)比
6、結(jié)束語
模糊控制技術(shù)在我國已廣泛應(yīng)用于工業(yè)過程、家用電器等領(lǐng)域,但模糊控制技術(shù)的網(wǎng)絡(luò)應(yīng)用還不多見。本文將Lonworks技術(shù)與模糊控制技術(shù)結(jié)合起來,通過上位機(jī)實(shí)現(xiàn)實(shí)時(shí)測(cè)控,在實(shí)際應(yīng)用中取得了良好的控制效果。該系統(tǒng)還可充分利用主機(jī)資源,使模糊控制算法位于上層,從而可以綁定多個(gè)設(shè)備節(jié)點(diǎn),以便于構(gòu)造不同的模糊控制器。控制參數(shù)可以通過人機(jī)界面由用戶輸入,通用性強(qiáng)、操作靈活便捷,為模糊控制生成器與現(xiàn)場(chǎng)設(shè)備的集成提供了一種有效的途徑。
本文作者創(chuàng)新點(diǎn):將Lonworks技術(shù)與模糊控制技術(shù)結(jié)合起來,給出了智能節(jié)點(diǎn)的設(shè)計(jì)方法和實(shí)例,通過計(jì)算機(jī)實(shí)現(xiàn)網(wǎng)絡(luò)監(jiān)控,能遠(yuǎn)程實(shí)施溫度測(cè)控,在應(yīng)用中取得了良好的控制效果。
評(píng)論