ch06 第6章 應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)_第1頁
ch06 第6章 應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)_第2頁
ch06 第6章 應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)_第3頁
ch06 第6章 應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)_第4頁
ch06 第6章 應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第6章應(yīng)用程序設(shè)計與實現(xiàn)技術(shù)6.1概述6.2應(yīng)用程序設(shè)計技術(shù)6.3查表技術(shù)6.4線性化處理技術(shù)6.5量程自動轉(zhuǎn)換和標度變換6.6報警程序設(shè)計6.7DSP在數(shù)據(jù)處理中的應(yīng)用6.8小結(jié)

6.2應(yīng)用程序設(shè)計技術(shù)6.2.1應(yīng)用程序設(shè)計的基本任務(wù)1.應(yīng)用程序設(shè)計的基本步驟程序設(shè)計的第一步是了解系統(tǒng)的工藝流程

程序設(shè)計最基本的問題是定義輸入和輸出在輸入數(shù)據(jù)和送出控制信號之間是一個處理階段

6.1概述2.應(yīng)用程序設(shè)計的方法1)模塊化程序把一個完備的功能由若干個小的程序或模塊共同完成。優(yōu)點:(1)單一功能模塊無論編寫或調(diào)試都很容易。(2)一個模塊可以被多個其他程序調(diào)用。(3)檢查錯誤容易,因為模塊功能單一,且相對獨立,不牽涉其他模塊。缺點,比如有些程序難以模塊化,把模塊裝在一起時較困難,模塊相互調(diào)用時易產(chǎn)生相互影響。2)自頂向下程序設(shè)計先從系統(tǒng)級的管理程序或者主程序開始設(shè)計,低一級的從屬程序或者子程序用一些程序標志來代替。當系統(tǒng)級的程序編好后,再將各標志擴展成從屬程序或子程序,最后完成整個系統(tǒng)的程序設(shè)計。優(yōu)點是:設(shè)計、測試和連接同時按一個線索進行,矛盾和問題可以較早發(fā)現(xiàn)和解決。而且測試能夠完全按真實的系統(tǒng)環(huán)境來進行,不需要依賴于測試程序。比較習(xí)慣于人們?nèi)粘5乃季S,而且研制應(yīng)用程序的幾個步驟可以同時結(jié)合進行,因而能提高研制效率。3)自底向上模塊化設(shè)計自底向上模塊化的設(shè)計是首先對最低層模塊進行編碼、測試和調(diào)試,這些模塊正常工作后,就可以用它們來開發(fā)較高層的模塊。這種方法是匯編語言設(shè)計常用的方法。6.2.3工業(yè)控制組態(tài)軟件組態(tài)軟件是指在軟件領(lǐng)域內(nèi),操作人員根據(jù)應(yīng)用對象及控制任務(wù)的要求,配置(包括對象的定義、制作和編輯,對象狀態(tài)特征屬性參數(shù)的設(shè)定等)用戶應(yīng)用軟件的過程,也就是把組態(tài)軟件視為“應(yīng)用程序生成器”。從應(yīng)用角度講,組態(tài)軟件是完成系統(tǒng)硬件與軟件溝通、建立現(xiàn)場與監(jiān)控層溝通的人機界面的軟件平臺。組態(tài)軟件的功能簡介1.控制組態(tài)2.圖形生成系統(tǒng)3.顯示組態(tài)4.I/O通道登記5.單位名稱登記6.趨勢曲線登記7.報警系統(tǒng)登記8.報表生成系統(tǒng)計算機控制系統(tǒng)的組態(tài)功能分為兩個主要方面,即硬件組態(tài)和軟件組態(tài)。硬件組態(tài)以總線式(PC總線或STD總線)工業(yè)控制機為主進行選擇和配置,在硬件上可以根據(jù)不同的控制對象選擇相應(yīng)的功能模板,組成各種不同的應(yīng)用系統(tǒng),使硬件工作量幾乎接近于0,只需按要求對各種功能模塊進行安裝和接線即可。軟件組態(tài)控制工程師不需了解計算機的硬件和軟件,就可在觸摸屏上采用菜單方式,用填表的辦法,對輸入、輸出信號用“儀表組態(tài)”的方法進行軟連接。6.2.4軟件工程方法概述軟件工程的過程是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理及軟件開發(fā)各個階段完成的里程碑。軟件工程就是包含上述方法、工具及過程在內(nèi)的一些步驟。6.3查表技術(shù)常用的有三種方法:直接查找法、順序查找法和對分查找法。6.3.1順序查找法順序查找法的步驟如下。(1)設(shè)定表格的起始地址。(2)設(shè)定表格的長度。(3)設(shè)定要搜索的關(guān)鍵字。(4)從表格的第一項開始,比較表格數(shù)據(jù)和關(guān)鍵字,進行數(shù)據(jù)搜索。順序查表法程序流程圖順序查表法程序清單:SEARCH: MOV R0,TABLE ;設(shè)定表格起始地址

MOV R1,LENGTH ;設(shè)定表格長度

CLR FLAG ;查找成功標志位清零LOOP:MOVA,KEY;讀關(guān)鍵字

XRL A,@R0;比較

JNZ NEXT ;未查找到關(guān)鍵字,繼續(xù)

SETB FLAG ;查找到關(guān)鍵字,置位查找成功標志位

MOV A,R0 ;讀出關(guān)鍵字在表中的地址

AJMP RETU ;退出查找NEXT:INC R0 ;指向表格的下一個數(shù)據(jù)

DJNZ R1,LOOP ;未檢索完全部數(shù)據(jù),繼續(xù)RETU:RET ;退出查找程序,子程序返回6.3.2計算查找法計算查表法適用于數(shù)據(jù)按一定的規(guī)律排列,并且搜索內(nèi)容和表格數(shù)據(jù)地址之間的關(guān)系能用公式表示的有序表格。只要根據(jù)所給的數(shù)據(jù)元素Xi

,通過一定的計算,求出元素Xi所對應(yīng)的數(shù)值的地址,然后將該地址單元的內(nèi)容取出即可。關(guān)鍵在于找出一個計算表地址的公式。設(shè)計一巡回檢測報警裝置,要求能對16個通道輸入值進行比較,當某一通道輸入值超過該路的報警值時,發(fā)出報警信號。通道值和報警值的存放地址之間的關(guān)系可用下面的公式表示:報警值存放地址=數(shù)據(jù)表格起始地址+通道值×2設(shè)通道值(以16進制表示)存放在CIRC單元中,查表后的上限報警值存放在UPPER單元中,下限報警值存放在LOWER單元中。查表程序清單如下:CLR C ;進位標志位清零

MOV DPTR,#TAB ;設(shè)置數(shù)據(jù)表首址

MOV A,CIRC ;讀檢測通道值

RLC A ;檢測通道值乘2 MOVC A,@A+DPTR ;讀上限值

MOV UPPER,A ;保存上限值

INC DPTR MOVC A,@A+DPTR ;讀下限值

MOV LOWER,A ;保存下限值

RETTAB: UPPER0,LOWER0,UPPER1,LOWER1,....,UPPER15,LOWER15 ;報警數(shù)據(jù)表6.3.3對分查找法對于從小到大(或從大到小)順序排列的表格,通常采用快速而有效的對分查找法。對分查表法的最高搜索次數(shù)Log2N-1。和順序查表法相比,對分法可以大大減少查表次數(shù),提高檢索效率。對分查找法流程圖對分查表法程序清單:MOV BEGIN,#00H ;設(shè)置檢索范圍起點

MOV END,#DVL ;設(shè)置檢索范圍終點

MOV KEY,#KEY ;設(shè)置關(guān)鍵字

MOV TIME,#01H ;置檢索次數(shù)初值LOOP: MOV R0,#ADD ;置數(shù)據(jù)區(qū)起始地址

MOV A,BEGIN ;取檢索范圍起點

ADD A,END ;起點+終點

CLR C RRC A ;除2 MOV FLAG,A ;存放對分檢索取數(shù)序號

CLR CXOR A,2AH ;判斷是否到檢索范圍邊緣

JZ LOOP3 ;是,跳轉(zhuǎn)至LOOP3 MOV A,FLAG ADD A,R0 ;形成對分檢索取數(shù)地址

MOV R0,A MOV A,@R0 ;讀數(shù)

MOV DATA,A ;保存檢索到的數(shù)據(jù)

CLR C SUBB A,KEY ;和關(guān)鍵字比較

JZ LOOP5 ;相等,則檢索成功

JNC LOOP2 ;取的數(shù)據(jù)大,跳轉(zhuǎn)至LOOP2 MOV 2AH,FLAG ;取的數(shù)據(jù)小,修改檢索范圍的起點INC TIME ;檢索次數(shù)加1 SJMP LOOP1 ;繼續(xù)檢索LOOP2: MOV A,FLAG ;取的數(shù)據(jù)大,修改檢索范圍的終點

MOV END,A INC TIME SJMP LOOP1 ;繼續(xù)檢索LOOP3: MOV R0,#DATA ;到達檢索邊緣,比較是否為關(guān)鍵字

MOV A,@R0 CJNE A,KEY,LOOP4 ;不是關(guān)鍵字,跳轉(zhuǎn)至LOOP4 MOV DATA,A ;是關(guān)鍵字,保存

SJMP LOOP5 ;退出檢索程序LOOP4: MOV A,#0FFH ;不是關(guān)鍵字,置檢索不成功標志MOV FLAG,ALOOP5: RET ;檢索程序結(jié)束6.4線性化處理技術(shù)為了得到線性輸出的變量,需要引入非線性補償,將非線性關(guān)系轉(zhuǎn)化成線性的,這種轉(zhuǎn)化過程稱為線性化處理。最常用的是線性插值法和拋物線插值法。6.4.1線性插值法1.線性插值原理將輸出特性曲線按一定的規(guī)則插入若干個點,將曲線分成若干段,插入點X0和Xi之間的間距越小,那么在區(qū)間(X0,Xi)上實際曲線和近似直線之間的誤差就越小。這就是線性插值法的思想。將相鄰兩點用直線連接起來,用直線替代相應(yīng)的曲線。這樣,原來復(fù)雜的非線性關(guān)系就可以通過簡單的線性方程加以表示。(1)曲線斜率變化越小,替代直線越逼近特性曲線,則線性插值法帶來的誤差就越小。因此,線性插值法適用于斜率變化不大的特性曲線的線性化。(2)插值基點取得越多,替代直線越逼近實際的曲線,插值計算的誤差就越小。因此,只要插值基點足夠多,就可以獲得足夠的精度。

傳感器的輸出特性曲線圖2.線性插值的計算機實現(xiàn)利用計算機實現(xiàn)線性插值的步驟如下:(1)用實驗法測出傳感器輸出特性曲線,應(yīng)盡可能保證該曲線的精確性;(2)選取插值點,將繪制好的曲線分段。(3)計算并存儲各相鄰插值點間逼近曲線的斜率Ki;(4)計算X-Xi;(5)讀出X所在區(qū)間的斜率Ki,計算Ki(X-Xi);(6)計算。計算機實現(xiàn)的線性插值計算流程圖3.線性插值法非線性補償實例熱電偶的輸出特性曲線由圖可以看出,該熱電偶的輸出特性曲線斜率的變化不大,可以采用線性插值法進行非線性補償。選擇4個插值基點(V1,T1)、(V2,T2)、(V3,T3)、(V4,T4),然后寫出每段曲線的插值函數(shù)表達式,表達式如式所示。程序略6.4.2非線性插值法僅靠增加插值基點的數(shù)量來減少誤差是不可行的。拋物線插值法可以很好的解決斜率變化較大曲線的非線性補償問題。拋物線插值法能夠提高非線性補償?shù)木?。線性插值法和拋物線插值法補償精度比較6.5量程自動轉(zhuǎn)換和標度變換在計算機過程控制系統(tǒng)中,生產(chǎn)中的各個參數(shù)都有著不同的數(shù)值和量綱,所有這些參數(shù)都經(jīng)過變送器,A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量。為實現(xiàn)顯示、記錄、打印以及報警等操作,必須把這些數(shù)字量轉(zhuǎn)換成不同的單位,以便操作人員對生產(chǎn)過程進行監(jiān)視和管理,這就是所謂的標度變換。6.5.1量程自動轉(zhuǎn)換可編程增益放大器(PGA,ProgrammableGainAmplifier)是一種通用性很強的放大器,其放大倍數(shù)可根據(jù)需要用程序進行控制,使A/D轉(zhuǎn)換器滿量程信號達到均一化,而大大提高測量精度。集成電路PGA102內(nèi)部結(jié)構(gòu)增益可編程儀用放大器利用PGA可進行量程自動轉(zhuǎn)換。特別是當被測參數(shù)動態(tài)范圍比較寬時,使用PGA的優(yōu)越性更為顯著。6.5.2線性參數(shù)標度變換1.線性參數(shù)的標度變換所謂線性參數(shù),指一次儀表測量值與A/D轉(zhuǎn)換結(jié)果具有線性關(guān)系。A0為一次測量儀表的下限;AM為一次測量儀表的上限;AX為實際測量值(工程量);N0為儀表下限對應(yīng)的數(shù)字量;NM為儀表上限對應(yīng)的數(shù)字量;NX為測量值所對應(yīng)的數(shù)字量。

例6.6某熱處理爐溫度測量儀表的量程為200~800℃,在某一時刻計算機采樣并經(jīng)數(shù)字濾波后的數(shù)字量為0xCDH。求此時溫度值為多少(設(shè)儀表量程為線性的)?解根據(jù)標度變換公式,已知A0=200℃、AM=800℃。Nx=0xCDH=(205)D,NM=0xFFH=(255)D,所以此時溫度為2.非線性參數(shù)標度變換1)公式變換法例如,在流量測量中,流量與差壓間的關(guān)系式為據(jù)此,可得測量流量時的標度變換為GX為被測量的流量值;GM為流量儀表的上限值;G0為流量儀表的下限值;NX為差壓變送器所測得的差壓值(數(shù)字量);NM為差壓變送器上限所對應(yīng)的數(shù)字量;N0為差壓變送器下限所對應(yīng)的數(shù)字量。2)其他標度變換法6.6報警程序設(shè)計6.6.1簡單報警程序設(shè)計1.微機測控系統(tǒng)中常用的報警方式1)簡單聲光報警2)聲音報警驅(qū)動電路聲音集成芯片HY8000A系列引腳圖與應(yīng)用電路原理圖簡單報警電路原理圖2.報警程序的設(shè)計技術(shù)1)軟件報警程序設(shè)計技術(shù)2)硬件直接報警的程序設(shè)計技術(shù)硬件直接報警原理圖6.6.2越限報警程序設(shè)計設(shè)定報警上下限回差帶越限報警處理1.上限報警:若xn>xmax,則上限報警,否則繼續(xù)執(zhí)行原定操作。2.下限報警若xn<xmin,則下限報警,否則繼續(xù)執(zhí)行原定操作。3.上下限報警若

溫馨提示

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

評論

0/150

提交評論