




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1. 系統(tǒng)設(shè)計的原則與步驟,1.1 微機(jī)應(yīng)用系統(tǒng)的一般構(gòu)成 微機(jī)應(yīng)用系統(tǒng)由硬件系統(tǒng)(計算機(jī)+控制電路)和軟件系統(tǒng)(系統(tǒng)軟件+應(yīng)用軟件)兩大部分構(gòu)成。 1、 應(yīng)用系統(tǒng)的硬件組成 微機(jī)應(yīng)用系統(tǒng)的硬件的一般構(gòu)成框圖。由圖1可以看到,應(yīng)用系統(tǒng)由如下幾大部分組成。,1) 微機(jī) 微機(jī)是整個應(yīng)用系統(tǒng)的核心,其他所有設(shè)備都要在它的控制和管理下進(jìn)行工作,因此稱它為主機(jī)。在系統(tǒng)控制或監(jiān)測過程中,主機(jī)能自動接收被控或被測對象送來的各種信息。在微機(jī)內(nèi),按人們事先安排好的程序,對這些信息進(jìn)行加工運算、判別及分析,并做出相應(yīng)的處理和控制決策,以信息形式再回送給被控或被測的對象,從而實現(xiàn)對被控或被測對象的自動控制與管理。微
2、機(jī)中的程序和有關(guān)的初始數(shù)據(jù)是人們事先編排好的。在操作前,通過輸入設(shè)備將其輸入或事前固化在ROM中。一旦系統(tǒng)被引導(dǎo)啟動,微機(jī)就會按順序取出一條條所存貯的指令執(zhí)行。而系統(tǒng)就會按人們預(yù)先設(shè)想的規(guī)律,一步一步地完成整個系統(tǒng)的控制和監(jiān)測過程。 應(yīng)用系統(tǒng)中的微機(jī)可以由前面提到的8088或其他CPU構(gòu)成,也可以由單板機(jī)、單片機(jī)等構(gòu)成。,圖1 微機(jī)應(yīng)用系統(tǒng)硬件的一般組成,2) 常規(guī)外圍設(shè)備 (1) 輸入設(shè)備:主要用于程序和數(shù)據(jù)的輸入,常見的有紙帶閱讀機(jī)、鍵盤、鼠標(biāo)器和光筆等。 (2) 輸出設(shè)備:主要用于程序處理后的信息或數(shù)據(jù)的輸出。它把處理過的各種信息和數(shù)據(jù),以人們能夠直觀接受的外形(如字符、數(shù)字、圖形)提供
3、給操作人員,以便操作人員能及時了解微機(jī)內(nèi)部及整個應(yīng)用系統(tǒng)的工作情況。常見的輸出設(shè)備有打印機(jī)、X-Y記錄儀和顯示器等。 (3) 外存貯器:主要用來存貯程序及有關(guān)的數(shù)據(jù),如磁帶機(jī)、磁盤(硬盤和軟盤)、光盤等。,3) 外部接口設(shè)備 外部接口設(shè)備是應(yīng)用系統(tǒng)與被控或被測對象之間進(jìn)行信息變換和信息傳遞的設(shè)備。它包括輸入接口和輸出接口。接口設(shè)備通常應(yīng)具備以下功能: (1) 數(shù)據(jù)通道:它能為微機(jī)提供一個輸入/輸出數(shù)據(jù)的通道。 (2) 信息格式的匹配與變換:接口應(yīng)具備輸入/輸出信息,實現(xiàn)信息格式的匹配與變換功能,如A/D、D/A轉(zhuǎn)換,串并、并串轉(zhuǎn)換及其他信息格式的轉(zhuǎn)換等。 (3) 輸入/輸出電平匹配:微機(jī)的輸入
4、/輸出電平往往是TTL電平,而被控對象所要求的輸入/輸出電平的規(guī)格較多,為此,接口應(yīng)具備電平轉(zhuǎn)換功能。,(4) 負(fù)載匹配:微機(jī)的輸出負(fù)載能力是比較小的,為了使系統(tǒng)能夠控制大功率的被控對象,接口也應(yīng)具備驅(qū)動和功率放大的能力。 (5) 同步:微機(jī)的工作速度是比較高的,而一般受控對象所要求的控制速率卻較低。這樣,為了使微機(jī)的工作速度和外界受控對象所要求的控制速度相匹配,就要由接口設(shè)備的同步機(jī)構(gòu)來實現(xiàn)內(nèi)、外部系統(tǒng)的速度同步。 盡管對微機(jī)接口設(shè)備要求較多,但并不是每種接口都具備上述所有功能。接口要求功能的多少往往視接口連接的對象而定。目前各器件生產(chǎn)廠家都生產(chǎn)了配套的輸入/輸出接口芯片,因此使接口設(shè)計變得
5、比較容易,通常只要做少量的硬件工作就可以將微機(jī)與被控或被測對象連接起來。,4) 操作控制臺及監(jiān)視報警設(shè)備 微機(jī)應(yīng)用系統(tǒng)在正常工作時,并不需要人直接參與。但是無論如何,必須使人機(jī)保持密切的聯(lián)系。這是因為系統(tǒng)在運行過程中,操作人員需要對運行狀態(tài)進(jìn)行監(jiān)視和了解,在系統(tǒng)發(fā)生故障時,必須能自動報警,爾后,操作人員通過控制臺上的按鍵干預(yù)。另外,當(dāng)需要修改控制程序和控制參數(shù)時,同樣也要通過控制臺上的鍵盤或按鍵對系統(tǒng)的工作進(jìn)行干預(yù)。 根據(jù)上述要求,操作控制臺應(yīng)包含控制按鍵、面板顯示和報警顯示器等。在某些系統(tǒng)中,為了調(diào)試和工作方便,在控制臺上還裝有手動轉(zhuǎn)換裝置,以便在人工方式時,對被控對象進(jìn)行操縱。,2、應(yīng)用系
6、統(tǒng)的軟件構(gòu)成 要使微機(jī)應(yīng)用系統(tǒng)能正常工作,就必須在微機(jī)內(nèi)存中存放一定的程序。系統(tǒng)管理需要程序,對某些對象進(jìn)行控制和監(jiān)測也需要程序??梢赃@么說,微機(jī)應(yīng)用系統(tǒng)的硬件是系統(tǒng)的軀體,而軟件(即各種程序和數(shù)據(jù)的集合)是整個系統(tǒng)的靈魂。不同的控制對象和不同的控制任務(wù),在系統(tǒng)軟件構(gòu)成上會有很大區(qū)別。一般來說,只有系統(tǒng)硬件確定以后,才能完全確定如何配置系統(tǒng)的軟件。但是,這并不意味著系統(tǒng)的軟件構(gòu)成是不可捉摸的。一般根據(jù)其功能,軟件系統(tǒng)大體可以分成以下幾個部分。,1) 用戶程序 在微機(jī)應(yīng)用系統(tǒng)中,對每個控制對象或控制任務(wù)都一定配有相應(yīng)的控制程序,這些程序用來完成對各被控對象的不同控制。例如,我們要控制一臺機(jī)床,對
7、構(gòu)件進(jìn)行切削加工,就必須配備一個切削加工程序。通常這種為了各種應(yīng)用目的(控制、監(jiān)測等)而編制的程序稱為應(yīng)用程序或用戶程序。編寫應(yīng)用程序的工作一般都由用戶自己開發(fā)完成。用戶可以根據(jù)微機(jī)應(yīng)用系統(tǒng)的資源配備情況,確定使用何種語言來編寫用戶程序,既可以用高級語言也可以用匯編語言。高級語言功能強(qiáng),且比較近似于人們?nèi)粘I钣谜Z習(xí)慣,因此比較容易編寫。而用匯編語言編寫的程序則具有執(zhí)行速度快、對硬件及端口操作靈活、占用存儲器少的特點。目前,人們通常用高級語言和匯編語言混合編程的方法來編寫用戶程序。在微機(jī)應(yīng)用系統(tǒng)中,用戶程序是一個用于對被控對象進(jìn)行直接控制的程序。因此,它將對控制對象產(chǎn)生決定性的影響,即用戶程序
8、的優(yōu)劣,會給系統(tǒng)的精度、可靠性及工作效率帶來致命的影響。,2) 常用子程序庫 一個微機(jī)應(yīng)用系統(tǒng)的基本功能要受到硬件結(jié)構(gòu)和系統(tǒng)擁有的資源的限制。例如,一般不能用硬件進(jìn)行數(shù)制變換和數(shù)據(jù)采集等,而這樣一些功能是應(yīng)用系統(tǒng)要經(jīng)常用到的。為此,我們采用子程序的方式來滿足系統(tǒng)用戶程序的要求。所謂子程序,就是將一些特定功能編成一個個專用程序段,放在子程序庫中,系統(tǒng)需要使用時,可以隨時調(diào)用。子程序庫中的子程序都編成標(biāo)準(zhǔn)的形式,一般都要規(guī)定入口參數(shù)、入口地址、出口參數(shù)等。只要按其規(guī)定,即可在主程序中隨意調(diào)用。,1.2 應(yīng)用系統(tǒng)的設(shè)計原則和要求 微機(jī)應(yīng)用系統(tǒng)的基本設(shè)計原則和要求,在不同規(guī)模和要求的系統(tǒng)中大體是相同的
9、。因此,這些共同的原則和要求在設(shè)計前或設(shè)計過程中都必須予以很好的考慮。 1. 操作性能要好 微機(jī)應(yīng)用系統(tǒng)的操作性能好,就是指系統(tǒng)的人機(jī)界面要友好,操作起來簡單、方便,并且便于維護(hù)。為此,在設(shè)計整個系統(tǒng)的硬件和軟件時,應(yīng)處處為用戶想到這一點。在設(shè)計系統(tǒng)軟件時,就應(yīng)該考慮配備什么樣的軟件和環(huán)境能降低操作人員對某些專業(yè)知識的要求。,2. 通用性好,便于擴(kuò)展 通常一個微機(jī)應(yīng)用系統(tǒng)在工作時都能同時控制幾臺設(shè)備。但是,在大多數(shù)情況下,各個設(shè)備的控制要求往往是有差別的。另外,所控制的設(shè)備也不是一成不變的,而是要經(jīng)常不斷地進(jìn)行更新。這樣,就要求系統(tǒng)不僅能適應(yīng)各種不同設(shè)備的要求,而且也要考慮在設(shè)備更新時,整個系
10、統(tǒng)不需要做大的改動就能馬上適應(yīng)新的配置。因此,系統(tǒng)就需要有好的通用性,而且在必要時能靈活地進(jìn)行擴(kuò)展。微機(jī)應(yīng)用系統(tǒng)要達(dá)到這樣的要求,就必須盡可能地采用標(biāo)準(zhǔn)化設(shè)計。,3. 可靠性高 對任何微機(jī)應(yīng)用系統(tǒng)來說,盡管各種各樣的要求很多,但可靠性是最突出和最重要的一個基本要求。因為,一個系統(tǒng)能否長時期安全可靠地正常工作,對一個工廠來說將要影響到整個裝置、整個車間,乃至整個工廠的正常生產(chǎn)。一旦發(fā)生故障,就會造成整個生產(chǎn)過程的全面混亂甚至癱瘓,從而引起嚴(yán)重后果,所以對可靠性有很高的要求。特別是作為控制核心的微機(jī),其可靠性要求則更高。,4. 設(shè)計周期短、價格便宜 在研制微機(jī)應(yīng)用系統(tǒng)時,應(yīng)考慮的一個重要因素是設(shè)計
11、周期短、價格便宜。目前科學(xué)技術(shù)發(fā)展十分迅速,各種新的技術(shù)和產(chǎn)品不斷出現(xiàn),這就要求所設(shè)計的微機(jī)應(yīng)用系統(tǒng)能跟上形勢的發(fā)展。如果研制周期太長,會使產(chǎn)品失去競爭能力和實用價值。所以,微機(jī)應(yīng)用系統(tǒng)不能搞大而全,應(yīng)考慮實際情況來確定系統(tǒng)的設(shè)計規(guī)模。這樣既可以縮短設(shè)計周期又可以降低系統(tǒng)的設(shè)計費用。在進(jìn)行系統(tǒng)設(shè)計時,要仔細(xì)核算以降低整個系統(tǒng)的成本,在保證功能和性能的前提下,低的價格才有競爭力。,5. 對環(huán)境的適應(yīng)性要好 在開發(fā)微機(jī)應(yīng)用系統(tǒng)時,一定要考慮到其應(yīng)用環(huán)境,保證在現(xiàn)場的環(huán)境下可靠地工作。例如,有的地方電源電壓波動很大,有的地方環(huán)境溫度變化劇烈,有的地方濕度很大,有的地方振動很厲害,而有的工作環(huán)境有粉塵
12、、鹽霧、腐蝕等等。這些外界因素在系統(tǒng)設(shè)計中必須加以考慮,采用必要的措施保證微機(jī)應(yīng)用系統(tǒng)安全可靠地工作。,1.3 微機(jī)應(yīng)用系統(tǒng)設(shè)計的基本內(nèi)容和步驟 1. 需求分析確定系統(tǒng)的功能 需求分析是在仔細(xì)了解用戶需求的基礎(chǔ)上進(jìn)行的。因此,首先必須詳細(xì)了解用戶的需求。調(diào)查用戶要利用微機(jī)應(yīng)用系統(tǒng)實現(xiàn)的功能。例如,對于測量系統(tǒng),應(yīng)該了解要測量的參數(shù)是什么,采用什么傳感器,信號大小與形式,放大器要求,測量精度,如何顯示,如何輸出結(jié)果等。對于控制系統(tǒng),還要仔細(xì)調(diào)查用戶的要求、工藝過程、控制精度等等。此外,在了解用戶要求完成測控功能的同時,還必須認(rèn)真了解未來微機(jī)應(yīng)用系統(tǒng)的工作環(huán)境,包括電源的穩(wěn)定性,干擾大小以及環(huán)境的
13、溫度、濕度等等。,總之,開發(fā)設(shè)計人員一定要非常認(rèn)真仔細(xì)地進(jìn)行需求調(diào)查,必須強(qiáng)調(diào)需求調(diào)查和分析是后續(xù)工作的依據(jù),其后所做的一切都是以滿足用戶需求為目的的。針對用戶的需求,仔細(xì)分析測控對象的工作過程,明確微機(jī)系統(tǒng)應(yīng)如何去做,用時間和控制流圖來描述這些工作過程。,2. 選擇基本微機(jī)系統(tǒng)硬件系統(tǒng)設(shè)計 在設(shè)計微機(jī)應(yīng)用系統(tǒng)時,通常總是先選擇一個最基本的微機(jī)系統(tǒng),然后對它進(jìn)行擴(kuò)展,并配上相應(yīng)的軟件,從而形成一個實用的應(yīng)用系統(tǒng)。由于微機(jī)是整個應(yīng)用系統(tǒng)的核心,所以它的選擇是否合適,將對整個系統(tǒng)產(chǎn)生決定性的影響?;疚C(jī)系統(tǒng)選擇中應(yīng)考慮的依據(jù)大致有以下四個方面。,1) 微處理器的字長 微處理器的字長會直接對系統(tǒng)精
14、度、指令多少、尋址能力、處理速度等產(chǎn)生影響,由此必然導(dǎo)致應(yīng)用領(lǐng)域的不同。一般來說,微處理器的字長愈長,對數(shù)據(jù)處理愈有利,處理速度也可以進(jìn)一步提高。但是,并不是字長愈長愈好,在選擇時,應(yīng)根據(jù)應(yīng)用實際情況及性能價格比綜合考慮。,2) 微處理器的工作速度 微處理器的工作速度一般取決于系統(tǒng)的主頻,目前常見的是幾兆赫到上千兆赫。速度的選擇應(yīng)使其與被控對象的要求相適應(yīng)或稍留一點余量,過高的要求會給系統(tǒng)的安裝和調(diào)試帶來不必要的困難。因為在高速工作時,引線之間的串?dāng)_及信號延時是非常令人頭痛的問題。,3) 系統(tǒng)結(jié)構(gòu)對環(huán)境的適應(yīng)性 不同的微機(jī)系統(tǒng)對環(huán)境的適應(yīng)能力是不同的。例如,市面上出售的一般IBM-PC微機(jī),通
15、常只能適用于辦公室或?qū)嶒炇疫@樣的室內(nèi)環(huán)境,如果將它用于工業(yè)控制環(huán)境就會產(chǎn)生諸多問題。在工業(yè)控制領(lǐng)域中,最好選用具有工業(yè)控制總線(STD總線)的工控機(jī)。因為它具有抗振、抗干擾等優(yōu)良性能,能較好地適應(yīng)工業(yè)領(lǐng)域的惡劣環(huán)境。,3. 確定整個應(yīng)用系統(tǒng)的硬件結(jié)構(gòu)硬件系統(tǒng)設(shè)計 在基本微機(jī)系統(tǒng)選定以后,就可以根據(jù)被控對象的具體要求來確定系統(tǒng)的結(jié)構(gòu)。 1) 通道劃分及輸入/輸出方式的確定 根據(jù)被控對象所要求的輸入/輸出參數(shù)的數(shù)目,就可以確定整個系統(tǒng)應(yīng)該有幾個輸出通道。當(dāng)然,有的通道可以由幾個被控設(shè)備共用,由硬件(或軟件)來輸入/選擇切換。另外,根據(jù)被控對象要求,確定采用哪一種輸入/輸出方式更合適。一般說來,采用
16、中斷方式處理器效率較高,但硬件費用會稍高一些,而查詢方式硬件價格較低,但處理器效率比較低,速度較慢。在一般小型的應(yīng)用系統(tǒng)中,由于速度要求不高,控制的對象也較少,此時,大多采用查詢方式。,2) 內(nèi)存分配 一般基本微機(jī)系統(tǒng)都對內(nèi)存分配作了具體的規(guī)定。用戶在使用已有的內(nèi)存區(qū)時,應(yīng)注意不要使用戶程序占用微機(jī)系統(tǒng)的基本工作區(qū)。如果用戶認(rèn)為內(nèi)存不夠,需要進(jìn)行擴(kuò)展,那么應(yīng)按說明書的要求,在空余的內(nèi)存區(qū)進(jìn)行擴(kuò)展。根據(jù)需求分析,設(shè)計者可以估計出未來的系統(tǒng)大約要占多大的ROM用以存放用戶程序和不變的數(shù)據(jù),需要多少RAM用以存放經(jīng)常要改變的數(shù)據(jù)。從而在留有一定余量的基礎(chǔ)上,可以確定內(nèi)存的大小。此后,根據(jù)系統(tǒng)設(shè)計方便
17、,可以對選定的ROM和RAM分配內(nèi)存地址。,3) 確定接口和外設(shè) 除了專用外設(shè),可以購買現(xiàn)成的設(shè)備。對于應(yīng)用系統(tǒng)中所需的測控部件,如有合適的也盡量購買成品部件。若需自己設(shè)計開發(fā),那就需要根據(jù)用戶的要求仔細(xì)加以確定。例如,根據(jù)系統(tǒng)要求的精度,該選用多少位的A/D和D/A變換器,根據(jù)所需求的力矩大小決定選擇什么樣的步進(jìn)電機(jī)等等。,4) 選擇電源 微機(jī)應(yīng)用系統(tǒng)的故障多發(fā)點就包括電源部分。根據(jù)系統(tǒng)的硬件配置,可以粗略估計系統(tǒng)電源需要幾組,各為多少伏,它們的容量是多少。同時,還要考慮對電源采用必要的可靠性措施,如濾波、穩(wěn)壓、防雷電、防浪涌等。,4. 確定軟件框架及流程軟件系統(tǒng)設(shè)計 在硬件結(jié)構(gòu)確定的基礎(chǔ)上
18、,考慮與之相配合的軟件框架,確定軟件的組成模塊。例如,對于微機(jī)控制系統(tǒng),主要應(yīng)包括系統(tǒng)初始化模塊、人機(jī)界面模塊、參數(shù)采集模塊、控制算法模塊、控制信號輸出模塊、顯示打印模塊、出錯及狀態(tài)越限報警模塊、自檢診斷模塊等等。根據(jù)用戶的要求,將這些模塊有機(jī)地聯(lián)系在一起,形成粗略的系統(tǒng)軟件流程圖。同時,對軟件的大致方案寫出文字和流程圖組成的文檔。在硬件及軟件方案確定之后,應(yīng)對方案進(jìn)行認(rèn)真討論,必要時邀請有關(guān)方面的專家對方案進(jìn)行認(rèn)真論證和審定,以確保方案的正確性。只有方案本身合理、正確,后面的工作才有意義。,5. 硬件和軟件的具體設(shè)計系統(tǒng)實現(xiàn) 1) 硬件的具體設(shè)計 (1) 硬件規(guī)劃:在硬件系統(tǒng)上合理地劃分模塊
19、,即將硬件系統(tǒng)劃分成若干相對獨立的部件。例如,將復(fù)位信號產(chǎn)生、時鐘、CPU及總線形成作為一個模塊,將內(nèi)存(ROM,RAM)作為一個模塊,將接口分為幾個模塊,這些模塊均可以采用電路板的形式實現(xiàn)。其他的如電源、各外設(shè)分別劃分給專人負(fù)責(zé)完成設(shè)計或購置。,(2) 各模塊(電路板)的邏輯設(shè)計:選擇具體的元器件、譯碼器等集成電路芯片,畫出在方案中確定的總線之下的各電路原理圖。 在進(jìn)行邏輯設(shè)計時,特別注意信號的有效性要求。例如,有的器件要求高電平(或低電平)有效,而有的要求上升沿有效或下降沿有效。其他如器件的工作電壓,使用環(huán)境,驅(qū)動能力等各方面,在設(shè)計選擇器件時也要仔細(xì)考慮。在進(jìn)行電路的邏輯設(shè)計時,還必須仔
20、細(xì)考慮將來電路板工作的可靠性,增加如濾波、限額控制等各種措施。同時,在進(jìn)行具體設(shè)計時,就要考慮將來如何進(jìn)行調(diào)試。,(3) 電路板設(shè)計:現(xiàn)在有許多功能很強(qiáng)的CAD、PROTEL、EDA、PCAD等工具軟件,為我們進(jìn)行電路板設(shè)計創(chuàng)造了條件。在這些工具軟件的支持下,可以很快地按電路板的尺寸大小設(shè)計出電路板的加工圖。 (4) 加工電路板:目前國內(nèi)可加工雙面及多層電路板。在研制開發(fā)階段,如果允許采用雙面電路板,只要將加工圖交給有關(guān)廠家就行了。甚至將邏輯圖交給廠家,廠家就可以加工出合格的電路板。,(5) 安裝、調(diào)試:在加工好的電路板上安裝元器件,并進(jìn)行調(diào)試。調(diào)試單塊電路板使其正常工作。 (6) 硬件各部件
21、(各模塊)進(jìn)行聯(lián)調(diào):將構(gòu)成微機(jī)應(yīng)用系統(tǒng)的各模塊,逐塊連在一起進(jìn)行調(diào)試,直到將所有部件全部連接在一起,并確信它們已基本正常工作。 有關(guān)調(diào)試的問題,留待下一節(jié)說明。,2) 軟件的具體設(shè)計 (1) 劃分模塊:對于一個稍具規(guī)模的系統(tǒng)來說,常將軟件劃分成若干個相對獨立的模塊,分給多個軟件開發(fā)人員同時研制,其目的就在于縮短研制時間。 (2) 確定各模塊的詳細(xì)要求:最基本的問題是系統(tǒng)的輸入/輸出問題,按照微機(jī)的被控對象確定哪些設(shè)備和器件應(yīng)該在系統(tǒng)中以什么方式與主機(jī)進(jìn)行信息傳遞。另外,最大的數(shù)據(jù)速率、平均速率、誤差校驗過程、輸入/輸出狀態(tài)指示、字長、格式要求、時鐘及選通脈沖等都是需要具體考慮的問題。,另一個重
22、要問題是處理要求(或控制要求),我們必須確定對輸入的數(shù)據(jù)進(jìn)行怎樣的處理及處理的順序。對過程控制來說,往往工作順序要求相當(dāng)苛刻,什么時候發(fā)送數(shù)據(jù),什么時候接收數(shù)據(jù),對于一般硬件設(shè)備,都需要一定的時序關(guān)系,為保證微機(jī)與外部設(shè)備同步,通常要用鎖存電路和定時選通電路來協(xié)調(diào),程序長短及數(shù)據(jù)量多少都將決定內(nèi)存容量和緩沖區(qū)的大小,這一切都與處理要求密切相關(guān)。剩下的一個問題是如何進(jìn)行出錯處理。為此,我們需要事先確定出錯誤處理方案,詳細(xì)地列出各種錯誤圖像以及顯示錯誤的方法。出錯處理最常用的辦法是使系統(tǒng)重啟動。 概括而言,在程序開發(fā)之前要確定的問題是:輸入/輸出、時間限制、處理要求、精確度、內(nèi)存容量、出錯處理和各
23、程序之間的關(guān)系等。,(3) 確定程序設(shè)計方法:一旦與系統(tǒng)有關(guān)的問題已經(jīng)確定,用戶程序開發(fā)的下一步就是程序設(shè)計。在程序設(shè)計過程中,采用合理的程序設(shè)計結(jié)構(gòu)是一個技術(shù)關(guān)鍵。一般程序設(shè)計采用下面幾種技術(shù): 模塊化設(shè)計:這種方法是把一個大程序分成若干個小的程序模塊,對它們進(jìn)行獨立設(shè)計和編程,然后分別進(jìn)行調(diào)試,最后把它們連接為一個大程序。模塊是按功能加以劃分的,這種劃分的程序模塊能夠形成在以后工作中所要用到的程序庫。 模塊化編程有許多明顯優(yōu)點,它縮短了查錯和測試的程序長度,并且為其他程序提供了可以重復(fù)使用的基本程序。其缺點是:各模塊連接時,參數(shù)傳遞費時并占用內(nèi)存,另外,需要進(jìn)行模塊級和主程序級的兩級調(diào)試。
24、, 自上至下的程序設(shè)計:這種方法是在程序設(shè)計時,先從系統(tǒng)一級的程序(主程序)開始設(shè)計,從屬的程序或子程序用一些程序代號來表示。當(dāng)主程序編好之后,再將各代號展開成從屬的程序或子程序,最后完成整個系統(tǒng)程序的設(shè)計。 這種設(shè)計的優(yōu)點是設(shè)計、測試和連接同時按一條線索進(jìn)行,所出問題可以較早地發(fā)現(xiàn)并解決。其測試能夠完全按真實的系統(tǒng)環(huán)境進(jìn)行,無須測試程序。它是將程序設(shè)計、手工編程和測試等幾個步驟結(jié)合到一起的研制軟件的方法。其缺點是這種設(shè)計方法不能充分發(fā)揮硬件在軟件設(shè)計中的作用,其樹形結(jié)構(gòu)會使上一級錯誤對整個程序產(chǎn)生災(zāi)難性的影響。, 結(jié)構(gòu)程序設(shè)計:以標(biāo)準(zhǔn)的結(jié)構(gòu)進(jìn)行編程,就是結(jié)構(gòu)程序設(shè)計。有三種邏輯簡單的結(jié)構(gòu)便于
25、掌握,而且可以編出滿足任何要求的程序。這三種結(jié)構(gòu)是:線性結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 總之,在確定程序設(shè)計方法和采用合適的程序語言的基礎(chǔ)上,可使程序的開發(fā)事半功倍。目前,在工業(yè)控制微機(jī)應(yīng)用系統(tǒng)中,常采用高級語言與匯編語言混合編程的方法,這樣可以充分發(fā)揮兩種語言的優(yōu)點,使編程方便且效率高。在很小的(單片機(jī))系統(tǒng)中,也有只用匯編語言編程的,這種軟件一般比較簡單。,(4) 編寫代碼:在確定了具體的程序設(shè)計方法之后,就可以編制用戶程序了。編制用戶程序可以用高級語言、匯編語言或兩者混合使用。對于一個工業(yè)控制系統(tǒng),由于資源有限,速度要求又較高,故實際用戶程序的子功能多采用匯編程序完成,而主程序又多以C語言來
26、設(shè)計。這樣既利用了匯編語言速度快的特點以滿足系統(tǒng)的速度要求,又利用了C語言功能強(qiáng)、實現(xiàn)容易的特點以提高程序質(zhì)量。例如,用C語言可以很方便地編制出良好的用戶界面,使操作者可以很快地掌握系統(tǒng)的使用方法。 同時,在編程中,尤其是用匯編語言編程,由于是在指令級上進(jìn)行的,因此,要特別注意細(xì)節(jié),每一步都要小心謹(jǐn)慎,盡可能少出現(xiàn)錯誤。例如,用符號來表示地址、常數(shù)、標(biāo)志等會帶來方便,但盡可能不采用容易混淆的符號;應(yīng)盡量使程序短小易懂;關(guān)鍵問題要加以注釋。,(5) 查錯:即使是一個很熟練的程序員,在編寫程序時,尤其是編寫較大的程序時,都很難不出現(xiàn)錯誤。查錯是解決這一問題的有效手段,同時它也是程序設(shè)計過程中所必須
27、經(jīng)過的一個步驟。對于一個微機(jī)應(yīng)用系統(tǒng)來說,查錯通常比較困難,這是因為微處理器的內(nèi)部寄存器都在CPU內(nèi),程序執(zhí)行時不能直接發(fā)現(xiàn)寄存器的內(nèi)容,軟件和硬件關(guān)系密切,程序執(zhí)行過程有嚴(yán)格的定時關(guān)系,而且在實時應(yīng)用中不能得到足夠的數(shù)據(jù)等,這一切都增加了微機(jī)系統(tǒng)查錯的困難。下面我們介紹幾個常用的查錯手段。, 匯編(或編譯)程序。利用匯編(MASM)程序,可以給出匯編語言源程序中的語法錯誤及其他明顯的錯誤。同樣,利用高級語言的編譯程序也會給出一些語法方面的錯誤。但是,它們并不能找出程序中的邏輯錯誤。 邏輯分析儀和在線仿真器。這兩種測試儀器可以幫助我們查找軟件及硬件的錯誤(故障)。,(6) 測試:測試和查錯是緊密相連的。測試的本質(zhì)就是在一組特定的測試條件下,進(jìn)行查錯的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)域獨家經(jīng)銷合同樣本
- 小學(xué)生漫畫課件
- 農(nóng)用薄膜在不同作物上的應(yīng)用考核試卷
- 體育經(jīng)紀(jì)人運動員經(jīng)紀(jì)人職業(yè)發(fā)展與轉(zhuǎn)型路徑考核試卷
- 建筑物清潔服務(wù)中的物聯(lián)網(wǎng)技術(shù)應(yīng)用考核試卷
- 期貨市場交易技能培訓(xùn)與模擬交易考核試卷
- 人工智能在電力系統(tǒng)中的電網(wǎng)智能化運維考核試卷
- 有線電視傳輸網(wǎng)絡(luò)無線覆蓋與接入技術(shù)考核試卷
- 服裝生命周期管理考核試卷
- 信托與G網(wǎng)絡(luò)頻譜規(guī)劃實施策略考核試卷
- 地下車庫螺旋汽車坡道施工
- 2023年山東鋁業(yè)職業(yè)學(xué)院單招綜合素質(zhì)題庫及答案解析
- 【人教版二年級下冊數(shù)學(xué)】全冊課時鞏固提升練習(xí)和單元鞏固提升練習(xí)
- GB/T 2007.1-1987散裝礦產(chǎn)品取樣、制樣通則手工取樣方法
- 交流課:資本主義世界市場的形成
- 城市社會學(xué)(2015)課件
- 年產(chǎn)2萬噸馬來酸二乙酯技改建設(shè)項目環(huán)評報告書
- 中國古代文論教程完整版課件
- 中班美工區(qū)角活動教案10篇
- SJG 103-2021 無障礙設(shè)計標(biāo)準(zhǔn)-高清現(xiàn)行
- 皇冠假日酒店智能化系統(tǒng)安裝工程施工合同范本
評論
0/150
提交評論