監控程序設計_第1頁
監控程序設計_第2頁
監控程序設計_第3頁
監控程序設計_第4頁
監控程序設計_第5頁
已閱讀5頁,還剩41頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章第六章 監控程序設計監控程序設計微機化測控系統分為硬件和軟件兩大部分。按其功能來說,軟件又分為監控程序和功能程序兩部分。監控程序:用于管理整個系統正常工作的程序功能程序:用于執行所要求任務的程序。6 . 1 監控程序的功能和組成監控程序的主要作用是能及時的響應來自系統的各種服務請求,有效地管理測控系統自身軟、硬件及人一機聯系設備,與系統中其它設備交換信息,并在系統一旦出現故障時,及時作出相應的處理。1. 監控程序的具體功能: 進行鍵盤和顯示管理,按鍵入的命令轉入相應的鍵服務; 接收因過程(輸入輸出)通道或時鐘等引起的中斷請求信號,區分優先級,實現中斷嵌套,并轉入相應的實時測量、控制功能子

2、程序; 處理硬件定時器及軟件定時器; 實現對系統自身的診斷處理; 初始化,自動手動切換,掉電保護等。 2. 監控程序的組成 主要取決于測控系統的組成規模,以及系統的硬件配備與功能。一般組成如圖6 一1 一1 所示。監控主程序調用各模塊,并將它們聯系起來,形成一個有機整體,從而實現對系統的全部管理功能。3. 測控算法程序 主要實現測量與控制功能, 它由描述一種或幾種測控 算法(如數字濾波、PID 算法等)的功能模塊構成, 通常為實時中斷程序或監 控程序所調用。 6 . 2 監控主程序和初始化管理1. 監控主程序 上電復位后首先進入監控主程序。監控主程序一般都放在0號單元開始的ROM 中,它的任務

3、是識別命令、解釋命令并獲得完成該命令的相應模塊的入口。 監控主程序通常包括可編程器件、輸入輸出端口和參數的初始化,自診斷管理模塊,鍵盤顯示管理模塊以及實時中斷管理和處理模塊等,是“自頂向下”結構化設計中的第一層次。除了初始化和自診斷外,監控主程序一般總是把其余部分聯接起來,構成一個無限循環圈,測控系統的所有功能都在這一循環圈中周而復始地或有選擇地執行,除非掉電或按復位(RESET ) 鍵,否則測控系統不會跳出這一循環圈。 由于各個微機化測控系統的功能不同,硬件結構不同,程序編制方法不同,因而監控主程序沒有統一的模式。下圖為一個微機溫控儀監控主程序流程示例。 6 . 2 . 2 初始化管理 初始

4、化管理主要包括可編程器件初始化、堆棧初始化和參數初始化三部分。 可編程器件初始化 是指對可編程硬件接口電路的工作模式的初始化。微機化測控系統中常用的可編程器件有鍵盤顯示管理接口8279 、I/O 和RAM 擴展接口8155 、并行輸入輸出接口8255 、定時計數器接口8253 等,這些器件的初始化都有固定的格式,只是格式中的初始化參數隨應用方式不同而異,因此,都可編成一定的子程序模塊,隨時調用。 堆棧初始化 就是復位后首先在用戶RAM 中確定一個堆棧區域。堆棧是實現實時中斷處理的必不可少的一種數據結構。大多數微處理器允許設計人員在用戶RAM 中任意開辟堆棧區域并采用向上或向下生長的堆棧結構,由

5、堆棧指示器SP 來管理。 參數初始化 是指對測控系統的整定參數(如PID 算法的KP、TI 、TD 3 個參數的初值)、報警值以及過程輸入通道的數據與過程輸出通道的數據初始化。 初始化管理模塊作為監控程序的第二層次,通過分別調用上述三類初始化功能模塊(第三層次),實現對整個測控系統中有關器件的初始化。 6 . 3 鍵盤管理1. 一鍵一義的鍵盤管理 微機化測控系統的按鍵定義都比較簡單,屬一鍵一義,即: 一個按鍵代表一個確切的命令或一個數字. 編程時只要根據當前按鍵的編碼把程序直接分支到相應的處理模塊的入口。鍵盤信號的獲得有三種方法:(1)查詢法 主程序用掃描鍵盤等手段來獲取鍵盤信息。微處理器(機

6、)周而復始地掃描鍵盤,當發現按鍵時,首先判別是命令鍵還是數字鍵, 若是數字鍵,則把按鍵讀數讀入存儲器,通常還進行顯示; 若是命令鍵,則根據按鍵讀數查閱轉移表,以獲得處理子程序的入口。處理子程序執行完后繼續掃描鍵盤,如圖6-3-1(a)所示。進行一鍵一義的鍵盤管理的核心是一張一維的轉移表,如圖6-3-1(b)所示,在轉移表內順序登記了各個處理子程序的轉移指令。下面是查詢法處理的一鍵一義監控程序。進入該程序時,累加器A 內包含了鍵盤的某按鍵編碼,當鍵碼小于10H 時為數字鍵,等于或大于10H 時為命令鍵,全部按鍵編碼小于20H 。 MOV RI , A CLR C SUBB A , # I0H ;

7、判斷是何種閉合鍵 JC DIGIT ;是數字鍵,轉DIGIT MOV DPTR , # TBJ2;轉換表首址一DPTR MOV A , RI ANL A , # 0FH ;取出命令鍵碼 ADD A , A ;鍵碼加倍 JNC NADD INC DPH ;大于或等于256 時,DPH 內容加1 NADD : JMP A 十DPTR ;執行處理子程序 TBJ2: AJMP PROGI ;轉移表 AJMP PROG2 AJMP PROGn DIGIT: ;數字送顯示緩沖器,并顯示 (2) 中斷方法 按下任何鍵都引起一個中斷請求,鍵碼分析過程放在中斷子程序中,這種方法需獨自占用一個外部中斷源,其監控程

8、序結構如圖6 一3 一2 ( a )所示。(3) 定時查詢方法 每隔一定時間查詢一次鍵盤,由于時間間隔通常很短,對于操作者來說鍵盤的響應是實時的,鍵盤的查詢過程安排在定時中斷程序中完成,其監控程序的結構框圖如圖6 一3 一2 ( b )所示。 6 . 3 . 2 一鍵多義的鍵盤管理 有些鍵盤設計成一鍵多義,一個按鍵有多種功能,既可作多種命令鍵,又可作數字鍵。在一鍵多義的情況下,一個命令不是由一次按鍵,而是由一個按鍵序列所組成。換句話說,對一個按鍵含義的解釋,除了取決于本次按鍵外,還取決于以前按了些什么鍵。因此對于一鍵多義的監控程序,首先要判斷一個按鍵序列(而不是一次按鍵)是否已構成一個合法命令

9、。若已構成合法命令,則執行命令,否則等待新按鍵輸入。一鍵多義的按鍵管理,可以用查詢法也可以用中斷法。 微機化系統監控程序具有實時性,一般按鍵中斷不應干擾正在進行的控制運算(控制運算一般比按鍵具有更高的優先級,除非是“停止運行”等一類按鍵)。考慮到這些因素,常常把鍵服務設計成比過程通道中斷低一級的中斷源。 例:一鍵多義鍵服務處理方法:設一個8 回路微機溫控儀有6 個按鍵: C-回路號1 -8 ,第8 回路為環境溫度補償,其 余為控溫點 p-參數號,有設定值,實測值,P 、l 、D 參數 值,上、下限報警值,輸出控制值等8 個參 數 -加l ; -減1; R-運行; S -停止運行。 顯然,按鍵都

10、是一鍵多義的。 C 鍵對應了8 個回路,且第8 回路(環境溫度補償回路)與其余7 個回路不同,它只有實測值一個參數,沒有其它參數。 p鍵對應了每一回路(除第8 回路外)的8 個參數。這些參數,有的能執行士1 功能,如設定值,P 、l 、D 參數,上、下限報警值;有的不能修改,如實測溫度值。 和 鍵的功能執行與否,取決于在它們前面按過的C 和p鍵; R 鍵的功能執行與否,則取決于當前的C 值。鍵功能流程見圖6 一3 一3 所示。6 . 3 . 3 自動手動切換 微機化控制系統的基本工作方式是自動控制。但在系統調試、測試和系統投運時,往往要用手動操方式來調整輸出控制值。自動手動切換控制的基本功能:

11、 在手動操方式時,能通過一定的手動操作來方便、準確地調整輸出值; 能實現手動自動的無擾動切換。實現手動操作,有硬件方法和軟件方法兩種。目前大多數微機化系統采用軟件方法,由操作面板上的幾個按鍵來實現。這幾個鍵分別是:手動自動切換鍵;手操輸出加;手操輸出減。缺點:當主機、輸出通道等硬件電路發生故障時,手動控制 也就無法實現了。6 . 4 顯示、中斷與時鐘管理 1. 顯示管理微機化系統的顯示方式目前主要有模擬指示、數字顯示和模擬數字混合顯示三種。對于選用模擬表頭作為顯示手段的,一般只要在過程輸入通道的模擬量部分取出信號送入指示表即可,無需軟件管理。對于數字式顯示,需軟件管理。多數微機化測控系統,顯示

12、管理軟件的基本任務有如下三個方面:( l )顯示更新的數據( 2 )多參數的巡測和定點顯示管理 一個多路系統,通常都采用巡回顯示的方法輔以定點顯示功能,即在一般情況下作巡回顯示,而當操作人員對某一參數特別感興趣時,可中止巡回方式,進入定點跟蹤方式。方式的切換由面板按鍵控制。( 3 )指示燈顯示管理 微機化測控系統常在面板上設置一定數量的指示燈(發光二極管)。通常可由與某一指示燈有關的功能模塊直接管理,例如,上下限報警模塊直接管理上下報警指示燈,也可在用戶RAM 中開辟一個指示燈狀態映像區,由各功能模塊改變映像區的狀態,該模塊由監控主程序中的顯示管理模塊來管理。2. 中斷管理為了能及時處理各種可

13、能事件,提高實時處理能力,所有的微機化測控系統幾乎都具有中斷功能。微機化測控系統中常見的中斷源有:過程通道、實時時鐘、面板按鍵、通信接口和系統故障。通常,微機化測控系統開機時,處于自動封鎖中斷狀態,初始化結束后,監控主程序執行一條“開放中斷”命令,使測控系統在一旦發現中斷后,即能進入中斷工作方式。中斷過程如下: 必須暫時保護程序計數器的內容,以便使CPU 在服務程序執行完時能回到它在產生中斷之前所處的狀態。 必須將中斷服務程序的入口地址送入程序計數器。這個服務程序能夠準確地完成申請中斷的設備所要求的操作。 在服務程序開始時,必須將服務程序需要使用的CPU 寄存器(例如累加器、進位位、專用的暫存

14、寄存器等)的內容暫時地保護起來,并在服務程序結束時再恢復其內容。 對于引起中斷而將變為低電平的設備,系統必須進行適當的操作使 再次變為高電平。 如果允許發生中斷,則必須將允許中斷觸發器再次置位。 最后,恢復程序計數器原先保存的內容,以便返回到被中斷的程序。INTINT在實際系統中往往有兩個以上的中斷源。因此設計者要根據測控系統的功能特點,確定多個中斷源的優先級,當多個中斷源同時提出申請時,主機要識別出哪些中斷源在申請中斷,辨別和比較它們的優先級,優先響應級別高的中斷請求。另外,當CPU 在處理中斷時,還要能響應更高級的中斷請求,而屏蔽掉同級或較低級的中斷請求。中斷管理軟件模塊,通常應包括以下功

15、能:斷點現場保護斷點現場保護,識別中斷源和判斷優先級;如果允許中斷嵌套,則再次開放中斷(單片機除外),中斷服務結束后恢復現場,如圖6-4-1所示。通常,系統掉電總是作為最高級中斷源。至于其它中斷源的優先級,則由設計人員根據系統的功能特點來確定。例:MCS 一51 單片機有兩個外部中斷輸入端,當有兩個以上中斷源時,可以采用如下兩種方法: 利用定時器計數器的外部事件計數輸入端(T0 或Tl ) ,作為邊沿觸發的外部中斷輸入端,這時定時器計數器應工作于計數器方式,計數寄存器應預置滿度數。 每個中斷源都接在同一個外部中斷輸入端(INT0或INT1)上,同時利用輸入口來識別某裝置的中斷請求,具體線路見圖

16、6-4-2 。INT1INT03. 時鐘管理 時鐘主要作為定時器,用于以下7 個方面: 過程輸入通道的數據采樣周期定時; 過程輸出通道控制周期的定時; 參數修改按鍵數字增減速度的定時(對一些采用一兩個按鍵來修改參數的測控系統,通常總是先慢加減幾步,然后快加減或呈指數速度變化); 多參數巡回顯示時的顯示周期定時; 動態保持方式輸出過程通道的動態刷新周期定時; 電壓一頻率型A / D 轉換器定時電路; 故障監視電路(Watch dog )的定時信號。微機化測控系統廣泛采用的定時方法是軟件與硬件相結合的方法。首先由定時電路產生一個基本的脈沖。硬件定時時間到,產生一中斷。監控主程序隨即轉入時鐘中斷管理

17、模塊。在設計軟件結構時,可串行地或并行地設置幾個軟件定時器(在用戶RAM 區)。若一個定時間隔是另一個的整數倍,軟件定時器可設計成串行的;若不是整數倍,則可設計成并行的。當硬件定時中斷一到,這些軟件時鐘分別用累加或遞減方法計時,并由軟件來判斷是否溢出或回零(即定時時間到),這一程序段一般不會很長,故對測控系統的實時性影響極小。采用這一方法,可方便地實現多個定時器功能。時鐘管理模塊的任務僅是在監控主程序中對各定時器預置初值和在響應時鐘中斷過程中判斷是否時間到。一旦時間到,則重新預置初值,并建立一個標志,以提示應該執行前述7 種功能中的某項服務程序。服務程序的執行一般都安排在時鐘中斷返回以后進行。

18、由查詢中斷中建立的標志狀態來決定是否執行該功能。6 . 5 硬件故障的自檢1. 自檢方式 自檢就是利用事先編制的程序 對測控系統的主要部件進行自 動檢測,以確定是否有故障以 及故障的內容和位置。 故障診斷的基本原理是對被測部件輸入一串數據 試驗數據,然后觀察相應的輸出數據,并對觀察結果進行分析,確定故障的內容和位置。 自檢方式可分為三種類型:(1)開機自檢開機自檢在電源接通或 系統復位之后進行。自檢中如果 沒發現問題,就進入測控程序, 如果發現問題,則及時報警。(2)周期性自檢周期性自檢是指在測控系統運行過程中,間斷插入的自檢操作,這種操作可以保證測控系統在使用過程中一直處于正常狀態。周期性自

19、檢不影響測控系統的正常工作,因而只有當出現故障給予報警時,用戶才會覺察。(3)鍵盤自檢具有鍵盤自檢功能的測控 系統面板上應設有“自檢”按鍵,當 用戶對系統的可信度發出懷疑時, 便通過該鍵來啟動一次自檢過程。 自檢過程中,如果檢測到系統出現 某些故障,以文字或數字的形式顯 示“出錯代碼”“Error X ” ,其中“X ”為故障代號,操作人員根據“出錯代碼”,查閱操作手冊便可確定故障內容。此,往往還給出指示燈的閃爍或者音響報警信號。 一般來說,自檢內容包括ROM 、RAM 、總線、顯示器、鍵盤以及測控電路等部件的檢測。測控系統能夠進行自檢的項目越多,使用和維修就越方便,但相應的硬件和軟件也越復雜

20、。 2. 自檢算法(1) ROM 或EPROM 的檢測 ROM 故障的檢測常用“校驗和”方法, 具體做法是: 在將程序機器碼寫入ROM 的時候, 保留一個單元(一般是最后一個單元),此單元不寫程序機器碼而是寫“校驗字”, “校驗字”應能滿足ROM 中所有單元的每一列都具有奇數個1 。自檢程序的內容是:對每一列數進行異或運算,如果ROM 無故障,各列的運算結果應都為“1 ” ,即校驗和等于FFH ,這種算法如表6 一5 一1 所列。 理論上,這種方法不能發現同一位上的偶數個錯誤,但是這種錯誤的概率很小,一般可以不予考慮。若要考慮,須采用更復雜的校驗方法。(2) RAM 的檢測數據存儲器RAM 是

21、否正常 是通過校驗其“讀寫性能” 的有效性來體現的。通常 選用特征字 55H( 01010101B )和 AAH(10101010B ) , 分別對RAM 每一個單元 進行先寫后讀的操作, 其自檢流程圖如圖6 -5-1 所示。 上述檢驗屬于破壞性檢驗, 只能用于開機自檢。若RAM 中已存有數據,在不破壞RAM 中原有內容的前提下進行檢驗就 相對麻煩一些。常用的方法是“異或法”,即把RAM 單元的內容求反并與原碼進行“異或”運算,如果結果為FFH , 則表明該RAM 單元讀寫功能正常,否則,說明該單元有故障。最后再恢復原單元內容。(3)總線的自檢 由于總線沒有記憶能力,因此 設置了兩組鎖存觸發器,用于 分別記憶地址總線和數據總線 上的信息。這樣,只要執行一 條對存儲器或I/O 設備的寫操作指令,地址線和數據線上的信息便能分別鎖存

溫馨提示

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

評論

0/150

提交評論