《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 自動控制系統綜合分析軟件的設計
自動控制系統綜合分析軟件的設計
劉 莉,張 健,李煥洲
四川師范大學 物理與電子工程學院,四川 成都 610066
摘要: 集成自動控制系統常用的分析方法,在Matlab的基礎上開發軟件系統,可以對控制系統進行時域、根軌跡與頻域的分析。該軟件不僅可以作為自動控制原理課程教學強有力的補充,還可以為工程技術人員提供友好的分析實際自動控制系統的軟件環境,避開學習Matlab,將更多的精力用于工程實踐上。
Abstract:
Key words :

摘 要:集成自動控制系統常用的分析方法,在Matlab的基礎上開發軟件系統,可以對控制系統進行時域、根軌跡與頻域的分析。該軟件不僅可以作為自動控制原理課程教學強有力的補充,還可以為工程技術人員提供友好的分析實際自動控制系統的軟件環境,避開學習Matlab,將更多的精力用于工程實踐上。
關鍵詞:自動控制系統;分析軟件; Matlab

  對于實際的自動控制系統來說,無論用于分析還是設計,都不可避免地要對其進行計算與作圖。在經典的控制理論中,時域、根軌跡與頻域的分析方法各有千秋,很多開發環境中也有相關的算法程序,比如Matlab[1]。Matlab是美國MathWorks公司開發的一種跨平臺的用于矩陣數值計算和可視化編程軟件,該軟件中匯集了當前最新的數學算法庫,編程風格接近數學語言描述,計算精度高,尤其在繪圖方面功能十分強大,并且在Matlab基礎上開發的程序不依賴于計算機和操作系統類型。但是要利用這些算法進行分析自動控制系統時,哪怕只是一個簡單的自控系統對象,使用者都必須熟悉Matlab的編程環境并進行代碼的編制,這大大影響了學習與工作的效率。如果能夠把所有方法集成到一個軟件環境里,那么無論是在自動控制原理課程教學中,還是實際的工程應用中,都能給使用者帶來極大的方便。
  對此類分析軟件的開發,過去為了充分利用C++Builder或Visual C++等可視化編程環境在開發可視化界面的優勢和Matlab在繪圖方面的強大功能以及豐富的數學算法庫,常常采用二者進行混合編程[2-6]。但是無論采用何種接口方式,程序運行的速度都很難令人滿意。尤其是混合編程會忽略Matlab中的任何錯誤,這對調試程序非常不利,嚴重影響開發的進度。
  最近幾年,隨著Matlab的圖形用戶界面開發環境GUI(Graphical User Interface)的不斷完善,其在開發交互式用戶界面上的可操作性幾乎能夠同目前流行的Visual C++、C++  Builder等開發環境比擬。雖然Matlab圖形用戶界面編程環境中可供選的控件數量還不是很多,但是對于開發常規的實用分析軟件來說,這些已經足夠了。而且Matlab中已經包含了很多數學算法與繪圖函數,大大縮短了軟件的開發周期。
  本自動控制系統輔助分析軟件(ACAAS)是在Matlab 7.1的基礎上開發的,它集成了自動控制系統常用的分析方法,可以對控制系統進行時域、根軌跡與頻域的分析。
1 Matlab GUI
   在Matlab中有一個guide工具[7],即Matlab的圖形用戶界面GUI的開發環境,該工具使編程者可以通過選擇與布局GUI控件來生成GUI應用,并對所選擇的控件進行名字、顏色與文本等屬性的編輯。
1.1 guide工具
   在Matlab主窗口中點擊“guide”快捷方式,或者在命令行輸入“guide”,均可進入Matlab的GUI開發環境。
1.2 guide控件
  Matlab的GUI開發環境中可供選擇的主要控件如表1所示。

     當用戶需要用到某種控件時,只需要用鼠標選中該控件,然后在如圖1所示的設計區點擊鼠標即可產生此控件。雙擊控件,進入“Property Inspector”,可以編輯控件的顏色、名稱等屬性。在控件上單擊鼠標右鍵,從彈出菜單中選擇“View Callback”-“Callback”,可以對控件的觸發事件進行編程。

1.3 編程步驟
   (1)確定需要在GUI中實現的功能以及每部分功能要用到的函數;
   (2)進入“guide”開發環境,選擇相關的控件,并調整好各個功能模塊的合理布局;
   (3)根據需要改變控件的屬性,如字體、顏色等;
   (4)保存“.fig”文件,同時系統會自動生成該圖形界面文件對應的“.m”文件;
   (5)在 “.m”文件編寫控件的回調函數,以實現相應的功能。
2 輔助分析軟件系統的設計
2.1 ACAAS 軟件主要功能模塊
  ACAAS軟件的主要功能結構圖如圖2所示。  

2.2系統主界面
  該ACAAS系統主要包括自動控制系統模型輸入與系統分析,可以以單幅圖和單幅多道圖的形式對分析結果進行顯示。主菜單中包括“文件”、“模型輸入”、“分析方法”、“繪圖方式”等選項,每個主菜單下都有相關的子菜單,用戶可以根據需要在各個功能菜單中方便地進行切換。在輸入系統模型時,其下面的文本框中顯示輸入的提示信息;而分析結果的圖形得到后,用戶還可以在該文本框中看到此自動控制系統閉環傳遞函數的閉環極點情況,得到系統穩定性方面的信息。在“文件”菜單中,用戶可以對分析結果進行保存與打印,也可以打開以前保存的結果。主界面如圖3所示。

2.3系統模型輸入
  系統給用戶提供了3種模型輸入形式[8]:零極點形式、反饋控制結構形式、分子分母多項式形式,用戶可以根據已知的自動控制系統傳遞函數,在“系統模型”菜單項中選擇最方便的輸入形式。在零極點模型輸入時,系統的零極點可能為復數,按“-5+2j”的形式輸入即可。而反饋控制結構模型和分子分母多項式模型中,輸入參數均為實數。模型輸入界面如圖4所示。

  圖4中,由反饋控制結構多項式系統形式輸入的自動控制系統傳遞函數為:
   

   而由閉環多項式系數模型與閉環零極點模型輸入的自動控制系統傳遞函數分別為:
  

  以零極點模型輸入界面為例,下面是主要的程序代碼。
     function ZPMenuItem_Callback(hObject, eventdata, handles)
  global MdlValue        %定義全局變量
     MdlValue=1;         %定義模型控制字:1-零極點模型,2-多項式模型,3-反饋控制結構模型
           %顯示零極點模型的輸入部件組
  set(findobj(gcf,'Tag','MDLuipanel'),'Title','閉環零極點模型');
  set(findobj(gcf,'Tag','text1'),'Visible','off');
  set(findobj(gcf,'Tag','text3'),'Visible','on');
  set(findobj(gcf,'Tag','text2'),'Visible','on');
  set(findobj(gcf,'Tag','text4'),'Visible','on');
  set(findobj(gcf,'Tag','GFZedit'),'Visible','off');
  set(findobj(gcf,'Tag','HFZedit'),'Visible','on');
  set(findobj(gcf,'Tag','GFMedit'),'Visible','on');
  set(findobj(gcf,'Tag','HFMedit'),'Visible','on');
            %給零極點模型的輸入部件的文本屬性或編輯框內容賦值
  set(findobj(gcf,'Tag','text2'),'String','增益:');
  set(findobj(gcf,'Tag','text3'),'String','零點:');
  set(findobj(gcf,'Tag','text4'),'String','極點:');
  set(findobj(gcf,'Tag','GFMedit'),'String','10');
  set(findobj(gcf,'Tag','HFZedit'),'String','-1 -2');
  set(findobj(gcf,'Tag','HFMedit'),'String','-3 -4 -5');
            %用戶輸入提示
  fmtData ={'輸入數據時,兩個數之間請用空格分隔符!'  '若為復數時,請按如下格式輸入:  -5+2j'  '注意 j 的位置不可與2交換!' };
  Mstring=sprintf('%s\n%s\n%s\n',fmtData{1},fmtData{2},fmtData{3});      
  set(findobj(gcf,'Tag','SMedit'),'String',Mstring) 
2.4 分析方法設計
  在經典的控制理論中,分析自動控制系統性能的方法有時域法、頻域法和根軌跡法[9]。在時域法中系統常見的輸入信號為單位階躍與脈沖信號,對應的響應結果可以在該軟件中顯示。頻域法中表示系統頻率特性的圖形有奈氏圖、對數幅頻特性曲線和對數相頻特性曲線。這些方法都可以在菜單“分析方法”中進行選擇。利用結果顯示曲線,可以用相應的方法對自動控制系統進行性能分析。
  以根軌跡分析為例,下面是主要的程序代碼。
  function GMenuItem_Callback(hObject, eventdata, handles)
  global MdlValue TxValue Fxtag FxValue      
                         %聲明全局變量
  FxValue=3;                    %1-階躍響應,2-脈沖響應,3-根軌跡,4-奈氏圖
  ……
  switch MdlValue          %判斷模型輸入方式
    case 1                   %1-零極點模型
              %讀入模型參數
  K=(get(findobj(gcf,'Tag','GFMedit'),'String'));
  Z=(get(findobj(gcf,'Tag','HFZedit'),'String'));
  P=(get(findobj(gcf,'Tag','HFMedit'),'String'));
           %將字符串類型轉化為數字型
  k=str2num(K);
  z=str2num(Z);
  p=str2num(P);
           %提示輸入錯誤
  if isempty(k)==1|isempty(p)==1;  %零點z可以為空  errordlg('輸入參量不符合要求','錯誤');
  else
    axes(handles.axes1);              %選擇繪圖部件
    G=zpk(z,p,k);                      %生成傳遞函數

    rlocus(G);                           %畫根軌跡
    sgrid;
     ……
  end
     case 2       ……
     case 3  ……
2.5 繪圖方式設計
  使用ACAAS系統,用戶可以得到所選擇的分析方法所對應的單道分析曲線,如圖5所示。為了方便用戶對不同的自動控制系統的性能進行對比分析,該軟件還為用戶提供了“單幅多道圖” 的繪圖形式,即在同一坐標系下繪制多條不同的自動控制系統的分析曲線。對時域法、頻域法和根軌跡法,均可以采用此種繪圖方式。從“單幅多道圖”中能夠很容易看出某一參數的變化及對系統性能的影響。

  下面是主要的程序代碼。
  ……
  switch TxValue 
      case 1                %單道圖
       axes(handles.axes1);
            cla;
      case 2                 %多道圖
       if Fxtag==FxValue 
       axes(handles.axes1);
       hold on
       else           
  warndlg('請在同一種分析方法下使用!','提示');
         end   
  end
   ……
  圖6是3個放大系數不同的自控系統Φ(s)的單位階躍響應曲線,利用該圖可以立刻得到放大系數對系統性能的影響,即:隨著放大系數的增加,系統的穩態誤差減少,但是超調增大,震蕩加劇。其中
  

  自動控制系統輔助分析軟件(ACAAS)采用Matlab7.1中的GUI環境進行開發,充分利用了Matlab中集成的關于自動控制系統的性能分析算法庫和強大的繪圖功能,特別是由于自動控制系統的性能分析算法庫與GUI開發工具均屬于Matlab軟件,因此用戶輸入與分析算法之間的接口變得十分容易,大大縮短了軟件的開發周期。與傳統的采用混合編程模式開發的同類型軟件系統相比,該軟件易于維護與升級,在運行時間上其優勢更加突出。
  采用ACAAS,用戶可以十分方便地分析自動控制系統的時域、根軌跡與頻域性能,并在“單幅多道圖”中對不同系統之間進行性能比較,為下一步進行自動控制系統的設計打下良好的理論基礎。該軟件不僅可以作為《自動控制原理》課程教學強有力的補充,并且在Matlab仿真環境與自動控制工程設計人員之間搭起了一座橋梁,使他們不必花大量的時間用于Matlab的學習就可以對系統進行仿真,能夠將更多的精力用于工程實踐與應用上。
參考文獻
[1] 徐明遠.Matlab仿真在通信與電子工程中的應用[M].  西安:西安電子科技大學出版社,2005.
[2] 劉維.精通MATLAB與C/C++混合程序設計[M]. 北京:北京航空航天大學出版社,2005.
[3] 邢輝.基于C++ Builder和MATLAB混合編程的仿真應用[J].計算機與現代化,2005(10).
[4] 張寶利.從Matlab版本間差異看VC與Matlab混合編程趨勢[J].長春工業大學學報:自然科學版,2008,29(02).
[5] 彭博棟.VC6.0與MATLAB7.X混合編程方法研究[J].計算機與數字工程,2008,36(09).
[6] 黃金明. VC++與MATLAB的混合編程研究[J]. 電腦開發與應用,2008,21(10).
[7] CHAPMA S J. Matlab programming for engineers[M]. Beijing: Science Press, 2003.
[8] 薛定宇. 反饋控制系統分析與設計[M]. 北京:清華大學出版社,2000.
[9] 黃堅.自動控制原理及其應用[M]. 北京:高等教育出版社,2004.
  

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品成人一区二区艾草| 亚洲精品美女在线观看| 欧美成人精品1314www| 欧美在线视频观看免费网站| 日韩视频免费观看高清在线视频| 久久精品欧美| 久久国产精品72免费观看| 午夜欧美精品| 午夜精品久久久久久久白皮肤| 亚洲深夜福利网站| 亚洲色图在线视频| 一区二区三区|亚洲午夜| 亚洲乱码精品一二三四区日韩在线 | 国产精品一区二区三区免费观看 | 久久精品国产精品亚洲| 欧美在线观看网址综合| 欧美中文在线免费| 亚洲国产精品一区二区久| 91久久精品国产91性色| 亚洲精品国精品久久99热一| 亚洲人成网在线播放| 99精品欧美一区| 一本久久精品一区二区| 亚洲一区欧美二区| 亚洲一区二区三区精品在线观看| 亚洲一区日本| 欧美在线观看日本一区| 久久久久这里只有精品| 麻豆九一精品爱看视频在线观看免费| 毛片一区二区三区| 欧美激情一区在线观看| 欧美天堂亚洲电影院在线观看 | 国产精品视频精品| 国产欧美一区二区三区视频| 国产在线一区二区三区四区| 在线观看亚洲| 亚洲毛片av| 亚洲专区国产精品| 亚洲第一网站| 一本到12不卡视频在线dvd| 亚洲欧美日本日韩| 久久久精品国产一区二区三区| 另类av一区二区| 欧美日韩四区| 国产伊人精品| 亚洲精品影视在线观看| 亚洲欧美激情视频| 亚洲欧洲一区二区在线播放| 中文日韩在线| 久久久99国产精品免费| 欧美好吊妞视频| 国产精品久久久久天堂| 韩国福利一区| 一本久久a久久精品亚洲| 午夜精品区一区二区三| 亚洲级视频在线观看免费1级| 亚洲免费视频网站| 美女精品视频一区| 国产精品久久久久久影院8一贰佰| 国产一区二区主播在线| 日韩视频免费观看高清完整版| 亚洲欧美中文字幕| 亚洲日本aⅴ片在线观看香蕉| 亚洲在线视频网站| 蜜臀av性久久久久蜜臀aⅴ| 国产精品高清一区二区三区| 精品1区2区3区4区| 亚洲少妇在线| 亚洲精品久久久久久久久| 午夜日本精品| 欧美激情综合色| 国产午夜亚洲精品羞羞网站| 亚洲日本精品国产第一区| 午夜影视日本亚洲欧洲精品| 欧美一区观看| 亚洲欧美日韩中文视频| 亚洲国产成人精品久久久国产成人一区| 亚洲精品国产无天堂网2021| 亚洲欧美日韩精品| 99精品国产99久久久久久福利| 欧美日韩国产一区二区| 国产午夜精品久久久| 亚洲精品系列| 亚洲第一精品夜夜躁人人爽| 亚洲一区二区三区免费观看| 欧美岛国激情| 黄色成人91| 一本色道久久精品| 亚洲日韩第九十九页| 久久国产精品电影| 欧美日韩一区三区| 亚洲国产精品激情在线观看| 亚洲欧美日韩系列| 亚洲视频网在线直播| 欧美成人嫩草网站| 国产一区二区三区久久悠悠色av| 99视频国产精品免费观看| 亚洲国产裸拍裸体视频在线观看乱了| 一区二区高清视频| 欧美成人午夜激情视频| 国产一在线精品一区在线观看| 亚洲一区美女视频在线观看免费| 夜夜爽99久久国产综合精品女不卡| 久久色在线播放| 国产亚洲成av人在线观看导航| 一区二区三区久久网| av成人福利| 欧美电影打屁股sp| 136国产福利精品导航网址应用| 欧美一区二区三区男人的天堂| 午夜激情综合网| 欧美午夜在线一二页| 99这里只有久久精品视频| 99精品欧美一区二区三区综合在线 | 欧美午夜剧场| 亚洲最新色图| 亚洲一区二区三区777| 欧美四级剧情无删版影片| 99精品久久| 亚洲一区二区成人在线观看| 欧美日韩黄色大片| av成人毛片| 亚洲欧美精品suv| 国产精品亚洲不卡a| 亚洲一二三四区| 性欧美8khd高清极品| 国产欧美日韩麻豆91| 午夜精品久久久久久久| 久久精品二区亚洲w码| 国产一区二区主播在线| 亚洲第一中文字幕| 美女黄毛**国产精品啪啪| 亚洲风情在线资源站| 一区二区三区黄色| 亚洲小视频在线观看| 午夜国产精品视频| 国产精品最新自拍| 午夜一区不卡| 另类尿喷潮videofree| 亚洲精品1区2区| 亚洲一区视频| 国产亚洲精品自拍| 亚洲国产天堂久久综合网| 欧美片在线观看| 一区二区高清在线观看| 欧美夜福利tv在线| 狠狠久久综合婷婷不卡| 亚洲美女性视频| 国产精品成人一区| 欧美一区午夜精品| 欧美福利一区二区| 一区二区国产精品| 久久精品一区二区三区不卡牛牛 | 国产精品vvv| 亚洲欧美三级在线| 猫咪成人在线观看| 日韩午夜电影av| 性欧美暴力猛交69hd| 国内精品久久久久久久影视麻豆| 亚洲精品国产品国语在线app| 欧美色欧美亚洲另类二区| 午夜精品理论片| 欧美成人dvd在线视频| 99国产精品久久| 久久久噜噜噜久久人人看| 亚洲黑丝在线| 亚洲欧美日韩中文在线制服| 激情另类综合| 亚洲一区精彩视频| 精品999在线观看| 亚洲天堂成人| 国内精品美女av在线播放| 一本一本久久| 狠狠色综合播放一区二区| 99这里有精品| 国产日韩欧美在线播放不卡| 日韩天堂在线观看| 国产视频一区二区在线观看| 亚洲乱码国产乱码精品精可以看 | 国产一区二区三区黄| 在线视频免费在线观看一区二区| 国产亚洲va综合人人澡精品| 一本久道久久综合狠狠爱| 一二三区精品| 久久综合导航| 亚洲一区二区三| 欧美国产日本在线| 欧美一级一区| 欧美性生交xxxxx久久久| 亚洲国产高清在线| 国产精品一区免费视频| 一区二区精品在线| 影音先锋一区| 久久国产日本精品| 一区二区久久久久| 欧美国产高清| 亚洲第一狼人社区| 国产精品亚洲综合久久| 在线一区二区日韩| 亚洲国产成人在线视频|