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