測控系統(tǒng)原理與設計6-監(jiān)控程序設計_第1頁
測控系統(tǒng)原理與設計6-監(jiān)控程序設計_第2頁
測控系統(tǒng)原理與設計6-監(jiān)控程序設計_第3頁
測控系統(tǒng)原理與設計6-監(jiān)控程序設計_第4頁
測控系統(tǒng)原理與設計6-監(jiān)控程序設計_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

監(jiān)控程序設計本章主要內(nèi)容:監(jiān)控程序的功能和組成監(jiān)控主程序和初始化管理鍵盤管理顯示、中斷與時鐘管理硬件故障的自檢6.1監(jiān)控程序的功能和組成

監(jiān)控程序設計是指以空白的微處理器/控制器為基礎(chǔ),完成全部的軟件設計,沒有將系統(tǒng)軟件和應用軟件分開處理,其實時性和可靠性與設計人員的水平密切相關(guān),適用于功能較為簡單的中小型應用系統(tǒng)。測控系統(tǒng)(儀器)中軟件的主要功能采集信息與外界對話(鍵盤和顯示管理)記憶信息處理信息控制功能自我測試自補償自適應/自校正自學習圖6-1-1監(jiān)控程序的基本組成監(jiān)控主程序調(diào)用各模塊,并將它們聯(lián)系起來,形成一個有機整體,從而實現(xiàn)對系統(tǒng)的全部管理功能。測控算法程序主要實現(xiàn)測量與控制功能,它由描述一種或幾種測控算法(如數(shù)字濾波,PID算法等)的功能模塊構(gòu)成,通常為實時中斷程序或監(jiān)控程序所調(diào)用。各功能模塊又由各種下層模塊(子程序)所支持。6.2監(jiān)控主程序和初始化管理6.2.1監(jiān)控主程序

監(jiān)控主程序通常包括可編程器件、輸入、輸出端口和參數(shù)的初始化,自診斷管理模塊,鍵盤顯示管理模塊,以及實時中斷管理和處理模塊等。除了初始化和自診斷外,監(jiān)控主程序一般總是把其余部分聯(lián)接起來,構(gòu)成一個無限循環(huán),測控系統(tǒng)的所有功能都在這一循環(huán)中周而復始地、或有選擇地執(zhí)行,除非掉電或按復位(RESET)鍵,測控系統(tǒng)不會跳出這一循環(huán)。由于各微機化測控系統(tǒng)的功能不同,硬件結(jié)構(gòu)不同,程序編制方法不同,因而監(jiān)控主程序沒有統(tǒng)一的模式。圖6-2-1監(jiān)控主程序流程示例

6.2.2初始化管理

一、可編程器件初始化――對可編程硬件接口電路的工作模式的初始化微機化測控系統(tǒng)中常用的可編程器件有:鍵盤顯示管理接口8279、I/O和RAM擴展接口8155,并行輸入輸出接口8255、定時計數(shù)器接口8253等。二、堆棧初始化――復位后首先在用戶RAM中確定一個堆棧區(qū)域,由堆棧指示器SP來管理三、參數(shù)初始化指對測控系統(tǒng)的整定參數(shù)(如PID算法的Kp、Ti、Td三個參數(shù)的初值)、報警值以及過程輸入通道的數(shù)據(jù)與過程輸出通道的數(shù)據(jù)初始化。6.3鍵盤管理

6.3.1一鍵一義的鍵盤管理

一鍵一義,即一個按鍵代表一個確切的命令或一個數(shù)字,編程時只要根據(jù)當前按鍵的編碼把程序直接分支到相應的處理模塊的入口,而無需知道在此以前的按鍵情況。鍵盤信號的獲得有三種方法:一、單純查詢法圖6-3-1查詢法程序流程(了解)功能:按下不同的按鍵會使SOUNDER發(fā)出不同頻率的聲音#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P3^7;sbitK1=P1^4;sbitK2=P1^5;sbitK3=P1^6;sbitK4=P1^7;…..voidPlay(uchart){…..}voidmain(){P1=0xff;BEEP=0;while(1){if(K1==0)Play(1);if(K2==0)Play(2);if(K3==0)Play(3);if(K4==0)Play(4);二、鍵盤中斷法

按下鍵盤任何鍵都引起一個中斷請求,鍵碼分析過程放在中斷子程序中,這種方法需獨自占用一個外部中斷源,其監(jiān)控程序結(jié)構(gòu)如圖6-3-2(a)所示。

圖6-3-2中斷法和定時法程序框圖三、定時查詢法

每隔一定時間查詢一次鍵盤,由于時間間隔通常很短,對于操作者來說鍵盤的響應是實時的,鍵盤的查詢過程安排在定時中斷程序中完成,其監(jiān)控程序的結(jié)構(gòu)框圖如圖6-3-2(b)所示。

6.3.2一鍵多義的按鍵管理

一、一鍵多義:一個按鍵有多種功能,既可作多種命令鍵,又可作數(shù)字鍵。在一鍵多義的情況下,一個命令不是由一次按鍵,而是由一個按鍵序列所組成。換句話說,對一個按鍵含義的解釋,除了取決于本次按鍵外,還取決于以前按了些什么鍵。因此對于一鍵多義的監(jiān)控程序,首先要判斷一個按鍵序列(而不是一次按鍵)是否已構(gòu)成一個合法命令。若已構(gòu)成合法命令,則執(zhí)行命令,否則等待新按鍵輸入。

二、一鍵多義的監(jiān)控程序

一鍵多義的監(jiān)控程序:要用多張轉(zhuǎn)移表,組成一個命令的前幾個按鍵起著引導的作用,把控制引向某張合適的轉(zhuǎn)移表,根據(jù)最后一個按鍵編碼查閱該轉(zhuǎn)移表,就找到要求的子程序入口。按鍵的管理,可以用查詢法也可以用中斷法。

三、一鍵多義鍵服務程序流程實例

8回路微機溫控儀鍵盤有6個按鍵:C鍵(回路號1~8,第8回路為環(huán)境溫度補償,其余為控溫點)P鍵(參數(shù)號,有設定值,實測值,共8個參數(shù))△

鍵(加1)▽鍵(減1)只用于設定值的修改R鍵(運行)S鍵(停止運行)第8回路(環(huán)境溫度補償回路)只有溫度實測值一個參數(shù),沒有其它參數(shù)第1~7個回路有設定值(P、I、D參數(shù),上、下限報警值)、溫度實測值8個參數(shù)1、

程序流程――圖6-3-32、

程序清單:參見教材。設鍵編碼R:00H;S:01H;△:02H;▽:03H;C:04H和P:05H。內(nèi)存RAM20H中高4位為通道(回路)號標記,低4位為參數(shù)號標記。假設8279命令口地址為7FFFH,數(shù)據(jù)口地址為7FFEH。7個回路(1~7),每個回路8個參數(shù),共有56個轉(zhuǎn)移入口,分別由56個鍵服務功能模塊所支持。第8回路無參數(shù),由其獨立子程序C8單獨處理。圖6-3-3一鍵多義鍵服務程序流程6.3.3自動/手動切換

一、微機化控制系統(tǒng)的兩種工作方式自動方式――微機化控制系統(tǒng)的基本工作方式。手動方式――在系統(tǒng)調(diào)試、測試時,用來調(diào)整輸出控制值。二、自動/手動切換控制的基本功能是:①在手動方式時,能通過一定的手動操作來方便、準確地調(diào)整輸出值;②能實現(xiàn)手動-自動的無擾動切換。三、實現(xiàn)手動操作的方法實現(xiàn)手動操作,有硬件方法和軟件方法兩種。目前大多數(shù)微機化系統(tǒng)采用軟件方法,由操作面板上的幾個按鍵來實現(xiàn)。監(jiān)控程序通過判斷手動-自動切換鍵的狀態(tài)來判斷是否進入手操方式。在手操方式時,系統(tǒng)的自動控制功能暫停,改由面板上的輸出加、減兩鍵來調(diào)整輸出值。四、無擾動切換的實現(xiàn)在用戶RAM區(qū)中開辟一個輸出控制值單元,作為當前輸出控制量的映象,無論是手操還是自動控制,都是對這一輸出值的映象單元進行加或減,在輸出模塊程序作用下,輸出通道把此值送到執(zhí)行機構(gòu)上去。6.4顯示、中斷與時鐘管理

6.4.1顯示管理一、微機化系統(tǒng)的主要顯示方式模擬指示――用模擬表頭作為顯示手段,無需軟件管理。數(shù)字顯示――硬件方案的不同,軟件顯示管理方法也不同二、顯示管理軟件的基本任務1、顯示更新的數(shù)據(jù)2、多參數(shù)的巡測和定點顯示管理

巡回顯示方式――每隔一定時間)改換一個新的顯示參數(shù)

定點顯示方式――只跟蹤顯示某一參數(shù),不改換通道或參數(shù)3、指示燈顯示管理通??捎膳c某一指示燈有關(guān)的功能模塊直接管理。P0=DSY_CODE[DSY_Buffer[0]];P1=DSY_CODE[DSY_Buffer[1]];P2=DSY_CODE[DSY_Buffer[2]];DSY_Buffer[2]=Count/100;DSY_Buffer[1]=Count%100/10;DSY_Buffer[0]=Count%10;voidmain(){LED=1;EA=1;EX0=1;IT0=1;while(1);}//INT0中斷函數(shù)voidEX_INT0()interrupt0{LED=~LED;//控制LED亮滅#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitLED=P0^0;//主程序測控系統(tǒng)的中斷源:過程通道實時時鐘面板按鍵通信接口系統(tǒng)故障6.4.2中斷管理一、一個中斷源的中斷過程:①暫時保護程序計數(shù)器的內(nèi)容。②將中斷服務程序的入口地址送入程序計數(shù)器。③在服務程序開始時,必須將服務程序需要使用的CPU寄存器(例如累加器、進位位、專用的暫存寄存器等)的內(nèi)容暫時地保護起來,并在服務程序結(jié)束時再恢復其內(nèi)容。④對于引起中斷而將INT變?yōu)榈碗娖降脑O備,系統(tǒng)必須進行適當?shù)牟僮魇笽NT再次變?yōu)楦唠娖?。⑤如果允許發(fā)生中斷,則必須將允許中斷觸發(fā)器再次置位。⑥最后,恢復程序計數(shù)器原先被保存的內(nèi)容,以便返回到被中斷的程序。二、多個中斷源的處理確定多個中斷源的優(yōu)先級,在軟件上作出相應處理。當CPU在處理中斷時,還要能響應更高級的中斷請求,而屏蔽掉同級或較低級的中斷請求。三、中斷程序模塊中斷模塊分中斷管理模塊和中斷服務模塊兩部分。1、中斷服務模塊――具體服務內(nèi)容,由各測控系統(tǒng)的功能所決定。2、中斷管理模塊中斷管理軟件模塊,通常應包括以下功能:斷點現(xiàn)場保護;識別中斷源;判斷優(yōu)先級;如果允許中斷嵌套,則再次開放中斷(單片機除外);中斷服務結(jié)束后恢復現(xiàn)場,如圖6-4-1所示。圖6-4-1中斷流程四、多中斷源識別通常,系統(tǒng)掉電總是作為最高級中斷源。其它中斷源的優(yōu)先級,則由設計人員根據(jù)系統(tǒng)的功能特點來確定。當有兩個以上中斷源時,可以采用如下兩種方法:①利用定時器/計數(shù)器的外部事件計數(shù)輸入端(T0或T1),作為邊沿觸發(fā)的外部中斷輸入端,這時定時器/計數(shù)器應工作于計數(shù)器方式,計數(shù)寄存器應預置滿度數(shù)。②每個中斷源都接在同一個外部中斷輸入端(INT0或INT1)上,同時利用輸入口來識別某裝置的中斷請求。圖6-4-2多中斷源識別電路6.4.3時鐘管理

一、時鐘作為定時器的用途①過程輸入通道的數(shù)據(jù)采樣周期定時;②過程輸出通道控制周期的定時;③參數(shù)修改按鍵數(shù)字增減速度的定時;④多參數(shù)巡回顯示時的顯示周期定時;⑤動態(tài)保持方式輸出過程通道的動態(tài)刷新周期定時;⑥電壓-頻率型A/D轉(zhuǎn)換器定時電路;⑦故障監(jiān)視電路(Watchdog)的定時信號。二、實現(xiàn)定時的方法1、硬件方法采用可編程定時/計數(shù)器接口電路(如CTC8253)以及單片機內(nèi)的定時電路。這種定時方法的定時間隔不可能做得太長。采用實時時鐘芯片。

2、軟件方法。采用軟件延時方案,無需硬件成本,但要占用大量CPU時間,且實時性差,定時精度低。3、軟件與硬件相結(jié)合定時的方法這種方案幾乎不影響測控系統(tǒng)的實時響應,而且能實現(xiàn)多種時間間隔的定時。首先由定時電路產(chǎn)生一個基本的脈沖。硬件定時時間到,產(chǎn)生一中斷。監(jiān)控主程序隨即轉(zhuǎn)入時鐘中斷管理模塊。在設計軟件結(jié)構(gòu)時,可串行地或并行地設置幾個軟件定時器(在用戶RAM區(qū))。當硬件定時中斷一到,這些軟件時鐘分別用累加或遞減方法計時,并由軟件來判斷是否定時時間到。6.5硬件故障的自檢

6.5.1自檢方式一、自檢的基本原理自檢就是利用事先編制的程序?qū)y控系統(tǒng)的主要部件進行自動檢測,以確定是否有故障以及故障的內(nèi)容和位置。故障診斷的基本原理是對被測部件輸入一串數(shù)據(jù)——試驗數(shù)據(jù),然后觀察相應的輸出數(shù)據(jù),并對觀察結(jié)果進行分析,確定故障的內(nèi)容和位置。試驗數(shù)據(jù)、觀察到的結(jié)果數(shù)據(jù)和故障的對應關(guān)系應在故障診斷前準備好。二、自檢方式的三種類型:一、開機自檢在電源接通或系統(tǒng)復位之后進行。自檢中如果沒發(fā)現(xiàn)問題,就進入測量程序,如果發(fā)現(xiàn)問題,則及時報警。2、周期性自檢在測控系統(tǒng)運行過程中,間斷插入的自檢操作,這種操作可以保證測控系統(tǒng)在使用過程中一直處于正常狀態(tài)。周期性自檢不影響測控系統(tǒng)的正常工作,因而只有當出現(xiàn)故障給予報警時,用戶才會覺察。鍵盤自檢具有鍵盤自檢功能的測控系統(tǒng)面板上應設有“自檢”按鍵,當用戶對系統(tǒng)的可信度發(fā)出懷疑時,便通過該鍵來啟動一次自檢過程。三、自檢結(jié)果的提示――“出錯代碼”自檢過程中,微機化測控系統(tǒng)一般都借用本身的顯示器,以文字或數(shù)字的形式顯示“出錯代碼”,出錯代碼通常以“ErrorX”字樣表示,其中“X”為故障代號,操作人員根據(jù)“出錯代碼”,查閱操作手冊便可確定故障內(nèi)容。除了給出故障代號之外,往往還給出指示燈的閃爍或者音響報警信號,以提醒操作人員注意。6.5.2自檢算法一、ROM或EPROM的檢測ROM故障的檢測常用“校驗和”方法,具體作法是:在將程序機器碼寫入ROM的時候,保留一個單元(一般是最后一個單元),此單元不寫程序機器碼而是寫“校驗字”,“校驗字”應能滿足ROM中所有單元的每一列都具有奇數(shù)個1。自檢程序的內(nèi)容是:對每一列數(shù)進行異或運算,如果ROM無故障,各列的運算結(jié)果應都為“1”,即校驗和等于FFH。二、RAM的檢測常用的方法是“異或法”,即把RAM單元的內(nèi)容求反并與原碼進行“異或”運算,如果結(jié)果為FFH,則表明該RAM單元讀寫功能正常,否則,說明該單元有故障。最后再恢復原單元內(nèi)容。RAM的自檢流程如圖6-5-1所示。圖6-5-1RAM自檢流程圖三、總線的自檢總線的自檢是指對經(jīng)過緩沖器的總線進行檢測。設置兩組鎖存觸發(fā)器,分別用于記憶地址總線和數(shù)據(jù)總線上的信息。這樣,只要執(zhí)行一

溫馨提示

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

評論

0/150

提交評論