6_監(jiān)控程序設(shè)計(jì).ppt_第1頁
6_監(jiān)控程序設(shè)計(jì).ppt_第2頁
6_監(jiān)控程序設(shè)計(jì).ppt_第3頁
6_監(jiān)控程序設(shè)計(jì).ppt_第4頁
6_監(jiān)控程序設(shè)計(jì).ppt_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

監(jiān)控程序設(shè)計(jì) 測(cè)控技術(shù)與儀器系 本章主要內(nèi)容 監(jiān)控程序的功能和組成監(jiān)控主程序和初始化管理鍵盤管理顯示 中斷與時(shí)鐘管理硬件故障的自檢 測(cè)控系統(tǒng) 儀器 中軟件的主要功能 采集信息與外界對(duì)話 鍵盤和顯示管理 記憶信息處理信息控制功能自我測(cè)試自補(bǔ)償自適應(yīng) 自校正自學(xué)習(xí) 6 1監(jiān)控程序的功能和組成 測(cè)控系統(tǒng) 硬件 軟件 監(jiān)控程序 功能程序 6 1監(jiān)控程序的功能和組成 一 監(jiān)控程序的功能 1 進(jìn)行鍵盤和顯示管理 按鍵入的命令轉(zhuǎn)入相應(yīng)的鍵服務(wù) 2 接收因過程 輸入輸出 通道或時(shí)鐘等引起的中斷請(qǐng)求信號(hào) 區(qū)分優(yōu)先級(jí) 實(shí)現(xiàn)中斷嵌套 并轉(zhuǎn)入相應(yīng)的實(shí)時(shí)測(cè)量 控制功能子程序 3 實(shí)現(xiàn)對(duì)硬件定時(shí)器的處理及由此形成的軟件定時(shí)器的管理 4 實(shí)現(xiàn)對(duì)系統(tǒng)自身的診斷處理 5 初始化 手 自動(dòng)控制 掉電保護(hù)等 二 監(jiān)控程序的組成監(jiān)控程序的組成主要取決于測(cè)控系統(tǒng)的組成規(guī)模 以及系統(tǒng)的硬件配備與功能 通常由監(jiān)控主程序 初始化管理 鍵盤管理 顯示管理 中斷管理 時(shí)鐘管理 自診斷 手 自動(dòng)控制等模塊組成 圖6 1 1監(jiān)控程序的基本組成 監(jiān)控主程序調(diào)用各模塊 并將它們聯(lián)系起來 形成一個(gè)有機(jī)整體 從而實(shí)現(xiàn)對(duì)系統(tǒng)的全部管理功能 測(cè)控算法程序主要實(shí)現(xiàn)測(cè)量與控制功能 它由描述一種或幾種測(cè)控算法 如數(shù)字濾波 PID算法等 的功能模塊構(gòu)成 通常為實(shí)時(shí)中斷程序或監(jiān)控程序所調(diào)用 各功能模塊又由各種下層模塊 子程序 所支持 模塊分類見P190 6 2監(jiān)控主程序和初始化管理 6 2 1監(jiān)控主程序監(jiān)控主程序通常包括可編程器件 輸入 輸出端口和參數(shù)的初始化 自診斷管理模塊 鍵盤顯示管理模塊 以及實(shí)時(shí)中斷管理和處理模塊等 除了初始化和自診斷外 監(jiān)控主程序一般總是把其余部分聯(lián)接起來 構(gòu)成一個(gè)無限循環(huán) 測(cè)控系統(tǒng)的所有功能都在這一循環(huán)中周而復(fù)始地 或有選擇地執(zhí)行 除非掉電或按復(fù)位 RESET 鍵 測(cè)控系統(tǒng)不會(huì)跳出這一循環(huán) 由于各微機(jī)化測(cè)控系統(tǒng)的功能不同 硬件結(jié)構(gòu)不同 程序編制方法不同 因而監(jiān)控主程序沒有統(tǒng)一的模式 圖6 2 1監(jiān)控主程序流程示例 6 2 2初始化管理 一 可編程器件初始化 對(duì)可編程硬件接口電路的工作模式的初始化微機(jī)化測(cè)控系統(tǒng)中常用的可編程器件有 鍵盤顯示管理接口8279 I O和RAM擴(kuò)展接口8155 并行輸入輸出接口8255 定時(shí)計(jì)數(shù)器接口8253等 二 堆棧初始化 復(fù)位后首先在用戶RAM中確定一個(gè)堆棧區(qū)域 由堆棧指示器SP來管理三 參數(shù)初始化指對(duì)測(cè)控系統(tǒng)的整定參數(shù) 如PID算法的Kp Ti Td三個(gè)參數(shù)的初值 報(bào)警值以及過程輸入通道的數(shù)據(jù)與過程輸出通道的數(shù)據(jù)初始化 初始化管理模塊作為監(jiān)控程序的第二層次 通過分別調(diào)用上述三類初始化功能模塊 第三層次 實(shí)現(xiàn)對(duì)整個(gè)儀表和系統(tǒng)中有關(guān)器件的初始化 6 3鍵盤管理 6 3 1一鍵一義的鍵盤管理一鍵一義 即一個(gè)按鍵代表一個(gè)確切的命令或一個(gè)數(shù)字 編程時(shí)只要根據(jù)當(dāng)前按鍵的編碼把程序直接分支到相應(yīng)的處理模塊的入口 而無需知道在此以前的按鍵情況 鍵盤信號(hào)的獲得有三種方法 一 單純查詢法 程序清單見教材 圖6 3 1查詢法程序流程 程序清單見教材 程序清單見教材 二 鍵盤中斷法按下鍵盤任何鍵都引起一個(gè)中斷請(qǐng)求 鍵碼分析過程放在中斷子程序中 這種方法需獨(dú)自占用一個(gè)外部中斷源 其監(jiān)控程序結(jié)構(gòu)如圖6 3 2 a 所示 三 定時(shí)查詢法每隔一定時(shí)間查詢一次鍵盤 由于時(shí)間間隔通常很短 對(duì)于操作者來說鍵盤的響應(yīng)是實(shí)時(shí)的 鍵盤的查詢過程安排在定時(shí)中斷程序中完成 其監(jiān)控程序的結(jié)構(gòu)框圖如圖6 3 2 b 所示 圖6 3 2中斷法和定時(shí)法程序框圖 6 3 2一鍵多義的按鍵管理 一 一鍵多義的按鍵管理一鍵多義 一個(gè)按鍵有多種功能 既可作多種命令鍵 又可作數(shù)字鍵 在一鍵多義的情況下 一個(gè)命令不是由一次按鍵 而是由一個(gè)按鍵序列所組成 換句話說 對(duì)一個(gè)按鍵含義的解釋 除了取決于本次按鍵外 還取決于以前按了些什么鍵 對(duì)于一鍵多義的監(jiān)控程序 首先要判斷一個(gè)按鍵序列 而不是一次按鍵 是否已構(gòu)成一個(gè)合法命令 若已構(gòu)成合法命令 則執(zhí)行命令 否則等待新按鍵輸入 二 一鍵多義的監(jiān)控程序 一鍵多義的監(jiān)控程序仍可采用轉(zhuǎn)移表法進(jìn)行設(shè)計(jì) 這時(shí)要用多張轉(zhuǎn)移表 組成一個(gè)命令的前幾個(gè)按鍵起著引導(dǎo)的作用 把控制引向某張合適的轉(zhuǎn)移表 根據(jù)最后一個(gè)按鍵編碼查閱該轉(zhuǎn)移表 就找到要求的子程序入口 按鍵的管理 可以用查詢法也可以用中斷法 三 一鍵多義鍵服務(wù)程序流程實(shí)例 8回路微機(jī)溫控儀鍵盤有6個(gè)按鍵 C鍵 回路號(hào)1 8 第8回路為環(huán)境溫度補(bǔ)償 其余為控溫點(diǎn) P鍵 參數(shù)號(hào) 有設(shè)定值 PID參數(shù)等 共8個(gè)參數(shù) 鍵 加1 鍵 減1 只用于參數(shù)的修改R鍵 運(yùn)行 S鍵 停止運(yùn)行 第8回路 環(huán)境溫度補(bǔ)償回路 只有溫度實(shí)測(cè)值一個(gè)參數(shù) 沒有其它參數(shù) 第1 7個(gè)回路有設(shè)定值 P I D參數(shù) 上 下限報(bào)警值 溫度實(shí)測(cè)值等8個(gè)參數(shù) 1 程序流程 圖6 3 32 程序清單 參見教材 說明 設(shè)鍵編碼R 00H S 01H 02H 03H C 04H和P 05H 內(nèi)存RAM20H中高4位為通道 回路 號(hào)標(biāo)記 低4位為參數(shù)號(hào)標(biāo)記 假設(shè)8279命令口地址為7FFFH 數(shù)據(jù)口地址為7FFEH 7個(gè)回路 1 7 每個(gè)回路8個(gè)參數(shù) 共有56個(gè)轉(zhuǎn)移入口 分別由56個(gè)鍵服務(wù)功能模塊所支持 第8回路無參數(shù) 由其獨(dú)立子程序C8單獨(dú)處理 圖6 3 3一鍵多義鍵服務(wù)程序流程 6 3 3自動(dòng) 手動(dòng)切換 一 微機(jī)化控制系統(tǒng)的兩種工作方式自動(dòng)方式 微機(jī)化控制系統(tǒng)的基本工作方式 手操方式 在系統(tǒng)調(diào)試 測(cè)試時(shí) 用來調(diào)整輸出控制值 二 自動(dòng) 手動(dòng)切換控制的基本功能是 在手操方式時(shí) 能通過一定的手動(dòng)操作來方便 準(zhǔn)確地調(diào)整輸出值 能實(shí)現(xiàn)手動(dòng) 自動(dòng)的無擾動(dòng)切換 三 實(shí)現(xiàn)手動(dòng)操作的方法實(shí)現(xiàn)手動(dòng)操作 有硬件方法和軟件方法兩種 目前大多數(shù)微機(jī)化系統(tǒng)采用軟件方法 由操作面板上的幾個(gè)按鍵來實(shí)現(xiàn) 通常有 手 自動(dòng)切換鍵 手操輸出加 手操輸出減 監(jiān)控程序通過判斷手動(dòng) 自動(dòng)切換鍵的狀態(tài)來判斷是否進(jìn)入手操方式 在手操方式時(shí) 系統(tǒng)的自動(dòng)控制功能暫停 改由面板上的輸出加 減兩鍵來調(diào)整輸出值 四 無擾動(dòng)切換的實(shí)現(xiàn)在用戶RAM區(qū)中開辟一個(gè)輸出控制值單元 作為當(dāng)前輸出控制量的映象 無論是手操還是自動(dòng)控制 都是對(duì)這一輸出值的映象單元進(jìn)行加或減 在輸出模塊程序作用下 輸出通道把此值送到執(zhí)行機(jī)構(gòu)上去 6 4顯示 中斷與時(shí)鐘管理 6 4 1顯示管理一 微機(jī)化系統(tǒng)的主要顯示方式模擬指示 用模擬表頭作為顯示手段 無需軟件管理 數(shù)字顯示 硬件方案的不同 軟件顯示管理方法也不同 二 顯示管理軟件的基本任務(wù)1 顯示更新的數(shù)據(jù)2 多參數(shù)的巡測(cè)和定點(diǎn)顯示管理巡回顯示方式 每隔一定時(shí)間改換一個(gè)新的顯示參數(shù)定點(diǎn)顯示方式 只跟蹤顯示某一參數(shù) 不改換通道或參數(shù)3 指示燈顯示管理通??捎膳c某一指示燈有關(guān)的功能模塊直接管理 功能程序刷新顯示存儲(chǔ)區(qū)數(shù)據(jù) 顯示管理軟件完成顯示 6 4 2中斷管理 一 中斷的概念允許被控過程的某一狀態(tài)或?qū)崟r(shí)時(shí)鐘或鍵操作中斷正在進(jìn)行的工作 轉(zhuǎn)而處理該過程的實(shí)時(shí)問題 當(dāng)這一處理工作完成后 再回去執(zhí)行原先的任務(wù) 即監(jiān)控程序中確認(rèn)的工作 一般說來 未經(jīng)事先 同意 開放中斷 不允許過程或?qū)崟r(shí)時(shí)鐘申請(qǐng)中斷 能夠發(fā)出中斷請(qǐng)求信號(hào)的外設(shè)或事件稱為中斷源 微機(jī)化測(cè)控系統(tǒng)中常見的中斷源有 過程通道 實(shí)時(shí)時(shí)鐘 面板按鍵 通信接口 系統(tǒng)故障 中斷源中斷向量 6 4 2中斷管理 一 一個(gè)中斷源的中斷過程 暫時(shí)保護(hù)程序計(jì)數(shù)器的內(nèi)容 將中斷服務(wù)程序的入口地址送入程序計(jì)數(shù)器 在服務(wù)程序開始時(shí) 必須將服務(wù)程序需要使用的CPU寄存器 例如累加器 進(jìn)位位 專用的暫存寄存器等 的內(nèi)容暫時(shí)地保護(hù)起來 并在服務(wù)程序結(jié)束時(shí)再恢復(fù)其內(nèi)容 對(duì)于引起中斷而將INT變?yōu)榈碗娖降脑O(shè)備 系統(tǒng)必須進(jìn)行適當(dāng)?shù)牟僮魇笽NT再次變?yōu)楦唠娖?如果允許發(fā)生中斷 則必須將允許中斷觸發(fā)器再次置位 最后 恢復(fù)程序計(jì)數(shù)器原先被保存的內(nèi)容 以便返回到被中斷的程序 二 多個(gè)中斷源的處理 確定多個(gè)中斷源的優(yōu)先級(jí) 在軟件上作出相應(yīng)處理 當(dāng)CPU在處理中斷時(shí) 還要能響應(yīng)更高級(jí)的中斷請(qǐng)求 而屏蔽掉同級(jí)或較低級(jí)的中斷請(qǐng)求 三 中斷程序模塊中斷模塊分中斷管理模塊和中斷服務(wù)模塊兩部分 1 中斷服務(wù)模塊 具體服務(wù)內(nèi)容 由各測(cè)控系統(tǒng)的功能所決定 2 中斷管理模塊中斷管理軟件模塊 通常應(yīng)包括以下功能 斷點(diǎn)現(xiàn)場(chǎng)保護(hù) 識(shí)別中斷源 判斷優(yōu)先級(jí) 如果允許中斷嵌套 則再次開放中斷 中斷服務(wù)結(jié)束后恢復(fù)現(xiàn)場(chǎng) 如圖6 4 1所示 圖6 4 1中斷流程 四 多中斷源擴(kuò)展與識(shí)別 通常 系統(tǒng)掉電總是作為最高級(jí)中斷源 其它中斷源的優(yōu)先級(jí) 則由設(shè)計(jì)人員根據(jù)系統(tǒng)的功能特點(diǎn)來確定 當(dāng)有兩個(gè)以上外部中斷源時(shí) 可以采用如下兩種方法 利用定時(shí)器 計(jì)數(shù)器的外部事件計(jì)數(shù)輸入端 T0或T1 作為邊沿觸發(fā)的外部中斷輸入端 這時(shí)定時(shí)器 計(jì)數(shù)器應(yīng)工作于計(jì)數(shù)器方式 計(jì)數(shù)寄存器應(yīng)預(yù)置滿度數(shù) 每個(gè)中斷源都接在同一個(gè)外部中斷輸入端 INT0或INT1 上 同時(shí)利用輸入口來識(shí)別某裝置的中斷請(qǐng)求 圖6 4 2多中斷源識(shí)別電路 6 4 3時(shí)鐘管理 一 時(shí)鐘作為定時(shí)器的用途 過程輸入通道的數(shù)據(jù)采樣周期定時(shí) 過程輸出通道控制周期的定時(shí) 參數(shù)修改按鍵數(shù)字增減速度的定時(shí) 多參數(shù)巡回顯示時(shí)的顯示周期定時(shí) 動(dòng)態(tài)保持方式輸出過程通道的動(dòng)態(tài)刷新周期定時(shí) 電壓 頻率型A D轉(zhuǎn)換器定時(shí)電路 故障監(jiān)視電路 Watchdog 的定時(shí)信號(hào) 二 實(shí)現(xiàn)定時(shí)的方法1 硬件方法采用可編程定時(shí) 計(jì)數(shù)器接口電路 如CTC8253 以及單片機(jī)內(nèi)的定時(shí)電路 這種定時(shí)方法的定時(shí)間隔不可能做得太長(zhǎng) 2 軟件方法 采用軟件延時(shí)方案 無需硬件成本 但要占用大量CPU時(shí)間 且實(shí)時(shí)性差 定時(shí)精度低 3 軟件與硬件相結(jié)合定時(shí)的方法這種方案幾乎不影響測(cè)控系統(tǒng)的實(shí)時(shí)響應(yīng) 而且能實(shí)現(xiàn)多種時(shí)間間隔的定時(shí) 首先由定時(shí)電路產(chǎn)生一個(gè)基本的脈沖 硬件定時(shí)時(shí)間到 產(chǎn)生一中斷 監(jiān)控主程序隨即轉(zhuǎn)入時(shí)鐘中斷管理模塊 在設(shè)計(jì)軟件結(jié)構(gòu)時(shí) 可串行地或并行地設(shè)置幾個(gè)軟件定時(shí)器 在用戶RAM區(qū) 當(dāng)硬件定時(shí)中斷一到 這些軟件時(shí)鐘分別用累加或遞減方法計(jì)時(shí) 并由軟件來判斷是否定時(shí)時(shí)間到 6 5硬件故障的自檢 6 5 1自檢方式一 自檢的基本原理自檢就是利用事先編制的程序?qū)y(cè)控系統(tǒng)的主要部件進(jìn)行自動(dòng)檢測(cè) 以確定是否有故障以及故障的內(nèi)容和位置 故障診斷的基本原理是對(duì)被測(cè)部件輸入一串?dāng)?shù)據(jù) 試驗(yàn)數(shù)據(jù) 然后觀察相應(yīng)的輸出數(shù)據(jù) 并對(duì)觀察結(jié)果進(jìn)行分析 確定故障的內(nèi)容和位置 試驗(yàn)數(shù)據(jù) 觀察到的結(jié)果數(shù)據(jù)和故障的對(duì)應(yīng)關(guān)系應(yīng)在故障診斷前準(zhǔn)備好 二 自檢方式的三種類型 一 開機(jī)自檢在電源接通或系統(tǒng)復(fù)位之后進(jìn)行 自檢中如果沒發(fā)現(xiàn)問題 就進(jìn)入測(cè)量程序 如果發(fā)現(xiàn)問題 則及時(shí)報(bào)警 2 周期性自檢在測(cè)控系統(tǒng)運(yùn)行過程中 間斷插入的自檢操作 這種操作可以保證測(cè)控系統(tǒng)在使用過程中一直處于正常狀態(tài) 周期性自檢不影響測(cè)控系統(tǒng)的正常工作 因而只有當(dāng)出現(xiàn)故障給予報(bào)警時(shí) 用戶才會(huì)覺察 鍵盤自檢具有鍵盤自檢功能的測(cè)控系統(tǒng)面板上應(yīng)設(shè)有 自檢 按鍵 當(dāng)用戶對(duì)系統(tǒng)的可信度發(fā)出懷疑時(shí) 便通過該鍵來啟動(dòng)一次自檢過程 三 自檢結(jié)果的提示 出錯(cuò)代碼 自檢過程中 微機(jī)化測(cè)控系統(tǒng)一般都借用本身的顯示器 以文字或數(shù)字的形式顯示 出錯(cuò)代碼 出錯(cuò)代碼通常以 ErrorX 字樣表示 其中 X 為故障代號(hào) 操作人員根據(jù) 出錯(cuò)代碼 查閱操作手冊(cè)便可確定故障內(nèi)容 除了給出故障代號(hào)之外 往往還給出指示燈的閃爍或者音響報(bào)警信號(hào) 以提醒操作人員注意 6 5 2自檢算法 一 ROM或EPROM的檢測(cè)ROM故障的檢測(cè)常用 校驗(yàn)和 方法 具體作法是 在將程序機(jī)器碼寫入ROM的時(shí)候 保留一個(gè)單元 一般是最后一個(gè)單元 此單元不寫程序機(jī)器碼而是寫 校驗(yàn)字 校驗(yàn)字 應(yīng)能滿足ROM中所有單元的每一列都具有奇數(shù)個(gè)1 自檢程序的內(nèi)容是 對(duì)每一列數(shù)進(jìn)行異或運(yùn)算 如果ROM無故障 各列的運(yùn)算結(jié)果應(yīng)都為 1 即校驗(yàn)和等于FFH 見P202表6 5 1 二 RAM的檢測(cè)常用的方法是 異或法 即把RAM單元的內(nèi)容求反并與原碼進(jìn)行 異或 運(yùn)算 如果結(jié)果為FFH 則表明該RAM單元讀寫功能正常 否則 說明該單元有故障 最后再恢復(fù)原單元內(nèi)容 RAM的自檢流程如圖6 5 1所示 圖6 5 1RAM自檢流程圖 三 總線的自檢 總線的自檢是指對(duì)經(jīng)過緩沖器的總線進(jìn)行檢測(cè) 設(shè)置兩組鎖存觸發(fā)器 分別用于記憶地址總線和數(shù)據(jù)總線上的信息 這樣 只要執(zhí)行一條對(duì)存儲(chǔ)器或I O設(shè)備的寫操作指令 地址線和數(shù)據(jù)線上的信息便能分別鎖存到這兩組8D觸發(fā)器 地址鎖存觸發(fā)器和數(shù)據(jù)鎖存觸發(fā)器 中 我們通過對(duì)這兩組鎖存觸發(fā)器分別進(jìn)行讀操作 便可判知總線是否存在故障 總線自檢程序應(yīng)該對(duì)每一根總線分別進(jìn)行檢測(cè) 具體作法是使被檢測(cè)的每根總線依次為1態(tài) 其余總線為0態(tài) 如果某總線停留在0態(tài)或1態(tài) 說明有故障存在 圖6 5 2總線檢測(cè)電路 四 顯示器與鍵盤的檢測(cè) 1 顯示器 鍵盤等I O設(shè)備的檢測(cè)先進(jìn)行一系列預(yù)定的I O操作 然后操作者對(duì)這些I O操作的結(jié)果進(jìn)行驗(yàn)收 如果結(jié)果與預(yù)先的設(shè)定一致 就認(rèn)為功能正常 否則 應(yīng)對(duì)有關(guān)I O通道進(jìn)行檢修 1 鍵盤的檢測(cè)CPU每取得一個(gè)按鍵閉合的信號(hào) 就反饋一個(gè)信息 如果按下某單個(gè)按鍵無反饋信息 往往是該鍵接觸不良 如果按某一排鍵均無反饋信號(hào) 則一定與對(duì)應(yīng)的電路或掃描信號(hào)有關(guān) 2 顯示器的檢測(cè)一般有兩種方式 一種是

溫馨提示

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

評(píng)論

0/150

提交評(píng)論