凯时k66平台-Welcome_Page0538
    歡迎進入上海凯时k66平台供應鏈管理有限公司!
  •  13472705338 

  • “視聽+雲倉儲+精準扶貧”電商模式的脫貧經驗探討
  • 倉儲型物流企業的經營模式創新
  • 現代倉儲管理中條形碼技術的運用
  • 基於ioses平台的小型倉儲管理係統設計
  • 用6S管理注入倉儲管理係統內涵推升倉儲運營水準
  • 基於第三方物流的倉儲成本控製研究
  • 物流公司倉儲管理案例分析
  • 第三方物流企業倉儲貨位係統優化分析
  • 鄭州航空物流倉儲合理化研究
  • 新形勢下深化完善國有糧食倉儲企業內控機製的實踐與思考
  • 企業智能倉儲作業流程分析——以徐州新沂百世雲倉公司為例
  • 醫藥物流邁向雲倉多倉聯動
  • RFID技術在銅仁地區煙草倉儲物流管理係統中的應用
  • 淺談糧情測控遠程監管係統在倉儲管理中的應用
  • 淺談石油物資倉儲管理部門入庫驗收管理
  • 多層倉儲式數據中心建築設計研究
  • 煙葉倉儲害蟲綜合治理研究進展
  • 無線智能倉儲管理係統的設計與實現
  • 靜電粉末與殺蟲劑混用對倉儲甲蟲的殺蟲效果及穀物品質的影響
  • 關於雲計算技術物聯網倉儲管理係統設計
  • 當前位置:首頁 >>   新聞資訊新聞資訊

    基於CAN總線的分布式倉儲係統設計

      信息來源:   發布時間:2021-09-01  點擊數:

    0 引言

    在倉儲管理領域中,傳統倉儲平台普遍存在自動化程度低、控製不便及數據存儲查詢節點遠離現場等問題,在倉儲作業中,往往仍以人力為主,缺少自動化控製體係。針對上述問題,本文設計了一種基於CAN總線的分布式倉儲係統,通過遠程控製貨櫃開閉,驗證CAN總線在倉儲係統自動化控製中應用的可行性。係統由控製站與現場網絡兩級構成,控製站為帶有CAN收發設備的便攜式計算機,現場網絡由多個受控節點組成,每個節點以高性能單片機為核心、CAN收發設備作為外圍網絡接口、帶有可控電磁鎖的貨櫃為動作執行部分,操作人員可以在控製站查看貨櫃物資並根據需求對貨櫃的開啟與關閉進行控製。

    1 CAN總線概述

    1.1 CAN總線特點

    CAN(Controller Area Net,控製器局部網),作為現場總線之一,是一種有效支持分布式控製或實時控製的串行通信網絡。CAN最早應用於汽車工業,由於其高性能、高可靠性以及獨特的設計而越來越受到人們的重視,後在電力、製造、冶金以及航天等不同行業普及,目前CAN已經成為一種國際標準(ISO-11898),是最有前途的現場總線之一。CAN總線特點如下:

    1)兩線通信,隻需兩根線即可連接最多128個設備;

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

    3)CAN可以以多主機方式工作,網絡上任意一個節點均可以在任意時刻向其他節點發送信息,不分主從,通信方式靈活;

    4)CAN通信距離最遠可達10Km(5KBps),通信速率最高可達1 MBps(40m),具有優秀的幀校驗及錯誤處理能力。

    1.2 CAN總線物理結構

    CAN總線的核心是控製器和收發器。CAN控製器的作用是將需要收發的數據按照CAN的幀格式和編碼方式轉換成協議數據流(發送),或者解碼(接收)。CAN收發器的作用是將控製器發送來的TTL信號轉換為CAN標準的差分信號,收發器與物理實體線直接相連。

    CAN總線網絡由兩條信號線組成,分別為CAN_H與CAN_L,各個節點通過這兩條線實現信號的串行差分傳輸。CAN能夠使用多種物理介質,如雙絞線、光纖等,最常用的就是雙絞線。同時,為避免信號的幹擾和反射,常在CAN_H於CAN_L間接入阻值為120Ω的電阻。

    1.3 CAN協議

    CAN總線的數據傳輸采用“不歸零碼”,其數值為兩種互補邏輯:“顯性”及“隱性”,顯性數值表示邏輯“0”,隱性數值表示邏輯“1”。CAN協議中有兩種邏輯判定標準,分別為ISO11898和ISO11519,兩者差分電平特性不同。ISO11898為高速傳輸標準,當CAN_H與CAN_L電壓差為0時,邏輯信號表現為“隱性”,反之,當兩線間壓差等於2V時,邏輯信號表現為“顯性”。ISO11519為低速傳輸標準,當CAN_H與CAN_L電壓差為-1.5V時,邏輯信號表現為“隱性”,反之,當兩線間壓差等於3V時,邏輯信號表現為“顯性”。ISO11519標準如圖1所示。

    圖1 ISO11519標準中的總線數值表示

    圖1 ISO11519標準中的總線數值表示   下載原圖


    CAN總線協議中約定了5個不同的報文格式:數據幀、遠程幀、錯誤幀、過載幀以及隔離幀。其中,數據幀分為標準幀和擴展幀兩種,主要功能是將數據從發送器傳輸到接收器;遠程幀和數據幀非常類似,隻是遠程幀沒有數據域,其主要由數據接收端發送,作為請求發送數據的標識;錯誤幀是當總線的某一個節點檢測到錯誤後進行發送的,會使總線上所有節點都檢測到一個錯誤,因此當有任何一個節點發生錯誤是,總線上的其他節點也會發出錯誤幀;過載幀是接收節點用來向發送節點告知自身接收能力的幀,當某個節點數據處理能力不足時,發送過載幀。圖2是標準數據幀的結構。

    圖2 標準數據幀結構

    圖2 標準數據幀結構   下載原圖


    2 分布式控製係統總體設計

    係統分為控製站與現場網絡兩部分,控製站用於與操作人員交互,接受操作指令並將其傳送至現場網絡。現場網絡由多個存儲櫃組成,每個存儲櫃自成控製節點,接受控製站送來的指令,並將其轉化為控製動作。控製站及現場網絡間利用CAN總線相連,拓撲結構如圖3所示。

    由於當總線空閑時,任何節點都能向線上發送報文,如果兩個以上節點同時發送,就可能導致總線訪問衝突。為了解決總線上多點競爭的問題,CAN協議中給出了總線仲裁的解決方案。即出現衝突時,每個發送節點都需要對發送的電平與被監控的總線電平進行比較。當電平相同時,這個節點可以繼續發送;當電平不同,例如發送的是隱性邏輯信號而監視到的是顯性邏輯信號,則該節點失去仲裁,必須退出發送狀態。同時,在常用幀的優先級判定上,遵循3個原則:

    圖3 係統拓撲結構

    圖3 係統拓撲結構   下載原圖


    1)幀標識符(ID)越小,優先級越高;

    2)由於數據幀的RTR位為顯性電平,遠程幀為隱性電平,所以在某2幀或多幀標識符相同的情況下,數據幀具有更高的優先級;

    3)由於標準幀的IDE位為顯性電平,擴展幀的IDE位為隱形電平,對於前11位ID相同的標準幀和擴展幀,標準幀具有更高的優先級。

    3 控製站設計

    為簡化係統結構,控製站采用便攜式計算機加CAN總線收發器的設計,便攜式計算機與CAN總線收發器以RS-232串行接口進行連接。在軟件設計上,編寫包含與CAN總線收發器通信等功能函數的動態鏈接庫“controlCAN.dll”,實現了CAN總線通信功能的模塊化封裝,使其可以適用於多種不同語言。

    同時,控製站上整合了倉儲物資的數據庫,在控製站上可以實現對物資的信息查詢機處理。

    4 控製節點設計

    4.1 硬件設計

    控製節點可實現三大功能,分別為中央控製、CAN總線通信、動作執行以及狀態反饋及顯示。

    4.1.1 中央控製部分

    該部分以89C52單片機為核心,主要用於通過與控製站進行信息交互,依據接收控製站發送的信息,生成控製指令,將控製指令發送給執行部分執行控製動作,同時將傳感器反饋的受控對象狀態返回至控製站。另外,還通過MAX232芯片擴展了備用的RS-232串行接口。

    單片機與CAN總線控製器通過地址總線與數據總線的方式連接,占用P0接口,單片機的P1接口用於為動作執行部分發送控製指令,P2及部分P3接口用於接收並顯示狀態反饋信號。

    圖4 中央控製部分電路

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


    4.1.2 CAN總線通信部分

    采用CAN總線控製芯片SJA1000以及CAN總線收發芯片82C250實現CAN總線通信功能,SJA1000與82C250部分電路如圖5所示。

    圖5 CAN總線通信部分電路

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


    SJA1000是NXP半導體生產的CAN總線控製器芯片,是常用的CAN總線控製器之一。其支持CAN2.0A與CAN2.0B兩種不同協議,兩種工作模式可以通過芯片內部時鍾分頻寄存器CDR的CAN模式位來選擇,本設計使用了CAN2.0B協議。SJA1000通過8位數據總線與單片機進行數據傳遞,單片機可以通過控製SJA1000的片選、讀允許、寫允許、地址鎖存等引腳實現對數據傳輸的時序控製。同時,SJA1000芯片的中斷輸出引腳與單片機的外部中斷INT0相連,以便於當接收到總線上傳來的數據後,能迅速引起中斷,及時對數據進行處理。CAN總線控製器的輸出與CAN總線收發器PCA82C250相連,TTL信號從控製器傳輸給收發器後,進行編碼處理。

    PCA82C250芯片CAN總線收發器提供了CAN控製器與物理總線之間的接口,對總線提供差動發送能力,並對CAN控製器提供差動接收能力。SJA1000通過串行數據輸出線(Tx)與串行數據輸入線(Rx)連接到PCA82C250上,收發器通過有差動發送和接收功能的兩個總線終端CAN_H與CAN_L連接到總線電纜,同時為了避免信號幹擾,在兩根數據線之間接入阻值為120Ω的電阻。當SJA1000輸出串行數據流至收發器時,收發器內部上拉功能將其拉至邏輯高電平,即總線輸出默認是隱性的。若數據是邏輯低電平,則總線的輸出級激活,輸出級由一個源輸出級與一個下拉輸出級組成,激活後會在總線電纜上產生一個顯性的電平信號。收發器中接收器的比較器將差分總線信號轉換成邏輯信號電平,並在Rx引腳輸出至總線控製器進行譯碼。接收器的比較器總是工作的,即當總線節點傳輸一個報文時,它同時也監控總線。

    4.1.3 動作執行部分

    動作執行部分由多路光電耦合器、固態繼電器以及櫃體上電磁鎖組成。光電耦合器對單片機及繼電器進行了隔離,接到單片機控製指令後,9V電源通過繼電器送入櫃體電磁鎖,使電磁鎖動作。動作執行部分電路如圖6所示。

    對於上述控製部分,為每一路設計光電隔離,主要考慮兩個方麵:一是切斷可能存在的信號幹擾通道,避免核心電路受到外部幹擾影響;二是保護內部核心電路,當外部執行機構出現瞬変脈衝等情況時,隻會影響光電耦合器,不會對內部電路造成損壞。

    同時,最初設計時,為了節省成本,執行機構控製部分所使用的均為電磁繼電器,但在測試中發現,電磁繼電器狀態變化時觸點上產生的火花會對CAN總線數據傳輸造成幹擾,外加RC吸收電路後並無明顯改觀,因此在後續設計中執行機構控製部分一律使用固態繼電器。

    4.1.4 狀態反饋部分

    狀態反饋部分通過櫃體上的傳感器向單片機返回箱門狀態,同時利用LED顯示相應狀態。

    4.2 軟件設計

    4.2.1 軟件總體設計及通信格式

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

    控製站與控製節點采用的通信數據格式如圖7所示。其中,以一個顯性位為幀頭,後以兩個字節數據發送標示符,包括11位接收設備地址以及1位數據/遠程幀標識位(RTR),本設計中,控製站的地址碼為0x0020,4個控製節點地址碼依次遞增,為0x0040、0x0080、0x00A0、0x00C0、0x00E0,RTR位為0。標示符之後,為四位數據長度碼,以字節為單位。長度碼後為1字節數據。之後,為15位冗餘校驗碼以及2位一致性檢驗位,最後由7個隱性位作為幀尾,結束本數據幀。

    圖6 動作執行部分電路

    圖6 動作執行部分電路   下載原圖


    圖7 軟件總體流程

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


    圖8 通信數據格式示意圖

    圖8 通信數據格式示意圖   下載原圖


    4.2.2 SJA1000工作配置

    CAN收發器SJA1000在工作前需要對其進行配置。SJA1000的模式寄存器各控製字如表1所示。

    表1 信號調理電路輸出電壓試驗數據     下載原表

    表1 信號調理電路輸出電壓試驗數據

    其中,Bit0位(RM)為複位模式選擇,當RM=1時進入複位模式,當RM=0時退出複位模式。

    配置時需通過設置模式寄存器使其進入複位模式,對SJA1000的配置主要設置工作模式、工作時鍾、中斷方式、本機地址、接收屏蔽、通信頻率等內容,詳細程序如下:



    設置傳輸波特率是配置SJA1000重要的一環,傳輸波特率由總線定時寄存器0(BTR0)與總線定時寄存器1(BTR1)進行設置。BTR0定義了波特率預設值和同步跳轉寬度的值,BTR1定義了每個位周期的長度、采樣點的位置和在每個采樣點的采樣次數。

    CAN係統時鍾由如下公式計算:

     


    通常來講,在外部時鍾為16MHz時,總線定時器的值可以按表2參數確定。

    表2 外部晶振頻率16MHz時傳輸波特率及所對應寄存器參數     下載原表

    表2 外部晶振頻率16MHz時傳輸波特率及所對應寄存器參數

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

    圖9 驗收濾波器工作原理

    圖9 驗收濾波器工作原理   下載原圖


    ACR定義所要接收信息標示符的值,AMR定義所要屏蔽的位,當AMR的某位值為1時,則對應的標示符位為需要驗收,而當其為0時,則對應的標示符位不需驗收。

    4.2.3 數據發送與接收

    數據發送時,用戶首先要將所發送的數據按照相關協議規定的格式,組成數據幀。將數據幀送入SJA1000發送緩衝區後,執行發送命令。SJA1000中,和數據發送密切相關的寄存器,主要有兩個,分別是用於設置發送模式的CMR寄存器以及用於監控總線狀態的SR寄存器。CMR寄存器如表3所示,通過其可以對數據發送進行設置。

    表3 CMR寄存器     下載原表

    表3 CMR寄存器

    其中,TR為發送請求位,AT為終止傳送位,SRR為自接受請求位。

    SR寄存器如表4所示。

    表4 SR寄存器     下載原表

    表4 SR寄存器

    其中,BS指示總線狀態,總線關閉時為0,總線開啟時為1;ES指示錯誤狀態,偵測到錯誤時該位置1;TS指示發送狀態,有數據正在發送時該位置1;RS指示接收狀態,有數據正在接收時該位置1;TCS指示發送完畢狀態,最後一次數據發送已被成功處理時,該位置1,否則置0;TBS指示發送緩衝器狀態,置1時表示可以向緩衝器中寫入數據,置0時表示緩衝器鎖定;DOS指示數據溢出情況,置1時表示報文因存儲空間不足有部分溢出丟失;RBS為接收緩衝器狀態,置1時表示緩衝器中有未處理的數據,置0時表示接收緩衝器為空。

    發送命令執行前,一般需要進行發送檢查。檢查內容包括3個狀態位,一是RS,看控製器是否正在接收信息,如果是則需要等接收完成後才能申請發送;二是TCS,看是否還有未完成發送的信息,如果有,則需要等待發送完成後再申請發送;三是TBS,看發送緩衝區鎖定情況,如果處於鎖定狀態,需要待其清零後才能向緩衝區寫入數據。

    接收數據時程序采用查詢方式,程序流程如圖10所示。

    圖1 0 數據發送流程圖

    圖1 0 數據發送流程圖   下載原圖


    為了保證較高的響應速度,程序中設置了中斷的方式用於接收數據。接收數據的流程與發送數據相似,也需要判斷多個狀態,主要涉及中斷狀態寄存器IR,其結構如表5所示。

    表5 IR寄存器     下載原表

    表5 IR寄存器

    其中,BEI為總線錯誤中斷位,檢測到總線錯誤時置1;ALI為仲裁丟失中斷位,出現丟失仲裁時置1;EPI為錯誤認可中斷位,當控製器達到錯誤認可狀態時置1;WUI為喚醒中斷位,當控製器從休眠狀態被喚醒時置1;DOI為數據溢出中斷位,當出現數據溢出時置1;EI為錯誤報警中斷位,當檢測到錯誤時置1;TI為發送中斷位,當一次發送完成時置1;RI為接收中斷位,當出現一次數據接收時置1。

    首先,讀取中斷狀態寄存器IR,判斷是否存在錯誤或其它異常情況,如果有異常情況,需要先讀取中斷寄存器把錯誤標誌清除,然後進行相應的處理;其次看是否出現數據溢出情況,如果有數據溢出,需要釋放掉接收緩衝區,將本次接收數據作廢;最後檢查是否存在其他錯誤;當以上檢查均無異常後,可正常進行數據接收,程序流程如圖11所示。

    同時,當有數據到來時,SJA1000給單片機外部中斷0(INT0)發送一個中斷信號,單片機進入中斷。在INT0的服務程序中,單片機分別對總線狀態、數據溢出標誌等進行讀取,判斷數據正常後,讀取數據並釋放緩衝區。

    圖1 1 數據接收流程圖

    圖1 1 數據接收流程圖   下載原圖


    5 結語

    針對傳統倉儲平台普遍存在自動化程度低,控製不便,數據存儲查詢節點遠離現場等問題,本文設計了一種基於CAN總線的由控製站與現場網絡構成的分布式倉儲係統。由於CAN總線具有傳輸距離遠(傳輸速率5Kbps時直接傳輸距離可達10km)的優點,係統的控製站可以脫離控製現場,並與前端的數據存儲與查詢係統整合。得益於CAN總線特點,在總線上可掛載多達110個節點,極大方便了倉儲貨櫃的數量擴展。同時,在遠端的控製站可以有效可靠地對被控節點進行控製,說明CAN總線網絡在倉儲係統自動化控製設計中具有較高的實用性。

    權所有©:上海凯时k66平台儲運
    專業承接上海倉庫租賃、上海倉儲配送物流、上海電商倉儲企業服務與微笑同在"的先進理念不斷發展壯大。 

    友情鏈接: 消防車  分析儀器  北京拓展訓練    雞排加盟   恒溫振蕩器  別墅泳池設備  外貿論壇    檔案管理係統    酒精測試儀    旋轉火鍋設備  假山製作   煙台裝修  地坪漆    實心輪胎   垃圾車 位移傳感器     貨運管理軟件   鋼製暖氣片  濟南雕刻機  羅斯蒙特3051  影像測量儀
       食品級軟管     鶴管    三相電表   AGV叉車  切削液  有限元分析
    機房監控   數控銑床  原子熒光光譜儀   移動廁所
    滬公網安備 31011402008344號 滬ICP備18479751號-32