專利名稱:基于觸發(fā)-延時的實時仿真控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種工業(yè)控制技術(shù)領(lǐng)域的控制方法,具體是一種基于觸發(fā)-延時的實時仿真控制方法。
背景技術(shù):
在工業(yè)閉環(huán)控制系統(tǒng)設(shè)計過程中,通常被控對象的設(shè)計與加工需要相當?shù)臅r 間和成本,影響到閉環(huán)控制系統(tǒng)的開發(fā)進度;當控制器方法不準確時,將實際的 被控對象加入閉環(huán)控制系統(tǒng)進行設(shè)計,可能導(dǎo)致被控對象損壞,不但導(dǎo)致實驗成 本增加,而且影響開發(fā)進程。另外可能受到實驗條件限制, 一些被控對象的工作 環(huán)境很難在實驗過程實現(xiàn),導(dǎo)致被控對象與環(huán)境的相互作用不能得到體現(xiàn),在此 基礎(chǔ)上設(shè)計的控制器缺乏可靠性。為了提高設(shè)計發(fā)效率并降低研發(fā)成本,通常在 閉環(huán)控制系統(tǒng)設(shè)計過程中采用建模方法描述實際被控對象,并通過仿真優(yōu)化工具 設(shè)計相應(yīng)的控制方法,實現(xiàn)被控對象模型的優(yōu)化控制。然而一些仿真研究是非實 時的,即閉環(huán)控制系統(tǒng)設(shè)計完全是在仿真環(huán)境下進行的,沒有體現(xiàn)被控對象模型 在控制方法作用下的實時運行機制,而實時控制正是實際閉環(huán)控制系統(tǒng)的關(guān)鍵技 術(shù),它與系統(tǒng)硬件有很大的關(guān)系。因此非實時仿真設(shè)計與實際被控對象的實時控 制仍有一定的差距。為了避免非實時仿真設(shè)計中存在的問題,并考慮到控制方法 部署的通用性,在非實時閉環(huán)控制仿真基礎(chǔ)上采用半物理仿真思路將被控對象模
型與控制方法模型分別部署在普通PC機和普通的控制開發(fā)板上,并通過觸發(fā)-延
時機制使得被控對象與控制方法能夠同步運行。采用該方法不但可以提高控制方 法設(shè)計的可靠性,而且能夠直接設(shè)計控制開發(fā)板,從而真正降低研發(fā)成本并縮短 設(shè)計周期。
經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),陶建峰等在《上海交通大學(xué)學(xué)報》"轉(zhuǎn)臺控 制器實時性能的半物理仿真方法"(2006年11月第40巻11期)中,采用虛擬 轉(zhuǎn)臺概念建立實際轉(zhuǎn)臺模型,并利用實時代碼生成工具將轉(zhuǎn)臺模型和控制器模型 生成可執(zhí)行程序分別下載到工控機和普通PC機。工控機和PC機上用五個接口電
路板連接將二者起來,并安裝實時內(nèi)核工具生成的實時操作系統(tǒng)。然后在PC機和 工控機分別執(zhí)行控制方法程序和被控對象程序,通過握手控制機制實現(xiàn)對轉(zhuǎn)臺模 型進行控制。由于實時系統(tǒng)是依靠實時內(nèi)核工具自動生成的,對于文中提到的控 制工控機比較適合,能夠驗證閉環(huán)系統(tǒng)的實時仿真控制性能。但這種實時系統(tǒng)在 硬件方面缺乏兼容性,不能在許多控制開發(fā)板(尤其開發(fā)者設(shè)計的控制開發(fā)板) 上使用,因而也就無法用來驗證這類控制開發(fā)板的性能(如主頻、D/A轉(zhuǎn)換速率 與采樣周期關(guān)系);另外通過實時代碼生成工具產(chǎn)生的控制可執(zhí)行程序也不是精簡 的代碼,對存儲空間有限的控制開發(fā)板不經(jīng)濟。更為重要的是,由于文中提到的 實時仿真過程中需要五個接口電路連接PC機和工控機,導(dǎo)致實驗成本增加,而且 由于模擬輸入輸出電路存在轉(zhuǎn)換延時和誤差,會在閉環(huán)控制回路中引入額外誤差, 從而改變閉環(huán)系統(tǒng)的控制性能。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的問題,提出一種基于觸發(fā)-延時的實時仿真控制方 法,將普通控制開發(fā)板(包括開發(fā)者設(shè)計的開發(fā)板)應(yīng)用到實時仿真控制中,這 不但可以提高控制方法設(shè)計的可靠性,而且能夠為控制開發(fā)板進一步完善提供參 考,更具有實際意義,這在閉環(huán)控制系統(tǒng)設(shè)計過程中有利于節(jié)約研發(fā)成本并減少 設(shè)計周期。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的,本發(fā)明采取分布部署方式,將觸發(fā)模式 下被控對象模型(包含工作環(huán)境擾動模型)部署在目標機上,將基于觸發(fā)-延時機 制的控制方法部署在普通的控制開發(fā)板上。通過較少的模擬輸入輸出接口電路實 現(xiàn)信號傳遞。為了確保部署在不同設(shè)備上的被控對象模型和控制方法同步運行, 在控制方法中設(shè)計一個觸發(fā)信號控制被控對象模型執(zhí)行,同時根據(jù)目標機上執(zhí)行 一次被控對象模型消耗的時間,在控制方法中確定一個延時機制,確??刂崎_發(fā) 板能正確地采集當前控制信號下被控對象模型的輸出,然后該信號作為下一次控 制方法的輸入信號,這樣被控對象模型在控制方法作用下能夠正確執(zhí)行。由于這 種仿真控制過程包含了模擬輸入輸出電路,物理信號在實際時鐘控制下進行傳遞, 實現(xiàn)了被控對象模型和控制方法的實時運行。
本發(fā)明方法包括以下步驟
第一步,連接主機-目標機、主機-控制開發(fā)板、目標機-控制開發(fā)板,并構(gòu)建 軟件運行環(huán)境,從而建立實時仿真控制平臺。
第二步,在主機上采用Siraulink(邁斯沃克公司開發(fā)的模塊化仿真建模平臺) 建立觸發(fā)模式下被控對象模型。該模型可以通過實時仿真控制平臺下載到目標機 上。
第三步,在主機CCS(Code Composer Studio)環(huán)境下設(shè)計基于觸發(fā)-延時機制 的控制方法。該方法可通過實時仿真控制平臺下載到控制開發(fā)板。
第四步,在實時仿真控制平臺上,采用觸發(fā)延時機制實現(xiàn)目標機上基于觸發(fā) 模式的被控對象模型和控制開發(fā)板上控制方法的實時同步運行。
所述連接主機與目標機,是指基于TCP/IP協(xié)議在局域網(wǎng)內(nèi)通過路由器和 RJ45網(wǎng)線將主機和目標機連接起來,實現(xiàn)二者之間的通信。這樣主機上的被控對 象模型(包含工作環(huán)境擾動模型)代碼能夠下載到目標機,目標機的測試數(shù)據(jù)可 以上傳到主機。
所述連接主機與控制開發(fā)板,是指為了把主機CCS環(huán)境下開發(fā)的代碼下載 到控制開發(fā)板,采用仿真器將主機的USB接口與控制開發(fā)板的JTAG 口連接起來。 這樣代碼完成后可以直接下載到控制開發(fā)板的存儲器中。
所述連接目標機與控制開發(fā)板,是指為了將目標機與外部控制開發(fā)板連接 起來,目標機需要安裝模數(shù)轉(zhuǎn)換卡和數(shù)模轉(zhuǎn)換卡。根據(jù)轉(zhuǎn)換卡的接口形式,把轉(zhuǎn) 換卡安裝到目標機上。例如轉(zhuǎn)換卡為PCI接口,則把轉(zhuǎn)換卡插入目標機的PCI插 槽。通過前者接收控制開發(fā)板上數(shù)模轉(zhuǎn)換芯片(D/A)的輸出信號,通過后者輸出 模型信號到控制開發(fā)板的模數(shù)轉(zhuǎn)換芯片(A/D)。
所述構(gòu)建軟件運行環(huán)境,具體為
① 安裝軟件在主機上安裝Matlab仿真軟件,包括Simulink (邁斯沃克公司 開發(fā)的基于模塊仿真建模工具箱)、Simulink Response Optimization (邁斯沃克 公司開發(fā)的控制響應(yīng)優(yōu)化工具箱)、Real Time Workshop (邁斯沃克公司開發(fā)的代 碼生成工具箱)及xPCTarget (邁斯沃克公司開發(fā)的實時仿真工具箱);然后安裝 CCS開發(fā)環(huán)境,用于控制方法開發(fā)。
② 安裝實時內(nèi)核在主機上利用xPCTarget工具箱生成一個小型實時操作系 統(tǒng)。生成之前需要設(shè)置目標機啟動方式、目標機與主機通信方式等,然后將該系 統(tǒng)安裝到目標機上。
所述建立觸發(fā)模式下的被控對象模型,步驟如下 ①建立閉環(huán)控制系統(tǒng)的非實時仿真模型
在Simulink下建立閉環(huán)控制系統(tǒng)模型。該模型包括被控對象模型(工作環(huán)境 模型)、控制模塊、參考信號源、顯示模塊等。利用Simulink Response Optimization 工具箱設(shè)計控制模塊中的參數(shù),這樣不但節(jié)省設(shè)計時間,而且使閉環(huán)控制系統(tǒng)的 輸出響應(yīng)滿足要求。
②設(shè)計基于觸發(fā)模式的被控對象模型
為了使目標機上的被控對象模型在觸發(fā)模式下執(zhí)行,需要對被控對象模型進 行如下處理。首先建立一個基于觸發(fā)模式的子系統(tǒng),并將被控對象模型和它的工 作環(huán)境模型放在子系統(tǒng)模塊內(nèi)。在子系統(tǒng)外面建立模擬輸入和模擬輸出接口模塊,
分別控制目標機上的模數(shù)轉(zhuǎn)換卡和數(shù)模轉(zhuǎn)換卡,實現(xiàn)被控對象模型與控制方法之 間進行信號傳遞。通常xPCTarget工具箱的I/O庫中提供了多種轉(zhuǎn)換卡接口模塊, 如果沒有相應(yīng)的接口模塊,用戶可以參照其他轉(zhuǎn)換卡接口模塊進行簡單的修改, 建立需要的接口模塊。
所述設(shè)計基于觸發(fā)-延時機制的控制方法,步驟如下
首先利用非實時仿真過程中設(shè)計的控制模塊,建立被控對象模型輸出與參考 信號之差的控制方程,然后在方法中設(shè)計一個觸發(fā)信號,使目標機上基于觸發(fā)模 式的被控對象模型能夠執(zhí)行,并根據(jù)目標機執(zhí)行被控對象模型消耗的時間,在方 法中設(shè)置延時間隔。在延時后控制方法啟動模數(shù)轉(zhuǎn)換芯片(A/D),采集被控對象 模型通過數(shù)模轉(zhuǎn)換卡傳送過來的誤差信號。最后執(zhí)行誤差控制方程,并將控制信 號通過數(shù)模轉(zhuǎn)換芯片(D/A)和模數(shù)轉(zhuǎn)換卡傳送到被控對象模型。
所述被控對象模型和控制方法的實時同步運行,步驟如下
① 部署被控對象模型的可執(zhí)行程序和控制方法的可執(zhí)行程序 首先在主機上利用Real Time Workshop工具箱對被控對象模型進行編譯并生
成可執(zhí)行程序,將可執(zhí)行程序通過網(wǎng)線從主機下載到目標機。用戶根據(jù)需求定義 運行時間、采樣周期等。在CCS環(huán)境下編譯控制方法,生成可執(zhí)行文件,通過仿 真器將控制方法下載到控制開發(fā)板上。
② 被控對象模型和控制方法的實時同步運行
確定被控對象模型和控制方法的初始執(zhí)行順序。根據(jù)實際控制系統(tǒng)工作情況, 被控對象應(yīng)該先執(zhí)行,其輸出信號與參考信號之差作為控制方法的輸入信號。因 此先啟動目標機執(zhí)行被控對象的可執(zhí)行程序。由于模型是基于觸發(fā)模式的,需要 一個觸發(fā)信號才能執(zhí)行。因此啟動目標機后下一步應(yīng)執(zhí)行控制開發(fā)板上的控制方
法可執(zhí)行程序,其初始化過程中應(yīng)該先產(chǎn)生一個觸發(fā)信號,通過數(shù)模轉(zhuǎn)換芯片 (D/A)和模數(shù)轉(zhuǎn)換卡傳遞觸發(fā)被控對象被執(zhí)行。然后執(zhí)行控制方法主程序中的延 時環(huán)節(jié),最后在主程序中啟動模數(shù)轉(zhuǎn)換芯片(A/D)采集目標機上被控對象模型的 可執(zhí)行程序通過數(shù)模轉(zhuǎn)換卡傳送過來的誤差信號。 ③測試數(shù)據(jù)采集
仿真過程中,目標機上被控對象的可執(zhí)行程序產(chǎn)生的數(shù)據(jù)信息存儲在目標機 的內(nèi)存中,仿真結(jié)束后必須上傳到主機上??梢岳脁PCTarget工具箱提供的數(shù) 據(jù)采集工具將數(shù)據(jù)上傳到主機。
本發(fā)明提到的控制方法面向控制領(lǐng)域中實際控制器設(shè)計。該方法采用觸發(fā)延 時機制實現(xiàn)目標機上被控對象模型與控制開發(fā)板上控制方法的實時同步運行。使 用本發(fā)明能夠避免實時內(nèi)核生成工具產(chǎn)生的內(nèi)核與普通控制開發(fā)板不兼容的情 況,具有較好的通用性,甚至可以將控制方法直接部署在開發(fā)者設(shè)計的控制開發(fā) 板上,這既能驗證控制方法可靠性,又能驗證該板在實時仿真中的硬件性能,提 高開發(fā)效率。相對于文獻3,本發(fā)明僅采用兩塊模數(shù)/數(shù)模轉(zhuǎn)換卡就實現(xiàn)了目標機 與控制開發(fā)板接口,大大節(jié)省了實驗成本。另外由于采用模擬信號觸發(fā)實現(xiàn)同步 控制,不需要數(shù)字信號接口,降低了硬件要求,進一步節(jié)省了成本。
圖1為本發(fā)明實施例中基于觸發(fā)延時的實時仿真控制硬件開發(fā)平臺。 圖2為本發(fā)明實施例中閉環(huán)控制系統(tǒng)的非實時仿真Simulink模型。 圖3為本發(fā)明實施例中的非實時仿真結(jié)果;
其中(a)為二階過阻尼被控對象的單位階躍響應(yīng)(未加控制器),(b)為二 階過阻尼被控對象的單位階躍響應(yīng)(增加控制器)。
圖4為本發(fā)明實施例中觸發(fā)模式下被控對象Simulink模型。
圖5為本發(fā)明實施例中基于觸發(fā)模式的控制開發(fā)板和目標機連接圖。
圖6為本發(fā)明實施例中閉環(huán)控制系統(tǒng)的實時輸出示意圖。
圖7為本發(fā)明實施例中控制方法產(chǎn)生的觸發(fā)信號示意圖。
具體實施例方式
以下結(jié)合附圖闡述表現(xiàn)出的優(yōu)良實時仿真控制效果實施例。本發(fā)明不只限于 下述的實施例,本實施例在不偏離本發(fā)明基本精神及不超出本發(fā)明實質(zhì)內(nèi)容所涉 及范圍的前提下進行實施,給出基于觸發(fā)-延時的實時仿真控制方法,適用于各種控制開發(fā)板(包括開發(fā)者設(shè)計的開發(fā)板)和普通PC機構(gòu)成的實時仿真平臺,可廣 泛應(yīng)用于航空航天、汽車、機械等行業(yè)中的實時仿真控制過程。
實施例針對一個實時仿真控制系統(tǒng)中經(jīng)常采用的TI(德州儀器)公司的控制 開發(fā)板TMS320LF2407、兩臺普通PC機及Advantech (研華公司)的數(shù)模轉(zhuǎn)換卡 PCI1720U和模數(shù)轉(zhuǎn)換卡PCI1710HG,采用基于觸發(fā)-延時的實時仿真控制方法,介 紹具體實施步驟。
① .建立硬件開發(fā)平臺
連接主機與目標機配置兩臺裝有軟盤驅(qū)動器的普通PC機。 一臺作為主機, 另一臺作為目標機?;赥CP/IP協(xié)議,在局域網(wǎng)內(nèi)通過RJ45網(wǎng)線把目標機和主 機分別連接到路由器上,實現(xiàn)二者之間的通信。
連接主機與控制開發(fā)板為了把主機CCS環(huán)境下開發(fā)的代碼下載到控制開發(fā) 板,采用仿真器將主機的USB接口與控制開發(fā)板的JTAG 口連接起來。這樣代碼完 成后可以直接下載到控制開發(fā)板的存儲器中。
連接目標機與控制開發(fā)板為了將目標機與外部控制開發(fā)板TMS320LF2407連接 起來,實施例中目標機需要安裝基于PCI總線的數(shù)模轉(zhuǎn)換卡PCI1720U和PCI模數(shù) 轉(zhuǎn)換卡PCI1710HG??梢灾苯訉⑺鼈儾逶谀繕藱C的兩個PCI插槽上,而后采用各 自的線纜把轉(zhuǎn)換卡和各自的接線板連接起來。通過前者接收控制開發(fā)板的模擬信 號,通過后者輸出模型信號到控制開發(fā)板。完整的實時仿真控制硬件開發(fā)平臺如 圖l所示。
② .構(gòu)建軟件運行環(huán)境
安裝軟件在主機上安裝仿真軟件Matlab,包括Simulink工具箱、Simulink Response Optimization工具箱、Real Time Workshop工具箱及xPCTarget工具 箱;然后安裝CCS開發(fā)環(huán)境,用于控制方法開發(fā)。
安裝實時內(nèi)核配置兩臺裝有軟盤驅(qū)動器的普通PC機。 一臺作為主機,安裝 Matlab;另一臺作為目標機,安裝實時操作系統(tǒng)內(nèi)核。在主機Matlab軟件平臺上, 利用xPCTarget工具箱生成一個小型實時操作系統(tǒng)內(nèi)核,在系統(tǒng)中設(shè)置軟盤啟動 方式、配置目標機IP地址191.168.0.1、子網(wǎng)掩碼255.255.0.0、網(wǎng)關(guān) 255.255.255.255及端口號22222等,然后將其下載到軟盤上。而后將軟盤插入 目標機,設(shè)置目標機啟動方式為從軟盤啟動。打開目標機電源自動從軟盤讀取實 時內(nèi)核,并安裝到目標機上。③.建立閉環(huán)控制系統(tǒng)的非實時仿真模型
采用Simulink建立一個非實時仿真模型,如圖2所示。模型包括一個單位 階躍參考信號、控制模塊、被控對象模型及相應(yīng)的數(shù)據(jù)測量單元。在不影響實施 例說明問題的情況下,被控對象模型是一個過阻尼的二階系統(tǒng),如式1。它的階 躍信號輸出如圖3 (a)所示。
<formula>formula see original document page 11</formula> (1)
從圖3 (a)可以看出被控對象輸出為參考信號的一半,存在明顯的跟蹤誤差。 因此利用Simulink Response Optimization工具箱設(shè)計一個控制模型,其優(yōu)化參 數(shù)如式(2)。通過閉環(huán)負反饋使被控對象輸出滿足要求,如圖3 (b)所示。
<formula>formula see original document page 11</formula> (2)
.設(shè)計基于觸發(fā)模式的被控對象模型
移除步驟③中非實時仿真模型中控制模塊,然后利用Simulink設(shè)計一個基于 觸發(fā)模式的子系統(tǒng),將被控對象模型放在子系統(tǒng)模塊內(nèi),然后設(shè)置子系統(tǒng)觸發(fā)模 式為上升沿或下降沿觸發(fā),即信號從負值(包括零)變?yōu)檎祷驈恼?包括零) 變?yōu)樨撝?,子系統(tǒng)被觸發(fā)并執(zhí)行內(nèi)部的被控對象模型。另外在子系統(tǒng)外面建立 PCI1710HG和PCI' 1720U的輸入和輸出接口模塊,分別控制目標機上的1710HG模 數(shù)轉(zhuǎn)換卡和PCI1720U數(shù)模轉(zhuǎn)換卡,這樣,實現(xiàn)子系統(tǒng)輸入輸出信號與外部控制開 發(fā)板的模擬輸出輸入接口的連接。由于xPCTarget的1/0庫中沒有提供PCI1720U 和PCI1710HG的接口模塊,因此,結(jié)合這兩個板卡的說明書并參照xPCTarget下 其他接口模塊進行修改,建立需要的接口模塊。
圖4是基于觸發(fā)模式的被控對象模型。需要說明的是由于模型輸出與參考信 號的誤差可能在正負值之間變化,而控制開發(fā)板上模數(shù)轉(zhuǎn)換芯片(A/D)電壓輸入范 圍為0 3.3V,即不能轉(zhuǎn)換負電壓輸入信號。為了解決這一矛盾,需要在誤差信 號輸入至A/D之前加上一個正偏置電壓,使誤差信號為正值。當誤差信號通過A/D 轉(zhuǎn)換后,應(yīng)在控制方法執(zhí)行之前中減去正偏置值,以還原誤差信號,如圖4中跟 蹤誤差信號在由PCI1720U輸出前加上了 IV的正偏置,那么在控制方法執(zhí)行前應(yīng) 減去1V。同樣經(jīng)過控制方法后輸出電壓也可能在正負值之間變化,而控制開發(fā)板 上數(shù)模轉(zhuǎn)換芯片(D/A)輸出電壓范圍為0 5V。因此需要給控制方法的輸出加上
一個正偏置信號,而后在被控對象模型中減去該正偏置值,使被控對象能夠得到 正確的控制輸出信號。
另外需要注意的是,當誤差輸入信號或者控制輸出信號的幅值超出了目標機 上PCI數(shù)模/模數(shù)轉(zhuǎn)換卡或者控制開發(fā)板上數(shù)模/模數(shù)轉(zhuǎn)換芯片的工作電壓范圍, 需要對輸入輸出值進行相應(yīng)比例縮放和還原。但需要說明的是,噪聲信號也會隨 有效信號一起被縮放,從而降低了信噪比,嚴重時會導(dǎo)致仿真的發(fā)散。
⑤.設(shè)計控制方法
如圖5所示,為了實現(xiàn)實時仿真控制,在圖5中控制開發(fā)板上控制方法發(fā)出 觸發(fā)信號對目標機上觸發(fā)模式下被控對象模型進行控制,因此需要在CCS環(huán)境下
設(shè)計基于觸發(fā)延時模式的控制方法。該方法包括了以下三個功能部分將步驟④ 中控制模塊離散化,建立離散化的誤差控制方程;另外在方法中設(shè)計一個0V和 IV交替選擇的觸發(fā)信號,為了防止控制開發(fā)板的數(shù)模轉(zhuǎn)換芯片(D/A)和目標機 上的模數(shù)轉(zhuǎn)換卡的轉(zhuǎn)換誤差觸發(fā)被控對象模型,在觸發(fā)信號中減去一個0. 5V的常 值信號,即-O. 5-〉0. 5V是正信號觸發(fā),0. 5V-〉-0. 5V是負信號觸發(fā)。最后根據(jù)目 標機執(zhí)行應(yīng)用程序消耗的時間確定延時間隔。該延時間隔包括執(zhí)行被控對象模型 消耗的時間、執(zhí)行其他Simulink模塊時間、PCI數(shù)模轉(zhuǎn)換卡消耗時間。為了保證 被控對象模型能夠在控制方法作用下正確執(zhí)行,延時間隔要大于目標機執(zhí)行一步 消耗的所有時間。延時完成后控制方法啟動模數(shù)轉(zhuǎn)換芯片(A/D),采集被控對象 模型通過數(shù)模轉(zhuǎn)換卡傳送過來的誤差信號。最后執(zhí)行誤差控制方程,并將控制信 號通過數(shù)模轉(zhuǎn)換芯片(D/A)和模數(shù)轉(zhuǎn)換卡傳送到被控對象模型。 本實施例中,控制方法的偽代碼如下
Init一DA; %初始化數(shù)模轉(zhuǎn)換芯片D/A init_AD=l; %輸出上升沿模式的觸發(fā)信號
Set DA(i)= init—AD; %給數(shù)模轉(zhuǎn)換芯片D/A的輸出寄存器賦值 Start D/A; 。/。啟動數(shù)模轉(zhuǎn)換芯片D/A Main—DSP {
Delay (T); 。/。延時時間T;確保目標機上可執(zhí)行程序能夠執(zhí)行完; Start A/D; %采集被控對象模型輸出與參考信號的誤差信號;
{Execute error Control equation; %執(zhí)行誤差控制方程} Register=YCOntr; %將控制信號送人輸出寄存器 initJ\D=-l*init—AD; %產(chǎn)生上升沿或下降沿模式的觸發(fā)信號 Set DA(i)=init—AD; %給數(shù)模轉(zhuǎn)換芯片D/A輸出寄存器賦值 Start D/A; X啟動數(shù)模轉(zhuǎn)換芯片D/A
部署被控對象模型的可執(zhí)行程序和控制方法的可執(zhí)行程序 首先在同一子網(wǎng)內(nèi)設(shè)置主機的IP地址191. 168.0.5、網(wǎng)關(guān)192. 168. 1. 1;而 后采用手工離散化方式將被控對象模型離散化,并在主機上利用Real Time Workshop工具箱對步驟④中的被控對象模型進行編譯,生成可執(zhí)行程序,而后將 可執(zhí)行程序通過網(wǎng)線從主機下載到目標機上。最后將步驟⑤中的控制方法在CCS 環(huán)境下編譯,生成可執(zhí)行文件,通過仿真器XDS510 USB2. 0下載到控制開發(fā)板的 存儲器中。
⑦ .被控對象模型和控制方法的實時同步運行 啟動目標機執(zhí)行步驟⑥中被控對象的可執(zhí)行程序,然后給控制開發(fā)板上電,
并在主機的CCS環(huán)境下啟動執(zhí)行控制方法的可執(zhí)行程序,控制方法初始化過程中 先產(chǎn)生一個觸發(fā)信號,通過數(shù)模轉(zhuǎn)換芯片(D/A)觸發(fā)被控對象被執(zhí)行,然后執(zhí)行 控制方法主程序中的延時環(huán)節(jié),最后主程序啟動模數(shù)轉(zhuǎn)換芯片(A/D),采集被控 對象模型傳送過來的誤差信號。
⑧ .測試數(shù)據(jù)采集
在實施例中僅對階躍信號進行分析,利用xPCTarget下提供的數(shù)據(jù)采集工具 將數(shù)據(jù)上傳到主機。采集的信號包括單位階躍參考信號、閉環(huán)控制系統(tǒng)響應(yīng)信號、 PID控制信號。與被控對象相關(guān)的實時控制信息存儲在目標機的內(nèi)存中,仿真結(jié) 束后必須上傳到主機上??梢岳脁PCTarget提供的數(shù)據(jù)采集工具將數(shù)據(jù)上傳到 主機。
對于二階被控對象模型,采用觸發(fā)-延時機制獲得的實時仿真控制效果如圖6 所示,圖7表示觸發(fā)信號,可以看出產(chǎn)生一次觸發(fā)信號需要0.002s的時間間隔。 由于從數(shù)模轉(zhuǎn)換芯片(D/A)進行轉(zhuǎn)換需要花費時間,因此正負信號轉(zhuǎn)換過程是一 條曲線。
權(quán)利要求
1、一種基于觸發(fā)-延時的實時仿真控制方法,其特征在于包括以下步驟第一步,連接主機-目標機、主機-控制開發(fā)板、目標機-控制開發(fā)板,并構(gòu)建軟件運行環(huán)境,從而建立實時仿真控制平臺;第二步,在主機上采用Simulink建立觸發(fā)模式下被控對象模型,該模型能通過實時仿真控制平臺下載到目標機上;第三步,在主機CCS環(huán)境下設(shè)計基于觸發(fā)一延時機制的控制方法,該控制方法能通過實時仿真控制平臺下載到控制開發(fā)板;第四步,在實時仿真控制平臺上,采用觸發(fā)延時機制實現(xiàn)目標機上基于觸發(fā)模式的被控對象模型和控制開發(fā)板上控制方法的實時同步運行。
2、根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述連接主機與目標機,是指基于TCP/IP協(xié)議在局域網(wǎng)內(nèi)通過路由器和RJ45 網(wǎng)線將主機和目標機連接起來,實現(xiàn)二者之間的通信,這樣主機上的被控對象模 型包含工作環(huán)境擾動模型代碼能夠下載到目標機,目標機的測試數(shù)據(jù)能上傳到主 機。
3、 根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述連接主機與控制開發(fā)板,是指采用仿真器將主機的USB接口與控制開發(fā)板 的JTAG 口連接起來,這樣代碼完成后可直接下載到控制開發(fā)板的存儲器中。
4、 根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述連接目標機與控制開發(fā)板,是指在目標機安裝模數(shù)轉(zhuǎn)換卡和數(shù)模轉(zhuǎn)換卡, 將目標機與外部控制開發(fā)板連接起來,通過前者接收控制開發(fā)板上數(shù)模轉(zhuǎn)換芯片 的輸出信號,通過后者輸出模型信號到控制開發(fā)板的模數(shù)轉(zhuǎn)換芯片。
5、 根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是,所述構(gòu)建軟件運行環(huán)境,具體為安裝軟件在主機上安裝Matlab仿真軟件,包括Simulink、 Simulink Response Optimization、 Real Time Workshop及xPCTarget, 然后安裝CCS開 發(fā)環(huán)境,用于控制方法開發(fā);安裝實時內(nèi)核在主機上利用xPCTarget工具箱生成一個小型實時操作系 統(tǒng),生成之前需設(shè)置目標機啟動方式、目標機與主機通信方式,然后將該系統(tǒng)安 裝到目標機上。
6、根據(jù)權(quán)利要求l所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述建立觸發(fā)模式下的被控對象模型,步驟如下① 建立閉環(huán)控制系統(tǒng)的非實時仿真模型在Simulink下建立閉環(huán)控制系統(tǒng)模型,該模型包括被控對象模型、控制模 塊、參考信號源、顯示模塊,利用Simulink Response Optimization工具箱設(shè) 計控制模塊中的參數(shù);② 設(shè)計基于觸發(fā)模式的被控對象模型-首先建立一個基于觸發(fā)模式的子系統(tǒng),并將被控對象模型和它的工作環(huán)境模 型放在子系統(tǒng)模塊內(nèi),在子系統(tǒng)外面建立模擬輸入和模擬輸出接口模塊,分別控 制目標機上的模數(shù)轉(zhuǎn)換卡和數(shù)模轉(zhuǎn)換卡,實現(xiàn)被控對象模型與控制方法之間進行 信號傳遞。
7、根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述設(shè)計基于觸發(fā)-延時機制的控制方法,步驟如下首先利用非實時仿真過程中設(shè)計的控制模塊,建立被控對象模型輸出與參考 信號之差的控制方程;然后設(shè)計一個觸發(fā)信號,使目標機上基于觸發(fā)模式的被控對象模型能夠執(zhí) 行,并根據(jù)目標機執(zhí)行被控對象模型消耗的時間,設(shè)置延時間隔,在延時后啟動 模數(shù)轉(zhuǎn)換芯片,采集被控對象模型通過數(shù)模轉(zhuǎn)換卡傳送過來的誤差信號;最后執(zhí)行誤差控制方程,并將控制信號通過數(shù)模轉(zhuǎn)換芯片和模數(shù)轉(zhuǎn)換卡傳送 到被控對象模型。
8、根據(jù)權(quán)利要求1所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述被控對象模型和控制方法的實時同步運行,步驟如下① 部署被控對象模型的可執(zhí)行程序和控制方法的可執(zhí)行程序 首先在主機上利用Real Time Workshop工具箱對被控對象模型進行編譯并生成可執(zhí)行程序,將可執(zhí)行程序通過網(wǎng)線從主機下載到目標機,用戶根據(jù)需求定 義運行時間、采樣周期,在CCS環(huán)境下編譯控制方法,生成可執(zhí)行文件,通過仿 真器將控制方法下載到控制開發(fā)板上;② 被控對象模型和控制方法的實時同步運行 被控對象先執(zhí)行,其輸出信號與參考信號之差作為控制方法的輸入信號,因 此先啟動目標機執(zhí)行被控對象的可執(zhí)行程序;啟動目標機后下一步執(zhí)行控制開發(fā) 板上的控制方法可執(zhí)行程序,其初始化過程中先產(chǎn)生一個觸發(fā)信號,通過數(shù)模轉(zhuǎn) 換芯片和模數(shù)轉(zhuǎn)換卡傳遞觸發(fā)被控對象被執(zhí)行,然后執(zhí)行控制方法主程序中的延 時環(huán)節(jié),最后在主程序中啟動模數(shù)轉(zhuǎn)換芯片采集目標機上被控對象模型的可執(zhí)行 程序通過數(shù)模轉(zhuǎn)換卡傳送過來的誤差信號;③測試數(shù)據(jù)采集仿真過程中,目標機上被控對象的可執(zhí)行程序產(chǎn)生的數(shù)據(jù)信息存儲在目標機 的內(nèi)存中,仿真結(jié)束后必須上傳到主機上。
9、根據(jù)權(quán)利要求8所述的基于觸發(fā)-延時的實時仿真控制方法,其特征是, 所述測試數(shù)據(jù)采集中,利用xPCTarget工具箱提供的數(shù)據(jù)采集工具將數(shù)據(jù)上傳到 主機。
全文摘要
一種工業(yè)控制技術(shù)領(lǐng)域的基于觸發(fā)-延時的實時仿真控制方法,步驟為建立實時仿真控制平臺,采用Simulink建立觸發(fā)模式下被控對象模型,并用RealTime Workshop產(chǎn)生被控對象模型的可執(zhí)行程序,然后將可執(zhí)行程序下載到一臺具有實時工作內(nèi)核的目標機上。在控制方法中設(shè)計一個具有上升沿和下降沿的雙向循環(huán)觸發(fā)信號,并將控制信號和觸發(fā)信號通過模擬輸出接口傳送到目標機上的被控對象模型,而后通過延時機制,采集被控對象模型與參考信號的誤差輸出。該誤差信號作為控制方法的下一次輸入信號,實現(xiàn)被控對象模型和控制方法同步運行。本發(fā)明既能驗證控制方法可靠性,又能驗證該板硬件性能,由于減少數(shù)模/模數(shù)轉(zhuǎn)換卡使用數(shù)量,節(jié)約了實驗成本。
文檔編號G05B17/00GK101364086SQ20081020003
公開日2009年2月11日 申請日期2008年9月18日 優(yōu)先權(quán)日2008年9月18日
發(fā)明者孫作雷, 張克志, 田蔚風(fēng), 峰 錢, 顏詩源 申請人:上海交通大學(xué)