基于Matlab與PLC的實時控制系統_第1頁
基于Matlab與PLC的實時控制系統_第2頁
基于Matlab與PLC的實時控制系統_第3頁
基于Matlab與PLC的實時控制系統_第4頁
基于Matlab與PLC的實時控制系統_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于Matlab與PLC的實時控制系統基于Matlab的S7-200 PLC溫度實時控制系統,結合Matlab強大的計算能力和靈活的編程方法,解決了PLC控制系統的局限性。該系統在上位機Matlab的Simulink中實現單神經元自適應PID控制算法,下位機S7-200 PLC則負責進行實時數據采樣和輸出,上下位機間數據通信通過OPC技術實現,并利用Matlab GUI進行監控;研究了系統的實現機制與過程,并對該控制系統進行了測試,取得了良好的控制效果。Maflab Simulink在控制系統領域得到了廣泛的應用。Matlab語言工程計算力強大,程序設計流程靈活,可實現復雜的控制算法。但不能與

2、現場工控設備直接進行數據通信,致使很多先進控制算法仍然只是停留在純數字仿真階段。而常見的可編程序邏輯控制器(programmable logic controller,PLC)在控制過程中往往不能運行復雜的先進控制算法,或是勉強運行導致控制器反應實時性降低,制約了先進控制算法在PLC上的應用。為了解決此問題,本文以基于Matlab與s7200的溫度實時控制系統為例,將Matlab Simulink直接應用于實時控制現場系統。該系統的PLC進行實時數據采樣和輸出,在Matlab上實現控制算法,通過OPC技術實現Matlab與PLC間的數據傳送,并利用Matlab內置的GUI實現上位機監控界面。該

3、系統經實際測試,取得了較好的控制效果。本文研究為有效提高控制系統的效率與控制水平開辟一條新路。1 OPC接口技術    opt(OLE for Process Control)規范是在微軟倡導下由OPC基金會所建立的硬件和軟件接口標準,它基于微軟現有的OLE、組件對象模COM和分布式組件對象模DCOM技術。OPC規范的引入,提供了一種在數據源與客戶端之間進行實時數據傳輸的通信機制。OPC標準中的軟件體系結構為客戶視服務器模式,每個支持OPC接口標準的硬件廠商為其設備開發一個OPC服務器,提供必要的OPC數據訪問標準子接口,主要負責從硬件設備得到數據并存人數據緩沖區

4、;支持OPC接口的應用軟件作為OPC客戶,通過OPC標準接口實現與OPC服務器的數據交互,從而讀寫硬件設備的信息。    OPC服務器由3類對象組成,包括服務器、組和數據項。OPC的應用架構及層次對象的關系如圖1所示。0PC服務器對象擁有服務器的所有信息,同時也是組對象的容器。組對象OPC項擁有本組的所有信息,同時包含并在邏輯上組織了OPC數據項。而OPC數據項是服務器定義的對象,包括值、品質、時間戳3個基本屬性。OPC客戶對設備寄存器的操作都是通過數據項來完成,但OPC數據項并不提供對外接口,客戶不能直接對其進行操作,所有的操作都是通過組對象來進行的。圖1 OP

5、C的應用架構及基本結構圖2 基于Matlab與S7200溫度實時控制系統的實現    21 溫度實時控制系統的結構    本系統的設計綜合了Matlab語言強大的計算能力和PLC高抗干擾性能等優點,并通過Matlab內置的圖形用戶界面GUI實現系統的監控。這樣控制算法可以在Matlab的Simulink中進行仿真調試,進而連接被控制對象實現溫度的實時控制,從而極大簡化了控制系統的設計流程、提高了設計效率。該控制系統由上位機、S7200 PLC以及溫度控制對象三部分組成,系統結構圖如圖2所示。上位機主要完成基于Matlab的溫

6、度控制算法和控制系統監控界面,S7200 PLC配置EM235實現溫度實時信號的輸入與控制信號的輸出,溫度控制對象包括脈寬調制電路、由ADS90組成的溫度檢測電路、加熱器等。上位機Matlab Simulink仿真模型中的實時信號通過OPC通信技術與S7200 PLC中采樣、控制信號進行通信。Matlab GUI則通過編制M文件的形式實現與Matlab Simulink仿真模型中控制參數的鏈接,從而在監控界面上控制及監測PLC s7200的狀態,采集對應的溫度響應曲線。圖2 溫度實時控制系統結構圖 22基于OPC技術的Matlab與S7-200數據通信實現  &#

7、160; 221通信原理    Matlab70集成了OPC Toolbox,它是一個OPC客戶端數據訪問軟件,通過OPC Toolbox可以連接任何一個OPC數據服務器,實現對連接服務器數據的讀或寫。基于OPC技術的Matlab與PLC S7200通信原理圖如圖3所示:參照Matlab中的OPCToolbox對象模型,以s7200 OPC Server為OPC服務器,Matlab為客戶端,建立OPC通信的流程,實現Matlab在實際工業控制系統中的應用。222 PC Access與s7200的連接    PC Access

8、是西門子S7200的專用OPC服務器,支持OPC Data Access(DA)30規范,可以與任何標準的OPC客戶端通信,其服務器ID為“S7200OPCServer”。在PC Access中可以為監控的PLC定義屬性、通信協議,創建客戶端訪問的數據項(Item)及數據地址等。本系統中需要通過OPC通信的數據項有2個,即werldu(溫度過程值)、kongzhi(控制量)。圖3 OPC通信原理  223建立Matlab與PC Access的連接    運行PC Access中的相關項目后,在Matlab命令窗口編寫運行如下M文件程序實現Mat

9、lab與PCAccess的通信o    clc    clear all;    hostlnfo=opcserverinfo(localhost);    allServers=hostInfoServerID;確定該主機上可用的ID    da=opcda(localhost,S7200OPCServer);s7200 OPC Sever為PC Access的OPC服務器ID connect(da);連接OPC服務器  &

10、#160; grp=addgroup(da,groupl)增加組    wendu=additem(grp,MicroWinNewPLcwendu);增加數據項與PC Access中溫度設定關聯。    kongzhi=additem(grp,MicroWinNewPLckongzhi);    23基于Simulink的單神經元自適應PID算法的實現    231單神經元自適應PID算法    常規PID控制器對運行工況適應

11、性差,參數的整定往往難以保證系統優良的控制性能,然而具有自學習和自適應能力的單神經元算法所構成的單神經元自適應PID控制器,不但結構簡單,而且能適應環境的變化,具備較強的魯棒性。    單神經元自適應控制器是通過加權系數的調整來實現自適應,自組織功能的,可以通過不同的學習規則調整權系數,從而構成不同的控制算法。    本系統按有監督的Hebb學習規則來實現權系數的調整。對于增量型神經元PID控制系統: 232基于Simulink的溫度實時控制系統的實現    圖4中OPC Read模塊、OPC

12、write模塊分別與PC Access中的數據項wendu(溫度過程值)、kongzhi(控制量)鏈接,負責現場溫度過程信號的讀入和控制量的輸出。由于神經元自適應PID控制器不能直接用傳遞函數加以描述,若簡單地應用Simulink將無法對其進行仿真,此時應引入S函數。根據式(1)一式(3),基于Delta學習規則的神經元自適應PID控制器的S函數模塊dsjypid程序編寫如下:    functionsys,xO=nu(t,x,u,flag,np,ni,nd,K,wl,w2,w3)if flag=2sys(1)=x(1)+ni水u(1)木u(1);sys

13、(2)=X(2)+np球U(2)木U(1);sys(3)=x(3)+nd水U(3)水U(1);elseif flag 2=3sys=K*(x(1)*u(1)+x(2)*u(2)+x(3)*U(3)(abs(x(1)+abs(x(2)+abs(x(3);elseifflag=0sys=0,3,l,3,1,1;xO=w1,w2,w3;elsesys=;end圖4 單神經元PID的Simulink系統模型24 系統監控界面的設計    Matlab GUI是由各種圖形構建的用戶界面,它既能嵌入己有的仿真程序,又能把仿真后的圖形化結果以人機交互的動態方式直觀呈現,對于熟悉

14、Maflab而不想編寫大量VC代碼的科研人員來講,Maflab GUI無疑是一個最佳選擇。Matlab GUI監控界面的實現包括監控界面的組態和對應組件M文件程序的編寫。    本系統上位機采用Matlab-GUI設計監控界面,實現在Manab GUI界面上控制及監測PLC s7200的狀態,采集對應的溫度響應曲線。系統監控設計界面如圖5所示。在監控界面中我們設置了若干個控制按鈕實現控制系統的啟動、暫停繼續、停止、曲線繪制以及控制參數輸入確定等;設置了溫度曲線顯示功能區和控制參數區以方便用戶的控制與監視。監控界面中控制參數輸入采用文本控件,輸入確認后回調函數程序首

15、先將輸人參數文本框中的字符串進行轉換并賦值給各對應中問變量,然后將中間變量與S-function模塊中的相關變量進行鏈接,以實現參數的輸入;繪制曲線的回調函數程序編寫則包涵加載數據、繪制曲線及溫度過程值的測定與顯示。圖5 控制系統監控界面設計圖 圖5中SV、PV分別為溫度的設定值和實時過程值,wi(i=1,2,3)為系統初始權系數;np,ni,nd,K分別為神經元的比例學習速率、積分學習速率、微分學習速率和神經元比例系數。 25溫度實時控制系統的測試    我們以單神經元自適應PID算法為例對上述溫度實時控制系統進行TN試。圖6中兩曲線分別為s

16、7200白帶的PID控制、單神經元自適應PID控制的溫度動態過程曲線。在S7200端是用WINCC監控顯示。    測試結果表明:采用PID控制算法,系統P=42I=42 rain,D=01min時,溫度設定值從30階躍到44,系統溫度峰值為445,系統溫度穩定值為43 98,超調量f=42,tp=208 s;采用基于Matlab與S7200的單神經元自適應PID控制系統,該控制器中神經元權值(i=1,2,3)初始值分別設定為42,01,02。選取np=l 500,ni005,nd=05,K=60,測試結果可知溫度設定值從30階躍到44,系統溫度峰值為446,系統

17、溫度穩定值為4397,超調量f=5,tp=57 8;圖7為基于Matlab與S7200的單神經元自適應PID算法,Matlab GUI客戶端監控測試的曲線。    由上述圖可得如下結論。從圖6中2種控制算法實現的溫度控制動態過程可知,采用單神經元PID算法有很好的響應快速性,系統控制效果良好,本測試以單神經元PID算法為例,由于算法在Pc上比較容易實現,所以本方案的控制可以進一步擴展更為復雜控制算法。    從圖6與圖7中可以看出:采用單神經元PID控制時,S7200端測試的溫度曲線與GUI監控界面溫度曲線完全相同,檢測的溫度實時值一致,表明MaIlab GUI、PC Access、S7200 PLC 3者間的通信良好,體現了控制系統通過OPC技術實現了實時控制。圖6 S7200端測試的溫度動態過程曲線圖7 GUI客戶端測試的溫度動態過程曲線3 結論    Matlab和Simulink具有強大的計算能力和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論