小雪你好紧好烫好爽_k频道导航入口国产精品_91成人爽a毛片一区二区_羞羞漫画入口在线观看

    歡迎進(jìn)入上海陽合供應(yīng)鏈管理有限公司!
  •  13472705338 

  • “視聽+云倉儲(chǔ)+精準(zhǔn)扶貧”電商模式的脫貧經(jīng)驗(yàn)探討
  • 倉儲(chǔ)型物流企業(yè)的經(jīng)營模式創(chuàng)新
  • 現(xiàn)代倉儲(chǔ)管理中條形碼技術(shù)的運(yùn)用
  • 基于IOS平臺(tái)的小型倉儲(chǔ)管理系統(tǒng)設(shè)計(jì)
  • 用6S管理注入倉儲(chǔ)管理系統(tǒng)內(nèi)涵推升倉儲(chǔ)運(yùn)營水準(zhǔn)
  • 基于第三方物流的倉儲(chǔ)成本控制研究
  • 物流公司倉儲(chǔ)管理案例分析
  • 第三方物流企業(yè)倉儲(chǔ)貨位系統(tǒng)優(yōu)化分析
  • 鄭州航空物流倉儲(chǔ)合理化研究
  • 新形勢(shì)下深化完善國有糧食倉儲(chǔ)企業(yè)內(nèi)控機(jī)制的實(shí)踐與思考
  • 企業(yè)智能倉儲(chǔ)作業(yè)流程分析——以徐州新沂百世云倉公司為例
  • 醫(yī)藥物流邁向云倉多倉聯(lián)動(dòng)
  • RFID技術(shù)在銅仁地區(qū)煙草倉儲(chǔ)物流管理系統(tǒng)中的應(yīng)用
  • 淺談糧情測(cè)控遠(yuǎn)程監(jiān)管系統(tǒng)在倉儲(chǔ)管理中的應(yīng)用
  • 淺談石油物資倉儲(chǔ)管理部門入庫驗(yàn)收管理
  • 多層倉儲(chǔ)式數(shù)據(jù)中心建筑設(shè)計(jì)研究
  • 煙葉倉儲(chǔ)害蟲綜合治理研究進(jìn)展
  • 無線智能倉儲(chǔ)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  • 靜電粉末與殺蟲劑混用對(duì)倉儲(chǔ)甲蟲的殺蟲效果及谷物品質(zhì)的影響
  • 關(guān)于云計(jì)算技術(shù)物聯(lián)網(wǎng)倉儲(chǔ)管理系統(tǒng)設(shè)計(jì)
  • 當(dāng)前位置:首頁 >>   新聞資訊新聞資訊

    基于CAN總線的分布式倉儲(chǔ)系統(tǒng)設(shè)計(jì)

      信息來源:   發(fā)布時(shí)間:2021-09-01  點(diǎn)擊數(shù):

    0 引言

    在倉儲(chǔ)管理領(lǐng)域中,傳統(tǒng)倉儲(chǔ)平臺(tái)普遍存在自動(dòng)化程度低、控制不便及數(shù)據(jù)存儲(chǔ)查詢節(jié)點(diǎn)遠(yuǎn)離現(xiàn)場(chǎng)等問題,在倉儲(chǔ)作業(yè)中,往往仍以人力為主,缺少自動(dòng)化控制體系。針對(duì)上述問題,本文設(shè)計(jì)了一種基于CAN總線的分布式倉儲(chǔ)系統(tǒng),通過遠(yuǎn)程控制貨柜開閉,驗(yàn)證CAN總線在倉儲(chǔ)系統(tǒng)自動(dòng)化控制中應(yīng)用的可行性。系統(tǒng)由控制站與現(xiàn)場(chǎng)網(wǎng)絡(luò)兩級(jí)構(gòu)成,控制站為帶有CAN收發(fā)設(shè)備的便攜式計(jì)算機(jī),現(xiàn)場(chǎng)網(wǎng)絡(luò)由多個(gè)受控節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)以高性能單片機(jī)為核心、CAN收發(fā)設(shè)備作為外圍網(wǎng)絡(luò)接口、帶有可控電磁鎖的貨柜為動(dòng)作執(zhí)行部分,操作人員可以在控制站查看貨柜物資并根據(jù)需求對(duì)貨柜的開啟與關(guān)閉進(jìn)行控制。

    1 CAN總線概述

    1.1 CAN總線特點(diǎn)

    CAN(Controller Area Net,控制器局部網(wǎng)),作為現(xiàn)場(chǎng)總線之一,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。CAN最早應(yīng)用于汽車工業(yè),由于其高性能、高可靠性以及獨(dú)特的設(shè)計(jì)而越來越受到人們的重視,后在電力、制造、冶金以及航天等不同行業(yè)普及,目前CAN已經(jīng)成為一種國際標(biāo)準(zhǔn)(ISO-11898),是最有前途的現(xiàn)場(chǎng)總線之一。CAN總線特點(diǎn)如下:

    1)兩線通信,只需兩根線即可連接最多128個(gè)設(shè)備;

    2)接口芯片支持8位、16位單片機(jī),目前多種嵌入式微控制器均集成了CAN通信控制器;

    3)CAN可以以多主機(jī)方式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻向其他節(jié)點(diǎn)發(fā)送信息,不分主從,通信方式靈活;

    4)CAN通信距離最遠(yuǎn)可達(dá)10Km(5KBps),通信速率最高可達(dá)1 MBps(40m),具有優(yōu)秀的幀校驗(yàn)及錯(cuò)誤處理能力。

    1.2 CAN總線物理結(jié)構(gòu)

    CAN總線的核心是控制器和收發(fā)器。CAN控制器的作用是將需要收發(fā)的數(shù)據(jù)按照CAN的幀格式和編碼方式轉(zhuǎn)換成協(xié)議數(shù)據(jù)流(發(fā)送),或者解碼(接收)。CAN收發(fā)器的作用是將控制器發(fā)送來的TTL信號(hào)轉(zhuǎn)換為CAN標(biāo)準(zhǔn)的差分信號(hào),收發(fā)器與物理實(shí)體線直接相連。

    CAN總線網(wǎng)絡(luò)由兩條信號(hào)線組成,分別為CAN_H與CAN_L,各個(gè)節(jié)點(diǎn)通過這兩條線實(shí)現(xiàn)信號(hào)的串行差分傳輸。CAN能夠使用多種物理介質(zhì),如雙絞線、光纖等,最常用的就是雙絞線。同時(shí),為避免信號(hào)的干擾和反射,常在CAN_H于CAN_L間接入阻值為120Ω的電阻。

    1.3 CAN協(xié)議

    CAN總線的數(shù)據(jù)傳輸采用“不歸零碼”,其數(shù)值為兩種互補(bǔ)邏輯:“顯性”及“隱性”,顯性數(shù)值表示邏輯“0”,隱性數(shù)值表示邏輯“1”。CAN協(xié)議中有兩種邏輯判定標(biāo)準(zhǔn),分別為ISO11898和ISO11519,兩者差分電平特性不同。ISO11898為高速傳輸標(biāo)準(zhǔn),當(dāng)CAN_H與CAN_L電壓差為0時(shí),邏輯信號(hào)表現(xiàn)為“隱性”,反之,當(dāng)兩線間壓差等于2V時(shí),邏輯信號(hào)表現(xiàn)為“顯性”。ISO11519為低速傳輸標(biāo)準(zhǔn),當(dāng)CAN_H與CAN_L電壓差為-1.5V時(shí),邏輯信號(hào)表現(xiàn)為“隱性”,反之,當(dāng)兩線間壓差等于3V時(shí),邏輯信號(hào)表現(xiàn)為“顯性”。ISO11519標(biāo)準(zhǔn)如圖1所示。

    圖1 ISO11519標(biāo)準(zhǔn)中的總線數(shù)值表示

    圖1 ISO11519標(biāo)準(zhǔn)中的總線數(shù)值表示   下載原圖


    CAN總線協(xié)議中約定了5個(gè)不同的報(bào)文格式:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、過載幀以及隔離幀。其中,數(shù)據(jù)幀分為標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種,主要功能是將數(shù)據(jù)從發(fā)送器傳輸?shù)浇邮掌鳎贿h(yuǎn)程幀和數(shù)據(jù)幀非常類似,只是遠(yuǎn)程幀沒有數(shù)據(jù)域,其主要由數(shù)據(jù)接收端發(fā)送,作為請(qǐng)求發(fā)送數(shù)據(jù)的標(biāo)識(shí);錯(cuò)誤幀是當(dāng)總線的某一個(gè)節(jié)點(diǎn)檢測(cè)到錯(cuò)誤后進(jìn)行發(fā)送的,會(huì)使總線上所有節(jié)點(diǎn)都檢測(cè)到一個(gè)錯(cuò)誤,因此當(dāng)有任何一個(gè)節(jié)點(diǎn)發(fā)生錯(cuò)誤是,總線上的其他節(jié)點(diǎn)也會(huì)發(fā)出錯(cuò)誤幀;過載幀是接收節(jié)點(diǎn)用來向發(fā)送節(jié)點(diǎn)告知自身接收能力的幀,當(dāng)某個(gè)節(jié)點(diǎn)數(shù)據(jù)處理能力不足時(shí),發(fā)送過載幀。圖2是標(biāo)準(zhǔn)數(shù)據(jù)幀的結(jié)構(gòu)。

    圖2 標(biāo)準(zhǔn)數(shù)據(jù)幀結(jié)構(gòu)

    圖2 標(biāo)準(zhǔn)數(shù)據(jù)幀結(jié)構(gòu)   下載原圖


    2 分布式控制系統(tǒng)總體設(shè)計(jì)

    系統(tǒng)分為控制站與現(xiàn)場(chǎng)網(wǎng)絡(luò)兩部分,控制站用于與操作人員交互,接受操作指令并將其傳送至現(xiàn)場(chǎng)網(wǎng)絡(luò)。現(xiàn)場(chǎng)網(wǎng)絡(luò)由多個(gè)存儲(chǔ)柜組成,每個(gè)存儲(chǔ)柜自成控制節(jié)點(diǎn),接受控制站送來的指令,并將其轉(zhuǎn)化為控制動(dòng)作。控制站及現(xiàn)場(chǎng)網(wǎng)絡(luò)間利用CAN總線相連,拓?fù)浣Y(jié)構(gòu)如圖3所示。

    由于當(dāng)總線空閑時(shí),任何節(jié)點(diǎn)都能向線上發(fā)送報(bào)文,如果兩個(gè)以上節(jié)點(diǎn)同時(shí)發(fā)送,就可能導(dǎo)致總線訪問沖突。為了解決總線上多點(diǎn)競(jìng)爭(zhēng)的問題,CAN協(xié)議中給出了總線仲裁的解決方案。即出現(xiàn)沖突時(shí),每個(gè)發(fā)送節(jié)點(diǎn)都需要對(duì)發(fā)送的電平與被監(jiān)控的總線電平進(jìn)行比較。當(dāng)電平相同時(shí),這個(gè)節(jié)點(diǎn)可以繼續(xù)發(fā)送;當(dāng)電平不同,例如發(fā)送的是隱性邏輯信號(hào)而監(jiān)視到的是顯性邏輯信號(hào),則該節(jié)點(diǎn)失去仲裁,必須退出發(fā)送狀態(tài)。同時(shí),在常用幀的優(yōu)先級(jí)判定上,遵循3個(gè)原則:

    圖3 系統(tǒng)拓?fù)浣Y(jié)構(gòu)

    圖3 系統(tǒng)拓?fù)浣Y(jié)構(gòu)   下載原圖


    1)幀標(biāo)識(shí)符(ID)越小,優(yōu)先級(jí)越高;

    2)由于數(shù)據(jù)幀的RTR位為顯性電平,遠(yuǎn)程幀為隱性電平,所以在某2幀或多幀標(biāo)識(shí)符相同的情況下,數(shù)據(jù)幀具有更高的優(yōu)先級(jí);

    3)由于標(biāo)準(zhǔn)幀的IDE位為顯性電平,擴(kuò)展幀的IDE位為隱形電平,對(duì)于前11位ID相同的標(biāo)準(zhǔn)幀和擴(kuò)展幀,標(biāo)準(zhǔn)幀具有更高的優(yōu)先級(jí)。

    3 控制站設(shè)計(jì)

    為簡(jiǎn)化系統(tǒng)結(jié)構(gòu),控制站采用便攜式計(jì)算機(jī)加CAN總線收發(fā)器的設(shè)計(jì),便攜式計(jì)算機(jī)與CAN總線收發(fā)器以RS-232串行接口進(jìn)行連接。在軟件設(shè)計(jì)上,編寫包含與CAN總線收發(fā)器通信等功能函數(shù)的動(dòng)態(tài)鏈接庫“controlCAN.dll”,實(shí)現(xiàn)了CAN總線通信功能的模塊化封裝,使其可以適用于多種不同語言。

    同時(shí),控制站上整合了倉儲(chǔ)物資的數(shù)據(jù)庫,在控制站上可以實(shí)現(xiàn)對(duì)物資的信息查詢機(jī)處理。

    4 控制節(jié)點(diǎn)設(shè)計(jì)

    4.1 硬件設(shè)計(jì)

    控制節(jié)點(diǎn)可實(shí)現(xiàn)三大功能,分別為中央控制、CAN總線通信、動(dòng)作執(zhí)行以及狀態(tài)反饋及顯示。

    4.1.1 中央控制部分

    該部分以89C52單片機(jī)為核心,主要用于通過與控制站進(jìn)行信息交互,依據(jù)接收控制站發(fā)送的信息,生成控制指令,將控制指令發(fā)送給執(zhí)行部分執(zhí)行控制動(dòng)作,同時(shí)將傳感器反饋的受控對(duì)象狀態(tài)返回至控制站。另外,還通過MAX232芯片擴(kuò)展了備用的RS-232串行接口。

    單片機(jī)與CAN總線控制器通過地址總線與數(shù)據(jù)總線的方式連接,占用P0接口,單片機(jī)的P1接口用于為動(dòng)作執(zhí)行部分發(fā)送控制指令,P2及部分P3接口用于接收并顯示狀態(tài)反饋信號(hào)。

    圖4 中央控制部分電路

    圖4 中央控制部分電路   下載原圖


    4.1.2 CAN總線通信部分

    采用CAN總線控制芯片SJA1000以及CAN總線收發(fā)芯片82C250實(shí)現(xiàn)CAN總線通信功能,SJA1000與82C250部分電路如圖5所示。

    圖5 CAN總線通信部分電路

    圖5 CAN總線通信部分電路   下載原圖


    SJA1000是NXP半導(dǎo)體生產(chǎn)的CAN總線控制器芯片,是常用的CAN總線控制器之一。其支持CAN2.0A與CAN2.0B兩種不同協(xié)議,兩種工作模式可以通過芯片內(nèi)部時(shí)鐘分頻寄存器CDR的CAN模式位來選擇,本設(shè)計(jì)使用了CAN2.0B協(xié)議。SJA1000通過8位數(shù)據(jù)總線與單片機(jī)進(jìn)行數(shù)據(jù)傳遞,單片機(jī)可以通過控制SJA1000的片選、讀允許、寫允許、地址鎖存等引腳實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸?shù)臅r(shí)序控制。同時(shí),SJA1000芯片的中斷輸出引腳與單片機(jī)的外部中斷INT0相連,以便于當(dāng)接收到總線上傳來的數(shù)據(jù)后,能迅速引起中斷,及時(shí)對(duì)數(shù)據(jù)進(jìn)行處理。CAN總線控制器的輸出與CAN總線收發(fā)器PCA82C250相連,TTL信號(hào)從控制器傳輸給收發(fā)器后,進(jìn)行編碼處理。

    PCA82C250芯片CAN總線收發(fā)器提供了CAN控制器與物理總線之間的接口,對(duì)總線提供差動(dòng)發(fā)送能力,并對(duì)CAN控制器提供差動(dòng)接收能力。SJA1000通過串行數(shù)據(jù)輸出線(Tx)與串行數(shù)據(jù)輸入線(Rx)連接到PCA82C250上,收發(fā)器通過有差動(dòng)發(fā)送和接收功能的兩個(gè)總線終端CAN_H與CAN_L連接到總線電纜,同時(shí)為了避免信號(hào)干擾,在兩根數(shù)據(jù)線之間接入阻值為120Ω的電阻。當(dāng)SJA1000輸出串行數(shù)據(jù)流至收發(fā)器時(shí),收發(fā)器內(nèi)部上拉功能將其拉至邏輯高電平,即總線輸出默認(rèn)是隱性的。若數(shù)據(jù)是邏輯低電平,則總線的輸出級(jí)激活,輸出級(jí)由一個(gè)源輸出級(jí)與一個(gè)下拉輸出級(jí)組成,激活后會(huì)在總線電纜上產(chǎn)生一個(gè)顯性的電平信號(hào)。收發(fā)器中接收器的比較器將差分總線信號(hào)轉(zhuǎn)換成邏輯信號(hào)電平,并在Rx引腳輸出至總線控制器進(jìn)行譯碼。接收器的比較器總是工作的,即當(dāng)總線節(jié)點(diǎn)傳輸一個(gè)報(bào)文時(shí),它同時(shí)也監(jiān)控總線。

    4.1.3 動(dòng)作執(zhí)行部分

    動(dòng)作執(zhí)行部分由多路光電耦合器、固態(tài)繼電器以及柜體上電磁鎖組成。光電耦合器對(duì)單片機(jī)及繼電器進(jìn)行了隔離,接到單片機(jī)控制指令后,9V電源通過繼電器送入柜體電磁鎖,使電磁鎖動(dòng)作。動(dòng)作執(zhí)行部分電路如圖6所示。

    對(duì)于上述控制部分,為每一路設(shè)計(jì)光電隔離,主要考慮兩個(gè)方面:一是切斷可能存在的信號(hào)干擾通道,避免核心電路受到外部干擾影響;二是保護(hù)內(nèi)部核心電路,當(dāng)外部執(zhí)行機(jī)構(gòu)出現(xiàn)瞬変脈沖等情況時(shí),只會(huì)影響光電耦合器,不會(huì)對(duì)內(nèi)部電路造成損壞。

    同時(shí),最初設(shè)計(jì)時(shí),為了節(jié)省成本,執(zhí)行機(jī)構(gòu)控制部分所使用的均為電磁繼電器,但在測(cè)試中發(fā)現(xiàn),電磁繼電器狀態(tài)變化時(shí)觸點(diǎn)上產(chǎn)生的火花會(huì)對(duì)CAN總線數(shù)據(jù)傳輸造成干擾,外加RC吸收電路后并無明顯改觀,因此在后續(xù)設(shè)計(jì)中執(zhí)行機(jī)構(gòu)控制部分一律使用固態(tài)繼電器。

    4.1.4 狀態(tài)反饋部分

    狀態(tài)反饋部分通過柜體上的傳感器向單片機(jī)返回箱門狀態(tài),同時(shí)利用LED顯示相應(yīng)狀態(tài)。

    4.2 軟件設(shè)計(jì)

    4.2.1 軟件總體設(shè)計(jì)及通信格式

    軟件總體流程如圖7所示。

    控制站與控制節(jié)點(diǎn)采用的通信數(shù)據(jù)格式如圖7所示。其中,以一個(gè)顯性位為幀頭,后以兩個(gè)字節(jié)數(shù)據(jù)發(fā)送標(biāo)示符,包括11位接收設(shè)備地址以及1位數(shù)據(jù)/遠(yuǎn)程幀標(biāo)識(shí)位(RTR),本設(shè)計(jì)中,控制站的地址碼為0x0020,4個(gè)控制節(jié)點(diǎn)地址碼依次遞增,為0x0040、0x0080、0x00A0、0x00C0、0x00E0,RTR位為0。標(biāo)示符之后,為四位數(shù)據(jù)長(zhǎng)度碼,以字節(jié)為單位。長(zhǎng)度碼后為1字節(jié)數(shù)據(jù)。之后,為15位冗余校驗(yàn)碼以及2位一致性檢驗(yàn)位,最后由7個(gè)隱性位作為幀尾,結(jié)束本數(shù)據(jù)幀。

    圖6 動(dòng)作執(zhí)行部分電路

    圖6 動(dòng)作執(zhí)行部分電路   下載原圖


    圖7 軟件總體流程

    圖7 軟件總體流程   下載原圖


    圖8 通信數(shù)據(jù)格式示意圖

    圖8 通信數(shù)據(jù)格式示意圖   下載原圖


    4.2.2 SJA1000工作配置

    CAN收發(fā)器SJA1000在工作前需要對(duì)其進(jìn)行配置。SJA1000的模式寄存器各控制字如表1所示。

    表1 信號(hào)調(diào)理電路輸出電壓試驗(yàn)數(shù)據(jù)     下載原表

    表1 信號(hào)調(diào)理電路輸出電壓試驗(yàn)數(shù)據(jù)

    其中,Bit0位(RM)為復(fù)位模式選擇,當(dāng)RM=1時(shí)進(jìn)入復(fù)位模式,當(dāng)RM=0時(shí)退出復(fù)位模式。

    配置時(shí)需通過設(shè)置模式寄存器使其進(jìn)入復(fù)位模式,對(duì)SJA1000的配置主要設(shè)置工作模式、工作時(shí)鐘、中斷方式、本機(jī)地址、接收屏蔽、通信頻率等內(nèi)容,詳細(xì)程序如下:



    設(shè)置傳輸波特率是配置SJA1000重要的一環(huán),傳輸波特率由總線定時(shí)寄存器0(BTR0)與總線定時(shí)寄存器1(BTR1)進(jìn)行設(shè)置。BTR0定義了波特率預(yù)設(shè)值和同步跳轉(zhuǎn)寬度的值,BTR1定義了每個(gè)位周期的長(zhǎng)度、采樣點(diǎn)的位置和在每個(gè)采樣點(diǎn)的采樣次數(shù)。

    CAN系統(tǒng)時(shí)鐘由如下公式計(jì)算:

     


    通常來講,在外部時(shí)鐘為16MHz時(shí),總線定時(shí)器的值可以按表2參數(shù)確定。

    表2 外部晶振頻率16MHz時(shí)傳輸波特率及所對(duì)應(yīng)寄存器參數(shù)     下載原表

    表2 外部晶振頻率16MHz時(shí)傳輸波特率及所對(duì)應(yīng)寄存器參數(shù)

    在配置中,開啟了單濾波模式的驗(yàn)收濾波器。驗(yàn)收濾波器包括驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR)。信息標(biāo)示符和驗(yàn)收濾波器中預(yù)設(shè)值一致時(shí),才會(huì)被SJA1000接收。驗(yàn)收濾波器原理如圖9所示。

    圖9 驗(yàn)收濾波器工作原理

    圖9 驗(yàn)收濾波器工作原理   下載原圖


    ACR定義所要接收信息標(biāo)示符的值,AMR定義所要屏蔽的位,當(dāng)AMR的某位值為1時(shí),則對(duì)應(yīng)的標(biāo)示符位為需要驗(yàn)收,而當(dāng)其為0時(shí),則對(duì)應(yīng)的標(biāo)示符位不需驗(yàn)收。

    4.2.3 數(shù)據(jù)發(fā)送與接收

    數(shù)據(jù)發(fā)送時(shí),用戶首先要將所發(fā)送的數(shù)據(jù)按照相關(guān)協(xié)議規(guī)定的格式,組成數(shù)據(jù)幀。將數(shù)據(jù)幀送入SJA1000發(fā)送緩沖區(qū)后,執(zhí)行發(fā)送命令。SJA1000中,和數(shù)據(jù)發(fā)送密切相關(guān)的寄存器,主要有兩個(gè),分別是用于設(shè)置發(fā)送模式的CMR寄存器以及用于監(jiān)控總線狀態(tài)的SR寄存器。CMR寄存器如表3所示,通過其可以對(duì)數(shù)據(jù)發(fā)送進(jìn)行設(shè)置。

    表3 CMR寄存器     下載原表

    表3 CMR寄存器

    其中,TR為發(fā)送請(qǐng)求位,AT為終止傳送位,SRR為自接受請(qǐng)求位。

    SR寄存器如表4所示。

    表4 SR寄存器     下載原表

    表4 SR寄存器

    其中,BS指示總線狀態(tài),總線關(guān)閉時(shí)為0,總線開啟時(shí)為1;ES指示錯(cuò)誤狀態(tài),偵測(cè)到錯(cuò)誤時(shí)該位置1;TS指示發(fā)送狀態(tài),有數(shù)據(jù)正在發(fā)送時(shí)該位置1;RS指示接收狀態(tài),有數(shù)據(jù)正在接收時(shí)該位置1;TCS指示發(fā)送完畢狀態(tài),最后一次數(shù)據(jù)發(fā)送已被成功處理時(shí),該位置1,否則置0;TBS指示發(fā)送緩沖器狀態(tài),置1時(shí)表示可以向緩沖器中寫入數(shù)據(jù),置0時(shí)表示緩沖器鎖定;DOS指示數(shù)據(jù)溢出情況,置1時(shí)表示報(bào)文因存儲(chǔ)空間不足有部分溢出丟失;RBS為接收緩沖器狀態(tài),置1時(shí)表示緩沖器中有未處理的數(shù)據(jù),置0時(shí)表示接收緩沖器為空。

    發(fā)送命令執(zhí)行前,一般需要進(jìn)行發(fā)送檢查。檢查內(nèi)容包括3個(gè)狀態(tài)位,一是RS,看控制器是否正在接收信息,如果是則需要等接收完成后才能申請(qǐng)發(fā)送;二是TCS,看是否還有未完成發(fā)送的信息,如果有,則需要等待發(fā)送完成后再申請(qǐng)發(fā)送;三是TBS,看發(fā)送緩沖區(qū)鎖定情況,如果處于鎖定狀態(tài),需要待其清零后才能向緩沖區(qū)寫入數(shù)據(jù)。

    接收數(shù)據(jù)時(shí)程序采用查詢方式,程序流程如圖10所示。

    圖1 0 數(shù)據(jù)發(fā)送流程圖

    圖1 0 數(shù)據(jù)發(fā)送流程圖   下載原圖


    為了保證較高的響應(yīng)速度,程序中設(shè)置了中斷的方式用于接收數(shù)據(jù)。接收數(shù)據(jù)的流程與發(fā)送數(shù)據(jù)相似,也需要判斷多個(gè)狀態(tài),主要涉及中斷狀態(tài)寄存器IR,其結(jié)構(gòu)如表5所示。

    表5 IR寄存器     下載原表

    表5 IR寄存器

    其中,BEI為總線錯(cuò)誤中斷位,檢測(cè)到總線錯(cuò)誤時(shí)置1;ALI為仲裁丟失中斷位,出現(xiàn)丟失仲裁時(shí)置1;EPI為錯(cuò)誤認(rèn)可中斷位,當(dāng)控制器達(dá)到錯(cuò)誤認(rèn)可狀態(tài)時(shí)置1;WUI為喚醒中斷位,當(dāng)控制器從休眠狀態(tài)被喚醒時(shí)置1;DOI為數(shù)據(jù)溢出中斷位,當(dāng)出現(xiàn)數(shù)據(jù)溢出時(shí)置1;EI為錯(cuò)誤報(bào)警中斷位,當(dāng)檢測(cè)到錯(cuò)誤時(shí)置1;TI為發(fā)送中斷位,當(dāng)一次發(fā)送完成時(shí)置1;RI為接收中斷位,當(dāng)出現(xiàn)一次數(shù)據(jù)接收時(shí)置1。

    首先,讀取中斷狀態(tài)寄存器IR,判斷是否存在錯(cuò)誤或其它異常情況,如果有異常情況,需要先讀取中斷寄存器把錯(cuò)誤標(biāo)志清除,然后進(jìn)行相應(yīng)的處理;其次看是否出現(xiàn)數(shù)據(jù)溢出情況,如果有數(shù)據(jù)溢出,需要釋放掉接收緩沖區(qū),將本次接收數(shù)據(jù)作廢;最后檢查是否存在其他錯(cuò)誤;當(dāng)以上檢查均無異常后,可正常進(jìn)行數(shù)據(jù)接收,程序流程如圖11所示。

    同時(shí),當(dāng)有數(shù)據(jù)到來時(shí),SJA1000給單片機(jī)外部中斷0(INT0)發(fā)送一個(gè)中斷信號(hào),單片機(jī)進(jìn)入中斷。在INT0的服務(wù)程序中,單片機(jī)分別對(duì)總線狀態(tài)、數(shù)據(jù)溢出標(biāo)志等進(jìn)行讀取,判斷數(shù)據(jù)正常后,讀取數(shù)據(jù)并釋放緩沖區(qū)。

    圖1 1 數(shù)據(jù)接收流程圖

    圖1 1 數(shù)據(jù)接收流程圖   下載原圖


    5 結(jié)語

    針對(duì)傳統(tǒng)倉儲(chǔ)平臺(tái)普遍存在自動(dòng)化程度低,控制不便,數(shù)據(jù)存儲(chǔ)查詢節(jié)點(diǎn)遠(yuǎn)離現(xiàn)場(chǎng)等問題,本文設(shè)計(jì)了一種基于CAN總線的由控制站與現(xiàn)場(chǎng)網(wǎng)絡(luò)構(gòu)成的分布式倉儲(chǔ)系統(tǒng)。由于CAN總線具有傳輸距離遠(yuǎn)(傳輸速率5Kbps時(shí)直接傳輸距離可達(dá)10km)的優(yōu)點(diǎn),系統(tǒng)的控制站可以脫離控制現(xiàn)場(chǎng),并與前端的數(shù)據(jù)存儲(chǔ)與查詢系統(tǒng)整合。得益于CAN總線特點(diǎn),在總線上可掛載多達(dá)110個(gè)節(jié)點(diǎn),極大方便了倉儲(chǔ)貨柜的數(shù)量擴(kuò)展。同時(shí),在遠(yuǎn)端的控制站可以有效可靠地對(duì)被控節(jié)點(diǎn)進(jìn)行控制,說明CAN總線網(wǎng)絡(luò)在倉儲(chǔ)系統(tǒng)自動(dòng)化控制設(shè)計(jì)中具有較高的實(shí)用性。

    權(quán)所有©:上海陽合儲(chǔ)運(yùn)
    專業(yè)承接上海倉庫租賃、上海倉儲(chǔ)配送物流、上海電商倉儲(chǔ)企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。 

    友情鏈接: 消防車  分析儀器  北京拓展訓(xùn)練    雞排加盟   恒溫振蕩器  別墅泳池設(shè)備  外貿(mào)論壇    檔案管理系統(tǒng)    酒精測(cè)試儀    旋轉(zhuǎn)火鍋設(shè)備  假山制作   煙臺(tái)裝修  地坪漆    實(shí)心輪胎   垃圾車 位移傳感器     貨運(yùn)管理軟件   鋼制暖氣片  濟(jì)南雕刻機(jī)  羅斯蒙特3051  影像測(cè)量?jī)x
       食品級(jí)軟管     鶴管    三相電表   AGV叉車  切削液  有限元分析
    機(jī)房監(jiān)控   數(shù)控銑床  原子熒光光譜儀   移動(dòng)廁所
    滬公網(wǎng)安備 31011402008344號(hào) 滬ICP備14036201號(hào)-32