《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 自動控制系統綜合分析軟件的設計
自動控制系統綜合分析軟件的設計
劉 莉,張 健,李煥洲
四川師范大學 物理與電子工程學院,四川 成都 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亚洲国产精品_日韩亚洲一区二区
久久国产精品高清| 国产精品成人在线| 亚洲综合精品| 99热在这里有精品免费| 亚洲黄色一区二区三区| 久久国产精品99精品国产| 午夜精品av| 午夜在线a亚洲v天堂网2018| 亚洲欧美日韩高清| 亚洲专区国产精品| 亚洲尤物影院| 亚洲女优在线| 欧美一区二区三区精品电影| 欧美一级大片在线观看| 先锋影音久久久| 欧美一区2区视频在线观看| 性欧美1819sex性高清| 亚洲欧美日韩国产综合在线| 亚洲永久免费| 午夜免费在线观看精品视频| 亚洲欧美综合v| 欧美一级二级三级蜜桃| 久久爱www.| 亚洲福利免费| 亚洲精品乱码视频| 一区二区精品在线| 亚洲在线日韩| 久久精品国产亚洲5555| 久久深夜福利| 欧美福利视频一区| 欧美日韩一区二区在线观看视频| 欧美色精品在线视频| 国产精品videosex极品| 国产精品一区二区久久国产| 国产欧美日韩在线观看| 黄色另类av| 亚洲精品视频一区| 宅男精品导航| 香蕉成人伊视频在线观看| 亚洲第一天堂无码专区| 亚洲美女精品成人在线视频| 在线综合亚洲| 欧美在线免费看| 欧美jjzz| 国产精品狠色婷| 国内精品国产成人| 最新热久久免费视频| 亚洲午夜精品久久久久久app| 欧美一区影院| 99re亚洲国产精品| 性欧美激情精品| 免费久久99精品国产自| 欧美日韩免费在线视频| 国产女人水真多18毛片18精品视频| 国产在线高清精品| 亚洲免费av电影| 午夜在线成人av| 亚洲精品日韩久久| 亚洲欧美精品中文字幕在线| 久久午夜影视| 欧美日韩一区三区四区| 国产亚洲亚洲| 亚洲美女av在线播放| 欧美一二三区精品| 99视频一区| 久久精品女人天堂| 欧美日韩免费观看一区二区三区| 国产一二三精品| 日韩香蕉视频| 亚洲国产岛国毛片在线| 亚洲欧美日韩一区二区三区在线观看| 久久久噜噜噜久久人人看| 欧美日韩久久不卡| 激情一区二区| 亚洲一区在线视频| 亚洲精品在线免费| 久久精品中文字幕一区| 欧美日韩亚洲一区二区三区四区| 很黄很黄激情成人| 亚洲一品av免费观看| 亚洲美女在线看| 久久久99精品免费观看不卡| 欧美视频专区一二在线观看| 在线观看精品一区| 性高湖久久久久久久久| 亚洲一区二区三区视频| 欧美黑人一区二区三区| 国产综合色在线| 亚洲一区二区三区在线播放| 夜夜嗨一区二区| 免费久久久一本精品久久区| 国产精品尤物| 日韩亚洲欧美成人一区| 亚洲三级免费| 噜噜噜躁狠狠躁狠狠精品视频 | 久久偷窥视频| 国产精品私房写真福利视频| 亚洲日韩成人| 亚洲黄色在线视频| 久久在精品线影院精品国产| 国产毛片一区二区| 亚洲网站在线| 亚洲尤物视频网| 欧美日韩成人在线播放| 亚洲国产精品久久久久秋霞不卡| 久久精品99无色码中文字幕| 欧美在线视频播放| 国产精品影视天天线| 亚洲一区二区三区视频| 亚洲影院免费| 欧美日韩一区二区国产| 日韩视频免费观看| 在线一区欧美| 欧美少妇一区| 一本色道久久88亚洲综合88| 一区二区三区蜜桃网| 欧美日韩精品一二三区| 日韩视频免费观看| 这里只有精品视频| 欧美三级在线| 亚洲午夜精品一区二区| 亚洲欧美日韩精品综合在线观看| 欧美涩涩网站| 亚洲婷婷在线| 性欧美暴力猛交69hd| 国产亚洲毛片| 欧美中文字幕在线播放| 久久嫩草精品久久久久| 樱花yy私人影院亚洲| 亚洲国产婷婷香蕉久久久久久99| 男人的天堂成人在线| 亚洲激情视频在线| 一区二区三区欧美激情| 欧美日韩一区国产| 亚洲夜晚福利在线观看| 欧美中文字幕在线| 国内精品嫩模av私拍在线观看| 久久精品一区二区| 欧美成人精品影院| 99精品黄色片免费大全| 午夜视黄欧洲亚洲| 国产香蕉97碰碰久久人人| 亚洲高清久久网| 欧美精品亚洲二区| 亚洲一区二区精品视频| 久久精品国产v日韩v亚洲| 极品尤物一区二区三区| 日韩一级黄色av| 国产精品日韩欧美一区二区| 欧美在线观看日本一区| 欧美激情一区二区三区| 亚洲视频导航| 久久久999国产| 91久久中文字幕| 亚洲综合视频在线| 国产一区亚洲| 亚洲精品小视频在线观看| 欧美午夜免费影院| 久久本道综合色狠狠五月| 欧美激情视频一区二区三区免费| 一区二区三区欧美| 久久精品综合一区| 亚洲精品专区| 久久国产乱子精品免费女 | 亚洲美女淫视频| 欧美一站二站| 亚洲国产精品热久久| 亚洲欧美日韩一区二区在线| 狠狠色香婷婷久久亚洲精品| 亚洲免费精品| 国产精品一区三区| 亚洲乱码国产乱码精品精| 国产精品视频一区二区三区| 亚洲国产精品一区二区第一页 | 一区二区三区黄色| 久久精品三级| 亚洲久久成人| 久久国产婷婷国产香蕉| 亚洲乱码国产乱码精品精天堂| 午夜精品一区二区三区在线视| 伊人蜜桃色噜噜激情综合| 亚洲午夜高清视频| 狠狠88综合久久久久综合网| 亚洲一区二区三区免费观看| 激情欧美一区| 午夜精品久久久久久久99樱桃 | 亚洲精选中文字幕| 国产区亚洲区欧美区| 亚洲免费成人| 国产日韩在线视频| 一区二区三区视频在线| 韩国成人理伦片免费播放| 亚洲自拍偷拍麻豆| 亚洲国产欧美一区二区三区久久| 欧美在线一区二区| 一本久久精品一区二区| 免费一区视频| 欧美淫片网站| 国产噜噜噜噜噜久久久久久久久| 一区二区精品在线观看|