亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于上位機和可編程控制器的系統(tǒng)辨識方法

文檔序號:6306228閱讀:350來源:國知局
一種基于上位機和可編程控制器的系統(tǒng)辨識方法
【專利摘要】本發(fā)明公開了一種基于上位機和可編程控制器的系統(tǒng)辨識方法,在可編程控制器上編程,產(chǎn)生用于辨識的激勵信號-偽隨機多位式信號PRMS;然后充分利用上位機WinCC和下位機可編程控制器的特點,高速采集輸入、輸出數(shù)據(jù)(采集周期可達5ms),這樣保證了能有充分的數(shù)據(jù)用于系統(tǒng)辨識。為了實現(xiàn)WinCC的高速數(shù)據(jù)采集,首先在可編程控制器將連續(xù)采集的信號數(shù)據(jù)依次存儲在數(shù)據(jù)塊中,然后在上位機WinCC中建立多個外部變量對應數(shù)據(jù)塊中的全部過程變量,通過“多個變量讀取同一信號數(shù)據(jù)的連續(xù)值”來間接實現(xiàn)上位機WinCC高速數(shù)據(jù)采集。本發(fā)明為工業(yè)現(xiàn)場進行系統(tǒng)辨識提供了一種簡單、可靠、低成本的方法。
【專利說明】一種基于上位機和可編程控制器的系統(tǒng)辨識方法

【技術領域】
[0001] 本發(fā)明涉及一種基于上位機和可編程控制器的系統(tǒng)辨識方法。

【背景技術】
[0002] 上位機WinCC+下位機可編程控制器(PLC)是工業(yè)現(xiàn)場監(jiān)控系統(tǒng)的主要形式。PLC 多用來實現(xiàn)開關量的控制、模擬量的輸入輸出及邏輯運算功能,但很少用來進行系統(tǒng)辨識 研究。一方面是因為用于系統(tǒng)辨識的激勵信號要求很高,必須具有較豐富的變化,能夠持 續(xù)的激勵被辨識過程的所有模態(tài),利用可編程控制器發(fā)生激勵信號不易實現(xiàn);另一方面,進 行系統(tǒng)辨識時,對輸入、輸出數(shù)據(jù)要能高速采集,以便獲取大量豐富的數(shù)據(jù)。但是WinCC最 小刷新周期只有250ms,數(shù)據(jù)歸檔周期最小為500ms,遠遠大于PLC的采樣周期,若不進行開 發(fā),則不能夠?qū)崿F(xiàn)對數(shù)據(jù)的高速采集與保存。目前,進行系統(tǒng)辨識的實驗研究時多選用數(shù)據(jù) 采集卡、DSP等高速采集模塊,并配合LABVIEW等便于發(fā)生激勵信號的上位機軟件使用,但 這樣無疑增加了硬件成本,并且不能和原有的控制系統(tǒng)實現(xiàn)很好的融合。


【發(fā)明內(nèi)容】

[0003] 本發(fā)明所要解決的技術問題是,針對現(xiàn)有技術不足,提供一種簡單、可靠、低成本 的基于上位機和可編程控制器的系統(tǒng)辨識方法,在不改變原有監(jiān)控系統(tǒng)硬件結(jié)構的情況 下,充分利用上位機WinCC和下位機PLC的特點,實現(xiàn)激勵信號的發(fā)生及高速采集輸入輸出 數(shù)據(jù)。
[0004] 為解決上述技術問題,本發(fā)明所采用的技術方案是:一種基于上位機和可編程控 制器的系統(tǒng)辨識方法,包括以下步驟: 1) 發(fā)生激勵信號PRMS :給種子賦初值,即初始化R(0)=0,設置保持時間T ;利用公式 R(n+1) = [R(n) * a + b] mod c,每隔時間T計算得到一個激勵信號R(n+1);其中,mod表示 求余數(shù);a, b均為質(zhì)數(shù);c為常數(shù); 2) 在可編程控制器中建立兩個全局數(shù)據(jù)塊DB1和DB2,分別在兩個全局數(shù)據(jù)塊DB1和 DB2中建立一個整型過程變量和一個長度為N的浮點型數(shù)組過程變量,兩個全局數(shù)據(jù)塊DB1 和DB2中的浮點型數(shù)組過程變量分別用來存儲待辨識物理系統(tǒng)的激勵信號PRMS和輸出信 號,兩個整型過程變量分別用來存儲最新存入的激勵信號PRMS的位置編號和輸出信號的 位置編號;可編程控制器每隔時間T1將激勵信號PRMS和輸出信號分別依次存儲到全局數(shù) 據(jù)塊DB1和DB2中,每一次存儲時,更新激勵信號PRMS的位置編號、輸出信號的位置編號、 激勵信號PRMS和輸出信號;其中,Tl > lms ; 3) 在上位機WinCC軟件的變量表中建立2N個浮點型外部變量,其中前N個浮點型外 部變量與全局數(shù)據(jù)塊DB1中的長度為N的浮點型數(shù)組過程變量包含的N個浮點型過程變量 一一對應,后N個浮點型外部變量與全局數(shù)據(jù)塊DB2中的長度為N的浮點型數(shù)組過程變量 包含的N個浮點型過程變量一一對應;同時建立兩個整型外部變量,分別將兩個整型外部 變量與兩個全局數(shù)據(jù)塊中的整型過程變量對應;這樣,上位機WinCC通過自身的外部變量 與上述可編程控制器的過程變量建立的映射關系,每隔時間T2對外部變量刷新一次,實現(xiàn) 上位機和下位機數(shù)據(jù)的實時通訊;Τ2彡250ms ; 4)分別讀取并保存全局數(shù)據(jù)塊DB1和全局數(shù)據(jù)塊DB2中的數(shù)據(jù);每隔時間T2,分別將 可編程控制器中兩個全局數(shù)據(jù)塊的2N個浮點型數(shù)據(jù)讀取到上位機中;其中,T2 > 250ms。
[0005] 所述步驟3)中,WinCC軟件通過調(diào)用GetTagFloat ()函數(shù),將可編程控制器中兩 個全局數(shù)據(jù)塊的2N個浮點型數(shù)據(jù)讀取到WinCC中,并把GetTagFloat ()函數(shù)的返回值賦 給上位機腳本中建立好的浮點型數(shù)組變量。
[0006] T1和T2滿足如下關系式:T1*M=T2,T1〈T2 ;M為T2時間內(nèi)可編程控制器采集到的 數(shù)據(jù)的個數(shù);M〈N-1。
[0007] 與現(xiàn)有技術相比,本發(fā)明所具有的有益效果為:本發(fā)明在不改變原有監(jiān)控系統(tǒng)硬 件結(jié)構的情況下,充分利用了上位機WinCC和下位機PLC的特點,實現(xiàn)了激勵信號的發(fā)生 及高速采集輸入輸出數(shù)據(jù),為工業(yè)現(xiàn)場進行系統(tǒng)辨識提供了一種簡單、可靠、低成本的方 法;不但在可編程控制器上實現(xiàn)了廣泛應用于系統(tǒng)辨識的激勵信號PRMS的產(chǎn)生,還實現(xiàn)了 系統(tǒng)的高速數(shù)據(jù)采集,采集周期可達5ms,可以滿足大部分系統(tǒng)辨識的數(shù)據(jù)采集要求;本發(fā) 明充分利用了上位機WinCC和下位機PLC的特點,最大限度地使用了系統(tǒng)本身的功能,通 過調(diào)整可編程控制器存放數(shù)據(jù)到數(shù)據(jù)塊的周期和WinCC中全局腳本的觸發(fā)周期,可以使 WinCC采集數(shù)據(jù)的周期由原來的最短500ms降為5ms,并通過編寫程序?qū)崿F(xiàn)了數(shù)據(jù)存儲和顯 示;該方法不但可以應用在S7-300/400PLC上,還可以應用在S7-1500PLC上,并且不需要對 采集數(shù)據(jù)進行圓整,讀取的是精確的現(xiàn)場實時數(shù)據(jù),同時該方法不需要額外的軟硬件支持, 便可實現(xiàn)上位機WinCC軟件和可編程序控制器間的數(shù)據(jù)高速采集、存儲和顯示。

【專利附圖】

【附圖說明】
[0008] 圖1為為可編程控制器發(fā)生激勵信號原理圖; 圖2為高速數(shù)據(jù)采集流程圖; 圖3為可編程序控制器中數(shù)據(jù)連續(xù)存儲流程圖; 圖4為上位機WinCC中高速數(shù)據(jù)存儲流程圖。

【具體實施方式】
[0009] 如圖1所示,本發(fā)明發(fā)生激勵信號PRMS的具體步驟: 1.給種子賦初值并設置保持時間。加入偽隨機信號觸發(fā)開關,偽隨機信號觸發(fā)開關的 上升沿,然后給種子賦初值〇及設置保持時間T=300ms。
[0010] 2.設置二分頻。加入兩個接通延時定時器T0N1和T0N2,定時時間分別為T/2 ;然 后設置定時器T0N1和T0N2的關系:T0N1先接通延時T/2后,再接通T0N2, T0N2接通后斷 開T0N1,使得T0N1重新計時。
[0011] 3.設置每隔保持時間T觸發(fā)隨機數(shù)的遞推計算。為了保證自信號觸發(fā)開始每隔T 時間觸發(fā)一次偽隨機數(shù)的計算過程,加入接通延時定時器T0N2的下降沿;然后按照"線性 同余法"的遞推公式R(n+1) = [R(n) * a + b] mod c進行編程,將每次計算得到的偽隨機數(shù) 即激勵信號PRMS,作為系統(tǒng)辨識的輸入信號;a=3373, b=l,c=1000。
[0012] 如圖2所示,高速采集輸入、輸出信號數(shù)據(jù)的具體步驟: 1.在可編程序控制器中,建立循環(huán)中斷組織塊0B30,設置其循環(huán)中斷周期為5ms。建 立數(shù)據(jù)塊DB1和DB2, DB1用來存儲用于系統(tǒng)辨識的輸入信號PRMS,DB2用來存儲系統(tǒng)的 輸出信號。在數(shù)據(jù)塊DB1中建立一個浮點型數(shù)組過程變量val[0. 59]和一個整型過程變量 a,在數(shù)據(jù)塊DB2中建立一個浮點型數(shù)組過程變量vail [0. 59]和一個整型過程變量b,其 中浮點型數(shù)組過程變量用來存儲信號數(shù)據(jù),整型過程變量用來存儲最新存入數(shù)據(jù)的位置 編號.編寫程序如圖3所示,先根據(jù)上位機傳來的控制信號判斷是否需要開啟高速通訊功 能,若開啟則分別將數(shù)據(jù)連續(xù)存入數(shù)據(jù)塊DB1和DB2中,最后更新數(shù)據(jù)位置編號變量。
[0013] 2.在上位機軟件WinCC的變量表中,建立外部變量:120個浮點型變量(a0到a59 與b0到b59)和兩個整型過程變量X與y,將a0到a59與數(shù)據(jù)塊DB1浮點型數(shù)組過程變量 的val [0]到val [59]進行變量連接,將上位機變量X與數(shù)據(jù)塊DB1的變量a進行連接,將 b0到b59與數(shù)據(jù)塊DB2浮點型數(shù)組過程變量中的vail [0]到vail [59]進行變量連接,將 上位機變量y與數(shù)據(jù)塊DB2中的變量b進行連接,形成一一對應。這樣,上位機WinCC通 過自身的外部變量與下位機PLC的過程變量建立的映射關系,每隔一定時間T2對外部變量 刷新一次,實現(xiàn)上、下位機數(shù)據(jù)的實時通訊;T2彡250ms。在上位機WinCC中應用C腳本編 程,通過調(diào)用GetTagFloat ()函數(shù),將可編程控制器中兩個全局數(shù)據(jù)塊的全部數(shù)據(jù)一次讀 取到WinCC中,并把GetTagFloat ()函數(shù)的返回值賦給C腳本中建立的浮點型數(shù)組變量。
[0014] 這樣,下位機PLC通過多個過程變量存儲同一信號數(shù)據(jù)的連續(xù)值,上位機WinCC通 過多個外部變量一次讀取多個過程變量的值,即"多個變量讀取同一信號數(shù)據(jù)的連續(xù)值", 實現(xiàn)了上位機WinCC由原來的每次讀取單個值變?yōu)楝F(xiàn)在的每次讀取多個值,從而間接實現(xiàn) 了高速數(shù)據(jù)采集。上位機每隔250ms可采集到50個數(shù)據(jù),即每5ms采集一個數(shù)據(jù)。
[0015] 上位機WinCC保存數(shù)據(jù)時,通過比較本次位置編號變量值A(數(shù)據(jù)塊中建立的整型 過程變量)和上次數(shù)據(jù)解包得到的并已存在上位機中的位置編號變量值B,可以得出兩次 采集時間間隔內(nèi)的有效數(shù)據(jù)的位置區(qū)間。如果A大于B,則在上位機中只存儲解包后數(shù)組 中第B到第A個數(shù)據(jù);如果A小于B,則在上位機中只存儲第B到第N-1個、第1到第A個 數(shù)據(jù)。建立不同的文本文件,同一信號數(shù)據(jù)以追加的方式保存在同一文件中。
[0016] 在WinCC中組態(tài)數(shù)據(jù)顯示畫面,添加函數(shù)功能控件,調(diào)用SetProp ()函數(shù)設置 函數(shù)功能控件的標題、橫縱坐標范圍、線條顏色。通過修改"dataX"、"dataY"屬性,將獲得 的數(shù)據(jù)用描點連線的方式在控件中顯示出來。
[0017] T1 和 T2 滿足如下關系式:T1*M=T2, T1 彡 1ms, T2 彡 250ms, T1〈T2,M〈N-1。其中,T1 為可編程序控制器采集數(shù)據(jù)存放到數(shù)據(jù)塊的周期,T2為WinCC上位機軟件全局腳本的觸發(fā) 周期,Μ為T2時間內(nèi)PLC所采集到的新數(shù)據(jù)的個數(shù),N為數(shù)據(jù)塊中用于存儲信號數(shù)據(jù)的浮 點型數(shù)組過程變量的長度,ΤΙ、Μ、Τ2, Ν均為整數(shù)。
【權利要求】
1. 一種基于上位機和可編程控制器的系統(tǒng)辨識方法,其特征在于,包括以下步驟: 1) 發(fā)生激勵信號PRMS :給種子賦初值,即初始化R(0)=0,設置保持時間T ;利用公式 R(n+1) = [R(n) * a + b] mod c,每隔時間T計算得到一個激勵信號R(n+1);其中,mod表示 求余數(shù);a, b均為質(zhì)數(shù);c為常數(shù); 2) 在可編程控制器中建立兩個全局數(shù)據(jù)塊DB1和DB2,分別在兩個全局數(shù)據(jù)塊DB1和 DB2中建立一個整型過程變量和一個長度為N的浮點型數(shù)組過程變量,兩個全局數(shù)據(jù)塊DB1 和DB2中的浮點型數(shù)組過程變量分別用來存儲待辨識物理系統(tǒng)的激勵信號PRMS和輸出信 號,兩個整型過程變量分別用來存儲最新存入的激勵信號PRMS的位置編號和輸出信號的 位置編號;可編程控制器每隔時間T1將激勵信號PRMS和輸出信號分別依次存儲到全局數(shù) 據(jù)塊DB1和DB2中,每一次存儲時,更新激勵信號PRMS的位置編號、輸出信號的位置編號、 激勵信號PRMS和輸出信號;其中,Tl > lms ; 3) 在上位機WinCC軟件的變量表中建立2N個浮點型外部變量,其中前N個浮點型外 部變量與全局數(shù)據(jù)塊DB1中的長度為N的浮點型數(shù)組過程變量包含的N個浮點型過程變量 一一對應,后N個浮點型外部變量與全局數(shù)據(jù)塊DB2中的長度為N的浮點型數(shù)組過程變量 包含的N個浮點型過程變量一一對應;同時建立兩個整型外部變量,分別將兩個整型外部 變量與兩個全局數(shù)據(jù)塊中的整型過程變量對應;這樣,上位機WinCC通過自身的外部變量 與上述可編程控制器的過程變量建立的映射關系,每隔時間T2對外部變量刷新一次,實現(xiàn) 上位機和下位機數(shù)據(jù)的實時通訊;T2彡250ms ; 4) 分別讀取并保存全局數(shù)據(jù)塊DB1和全局數(shù)據(jù)塊DB2中的數(shù)據(jù);每隔時間T2,分別將 可編程控制器中兩個全局數(shù)據(jù)塊的2N個浮點型數(shù)據(jù)讀取到上位機中;其中,T2 > 250ms。
2. 根據(jù)權利要求1所述的基于上位機和可編程控制器的系統(tǒng)辨識方法,其特征在于, 所述步驟3)中,WinCC軟件通過調(diào)用GetTagFloat ()函數(shù),將可編程控制器中兩個全局數(shù) 據(jù)塊的2N個浮點型數(shù)據(jù)讀取到WinCC中,并把GetTagFloat ()函數(shù)的返回值賦給上位機 腳本中建立好的浮點型數(shù)組變量。
3. 根據(jù)權利要求1或2所述的基于上位機和可編程控制器的系統(tǒng)辨識方法,其特征在 于,T1和T2滿足如下關系式:T1*M=T2, T1〈T2 ;M為T2時間內(nèi)可編程控制器采集到的數(shù)據(jù) 的個數(shù);M〈N-1。
【文檔編號】G05B19/418GK104049621SQ201410314046
【公開日】2014年9月17日 申請日期:2014年7月3日 優(yōu)先權日:2014年7月3日
【發(fā)明者】譚建平, 許洪韜, 楊俊 , 許文斌, 周宇峰 申請人:中南大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1