《第十二章_應(yīng)用程序設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《第十二章_應(yīng)用程序設(shè)計(43頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,*,第十二章 應(yīng)用程序設(shè)計,數(shù)據(jù)處理程序,本章要點,1,微機控制系統(tǒng)中的軟件設(shè)計,包括選擇系統(tǒng)軟件及設(shè)計應(yīng)用軟件。,前者主要選擇操作系統(tǒng)和算法語言,,后者是根據(jù)控制對象的要求編制應(yīng)用程序。,若是有自己設(shè)計的單片機或是,DSP,系統(tǒng),則不僅要編寫應(yīng)用程序,而且要根據(jù)系統(tǒng)要求編制專用的監(jiān)控程序或系統(tǒng)程序。,對單片機而言,則大部分是監(jiān)控程序。,2,所以,為控制和處理具體應(yīng)用對象而編制的程序就叫應(yīng)用程序。,在微機控制系統(tǒng)中,為使程序緊湊,更重要的,為實時性強,常采用匯編語言編寫。,應(yīng)用程序一般包括,5,部分:,
2、1.,數(shù)據(jù)處理程序:,對計算機的輸入輸出數(shù)據(jù)進行處理或變換,如數(shù)字濾波,線性化處理及工程量轉(zhuǎn)換等。,3,2.,過程監(jiān)視程序:,為監(jiān)視和控制生產(chǎn)過程,必須有相應(yīng)的硬件與之配合,比如開關(guān)狀態(tài)的檢測及控制操作臺,顯示器等。應(yīng)有巡回檢測程序及控制操作臺服務(wù)程序等,以及時反映現(xiàn)場情況和進行人機交互。,3.,控制算法程序:,是為計算機能夠按某種檢測規(guī)律實現(xiàn)控制而編制的程序,如最優(yōu)控制,,PID,控制,比值,前饋等。最常用的如,PID,控制。,4,4.,故障自診斷程序:,即通過一定的軟件去檢查控制系統(tǒng)中的相關(guān)部件運轉(zhuǎn)是否正常。已有各相關(guān)部件較成熟的自檢程序,可供參考或借鑒。,5.,通用子程序:,如制表打印格
3、式程序,服務(wù)子程序庫等。,重點介紹數(shù)據(jù)處理程序。,5,數(shù)據(jù)處理程序,6,濾波:,是將信號頻譜中某些成分衰減或濾除。(濾除可用硬件如,RC,濾波器,也可用軟件如數(shù)字濾波),高次諧波對電機產(chǎn)生有害影響。脈沖,鐵損發(fā)熱增加,7,數(shù)字濾波:,實質(zhì)是程序濾波。通過一定的計算方法,減少干擾在有用信號中的比重,使得輸入計算機待處理的信號量可能是我們所要求的信號。,程序限幅濾波,平均值濾波,中值濾波,一階慣性濾波,復(fù)合數(shù)字濾波,8,無需硬設(shè)備,各通道可公用,降低成本。,各回路間不存在阻抗匹配等問題。故可靠性高,穩(wěn)定性好。,對頻率很低(如,0.01HZ,以下)的信號也可濾波,克服了模擬濾波器的缺陷。,改變?yōu)V波方
4、法時,只需修改程序,方便,靈活。,數(shù)字濾波的優(yōu)點:,9,1.,程序限幅濾波,經(jīng)驗說明,許多物理量的變化都需要一定的時間,相鄰兩次采樣值之間的變化有一定的限度。,當采樣信號由于隨機干擾,如大功率用電設(shè)備的啟動或停止,造成電流的尖峰干擾或錯誤檢測,以及變送器不穩(wěn)定而引起的嚴重失真等現(xiàn)象時,可采用程序判斷法進行濾波。程序判斷濾波根據(jù)濾波方法的不同,可分為,限幅濾波,和,限速濾波,兩種。,10,限幅濾波,限速濾波,設(shè)順序采樣時刻,t1,,,t2,,,t3,所采集的參數(shù)分別為,Y(1),,,Y(2),,,Y(3),,那么,顯然,這類方法對濾除隨機干擾特別有效,程序也很簡單。,11,2.,平均值濾波,平均
5、值濾波主要對壓力,流量等周期脈動的采樣值進行平滑加工,但對脈沖性干擾的平滑不理想,它不適用于脈沖干擾比較嚴重的場合。,算術(shù)平均值濾波,加權(quán)平均值濾波法,12,(,1,)算術(shù)平均值濾波,公式為:,可見,,其,實質(zhì),是:把,n,個采樣值相加,求其平均值,作為時刻,k,的平均值。顯然,n,越大,結(jié)果越準確,但計算時間越長,。,算術(shù)平均值濾波是要尋找一個,Y(k,),,使該值與各采樣值間誤差的平方和為最小,,13,算術(shù)平均值濾波,主要,用于對壓力、流量等周期脈動參數(shù)的采樣值進行平滑加工,但對脈沖性干擾的平滑作用尚不理想,。因而它不適用于脈沖性干擾比較嚴重的場合。采樣次數(shù),N,的選取,取決于系統(tǒng)對于參數(shù)
6、平滑度和靈敏度的要求。隨著,N,值的增大,平滑度將提高,靈敏度將降低。,所以要根據(jù)具體情況選取,n,,以便取得滿意的濾波效果。,14,算術(shù)平均濾波對每次采樣給出了相同的加權(quán)系數(shù),1/n,。,實際應(yīng)用場合需要加大新采樣值在平均值中的比重,,為此可采用:,加權(quán)平均值濾波法,流量信號,取,n=10,壓力信號,取,n=5,溫度等緩慢變化信號,取,n=2,15,(,2,),加權(quán)平均值濾波法,運算關(guān)系式為:,C,i,為加權(quán)系數(shù),應(yīng)滿足:,1),C,i,=1,2),C,n,C,n-1,C,2,C,1,因為加權(quán)系數(shù)常為小數(shù),因此采用浮點運算更為合適。,16,上述兩種濾波程序的公式中,為確定一個采樣值,需采集,
7、n,個數(shù),(所以只能用在信號變化比較緩慢的場合),需要時間長,使得檢測時間減慢。為了提高檢測速度,可采用,:,遞推平均濾波,或叫,數(shù)據(jù)滑動平均濾波,其,基本思想,是:,每采樣一個新值,即舍棄一個最早的采樣值,然后求平均值,作為本次的采樣,。,17,具體實施時:,在,RAM,中建立一個數(shù)據(jù)緩沖區(qū),依次存放,n,個采樣值,每轉(zhuǎn)入一個新值,采用先進先出的辦法將最早的采樣值丟棄,然后再根據(jù)算法求平均值。,平均值濾波對周期脈動的干擾有較明確的抑制,但對偶爾出現(xiàn)的脈動干擾信號,濾波效果不理想,應(yīng)采用,中值濾波,18,3.,中值濾波,對緩慢變化的過程變量采用此法有良好的效果,快速變化時要求采樣點至少,3,,
8、所以不適合用去除脈動性干擾。,基本方法:,對被測參數(shù)采樣,n,次(,n,3,),再按大小順序排列,從首到尾各舍掉,1/3,的大數(shù)和小數(shù)。,此法對防止脈沖干擾比較有效。,19,程序:,n=3,為例,20,4.,一階慣性濾波,前面幾種濾波方法基本上屬于靜態(tài)濾波,主要適用于變化比較慢的參數(shù),但對于快速隨機變化的參數(shù),要用動態(tài)濾波方法,如:,一階慣性濾波,。,數(shù)學表達式:,21,一階慣性濾波,的基本意圖是,把本次采樣值與上次濾波器平均值進行加權(quán)平均,因此在轉(zhuǎn)入的過程中,任何快速的干擾均被濾除,僅保留緩慢變化的信號,為此稱之為,“,低通濾波,”,。,T,為采樣周期,一般事先確定好,,T,f,=RC,為數(shù)
9、字濾波器時間常數(shù),通過實際運算可取最優(yōu)值。,方法:,不斷改變,T,f,,噪聲最低或消除,即為該系統(tǒng)的,T,f,值。,缺點,:,造成相位滯后,大小與濾波系數(shù)有關(guān),。,22,5.,復(fù)合數(shù)字濾波,為了進一步提高濾波效果,有時可以把兩種或兩種以上不同濾波功能的數(shù)字濾波器組合起來,構(gòu)成復(fù)合數(shù)字濾波器,或稱多級數(shù)字濾波器。例如:中值均值可由下式表示:,若,則,上,式也稱為防脈沖干擾的平均值濾波。,此外,也可采用雙重濾波的方法,即把采樣值經(jīng)過低通濾波后,再經(jīng)過一次高通濾波,這樣,結(jié)果更接近理想值,這實際上相當于多級,RC,濾波。,23,各種濾波性能的比較,1.,濾波效果,一般來說,對于,變化比較慢的參數(shù),如
10、溫度,,可選用程序判斷濾波及一階滯后濾波方法。對那些,變化比較快的脈沖參數(shù),如壓力,流量,等,則可選擇算術(shù)平均和加權(quán)平均濾波法,特別是加權(quán)平均濾波法。至于要求比較高的系統(tǒng),需要用復(fù)合濾波法。,24,在算術(shù)平均濾波和加權(quán)平均濾波中,其濾波效果與所選擇的采樣次數(shù),N,有關(guān)。,N,越大,則濾波效果越好,但花費的時間也越長。高通及低通濾波程序是比較特殊的濾波程序,使用時一定要根據(jù)其特點選用。,2.,濾波時間,在考慮濾波效果的前提下,應(yīng)盡量采用執(zhí)行時間比較短的程序,若計算機計算時間允許,可采用效果更好的復(fù)合濾波程序。,25,注意:,數(shù)字濾波在熱工和化工過程的,DDC,系統(tǒng)中并非一定需要,需根據(jù)具體情況,
11、經(jīng)過分析,實驗加以選用。不適當?shù)膽?yīng)用數(shù)字濾波(例如,可能將待控制的偏差值濾掉),反而會降低控制效果,甚至失控,因此必須給與注意。,26,線性化處理程序,在工程實踐中,把物理量轉(zhuǎn)化為電信號的,傳感器,,大多帶有一定的,非線性,特征,不便于計算機處理。有的很難找出明確的數(shù)學表達式,需根據(jù)測量值采取一些特殊的方法進行處理,還有一些參數(shù),相互之間雖然有明確的數(shù)學表達式,但計算起來相當麻煩,會占用較多的時間;因此,找出某種既方便又能滿足實際功能要求的數(shù)據(jù)處理辦法就是本節(jié)要解決的問題。,27,1.,計算法,如果被測參數(shù)和轉(zhuǎn)換的電信號之間有明確的數(shù)學表達式,且該表達式又便于計算,就應(yīng)發(fā)揮微機計算機較強的優(yōu)勢
12、,將其表達式轉(zhuǎn)換為線性關(guān)系,再行計算。,2.,查表法,所謂查表法,就是把事先計算或測得的數(shù)據(jù)按一定的順序編制成表格,查表程序的任務(wù)就是根據(jù)被測參數(shù)的值或者中間結(jié)果,查出最終所需要的結(jié)果。,28,微機中表格表格的排列分為有序表和無序表兩種。有序表指在表內(nèi)存放的數(shù)有一定的規(guī)律(或按大小順序;或按某種規(guī)律),無序表指數(shù)據(jù)的存放是隨意的(或某種函數(shù)是無序的)。,根據(jù)表格的編排方法,查表的方法有,3,種:,順序查表法,計算查表法,對分查表法,29,a.,順序查表法,順序查表法用于無序表格的查找。因為無序表中各項數(shù)據(jù)和排列無一定的規(guī)律可尋。當需要找某一個數(shù)(常被稱為關(guān)鍵字),只能從表的第一項開始,逐項比較
13、,直至找到關(guān)鍵字。在程序設(shè)計時,已知條件是表格的長度和起始地址。在查找的過程中要不斷地修改地址和進行計數(shù)。直至找到關(guān)鍵字。若表中無此關(guān)鍵字必須給出提示。,30,b.,計算查表法,微機控制系統(tǒng)中使用的線性表,是若干個數(shù)據(jù)元素的集合,各數(shù)據(jù)元素在表格中的排列方法及所占用的存儲單元個數(shù)是一樣的。因為要搜索的內(nèi)容和表格的排列方法有一定的關(guān)系,故各元素都嚴格地按某種順序排列。在此前提條件下才可以使用計算查表法。,31,計算查表法的思路是:,根據(jù)給定的要查找的元素,通過一定的計算,求出該元素所對應(yīng)的數(shù)值的地址。從而可從相應(yīng)單元中取出所需要的量。計算查表法執(zhí)行速度是很快的,使用這種查表法的關(guān)鍵是尋找一種計算
14、表地址的公式,其缺點,是對表格的要求非常挑剔。,32,對分查表法的具體做法是:,對于一個字節(jié)長度為,n,的線性表(設(shè)該表從小到大排列),先取,n/2,處的值與待搜索的關(guān)鍵字,x,進行比較,如果,x,大于,n/2,項的內(nèi)容,下一次取,n/2n,的中間值,即與 項的內(nèi)容進行比較。否則取,0 n/2,項的中間值,即與 項的內(nèi)容進行比較。依次類推,可以逐次逼近待搜索的關(guān)鍵值所在位置,直至找到。若搜索完畢而未找到需給出提示。,c.,對分查表法,33,如果在應(yīng)用中一些數(shù)據(jù)或函數(shù)能夠滿足從大到小或從小到大的順序排列,在這種情況下可使用對分查表法。,顯然對分查表其速度是很快的,它最多的查找次數(shù)為,lg2n-1
15、,。例如,若查長為,2068,字節(jié),對分查表最多只需要,10,次,而若采用順序查表法,其平均查找次數(shù),1024,次。,34,3.,折線法,在微機控制系統(tǒng)中,有些參數(shù)輸入和輸出的關(guān)系只能通過一條曲線來表示,沒有一個明確的表達式或一個有序表格。此種場合,只能夠采用局部線性化對其進行處理。,折線法實際上是,線性插值,的算法。這種計算程序的復(fù)雜程度和執(zhí)行時間與折線的分段方程有關(guān)。,35,若采用等距分段,可簡化計算過程,但當函數(shù)的曲率和斜率變化較大時,引入誤差較大。這可以通過細分,使之減小,但占用較多的內(nèi)存,而且計算量也大。若采用不等距分段,可根據(jù)函數(shù)曲率變化使分段直線 盡量接近該段曲線,使誤差減小,但
16、程序編制卻比較麻煩。因此,如何分段視具體情況而定。,36,標度變換程序設(shè)計,生產(chǎn)過程中各個參數(shù)都有不同的量綱和數(shù)值。在計算機控制系統(tǒng)中所有這些物理參數(shù)經(jīng)過變送器轉(zhuǎn)換成,A/D,轉(zhuǎn)換器能接收的電信號,又經(jīng),A/D,轉(zhuǎn)換成一系列的數(shù)碼。為了操作人員管理及生產(chǎn)過程的需要,必須把這些數(shù)碼轉(zhuǎn)換成各種工程量單位,使之便于顯示,記錄和打印。這種轉(zhuǎn)換被稱為標度變換或工程量轉(zhuǎn)換。,工程量轉(zhuǎn)換有各種不同類型,它取決于被測參數(shù)和測量傳感器的類型,要根據(jù)實際情況進行設(shè)計。,37,1.,線性參數(shù)的標度變換,線性標度變換時最常用的標度變換方式,其前提條件是被測參數(shù)值與,A/D,轉(zhuǎn)換結(jié)果為線性關(guān)系。線性標度變換的公式為:,38,上式為線性標度變換的通用公式,其中,A,m,、,A,0,、,N,m,、,N,0,對某一固定的被測參數(shù)來說都是常數(shù),不同的參數(shù)有著不同的值。為了使程序設(shè)計簡單,一般,把一次測量儀表的下限,A,0,所對應(yīng)的,A/D,轉(zhuǎn)換值置為,0,,即,N,0,=0,。這樣,式可寫成:,在很多測量系統(tǒng)中,儀表下限值,A,0,=0,此時,其對應(yīng)的,N,0,=0,,上式可進一步簡化為:,39,2.,非線性參數(shù)的標度