版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
控制網(wǎng)絡(luò)、網(wǎng)絡(luò)控制系統(tǒng)與現(xiàn)場總線摘要:隨著計算機、信息技術(shù)的飛速發(fā)展,21世紀世界最重大的變化是全球市場的逐漸形成從而導致競爭空前加劇,產(chǎn)品技術(shù)含量高、更新?lián)Q代加快。在計算機自動控制系統(tǒng)急速發(fā)展的今天,特別是現(xiàn)場總線已經(jīng)普遍地滲透到自動控制的各個領(lǐng)域,對控制網(wǎng)絡(luò)、網(wǎng)絡(luò)控制系統(tǒng)的發(fā)展起到極大的推動作用。本文介紹了控制網(wǎng)絡(luò)的作用、特點與現(xiàn)場總線的關(guān)系,重點介紹了網(wǎng)絡(luò)控制系統(tǒng)的相關(guān)內(nèi)容,包括其發(fā)展、研究現(xiàn)狀、特點、存在的基本問題并介紹了一種時延補償算法,并對其發(fā)展前景做了預測。關(guān)鍵詞:控制網(wǎng)絡(luò);網(wǎng)絡(luò)控制系統(tǒng);現(xiàn)場總線TheControlNetwork,theNetworkControlSystemandtheFieldbusAbstract:Withtherapiddevelopmentofcomputerandinformationtechnology,theworldinthe21stcenturyisthemostsignificantchangeofglobalmarketcompetitiongraduallyformedresultinginanunprecedentedincrease,producttechnologycontenthigh,upgradetospeedup.Today,withtherapiddevelopmentofmoderncomputerautomaticcontrolsystem,especiallythefieldbushasbeenwidelypermeatedvariousfieldsofautomaticcontrol,thedevelopmentofcontrolnetwork,thenetworkcontrolsystemplaysagreatroleinpromoting.Thispaperintroducesthefunctionandcharacteristicsofcontrolnetworkandtherelationshipbetweenthefieldbus,mainlyintroducestherelatedcontentsofnetworkcontrolsystem,includingitsdevelopment,thebasicproblemsoftheresearchstatusquo,characteristics,andintroducesatimedelaycompensationalgorithm,andtheprospectsofthedevelopmenthasmadetheforecast.Keywords:thecontrolnetwork;thenetworkcontrolsystem;thefieldbus控制網(wǎng)絡(luò)1.1什么是控制網(wǎng)絡(luò)由多個分散在生產(chǎn)現(xiàn)場、具有數(shù)字通信能力的測量控制儀表作為網(wǎng)絡(luò)節(jié)點而形成的網(wǎng)絡(luò)以現(xiàn)場總線作為通信連接的紐帶完成測量控制任務(wù)的網(wǎng)絡(luò)系統(tǒng)、控制系統(tǒng)[1]。1.2控制網(wǎng)絡(luò)的作用控制網(wǎng)絡(luò)的在控制網(wǎng)絡(luò)系統(tǒng)中有著不可替代的作用控制網(wǎng)絡(luò)要將現(xiàn)場運行的各種信息傳送到遠離現(xiàn)場的控制室,在把生產(chǎn)現(xiàn)場設(shè)備的運行參數(shù)、狀態(tài)、以及故障與報警信息等送往控制室同時,又將各種控制、維護、組態(tài)命令,等送往位于現(xiàn)場的測量控制現(xiàn)場設(shè)備[2]。在現(xiàn)場級控制設(shè)備之間起著數(shù)據(jù)聯(lián)系與信息溝通作用。實現(xiàn)與操作終端、上層管理網(wǎng)絡(luò)的數(shù)據(jù)連接和信息共享。1.3控制網(wǎng)絡(luò)的特點控制網(wǎng)絡(luò)的數(shù)據(jù)傳輸量相對較小,傳輸速率相對較低,多為短幀傳送。要求通信傳輸?shù)膶崟r性強,可靠性高。影響控制網(wǎng)絡(luò)性能的因素:網(wǎng)絡(luò)的拓撲結(jié)構(gòu)、傳輸介質(zhì)的種類與特性,介質(zhì)訪問控制方式、信號傳輸方式、網(wǎng)絡(luò)與系統(tǒng)管理等。工作環(huán)境:控制網(wǎng)絡(luò)要面臨工業(yè)生產(chǎn)的強電磁干擾,各種機械振動、噪聲、粉塵、嚴寒酷暑的野外工作環(huán)境。要求控制網(wǎng)絡(luò)能適應(yīng)這種惡劣工作環(huán)境[3]??刂凭W(wǎng)絡(luò)中傳輸?shù)男畔?nèi)容:生產(chǎn)裝置運行參數(shù)的測量值、控制量、開關(guān)閥門的工作位置、報警狀態(tài)、系統(tǒng)配置組態(tài)、參數(shù)修改、零點量程調(diào)校信息、設(shè)備資源與維護信息等。1.4控制網(wǎng)絡(luò)與現(xiàn)場總線現(xiàn)場總線:現(xiàn)場總線是一種應(yīng)用于生產(chǎn)現(xiàn)場,在現(xiàn)場控制設(shè)備之間、現(xiàn)場設(shè)備與監(jiān)控裝置之間進行雙向、串行、多節(jié)點數(shù)字通信[4]。控制網(wǎng)絡(luò):由多個分散在生產(chǎn)現(xiàn)場、具有數(shù)字通信能力的測量控制儀表作為網(wǎng)絡(luò)節(jié)點而形成的網(wǎng)絡(luò)以現(xiàn)場總線作為通信連接的紐帶完成測量控制任務(wù)的網(wǎng)絡(luò)系統(tǒng)、控制系統(tǒng)由具備通信能力的測量控制設(shè)備作為網(wǎng)絡(luò)節(jié)點連接構(gòu)成的能相互溝通信息,共同完成測控任務(wù)的網(wǎng)絡(luò)系統(tǒng).如圖1-1所示:圖1-1現(xiàn)場總線控制網(wǎng)絡(luò)二.網(wǎng)絡(luò)控制系統(tǒng)2.1網(wǎng)絡(luò)控制系統(tǒng)概述2.1.1網(wǎng)絡(luò)控制系統(tǒng)的定義通過網(wǎng)絡(luò)形成閉環(huán)的反饋控制系統(tǒng),稱為網(wǎng)絡(luò)控制系統(tǒng)(NCS),即控制系統(tǒng)中的控制器、傳感器和執(zhí)行器通過網(wǎng)絡(luò)來交換控制及傳感等信息[5]。NCS強調(diào)在通信網(wǎng)絡(luò)上建立閉環(huán)控制回路,因此NCS中的網(wǎng)絡(luò)是一個廣義的范疇,包括現(xiàn)場總線、工業(yè)以太網(wǎng)、無線通信網(wǎng)絡(luò),甚至因特網(wǎng)。NCS最主要的結(jié)構(gòu)特點是系統(tǒng)的反饋通過網(wǎng)絡(luò)構(gòu)成閉環(huán)。NCS控制框圖如圖2-1所示: 圖2-1NCS控制框圖2.1.2網(wǎng)絡(luò)控制系統(tǒng)的發(fā)展在DCS出現(xiàn)之前,早期的計算機控制系統(tǒng)是直接數(shù)字控制(DDC)。所有的傳感器和執(zhí)行器在這種控制系統(tǒng)結(jié)構(gòu)的中都是與一臺計算機實行點對點的連接[6]。20世紀70年代末:集散控制系統(tǒng)(DCS)誕生,計算機控制網(wǎng)絡(luò)首次被引入到控制系統(tǒng)中。但在當時條件有限,對于傳感器和執(zhí)行器而言,只能發(fā)送和接收模擬信號,所以在傳感器與控制器、控制器與執(zhí)行器之間仍采用點對點連接的DDC控制結(jié)構(gòu)。現(xiàn)場總線技術(shù)的高速發(fā)展和成功應(yīng)用,解決了NCS的可靠性和開放性問題,促使NCS在航空航天設(shè)備制造、過程控制、經(jīng)濟管理、遠程醫(yī)療以及危險、特殊環(huán)境等控制領(lǐng)域的廣泛應(yīng)用。2.1.3網(wǎng)絡(luò)控制系統(tǒng)的研究現(xiàn)狀目前,NCS研究主要有兩大分支:一個是源于計算機網(wǎng)絡(luò)技術(shù)以提高多媒體信息傳輸和遠程通信服務(wù)質(zhì)量(QoS)為目標。一個是源于自動控制技術(shù)以滿足系統(tǒng)穩(wěn)定性及其他動態(tài)性能(QoP)為目標[7]。前者實現(xiàn)的是對網(wǎng)絡(luò)的控制;后者實現(xiàn)的是通過網(wǎng)絡(luò)對系統(tǒng)的控制。當前網(wǎng)絡(luò)控制系統(tǒng)在理論上和應(yīng)用中都還處于初步階段,其中多數(shù)方法的研究做了理想化假設(shè)[8]。而大型工業(yè)生產(chǎn)過程具有多輸入多輸出、多采集頻率、子系統(tǒng)高度禍合等復雜系統(tǒng)的特點,特別是在對可靠性要求很高的電力、化工、石油等復雜工業(yè)系統(tǒng)中,雖然迫切需要向網(wǎng)絡(luò)控制系統(tǒng)過渡,但是目前還缺乏系統(tǒng)的理論和成熟的方案。網(wǎng)絡(luò)控制系統(tǒng)在工業(yè)領(lǐng)域具有著廣泛的實際應(yīng)用背景,其智能控制與信息調(diào)度問題是網(wǎng)絡(luò)控制系統(tǒng)領(lǐng)域的一個富有挑戰(zhàn)性的難題,國內(nèi)外控制界在這方面的研究還需要進一步的努力[9]。迫切需要從智能控制理論出發(fā),與信息優(yōu)化調(diào)度理論相結(jié)合,建立綜合的理論模型,并由此建立適用的控制方法,從而為復雜工業(yè)網(wǎng)絡(luò)控制系統(tǒng)的實際工程設(shè)計提供有效的分析與研究工具。網(wǎng)絡(luò)控制系統(tǒng)的特點(1)結(jié)構(gòu)網(wǎng)絡(luò)化:NCS最顯著的特點體現(xiàn)在網(wǎng)絡(luò)體系結(jié)構(gòu)上,它支持如總線型、星型、樹型等拓撲結(jié)構(gòu),與傳統(tǒng)分層控制系統(tǒng)的遞階結(jié)構(gòu)相比顯得更加扁平和穩(wěn)定;(2)節(jié)點智能化:帶有CPU的智能化節(jié)點之間通過網(wǎng)絡(luò)實現(xiàn)信息傳輸和功能協(xié)調(diào),每個節(jié)點都是組成網(wǎng)絡(luò)的一個細胞,且具有各自相對獨立的功能[10];(3)控制現(xiàn)場化和功能分散化:網(wǎng)絡(luò)化結(jié)構(gòu)使原先由中央控制器實現(xiàn)的任務(wù)下放到智能化現(xiàn)場設(shè)備上執(zhí)行,使危險得到了分散,從而提高了系統(tǒng)的可靠性和安全性;(4)系統(tǒng)開放化和產(chǎn)品集成化:NCS的開發(fā)遵循一定標準進行,是一個開放的系統(tǒng)。只要不同廠家根據(jù)統(tǒng)一標準來開發(fā)自己的產(chǎn)品,這些產(chǎn)品之間便能實現(xiàn)互操作和集成。網(wǎng)絡(luò)控制系統(tǒng)的結(jié)構(gòu)一般,對網(wǎng)絡(luò)控制系統(tǒng)而言,主要存在兩種結(jié)構(gòu):徑直結(jié)構(gòu)和分層結(jié)構(gòu),如圖2-2和2-3所示。控制信號在徑直結(jié)構(gòu)中,被封裝在幀或報文中,再經(jīng)網(wǎng)絡(luò)發(fā)送給被控對象:測量被控對象的傳感器的數(shù)據(jù)也采用同樣的方式,以幀或者數(shù)據(jù)包的形式,由網(wǎng)絡(luò)發(fā)送至控制器。在實際的應(yīng)用中,封裝在一個主控單元的多個控制器可能用作管理多個NCS控制回路[11]。徑直結(jié)構(gòu)的典型應(yīng)用包括:遠程學習實驗室和直流電機的速度控制等。圖2-2徑直結(jié)構(gòu)的NCS主控制器在分層結(jié)構(gòu)中,通過網(wǎng)絡(luò)計算將已設(shè)好的參考信號發(fā)送給遠程控制系統(tǒng),遠程系統(tǒng)再依據(jù)參考信號,來執(zhí)行本地的閉環(huán)控制,并將傳感器測量數(shù)據(jù)返回給主控制。一般對網(wǎng)絡(luò)化控制回路而言,具有較本地控制回路更長的采樣周期。這是因為,在遠程控制器處理最新的參考信號之前,假定已經(jīng)滿足了參考信號[12]。與徑直結(jié)構(gòu)相同的是:在分層結(jié)構(gòu)中,封裝在一個控制單元中的多個控制器可能用作管理多個NCS控制回路。這種分層結(jié)構(gòu)典型在應(yīng)用在移動機器人、遙操作系統(tǒng)、汽車控制和航天器等領(lǐng)域。圖2-3分層結(jié)構(gòu)的NCS實際上,往往有應(yīng)用的需求和設(shè)計者的方案來決定采用何種結(jié)構(gòu)。例如:在機器人應(yīng)用中,對機械手來說,往往要求多個電機在其關(guān)節(jié)處作用,同時達到平滑的旋轉(zhuǎn)。對于這種情況,分層結(jié)構(gòu)的應(yīng)用將更為方便快捷,系統(tǒng)的魯棒性也更強。而在直流電機的網(wǎng)絡(luò)控制中,由于對系統(tǒng)的性能要有快速應(yīng)變性,這種情況下,采用徑直結(jié)構(gòu)就更為方便[13]。在一個大規(guī)模的NCS中,由NCS的異質(zhì)網(wǎng)絡(luò)結(jié)構(gòu)所決定,可能需要同時采用兩種網(wǎng)絡(luò)控制結(jié)構(gòu)。在將遠程閉環(huán)控制系統(tǒng)看作為主控制器的被控對象的情況下,將其建模轉(zhuǎn)為狀態(tài)空間或傳遞函數(shù),那么實際上,可以將分層結(jié)構(gòu)轉(zhuǎn)換成徑直結(jié)構(gòu)。無論是采用何種網(wǎng)絡(luò)控制結(jié)構(gòu),對NCS而言,均可采用一種典型的基本結(jié)構(gòu)來表示,如圖2-4所示:圖2-4典型NCS結(jié)構(gòu)圖2.3網(wǎng)絡(luò)控制系統(tǒng)中的基本問題NCS是通過網(wǎng)絡(luò)形成的反饋控制系統(tǒng)。該類系統(tǒng)中,被控對象與控制器以及控制器與執(zhí)行器之間是通過共享的通信網(wǎng)絡(luò)相互連接的。這種網(wǎng)絡(luò)化的控制模式具有信息資源共享、連接線數(shù)少、易于擴展、易于維護、高效率、高可靠性及靈活性等優(yōu)點,是未來控制系統(tǒng)的發(fā)展模式。盡管NCS與傳統(tǒng)控制系統(tǒng)相比有許多優(yōu)點,但由于網(wǎng)絡(luò)的介入,通信網(wǎng)絡(luò)傳輸過程中出現(xiàn)一些不同的特點,因此在網(wǎng)絡(luò)控制系統(tǒng)中存在一些不同于傳統(tǒng)控制系統(tǒng)的基本問題,如節(jié)點的驅(qū)動方式、數(shù)據(jù)采樣、網(wǎng)絡(luò)誘導時延、單包及多包傳輸、數(shù)據(jù)包的丟失、網(wǎng)絡(luò)調(diào)度等[14]。2.3.1網(wǎng)絡(luò)控制系統(tǒng)的通信及通信協(xié)議網(wǎng)絡(luò)控制系統(tǒng)中涉及較多的通信及通信協(xié)議,主要包括工業(yè)以太網(wǎng)、現(xiàn)場總線、傳感器網(wǎng)絡(luò)、無線局域網(wǎng)以及Internet等相互間的通信協(xié)議。圖2-5通信媒體類型2.3.2節(jié)點驅(qū)動方式節(jié)點驅(qū)動方式包括時鐘驅(qū)動和事件驅(qū)動兩種驅(qū)動方式。時鐘驅(qū)動:網(wǎng)絡(luò)節(jié)點在一個事先確定的時間到時開始動作,事先確定的時間為節(jié)點動作的依據(jù),如節(jié)點的采樣時刻[15]。優(yōu)點為:實時性強。缺點:設(shè)備多,易出現(xiàn)網(wǎng)絡(luò)誘導時延、空采樣、數(shù)據(jù)丟包等現(xiàn)象事件驅(qū)動:網(wǎng)絡(luò)節(jié)點在一個特定的事件發(fā)生時開始動作,如網(wǎng)絡(luò)節(jié)點通過數(shù)據(jù)網(wǎng)絡(luò)從另外一個節(jié)點接受數(shù)據(jù)。(控制器和執(zhí)行器兩者均可)。優(yōu)點:減少等待時間,避免了空采樣、數(shù)據(jù)丟包等現(xiàn)象。缺點:事件驅(qū)動不易實現(xiàn)。2.3.3多采樣率多采樣率是指控制系統(tǒng)中兩個或兩個以上的采樣器以不同的采樣周期進行采樣。原因:由于網(wǎng)絡(luò)控制系統(tǒng)具有節(jié)點分散化、控制回路復雜化和功能多樣化的特點,多個傳感器采用相同的采樣周期進行采樣,已不能滿足系統(tǒng)功能的需求[16]。2.3.4網(wǎng)絡(luò)調(diào)度網(wǎng)絡(luò)調(diào)度是在網(wǎng)絡(luò)控制系統(tǒng)中,系統(tǒng)節(jié)點在共享網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)出現(xiàn)碰撞時,規(guī)定節(jié)點的優(yōu)先發(fā)送次序、發(fā)送時刻和時間間隔。目的:盡量避免網(wǎng)絡(luò)中信息沖突和擁塞現(xiàn)象的發(fā)生,從而減少網(wǎng)絡(luò)誘導時延和數(shù)據(jù)包丟失,提高網(wǎng)絡(luò)控制性能。2.3.5數(shù)據(jù)包丟失在控制系統(tǒng)中引入網(wǎng)絡(luò)用于數(shù)據(jù)傳輸后,除了不可避免地帶來時延影響外,數(shù)據(jù)包的丟失(PacketDropout,或稱數(shù)據(jù)丟包)也可能時常發(fā)生。其原因主要有以下幾點。1)網(wǎng)絡(luò)節(jié)點偶爾發(fā)生通信故障。盡管現(xiàn)代芯片技術(shù)取得巨大而長足的進步,但作為網(wǎng)絡(luò)節(jié)點的核心,微處理器不可能無時無刻保證能夠正常工作,偶爾會發(fā)生故障;雖然一些保護措施(如軟件狗技術(shù))能夠使發(fā)生故障的節(jié)點盡快恢復正常,使系統(tǒng)長期保持較可靠的工作狀態(tài),但故障不可能完全避免。當節(jié)點故障時,顯然通信任務(wù)會失敗,造成數(shù)據(jù)包丟失[17]。2)頻繁的通信沖突。在隨機訪問形式的網(wǎng)絡(luò)中,沖突是無法避免的。發(fā)生沖突后,雖然多數(shù)網(wǎng)絡(luò)通信協(xié)議(如TCP)可以實現(xiàn)沖突-重傳機制,但信息的重傳都設(shè)置了時限,一旦超時則放棄此次通信任務(wù),導致丟包。3)信道的干擾。網(wǎng)絡(luò)信道是信息傳遞的橋梁,在實際系統(tǒng)中,外界的環(huán)境將不可避免地影響到信道中數(shù)據(jù)傳輸?shù)馁|(zhì)量。外界干擾造成物理信號錯位、丟失等,使實際數(shù)據(jù)到達目的節(jié)點后失真[18]。雖然很多通信協(xié)議中具備失敗-重傳機制,但這種機制也設(shè)置了時限,一旦超時則放棄此次通信任務(wù),導致丟包。2.3.6網(wǎng)絡(luò)誘導時延網(wǎng)絡(luò)誘導時延:在網(wǎng)絡(luò)控制系統(tǒng)中,多個網(wǎng)絡(luò)節(jié)點共享網(wǎng)絡(luò)信道。由于網(wǎng)絡(luò)帶寬有限且網(wǎng)絡(luò)中的數(shù)據(jù)流量變化不規(guī)則,當多個節(jié)點通過網(wǎng)絡(luò)交換數(shù)據(jù)時常常出現(xiàn)數(shù)據(jù)碰撞,多路徑傳輸、連接中斷、網(wǎng)絡(luò)擁塞等現(xiàn)象。網(wǎng)絡(luò)中的信息源很多,當系統(tǒng)的各個節(jié)點通過網(wǎng)絡(luò)傳輸信息時,要分時共享網(wǎng)絡(luò)通信通道。由于網(wǎng)絡(luò)帶寬有限且網(wǎng)絡(luò)中的數(shù)據(jù)流量變化不規(guī)則,當多個節(jié)點通過網(wǎng)絡(luò)交換數(shù)據(jù)時,常會出現(xiàn)數(shù)據(jù)碰撞、多路徑傳輸、連接中斷、網(wǎng)絡(luò)擁塞等現(xiàn)象,因而不可避免地出現(xiàn)信息交換時間延遲,這種由網(wǎng)絡(luò)引起的時間延遲稱為網(wǎng)絡(luò)誘導時延(NetworkInducedDelay)。網(wǎng)絡(luò)誘導時延由以下幾部分組成:傳感器節(jié)點采集數(shù)據(jù)及處理數(shù)據(jù)所花費的時間、傳感器節(jié)點競爭發(fā)送權(quán)等待時間及傳感器數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸時間、控制器節(jié)點計算控制量及處理數(shù)據(jù)所花費的時間、控制器節(jié)點競爭發(fā)送權(quán)等待時間及控制量在網(wǎng)絡(luò)中的傳輸時間和執(zhí)行器節(jié)點處理數(shù)據(jù)所花費的時間[19]。節(jié)點競爭發(fā)送權(quán)等待的時間和數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸?shù)臅r間稱為網(wǎng)絡(luò)時延,取決于網(wǎng)絡(luò)自身的特點。若多個節(jié)點同時偵聽到網(wǎng)絡(luò)空閑并同時發(fā)送信息時,信息發(fā)生“碰撞”,則網(wǎng)絡(luò)立即停止發(fā)送信息,等待一個隨機長度的時間段后再嘗試重新傳輸信息,時延呈現(xiàn)隨機時變的特性??傊?,根據(jù)不同的網(wǎng)絡(luò)協(xié)議,可將網(wǎng)絡(luò)誘導時延建模為固定時延、隨機時延和不確定時延。2.4網(wǎng)絡(luò)控制系統(tǒng)時延補償算法圖2-9具有傳輸延時的閉環(huán)網(wǎng)絡(luò)控制系統(tǒng)可看出,控制器,執(zhí)行器和傳感器分別處于不同的空間,其間用網(wǎng)絡(luò)相互連接在一起。對于上面具有時間延遲的網(wǎng)絡(luò)控制系統(tǒng),由于時間延遲是變化的,因此要對其進行確定性設(shè)計是很困難的[20]。作出以下假設(shè):(l)網(wǎng)絡(luò)中各節(jié)點都是時鐘同步,這可通過網(wǎng)絡(luò)上定時發(fā)送高級優(yōu)先的同步信號實現(xiàn);(2)控制器、執(zhí)行器和傳感器都是時鐘驅(qū)動,且具有相同的采樣周期;(3)網(wǎng)絡(luò)中的延時和合并為;(4)本文只考慮單輸入單輸出模型;2.4.1算法設(shè)計設(shè)被控過程的模型為y(t)=[u(t-k)*y(t-l)]R+v()(3.1)式(3.1)中y(t)和y(t-l)分別表示在時刻t和(t-l)上被控過程的傳感器器輸出,u(t-k)表示在時刻(t-k)上被控控制器的輸出,v(t)為作用在被控過程上由于時延造成的不確定量,R為直積u(t-k)*y(t-l)上的模糊關(guān)系[21]。即(3.2)(3.2)在式(3.2)中,u為控制器輸出U中的元素,y為傳感器輸出Y中的元素。(i=1,2,…,,:j=1,2…,n)是對于u(t一k)第i級,少(t一l)第j級時的y(t)值。在控制器與傳感器的輸出中任何一項均不為零的情況下,模糊關(guān)系R可作如下等價變換,即(3.3(3.3)(3.4(3.4)在式(3.3)中,設(shè)的方差為有限值,即(3.(3.5)由(3.1),求得(3.(3.6)2.4.2算法仿真參考圖2-7不帶補償?shù)捻憫?yīng)曲線圖2-8帶補償?shù)捻憫?yīng)曲線圖中可以看出,所用的方法比不用此方法的控制效果要好,減小了系統(tǒng)的超調(diào)量,系統(tǒng)的調(diào)節(jié)時間同時也變小了。改善了時延對系統(tǒng)性能的影響,提高了系統(tǒng)的控制精度[22]。2.5網(wǎng)絡(luò)控制系統(tǒng)的未來研究方向與前景NCS作為一種新的研究課題,從提出至今已經(jīng)取得了一定的成果,但還有許多問題需要進一步研究和解決。1.NCS以網(wǎng)絡(luò)為基礎(chǔ),網(wǎng)絡(luò)的性能直接影響NCS的應(yīng)用,如網(wǎng)絡(luò)延時、網(wǎng)絡(luò)擁塞、誤碼和丟包等;各種通信協(xié)議沒有統(tǒng)一,與廣泛采用的TCP/IP協(xié)議不兼容,其間需要復雜的轉(zhuǎn)換[23]。2.作為一種控制系統(tǒng),控制性能同樣非常重要,現(xiàn)有的NCS模型和控制技術(shù)有其各自的優(yōu)點,但一般只適用于特定的網(wǎng)絡(luò)類型和控制對象。部分方法采用一些理想假設(shè),在實際應(yīng)用中遇到很多問題。如何實現(xiàn)對基于網(wǎng)絡(luò)的非線性動態(tài)系統(tǒng)建模和控制,分析網(wǎng)絡(luò)時延隨機分布特性對控制系統(tǒng)性能的影響等是今后研究的重點[24];總之,無論是從控制策略的設(shè)計還是從網(wǎng)絡(luò)資源的調(diào)度來看,NCS的研究還遠遠不夠,理論研究的進展仍然不能與技術(shù)應(yīng)用現(xiàn)狀和迫切需求相適應(yīng)。針對NCS的特點,進一步探索適合NCS的研究方法和技術(shù)是基于網(wǎng)絡(luò)的控制系統(tǒng)理論研究方向之一。NCS存在的問題為今后控制領(lǐng)域的發(fā)展提供了新的機遇與挑戰(zhàn)[25]。NCS是綜合了網(wǎng)絡(luò)和通信技術(shù)發(fā)展起來的,因而相關(guān)技術(shù)的發(fā)展也將是今后研究的重點,如網(wǎng)絡(luò)的體系結(jié)構(gòu)、通信協(xié)議、網(wǎng)絡(luò)調(diào)度、傳輸延遲,網(wǎng)絡(luò)的實時性、安全性、操作性等。三.總結(jié)隨著計算機、信息技術(shù)的飛速發(fā)展,21世紀世界最重大的變化是全球市場的逐漸形成從而導致競爭空前加劇,產(chǎn)品技術(shù)含量高、更新?lián)Q代加快。在計算機自動控制系統(tǒng)急速發(fā)展的今天,特別是現(xiàn)場總線已經(jīng)普遍地滲透到自動控制的各個領(lǐng)域,我們更應(yīng)該相信現(xiàn)場總線的發(fā)展必將對控制網(wǎng)絡(luò)、網(wǎng)絡(luò)控制系統(tǒng)的發(fā)展起到極大的推動作用。參考文獻[1]武金山.控制網(wǎng)絡(luò)與現(xiàn)場總線技術(shù)[J].承德職業(yè)學院學報,2014,12(2):98-101.[2]雷霖.現(xiàn)場總線控制網(wǎng)絡(luò)技術(shù)[M].電子工業(yè)出版社,2014:25-35.[3]楊先桂,周勇,陳太忠.一種現(xiàn)場總線控制網(wǎng)絡(luò)技術(shù)介紹及應(yīng)用[J].計算機與網(wǎng)絡(luò),2010(23):12-36.[4]陳在平.現(xiàn)場總線及工業(yè)控制網(wǎng)絡(luò)技術(shù)[M].電子工業(yè)出版社,2008:20-69.[5]高守婉.具有隨機時滯與丟包的網(wǎng)絡(luò)控制系統(tǒng)分析與設(shè)計研究[D].青島:中國海洋大學,2011.[6]王巖,孫增圻.網(wǎng)絡(luò)控制系統(tǒng)分析與設(shè)計[M].北京:清華大學出版社,2009:5-26.[7]李雯,戴金海.網(wǎng)絡(luò)控制系統(tǒng)消息時延的仿真研究[J].計算機仿真,2015,25(3):156-158.[8]HespanhaJP,NaghshtabriziP,XuY.ASurveyofRecentResultsinNetworkedControlSystems[J].ProceedingsoftheIEEE,2007,95(1):138-162.[9]ZhangWA,YuL.OutputFeedbackStabilizationofNetworkedControlSystemsWithPacketDropouts[J].IEEETransactionsonAutomaticControl,2007,52(9):1705-1710.[10]王慶鵬,談大龍,陳寧.基于Internet的機器人控制中網(wǎng)絡(luò)時延測試及分析[J].機器人,2001,23(4):316-321.[11]梁濤.網(wǎng)絡(luò)控制系統(tǒng)中延時機理及狀態(tài)預估控制方法的研究[D].河北工業(yè)大學,2007.[12]沈碩.網(wǎng)絡(luò)控制系統(tǒng)(NCS)的研究和實時網(wǎng)絡(luò)監(jiān)控系統(tǒng)的開發(fā)[D].東南大學,2003.[13]王志文,高紅紅.網(wǎng)絡(luò)控制系統(tǒng)中采樣周期問題研究綜述[J].控制工程期刊:中英文版,2014(6):176-184.[14]張云貴.信息物理融合的網(wǎng)絡(luò)控制系統(tǒng)安全技術(shù)研究[D].哈爾濱工業(yè)大學,2015.[15]陽憲惠.網(wǎng)絡(luò)化控制系統(tǒng)[M].清華大學出版社,2014.[16]趙亦欣,劉娟,楊智,等.現(xiàn)場總線網(wǎng)絡(luò)控制系統(tǒng)及其網(wǎng)絡(luò)誘導延時計算方法:,CN103812634A[P].2014.[17]楊柳,劉游龍,薛曉霜,等.基于時延的現(xiàn)場總線網(wǎng)絡(luò)監(jiān)控系統(tǒng)跟蹤控制研究[J].測控技術(shù),2016(3).[18]汪科.網(wǎng)絡(luò)控制系統(tǒng)中的控制與通信協(xié)同設(shè)計研究[D].廣西工學院,2010.[19]李雯.飛行器網(wǎng)絡(luò)控制系統(tǒng)研究[D].國防科學技術(shù)大學,2007.[20]孔德明.網(wǎng)絡(luò)化控制系統(tǒng)的穩(wěn)定性設(shè)計[D].華中科技大學,2008.[21]楊金波.網(wǎng)絡(luò)控制系統(tǒng)的時延補償算法研究[D].哈爾濱工業(yè)大學,2006[22]劉全.網(wǎng)絡(luò)控制系統(tǒng)的信息安全研究[J].微計算機信息,2006,22(18):87-90.[23]DongH,ZhangH,FanH.OutputFeedbackStabilizationforNetworkedControlSystemswithPacketDropouts[M]//InformationandManagementEngineering.2011:1-6.[24]ZhangXF,ShenYX,ZhangHP.OutputFeedbackStabilizationofNetworkedControlSystemswithTime-VaryingDelay[J].AdvancedMaterialsResearch,2013,718-720:1836-1841.[25]ZhangY,FangH.Stabilizationofnonlinearnetworkedsystemswithsensorrandompacketdropoutandtime-varyingdelay[J].AppliedMathematicalModelling,2011,35(5):2253-2264附錄資料:不需要的可以自行刪除busybox詳解制作根文件系統(tǒng)詳解制作根文件系統(tǒng)一、FHS(FilesystemHierarchyStandard)標準介紹當我們在linux下輸入ls
/的時候,見到的目錄結(jié)構(gòu)以及這些目錄下的內(nèi)容都大同小異,這是因為所有的linux發(fā)行版在對根文件系統(tǒng)布局上都遵循FHS標準的建議規(guī)定。該標準規(guī)定了根目錄下各個子目錄的名稱及其存放的內(nèi)容:目錄名存放的內(nèi)容/bin必備的用戶命令,例如ls、cp等/sbin必備的系統(tǒng)管理員命令,例如ifconfig、reboot等/dev設(shè)備文件,例如mtdblock0、tty1等/etc系統(tǒng)配置文件,包括啟動文件,例如inittab等/lib必要的鏈接庫,例如C鏈接庫、內(nèi)核模塊/home普通用戶主目錄/rootroot用戶主目錄/usr/bin非必備的用戶程序,例如find、du等/usr/sbin非必備的管理員程序,例如chroot、inetd等/usr/lib庫文件/var守護程序和工具程序所存放的可變,例如日志文件/proc用來提供內(nèi)核與進程信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容/sys用來提供內(nèi)核與設(shè)備信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容/mnt文件系統(tǒng)掛接點,用于臨時安裝文件系統(tǒng)/tmp臨時性的文件,重啟后將自動清除
制作根文件系統(tǒng)就是要建立以上的目錄,并在其中建立完整目錄內(nèi)容。其過程大體包括:編譯/安裝busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目錄利用交叉編譯工具鏈,構(gòu)建/lib目錄手工構(gòu)建/etc目錄手工構(gòu)建最簡化的/dev目錄創(chuàng)建其它空目錄配置系統(tǒng)自動生成/proc目錄利用udev構(gòu)建完整的/dev目錄制作根文件系統(tǒng)的jffs2映像文件下面就來詳細介紹這個過程。二、編譯/安裝busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目錄這些目錄下存儲的主要是常用命令的二進制文件。如果要自己編寫這幾百個常用命令的源程序,mygod,這簡直是一個噩夢!好在我們有嵌入式Linux系統(tǒng)的瑞士軍刀——busybox,事情就簡單很多。1、從/下載busybox-1.7.0.tar.bz22、tarxjvfbusybox-1.7.0.tar.bz2解包3、修改Makefile文件175ARCH
?=arm
176CROSS_COMPILE
?=arm-linux-4、makemenuconfig配置busyboxbusybox配置主要分兩部分。第一部分是BusyboxSettings,主要編譯和安裝busybox的一些選項。這里主要需要配置:1)、BuildOptions--BuildBusyBoxasastaticbinary(nosharedlibs),表示編譯busybox時,是否靜態(tài)鏈接C庫。我們選擇動態(tài)鏈接C庫。2)、InstallationOptions--Appletslinks(assoft-links)--(X)assoft-links,表示安裝busybox時,將各個命令安裝為指向busybox的軟鏈接還是硬鏈接。我們選擇軟鏈接。3)、InstallationOptions--(/work/nfs_root/fs_mini3)BusyBoxinstallationprefix,表示busybox的安裝位置。我們選擇/work/nfs_root/fs_mini34)BusyboxLibraryTuning。保留Commandlineediting以支持命令行編輯;保留Historysize以支持記憶歷史命令;選中Tabcompletion和Usernamecompletion以支持命令自動補全第二部分是Applets,他將busybox的支持的幾百個命令分門別類。我們只要在各個門類下選擇想要的命令即可。這里我們基本保持默認設(shè)置。1)選中NetworkingUtilities--httpd下的Enable-u<user>option,以啟用http服務(wù)器的功能allowstheservertorunasaspecificuser5、編譯busyboxmake6、安裝busyboxmakeinstall安裝完成后,可以看到在/work/nfs_root/fs_mini3目錄下生成了binsbinusr/binusr/sbin目錄,其下包含了我們常用的命令,這些命令都是指向bin/busybox的軟鏈接,而busybox本身的大小不到800K:dennis@dennis-desktop:/work/nfs_root/fs_mini3$ls
bin
linuxrc
sbin
usr
dennis@dennis-desktop:/work/nfs_root/fs_mini3$
ls-lbin
total740
lrwxrwxrwx1dennisdennis
72010-04-0323:57addgroup->busybox
lrwxrwxrwx1dennisdennis
72010-04-0323:57adduser->busybox
lrwxrwxrwx1dennisdennis
72010-04-0323:57ash->busybox
-rwxr-xr-x1dennisdennis7496322010-04-0323:57busybox
lrwxrwxrwx1dennisdennis
72010-04-0323:57cat–>busybox而普通PC機上的ls命令就有差不多80K的大?。篸ennis@dennis-desktop:/work/nfs_root/fs_mini3$ls-l/bin/ls
-rwxr-xr-x1rootroot780042007-09-2920:51/bin/lsbusybox以它嬌小的身軀容納了數(shù)以百計的命令代碼,實在是讓人佩服不已,其不愧嵌入式系統(tǒng)瑞士軍刀之美譽。據(jù)說,busybox的作者身患絕癥,這更讓人欽佩GNU開源軟件的作者們。三、利用交叉編譯工具鏈,構(gòu)建/lib目錄光有應(yīng)用程序(命令)是不夠的,因為應(yīng)用程序本身需要使用C庫的庫函數(shù),因此還必需制作forARM的C庫,并將其放置于/lib目錄。mygod,要自己寫C庫的源代碼嗎?不用!還記得交叉編譯工具鏈的3個組成部分嗎?交叉編譯器、forARM的C庫和二進制工具。哈哈,forARM的C庫是現(xiàn)成的,我們只需要拷貝過來就可以了。遺憾的是:整個C庫目錄下的文件總大小有26M。而我們根文件系統(tǒng)所在分區(qū)不過區(qū)區(qū)16M而已,根本放不下。怎么辦呢?dennis@dennis-desktop:/work/nfs_root/fs_mini3$du-s--si/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
26M
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib需要C庫目錄下所有的文件嗎?no,absolutelyno!讓我們來分析一下glibc庫目錄下內(nèi)容的組成。該目錄下的子目錄和文件共分8類:目標文件,如crtn.o,用于gcc鏈接可執(zhí)行文件libtool庫文件(.la),在鏈接庫文件時這些文件會被用到,比如他們列出了當前庫文件所依賴的其它庫文件,程序運行時無需這些文件gconv目錄,里面是各種鏈接腳本,在編譯應(yīng)用程序時,他們用于指定程序的運行地址,各段的位置等靜態(tài)庫文件(.a),例如libm.a,libc.a動態(tài)庫文件(.so、.so.[0-9]*)動態(tài)鏈接庫加載器ld-2.3.6.so、ld-linux.so.2其它目錄及文件很顯然,第1、2、3、4、7類文件和目錄是不需要拷貝的。由于動態(tài)鏈接的應(yīng)用程序本身并不含有它所調(diào)用的C庫函數(shù)的代碼,因此執(zhí)行時需要動態(tài)鏈接庫加載器來為它加載相應(yīng)的C庫文件,所以第6類文件是需要拷貝的。除此之外,第5類文件當然要拷貝。但第5類文件的大小也相當大。dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$du-c--si*.so*7.2M
total需要全部拷貝嗎?非也,非也!其實,需要哪些庫完全取決于要運行的應(yīng)用程序使用了哪些庫函數(shù)。如果我們只制作最簡單的系統(tǒng),那么我們只需要運行busybox這一個應(yīng)用程序即可。通過執(zhí)行dennis@dennis-desktop:/work/nfs_root/fs_mini3$arm-linux-readelf-abin/busybox|grep'Shared'
0x00000001(NEEDED)
Sharedlibrary:[libcrypt.so.1]
0x00000001(NEEDED)
Sharedlibrary:[libm.so.6]
0x00000001(NEEDED)
Sharedlibrary:[libc.so.6]可知:busybox只用到了3個庫:通用C庫(libc)、數(shù)學庫(libm)、加密庫(libcrypt),因此我們只需要拷貝這3個庫的庫文件即可。但是每個庫都有4個文件,4個文件都要拷貝嗎?當然不是。dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ls-llibcrypt[.-]*
-rwxr-xr-x1dennisdennis307002008-01-2205:32libcrypt-2.3.6.so
-rw-r--r--1dennisdennis231182008-01-2205:32libcrypt.a
lrwxrwxrwx1dennisdennis
132008-12-2215:38libcrypt.so->libcrypt.so.1
lrwxrwxrwx1dennisdennis
172008-12-2215:38libcrypt.so.1->libcrypt-2.3.6.so
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ls-llibm[.-]*
-rwxr-xr-x1dennisdennis
7790962008-01-2205:31libm-2.3.6.so
-rw-r--r--1dennisdennis11342822008-01-2205:32libm.a
lrwxrwxrwx1dennisdennis
92008-12-2215:38libm.so->libm.so.6
lrwxrwxrwx1dennisdennis
132008-12-2215:38libm.so.6->libm-2.3.6.so
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$ls-llibc[.-]*
-rwxr-xr-x1dennisdenni01-2205:48libc-2.3.6.so
-rw-r--r--1dennisdennis27682802008-01-2205:31libc.a
-rw-r--r--1dennisdennis
1952008-01-2205:34libc.so
lrwxrwxrwx1dennisdennis
132008-12-2215:38libc.so.6->libc-2.3.6.so4個文件中的.a文件是靜態(tài)庫文件,是不需要拷貝的。另外3個文件是:實際的共享鏈接庫:libLIBRARY_NAME-GLIBC_VERSION.so。當然需要拷貝。主修訂版本的符號鏈接,指向?qū)嶋H的共享鏈接庫:libLIBRARY_NAME.so.MAJOR_REVISION_VERSION,程序一旦鏈接了特定的鏈接庫,將會參用該符號鏈接。程序啟動時,加載器在加載程序前,會檢索該文件。所以需要拷貝。與版本無關(guān)的符號鏈接,指向主修訂版本的符號連接(libc.so是唯一的例外,他是一個鏈接命令行:libLIBRARY_NAME.so,是為編譯程序時提供一個通用條目)。這些文件在程序被編譯時會被用到,但在程序運行時不會被用到,所以不必拷貝它。關(guān)于共享庫的2個符號鏈接的作用的特別說明:當我們使用gcc
hello.c
-o
hello
-lm編譯程序時,gcc會根據(jù)-lm的指示,加頭(lib)添尾(.so)得到libm.so,從而沿著與版本無關(guān)的符號鏈接(libm.so->libm.so.6)找到libm.so.6并記錄在案(hello的ELF頭中),表示hello需要使用libm.so.6這個庫文件所代表的數(shù)學庫中的庫函數(shù)。而當hello被執(zhí)行的時候,動態(tài)鏈接庫加載器會從hello的ELF頭中找到libm.so.6這個記錄,然后沿著主修訂版本的符號鏈接(libm.so.6->libm-2.3.6.so)找到實際的共享鏈接庫libm-2.3.6.so,從而將其與hello作動態(tài)鏈接。可見,與版本無關(guān)的符號鏈接是供編譯器使用的,主修訂版本的符號鏈接是供動態(tài)鏈接庫加載器使用的,而實際的共享鏈接庫則是供應(yīng)用程序使用的。通過以上分析,我們只需要拷貝3個庫(每個庫各1個主修訂版本的符號鏈接和1個實際的共享鏈接庫)以及動態(tài)鏈接庫加載器(1個符號鏈接和1個實體文件)。步驟如下:dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$mkdir/work/nfs_root/fs_mini3/libdennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp
libcrypt-*/work/nfs_root/fs_mini3/lib
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp-llibcrypt.so.*/work/nfs_root/fs_mini3/lib
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp
libm-*/work/nfs_root/fs_mini3/lib
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp-llibm.so.*/work/nfs_root/fs_mini3/lib
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp
libc-*/work/nfs_root/fs_mini3/lib
dennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp-llibc.so.*/work/nfs_root/fs_mini3/libdennis@dennis-desktop:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib$cp-lld-*/work/nfs_root/fs_mini3/lib四、手工構(gòu)建/etc目錄/etc目錄存放的是系統(tǒng)程序的主配置文件,因此需要哪些配置文件取決于要運行哪些系統(tǒng)程序。即使最小的系統(tǒng)也一定會運行1號用戶進程init,所以我們至少要手工編寫init的主配置文件inittab。busybox的inittab文件的語法、語義與傳統(tǒng)的SYSV的inittab有所不同。inittab文件中每個條目用來定義一個需要init啟動的子進程,并確定它的啟動方式,格式為<id>:<runlevel>:<action>:<process>。例如:ttySAC0::askfirst:-/bin/sh<id>表示子進程要使用的控制臺,若省略則使用與init進程一樣的控制臺<runlevel>表示運行級別,busyboxinit程序這個字段沒有意義<action>表示init進程如何控制這個子進程sysinit:系統(tǒng)啟動后最先執(zhí)行,只執(zhí)行一次,init進程等待它結(jié)束后才繼續(xù)執(zhí)行其它動作wait:系統(tǒng)執(zhí)行完sysinit條目后執(zhí)行,只執(zhí)行一次,init進程等待它結(jié)束后才繼續(xù)執(zhí)行其它動作once:系統(tǒng)執(zhí)行完wait條目后執(zhí)行,只執(zhí)行一次,init進程不等待它結(jié)束respawn:啟動完once進程后,init進程監(jiān)測發(fā)現(xiàn)子進程退出時,重新啟動它askfirst:啟動完respawn進程后,與respawn類似,不過init進程先輸出”PleasepressEntertoactivatethisconsole“,等用戶輸入回車后才啟動子進程shutdown:當系統(tǒng)關(guān)機時restart:Busybox中配置了CONFIG_FEATURE_USE_INITAB,并且init進程接收到SIGUP信號時執(zhí)行,先重新讀取、解析/etc/inittab文件,再執(zhí)行restart程序ctrlaltdel:按下ctrl+alt+del鍵時執(zhí)行,不過在串口控制臺中無法輸入它<process>表示進程對應(yīng)的二進制文件。如果前面有-號,表示該程序是“可以與用戶進行交互的”我們制作最簡單的/etc/inittab文件,其內(nèi)容如下:::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount-a–r制作最簡單的腳本程序文件/etc/init.d/rcS,其內(nèi)容如下:#!/bin/sh
ifconfigeth07修改shell腳本文件/etc/init.d/rcS的權(quán)限,以使其可被執(zhí)行:#chmoda+x/etc/init.d/rcS五、手工構(gòu)建最簡化的/dev目錄在linux機器上,執(zhí)行l(wèi)s
/dev可看到幾百個設(shè)備文件,我需要手工創(chuàng)建它們嗎?maybe,我只需要手工創(chuàng)建幾個設(shè)備文件!我怎么知道我應(yīng)該創(chuàng)建哪幾個設(shè)備文件呢?管它呢,先看看開發(fā)板上可愛的linux的反應(yīng)再說。啟動Linux操作系統(tǒng),顯示:VFS:Mountedroot(nfsfilesystem).
Freeinginitmemory:112K
Warning:unabletoopenaninitialconsole.這說明,內(nèi)核已經(jīng)成功掛載根文件系統(tǒng),但卻未能成功啟動第1個用戶進程init。通過錯誤消息“unabletoopenaninitialconsole”搜索內(nèi)核源代碼,找到init/main.c文件。748staticintnoinlineinit_post(void)
749{
750
free_initmem();
751
unlock_kernel();
752
mark_rodata_ro();
753
system_state=SYSTEM_RUNNING;
754
numa_default_policy();
755
756
if(sys_open((constchar__user*)"/dev/console",O_RDWR,0)<0)
757
printk(KERN_WARNING"Warning:unabletoopenaninitialconsole.\n");
758
759
(void)sys_dup(0);
760
(void)sys_dup(0);
761
762
if(ramdisk_execute_command){
763
run_init_process(ramdisk_execute_command);
764
printk(KERN_WARNING"Failedtoexecute%s\n",
765
ramdisk_execute_command);
766
}
767
768
/*
769
*Wetryeachoftheseuntilonesucceeds.
770
*
771
*TheBourneshellcanbeusedinsteadofinitifweare
772
*tryingtorecoverareallybrokenmachine.
773
*/
774
if(execute_command){
775
run_init_process(execute_command);
776
printk(KERN_WARNING"Failedtoexecute%s.
Attempting"
777
"defaults...\n",execute_command);
778
}
779
run_init_process("/sbin/init");
780
run_init_process("/etc/init");
781
run_init_process("/bin/init");
782
run_init_process("/bin/sh");
783
784
panic("Noinitfound.
Trypassinginit=optiontokernel.");
785}顯然,內(nèi)核錯誤是由175行不能打開/dev/console所致。通過查看已經(jīng)安裝好的linux機器的/dev/console設(shè)備文件,可知其是字符設(shè)備文件,主設(shè)備號為5,次設(shè)備號為1:dennis@dennis-desktop:/work/nfs_root/fs_mini3/etc$ls-l/dev/console
crw-------1rootroot5,12010-04-0808:40/dev/console因此,我們使用下面的命令創(chuàng)建它:dennis@dennis-desktop:/work/nfs_root/fs_mini3/dev$sudomknodconsolec51還需要創(chuàng)建其它設(shè)備文件嗎?只有天知道!再看看linux的反應(yīng)。VFS:Mountedroot(nfsfilesystem).
Freeinginitmemory:112K
init:can'topen'/dev/null':Nosuchfileordirectory這次我們有經(jīng)驗了,如法炮制,創(chuàng)建/dev/null設(shè)備文件:dennis@dennis-desktop:/work/nfs_root/fs_mini3/dev$sudomknodnullc13再次重啟開發(fā)板上的linux,顯示VFS:Mountedroot(nfsfilesystem).
Freeinginitmemory:112K
initstarted:BusyBoxv1.7.0(2010-04-0323:53:55CST)
startingpid229,tty'':'/etc/init.d/rcS'PleasepressEntertoactivatethisconsole.
startingpid231,tty'':'/bin/sh'
#哈哈,我們成功了,終于可以K歌去了。六、創(chuàng)建其它空目錄K完歌回來,繼續(xù)戰(zhàn)斗。dennis@dennis-desktop:/work/nfs_root/fs_mini3$mkdirhomerootprocsystmpmntvar再次重啟動開發(fā)板上的linux。咦,似乎有些問題。VFS:Mountedroot(nfsfilesystem).
Freeinginitmemory:112K
initstarted:BusyBoxv1.7.0(2010-04-0323:53:55CST)
startingpid229,tty'':'/etc/init.d/rcS'PleasepressEntertoactivatethisconsole.
startingpid231,tty'':'/bin/sh'
#ps
PID
Uid
VSZStatCommand
#ps竟然看不到任何進程的存在!讓我想想。對了,ps的機制是通過查看/proc中的內(nèi)容來獲得進程信息的。那么,目前/proc里有哪些內(nèi)容呢?#ls/proc
#竟然空空如野!這可如何是好?七、配置系統(tǒng)自動生成/proc目錄其實/proc是用來提供內(nèi)核與進程信息的虛擬文件系統(tǒng),由內(nèi)核自動生成目錄下的內(nèi)容。不過需要我們設(shè)置一下,將/etc/init.d/rcS修改為:#!/bin/sh
ifconfigeth07
mount-tprocnone/proc對于mount-tprocnone/proc的解釋:通常情況下mount命令應(yīng)該寫為mount–text2/dev/hdb1/proc。但由于現(xiàn)在掛載的/proc是虛擬文件系統(tǒng),它不與任何物理硬盤分區(qū)相對應(yīng),因此在表示物理硬盤分區(qū)的位置用占位符none來表示。重啟開發(fā)板上的linux,顯示成功了:PleasepressEntertoactivatethisconsole.
startingpid232,tty'':'/bin/sh'
#ps
PID
Uid
VSZStatCommand
10
3088S
init
20
SW<[kthreadd]
30
SWN[ksoftirqd/0]
40
SW<[events/0]
50
SW<[khelper]
410
SW<[kblockd/0]
420
SW<[ksuspend_usbd]
450
SW<[khubd]
470
SW<[kseriod]
590
SW
[pdflush]
600
SW
[pdflush]
610
SW<[kswapd0]
620
SW<[aio/0]
1770
SW<[mtdblockd]
2260
SW<[rpciod/0]
2320
3092S
-sh
2330
3092R
ps
#八、利用udev構(gòu)建完整的/dev目錄高興地插入U盤,內(nèi)核顯示識別到了U盤:#usb1-1:newfullspeedUSBdeviceusings3c2410-ohciandaddress2
usb1-1:notrunningattopspeed;connecttoahighspeedhub
usb1-1:configuration#1chosenfrom1choice
scsi0:SCSIemulationforUSBMassS
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建三明市尤溪縣總醫(yī)院醫(yī)學人才校園(福建中醫(yī)藥大學)專場公開招聘7人的通告考試備考題庫附答案
- 2026福建龍巖市第一醫(yī)院醫(yī)療類引進生招聘16人參考題庫附答案
- 2026西藏自治區(qū)定向選調(diào)生招錄(70人)考試備考題庫附答案
- 公共交通乘客信息管理制度
- 2026黑龍江哈爾濱啟航勞務(wù)派遣有限公司派遣到哈工大計算學部社會計算與交互機器人研究中心招聘1人參考題庫附答案
- 北京市公安局輔警崗位招聘300人備考題庫附答案
- 景德鎮(zhèn)市公安局2025年下半年招聘警務(wù)輔助人員體能測評考試備考題庫附答案
- 特飛所2026屆校園招聘考試備考題庫附答案
- 鄰水縣2025年下半年公開考調(diào)公務(wù)員(21人)參考題庫附答案
- 2026陜西省面向中國政法大學招錄選調(diào)生考試備考題庫附答案
- 營地合作分成協(xié)議書
- GB/T 70.2-2025緊固件內(nèi)六角螺釘?shù)?部分:降低承載能力內(nèi)六角平圓頭螺釘
- 基于視頻圖像的大型戶外場景三維重建算法:挑戰(zhàn)、創(chuàng)新與實踐
- 物流管理畢業(yè)論文范文-物流管理畢業(yè)論文【可編輯全文】
- 2025年四川省高職單招模擬試題語數(shù)外全科及答案
- 2025年江蘇事業(yè)單位教師招聘體育學科專業(yè)知識考試試卷含答案
- 壁球裁判試題及答案
- 網(wǎng)絡(luò)銷售人員培訓
- 設(shè)備租賃績效考核與激勵方案設(shè)計實施方法規(guī)定
- 合肥市軌道交通集團有限公司招聘筆試題庫及答案2025
- 攝影攝像直播合同范本
評論
0/150
提交評論