發布日期:2022-04-27 點擊率:126
本文介紹了使用CAN總線技術,把商品存儲環境條件檢測裝置用一根線連起來,就避免了每一單個檢測裝置都單獨與主機相連的繁瑣,降低了成本,同時也充分利用了主機的資源。而CAN總線技術也能保證不同類型的數據信號在總線上安全的進行傳輸。
在當今社會,人們的物質生活水平面日益提高,對商品的質量要求越來越高。這樣,商品的存儲環節的工作變得愈顯重要,這關系到商品的質量保持的時間長短與否。而對存儲最基本的要求就是存儲區內的溫度、濕度要求等。現在的存儲環境條件檢測大多是靠機械式儀表來進行,而且是利用人工定時進行記錄數據,結果是數據精度低、不夠實時。有一些大型倉庫是采用了電子檢測設備,但也是主要進行局部檢測,不能覆蓋整個倉庫區域。且當檢測位置多、檢測數據類型多時,檢測裝置的安裝和與主機的通信都顯得過于復雜。這樣,筆者就考慮使用CAN總線技術,把所有的檢測裝置用一根線連起來,就避免了每一單個檢測裝置都單獨與主機相連的繁瑣,降低了成本,同時也充分利用了主機的資源。而CAN總線技術也能保證不同類型的數據信號在總線上安全的進行傳輸。
1 CAN總線簡介
CAN總線能在極端惡劣的環境下運作,具有抗瞬間干擾的能力,其控制器接口有降低射頻干擾的斜率控制;有較強的檢錯能力。CAN節點可在不要求所有節點及其應用層改變任何軟件或硬件的情況下被接于CAN網絡中。由于采用了許多新技術及獨特的設計,CAN總線與一般的通信總線相比,它的數據通信具有突出的可靠性、實時性和靈活性。其特點如下:
· CAN為多主方式工作,網絡上任意一個節點均可在任意時刻主動地向網絡上其它節點發送信息,而不分主從,通信方式靈活。
· 在報文標識符上,CAN上的節點分成不同的優先級,可滿足不同的實時要求。
· CAN采用非破壞性總線仲裁技術。CAN節點只需通過對報文的標識符濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送接收數據。
· 報文采用短幀結構,傳輸時間短,受干擾概率低,保證了數據出錯率極低。
· CAN的每幀信息都有CRC校驗及其他檢錯措施,具有極好的檢錯效果。
· CAN通信介質可為雙絞線、同軸電纜或光纖,可通過標準插接件方便地連接。
· CAN節點在錯誤嚴重的情況下,具有自動關閉總線的功能,切斷它與總線的聯系,以使總線上其它節點的操作不受影響。
2 測控系統總體方案設計
環境參數測控系統設計為基于CAN總線的分布式測量控制顯示系統,主要用于倉庫等大型空間內的各種環境參數的測量、控制與顯示,使環境參數達到物品存儲的要求。
2.1 系統組成
環境參數測控系統包括4個主要的子系統,系統框圖如圖1所示。
圖1 系統結構框圖
(1) 計算機子系統。由工業控制計算機、顯示器和打印機等組成。
(2) 數據傳輸通信子系統。由裝在上位機上的CAN總線通信適配卡、裝在前端調節執行機構上的通信卡和數據傳輸通信介質組成。
(3) 測量傳感器子系統。由電量傳感器和CCD傳感器組成。
(4) 調節執行機構控制子系統。由調節執行機構、力傳感器和調節執行機構前端機組成。
2.2 系統工作原理
環境參數測控系統利用傳輸信號簡單、通信速率高、實時性強的CAN總線將一臺上位機與一臺前端機和眾多的傳感器連接起來,完成存儲空間內的環境參數測量,在經過主機處理后,再把控制信號傳給執行前端機,以控制環境參數的變化。通信介質可采用雙絞線,也可采用75Ω同軸電纜。
電量傳感器和CCD傳感器主要完成環境中各參數的測量任務。它包括CCD攝像機、信號采集板、A/D傳感器、高速緩存等。調節執行機構主要完成對環境參數的調節作用,也就是根據主機的信號進行相應的操作,使各環境參數保持在預先規定的范圍內。它主要由大功率繼電器、傳感器、電流控制裝置、可調整支架等組成。主機采用高性能工控機,具有高抗擾工業級電源,硬盤及機箱防磁、防塵。作為測量控制通信中心,主機主要完成測控系統有關參數的設置、測試通信的分段標被測參數的整理計算、參數顯示、打印輸出、數據存盤及控制調節機構進行環境參數的調節動作。如此機接入了網絡,也可實現與其它計算機的聯網,實現數據共享。
3 測控系統主要分系統設計
3.1 數據傳輸通信子系統
此系統由裝在主機中的CAN總線通信卡,裝在調節執行機構中的通信卡和數據傳輸介質組成。在本系統中,方案設計為PCI-CAN控制通信卡,CAN控制器卡集成兩路電氣隔離的CAN通道,使工控機方便地連接到CAN總線上,實現CAN總線協議的連接通信。CAN控制器卡整體結構框圖如圖2所示。
圖2 CAN控制器卡整體結構框圖
3.2 調節執行機構控制子系統
此系統采用單片機構成一個控制系統。接收來自主機的控制信號,通過繼電器來對機械執行機構進行控制,以調節諸如包括溫度、濕度、氣體壓力和氣體百分比容量等參數。此系統框圖如圖3所示。
圖3 機械執行機構框圖
4 系統主要軟件設計
4.1 CAN總線接口的初始化設計
CAN控制器卡的軟件設計主要分為三部分:CAN初始化、數據發送及數據接收。系統軟件設計的指導思想是:系統上電后,首先對SJA1000進行初始化,配置SJA1000的控制段寄存器內容以設定通信參數(如:模式、位速率、驗收碼、屏蔽碼、字段長、總線定時、波特率、輸出特性等)。初始化完成后,SJA1000按設定值控制CAN總線上的通信。系統是否能正常地工作,初始化程序的設計是個關鍵。CAN初始化主要是設置CAN的通信參數,即通過對CAN控制器段中的寄存器進行設置,從而確定CAN控制器的工作方式等。初始化程序的流程圖如圖4所示。
圖4 SJA1000初始化流程圖
總線定時寄存器的設置極大地影響了CAN性能的發揮。一般來說,若硬件連接無誤,通信失敗的主要原因在于總線定時寄存器設置不當。它確定了3個時間—時鐘周期、系統周期和位周期之間的關系。對BTR0操作,可決定波特率預分頻器BRP和同步跳轉寬度SJW的數值;對BTR1進行寫操作,可決定位周期的寬度、采樣點的位置及在每個采樣點進行采樣的次數。這兩個寄存器的內容,可唯一確定波特率及同步跳轉寬度。只有當系統中的所有節點的BTR0和BTR1的內容都相同時,才能正常通信。關于CAN總線波特率的設置參見表1。
表1 CAN總線波特率設置
4.2 驅動程序開發
PCI總線接口設備的一大特點是即插即用。因此,在軟件上必須編寫能夠實現即插即用功能的設備驅動程序。從廣義上來說,驅動程序就是控制硬件的一組函數。PCI設備驅動程序的開發,就是取得PCI板卡所占用的各種資源(內存、端口、中斷和DMA等),并提供給用戶一條可以訪問這些資源的途徑。在本設計中,由于PCI9052的中斷、I/O端口、映射內存等資源都是動態分配的,必須編寫驅動程序來管理硬件,才能供用戶編程使用。
WinDriver是專業的設備驅動程序開發工具。利用它的驅動程序向導(Driver Wizard),可以快速測試新硬件,并生成設備驅動程序框架。在寫設備驅動程序之前,重要的一點是確保硬件準確無誤。用WinDriver的驅動程序向導DriverWizard 提供的診斷程序Diagnostic Program來診斷CAN控制器卡。此診斷程序支持多種類型的芯片,本設計采用PCI9052作為PCI接口芯片,由于WinDriver PLX 9050的庫完全與PLX 9052兼容,可以選擇PLX 9050診斷程序9050Diag.exe,它通過WinDriver的程序訪問硬件。
5 結語
由于工控機及先進的數據采集處理技術的應用,大大提高了對環境參數的測控,并提高了測控精度。CAN總線的使用使整個復雜的系統更加簡潔、緊湊,提高了測控系統的抗干擾能力,同時也增強了系統的安全性。接入局域網,可使操作人員遠距離對測控系統進行控制,實現測控數據的遠距離傳輸。
下一篇: 斷路器、隔離開關、接
上一篇: 索爾維全系列Solef?PV