基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)_第1頁
基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)_第2頁
基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)_第3頁
基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)_第4頁
基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第33卷第4期VoL33計算機工程ComputerEngineering文章■號l2007年2月February2007No.4?開發(fā)研究與設計技術(shù)?1000—3428(2007)04--0272---03文■標識珥:A中田分樊號zTP278基于8位單片機的智能型密集架系統(tǒng)設計與實現(xiàn)寧近孵,張靖,員超(北京航空航天大學機器人研究所,北京100083囊賽:智能型密集架是一種有良好應用前景的現(xiàn)代倉儲設備。該文介紹了一種應用于檔案保管領域的智能型密集架系統(tǒng),闡述了整個控翩系統(tǒng)硬件部分和軟件部分的設計與實現(xiàn)。關蝴:MCU;智能型密集架;串口通信;進程通信DesignandImplementationofControlSystemofIntelligentMobileRackBasedon8-bitMCUNINGYuanming,ZHANG肺曙,YUANChao(RoboticsInstitute,BeijirtgUniversityofAeronauClcsandAstronauticsBeijin91000831IAbstractIl'heintelHgel"itmobilerackisIntelligentareakindareaofmodemstorageequipmentthathasandagoodfutureofapplicationThispaperintroducesandakindofmobilerack,whichisusedintheofarchivesstorageThesoftwareh”dwaredesignimplementationofthecontrolsystemdiscussed[KeywordsIMCU;Intelligentmobilerack:Serialportcommunication;Plocesscommunication使用電動密集架是倉儲管理現(xiàn)代化的重要標志,它結(jié)合了組合貨架與移動貨架的共同優(yōu)點,節(jié)約占地面積,提高空間利用率,布置靈活。電動密集架成為檔案管理系統(tǒng)設備現(xiàn)代化的首選裝備。另外,檔案信息量的急速增長,迫切需要把檔案信息查詢管理系統(tǒng)與自動化檔案存取系統(tǒng)結(jié)合在一起?;冢肝粏纹瑱CMCU的智能型密集架系統(tǒng)把傳統(tǒng)電動密集架與集敞控制模式相結(jié)合,輔以各種智能檢測技術(shù)和現(xiàn)代化檔案管理系統(tǒng),使檔案存儲、檔案信息管理一體化。本文討論_『一種應用于檔棠管理和其他類似倉儲保管領域的智能型電動密集架的實現(xiàn)及關鍵技術(shù)。系統(tǒng)設計多層保護模式。一種是操作人員進入密集架之前,按下“禁止”按鈕,這樣,在操作人員取檔案過程中,系統(tǒng)不接受其他可能使密集架運動的命令;另一種則是在相鄰密集架入口和密集架內(nèi)側(cè)邊安裝紅外對射傳感器,操作人員走入相鄰列時,即被傳感器感應到,系統(tǒng)上鎖,外邊任何運動命令無{擊發(fā)出,必須等待架內(nèi)操作人員出架后解鎖才可繼續(xù)發(fā)別的命令。2設計巾的關健問基(1)保證上位機對密集架位置狀態(tài)和檔案庫房內(nèi)溫濕度監(jiān)控的實時性,要求以動畫形式準確反映密集架的當前狀態(tài)i(2)能根據(jù)上位機檔案管理系統(tǒng)查詢得到的檔案位置信息智能安排開架順序,節(jié)約用戶操作時間;(3)單片機系統(tǒng)提供給用戶方便快捷的使用菜單、人機界面。l系統(tǒng)簡介智能型密集架系統(tǒng)包括3部分:(1)負責檔案管理和各庫房啦測的上位機;(2)負責庫房中每一組各列運行控制和環(huán)境監(jiān)測的8位單片機為MCU的主站;(3)負責每一列具體電氣控制的8位單片機為MCU的從站。系統(tǒng)結(jié)構(gòu)如圖1所示。3硬件系筑設計系統(tǒng)的上位機為一臺PC機。通過485總線,與各主站通信。下位機采用主、從控制模式。主站采用以77E58為MCU的單片機控制板,從站應用以89C51單片機為核心的控制板。主站、從站之間采用485總線通信。485總線標準是一種多發(fā)送器的串口總線接口標準,一個發(fā)送器在雙導線上可以驅(qū)動32個負載設備,雙線差動傳輸大大提高了抗共模干擾的能力.IIii且傳輸距離遠、速度快,波特率可達到250KBps,非常適合集散控制系統(tǒng)要求。主站對MCU外圍芯片都采用串行芯片或單總線芯片,這樣的好處是節(jié)?。罚罚澹担傅囊_資源。用2-4編碼器區(qū)分外柞littler..寧遠明(1980--).男,碩士,主研方向:智能倉儲技術(shù)張靖,碩士t員超,教授■1熏麓靖鞠收■日翔:2006—03-08E?mail:ningrencat@163coin萬方數(shù)據(jù)圍芯片進行I/O讀寫。溫度檢測用的DSl8820,就是單總線芯片,除了提供電源正和地,只需一個I/O訂;濕度檢測采用電壓式濕度傳醵器和MAXl87,MAXl87是12位串行AID,滿足精度要求,轉(zhuǎn)換速度快。時鐘芯片采用DSl302串行實時時鐘芯片,77E58通過編碼器區(qū)分外圍芯片進行I/O讀寫。結(jié)構(gòu)圖如圖2?!觯簿歌蚴就鰪恼局袉纹瑱C外圍器件除了總線通信外主要負責驅(qū)動LED數(shù)碼管、繼電器和安全檢測。4軟件系統(tǒng)設計4.1下位機(1)控制模式和軟件結(jié)構(gòu)系統(tǒng)中,單片機形成主從控制模式。從站MCU實現(xiàn)功能請求、命令分析與執(zhí)行以及接收控制面扳的按鈕輸入,主站實現(xiàn)功能請求的臺理性分析與命令的發(fā)送。主站和從站都采用模塊化編程,將各個功能分解,有利于維護和升級。從站主要由12個功能函數(shù)組成,分別完成面板輸入采集、輸入處理、主站命令分析、電機控制、面板顯示、安全檢測等功能。在PC控制模式下,上位機向主站發(fā)送功能請求,主站進行分析,如果功能請求合理,主站向各從站發(fā)送功能指夸。從站執(zhí)行相應功能。(2)通信方式主站和從站通過485總線通信,利用5l單片機通信方式三主從通信模式。從站初始化設標志位SM2=I,如果主站發(fā)來的1個字節(jié)中第9位TB8=I,說明這個字節(jié)是從站導,如果從站號恰好等于這個字節(jié),那么SM2=0應答主站并開始接受之后主站發(fā)來的命令,然后對命令進行分析處理。主站程序在置位TB8后下發(fā)目標站號,如果從站有相同的站號應答,說明從站已經(jīng)收到,主站再下發(fā)命令。(3從機交互界面77E58采用與5l系列兼容內(nèi)棱,具有雙串13、兩級共12個中斷源、1KB片上SRAM和64KB片上FLASHROM,功能強大o萬方數(shù)據(jù)77E58驅(qū)動以SEDl335為控制器的液晶屏,讀取薄膜開關的按鍵輸入,構(gòu)成交互界面。8位單片機的菜單管理比較繁瑣,由于資源限制,無法移植圖形界面GUI,多采用2個全局變量來分別記錄界面和選項號,再用條件語句,判別進入條件分支。這樣做的問題是判斷語句非常多,而且相互關聯(lián),程序代碼冗長。尤其是在多級菜單的情況下,維護和修改相當繁瑣。筆者利用C5I中的結(jié)構(gòu)體和指針的方法,定義每一個菜單為一個結(jié)構(gòu)體,例如:structmenufvoid(+parent)O;void(+brother)(unsignedcharDirenction);void(+child)();void(+refresh)():l;其中parent函數(shù)編寫返回上級菜單,brother函數(shù)控制光標在當前界面的啟動,并定位現(xiàn)在選擇的菜單選項,child函數(shù)則進入下級菜單或執(zhí)行選項,refresh函數(shù)是界面的更新。定義2個全局的變量:structmenu+ptr_suu;unsignedcharitem—num;分別指向共同體和記錄菜單選項,這樣結(jié)構(gòu)俸指針的改變變更當前菜單進行操作,部分代碼如F:voidMainBrotherlunsignedchardirection)(switch(direction)ft2ase0:if((item—num%MainSum)(=11item_num=itemnum%MainSumtl十MainSum;elseitem1break;caselbreak:default:item_num=voidMainChJldOswitcbfitem—hum)case1:frame2();//banptr_stru=&MBan;itemnH//l=1;break:case9:ptr—,stru=&M——lnfo;item_num=l;fraanell0;//break:}J4.2上位機(I)軟件結(jié)構(gòu)及實現(xiàn)上位機運動控制軟件由VC程序編寫,主要分為運動控制和人機界面兩部分模塊。運動控制模塊實現(xiàn)用戶命令的下發(fā)與密集架狀態(tài)的反饋,人機界面模塊實現(xiàn)密集架運動狀態(tài)的實時動畫顯示以及檔案庫房的環(huán)境參數(shù)監(jiān)測。人機界面模塊采用雙緩沖技術(shù)實現(xiàn)無閃爍刷屏動畫顯示。把要顯示的圖形先在內(nèi)存中繪制好,然后再一次性地將內(nèi)存中的閣形覆蓋到屏幕上。(2)上位機對各從站狀態(tài)的實時監(jiān)控上位機循環(huán)要求下位機主站傳送各個從站的狀態(tài)信息,并保存在定義好的position[]數(shù)組巾,當監(jiān)控畫面刷新時,軟273件根據(jù)positionll數(shù)組的當前值,實時顯示各個從站的狀態(tài)。利用MSCOMM控件實現(xiàn)串121通信。實時監(jiān)控的要求是廣播式總線通信難以實現(xiàn)的,首先因為廣播式每次都會觸發(fā)各主站的串口中斷程序。然后由單片機主站判別站號,非常占用資源。而如果單片機工作在主從模式工作方式3通信,只有在接收到第9位是地址標志符時才會判斷站導設置SM2,進入串口中斷接收余下的數(shù)據(jù),減少了對單片機的占用。在這種模式下要求上位機的程序經(jīng)常轉(zhuǎn)變工作模式,例如在要求地址握手的時候,通信模式校驗位要設為。M”,如:m—ctdComra.SetSe[tings(”t9200,M,8,J”);析命令并將命令下發(fā)。實際應用過程中,經(jīng)常出現(xiàn)用戶對分布在不同位置的許多檔案的統(tǒng)一查詢并取出的操作。如果簡單地按照查詢結(jié)果先后次序開架,會使用戶往返于不同的密集架而浪費時間。上位機軟件根據(jù)檔案管理系統(tǒng)發(fā)來的開架請求,先對檔案所在的位置進行分析,找到距離庫房入121最遠點位置,然后將所有的開架請求按照從近到遠、從左到右的順序加入命令處理隊列。軟件按照此隊列自動發(fā)進開架命令。這樣,當用戶進入庫房后,可以根據(jù)開架順序從左邊開始依談取檔案,在本談操作距離庫房最遠點轉(zhuǎn)到右邊,然后向入IZl方向依次操作。這樣,每次操作,用戶在庫房中沒有路徑重復,節(jié)省了操作時間。在地址握手后,改為傳輸數(shù)據(jù)方式,枝驗位設為“S”。如:m_c[rlCommSetSettings(”19200,S,8,1¨):需要注意的是,這兩種模式之間的轉(zhuǎn)換需要一定的時問,就筆者試驗估算大概在200l_ts,對于單片機來說,在站號握手完成后,耍有一定的延時。為了增加通信町靠程度,數(shù)據(jù)位編碼采用漢明碼,即在數(shù)據(jù)串的2^n位插入枝驗碼,根據(jù)幾個校驗碼可以判定是哪一位出錯,相應位取反就可以糾正錯誤,如果兩位以上出錯,可以要求主站重發(fā)數(shù)據(jù),這種情況在實際的現(xiàn)場總線監(jiān)測中基本投有發(fā)生。關于漢明碼有很多教材和文章對此論述,這里不再贅述。(3)運動控制軟件與檔案管理系統(tǒng)的接口管理系統(tǒng)與運動控制軟件通信可以通過共享文件、共享內(nèi)存等形式實現(xiàn)進程間通信”…。實際設計中,采用共享文件的方式進行通信。管理系統(tǒng)在需要移動密集架的時候,將待運動密集架的列號、運動命令以及所要取得的檔案所在位置編號寫入order.dat文件,運動控制軟件實時讀取該文件,分5結(jié)論這種智能型的電硇密集架系統(tǒng)配置靈活,升級方便,在實際使用中,與傳統(tǒng)密集架系統(tǒng)相比,更方便、可靠,有很好的應用前景。參考文?。旌鷤ィ緯院猓畣纹贸绦蛟O計及應用實倒【M】北京:^民郵電出版社.20032顧戰(zhàn)松,陳鐵年呵編程控制器原理和應用[M】北京:國防工業(yè)出版社,20003徐曉東.楊振坤.基于VB和Vc++語言的DCS組態(tài)軟件的設計和實現(xiàn)㈨工業(yè)控制計掉機,2000,13(3)2I一244闞宏進,劉希遠.享萃磚基于VC++Z控組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的沒計|J】.甘肅工業(yè)大學學報.2001,27(4):73—76.【上接第271頁)個輸入?yún)?shù)值為l和0,返回值預期結(jié)果為1;第2個輸入?yún)?shù)值為1和一1,返回值預期結(jié)果為0。生成主用例源文件如下:voidStartUp()f刪望近回值輸出assertion(1.api—va』_returnprintff”->TCStart’、n“):RLiblnit(“c.,。pnesl,P‘叫ec“xlao,testsul【e肛q[/runreporffsql.xml”.tetresult(TET—PASS);J工具自動運行該文件會提示2個用例均順利通過。如用例得到實際返回值與疆期結(jié)果不一致。用例就不會通過?!迹。模希茫裕伲校牛颍澹螅酰欤簦樱伲樱裕牛停颍妫椋簦澹海欤茫海欤幔穑椋簦澹螅簦欤簦澹恚穑欤幔簦澹螅恚欤裕澹螅簦遥澹螅酰欤簦洌簦洌堋保尽埃觯铮椋洌茫欤澹幔睿眨穑ǎ葱〉诒疚慕o出了一種針對c,c++語言的API自動化測試工具的設計和實現(xiàn)方案,使甩該工具可在源代碼分析、測試甩倒生成及測試用例執(zhí)行等方面實現(xiàn)很大程度的自動化。目前該測試工其已開發(fā)完成,通過大量測試實例證明使用該工具達到了提高API測試放率和測試質(zhì)量的目的。參考文tf‘p¥¥2Summary,2},ftp¥¥l—1{printff”一>TCClean!、n”):RLibUnlnil()zvoid(+tet—stanup)O=StarlUp:void(+tet—cleanup)()=CleanUp;voidtp拈lSummary();FalkCJ,NguyenHvoidtp¥¥2Summary();structtet_tegtlisltetteslllst[]=lKQ計算機軟件測試M】2版王蜂,澤.Summary,l{,{NULL,O}};北京:機械工業(yè)出版社.2004.2FewsterM,Graham其中第1個用倒函數(shù)tpssl—Summary()的部分內(nèi)容如下:voidD.軟件測試自動化技術(shù)與實倒詳解[MI舒智tp¥¥1一Summary()勇,譯北京:電子工業(yè)出版社,2(1003DustinE,RashkaJ,Paul{//API返同值接收變量定義int—.—.

溫馨提示

  • 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

提交評論