過(guò)程分析儀器CAN網(wǎng)絡(luò )通信設計
引言
本文引用地址:http://dyxdggzs.com/article/155622.htm現代流程工業(yè)的過(guò)程控制中,分析檢測具有在線(xiàn)、多組分、實(shí)時(shí)檢測的特點(diǎn),對分析儀器在穩定、可靠、快速、準確等方面有著(zhù)嚴格的要求。而廣泛使用的工業(yè)色譜儀采用色譜分離原理,分析周期長(cháng)達數分鐘至數十分鐘,難以實(shí)現過(guò)程的直接質(zhì)量控制。過(guò)程拉曼光譜儀和激光調制光譜儀等新技術(shù)目前價(jià)格昂貴,關(guān)鍵技術(shù)尚在研究階段,難以普及。利用技術(shù)成熟的單檢測器單組分過(guò)程分析儀器,通過(guò)分析傳感器組合技術(shù)和嵌入式計算機技術(shù),實(shí)現多組分實(shí)時(shí)檢測和建立簡(jiǎn)便快捷的分析儀器通信網(wǎng)絡(luò )系統已成為近期國內外分析儀器研發(fā)的熱點(diǎn)之一。
基于單片機(80C196)或微處理器(DSP、ARM 等)的多組分氣體分析儀采用功能強大的CPU,可實(shí)時(shí)快速測定各種燃燒設備的各項熱工參數。根據測量數據,通過(guò)自動(dòng)調節裝置調整風(fēng)量,保持適當的空氣/燃料比,使燃料系統達到最佳運行狀態(tài),以獲得最高的燃燒效率和最低的燃料消耗。儀器還可以測定CO、SO2、NO、NO2、煙氣黑度等參數,并配有液晶屏、鍵盤(pán)等外設。
CAN(Controll Area Network)是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一,使用了一種串行多控制方通信協(xié)議,可以有效地支持分布式實(shí)時(shí)控制,并且具有很高的安全性和高達1Mbps的通信速率。
一個(gè)包含PC 機和n-1(n≤110)個(gè)智能節點(diǎn)的CAN 總線(xiàn)網(wǎng)絡(luò )結構圖如圖1 所示。
圖1 n 個(gè)節點(diǎn)的CAN 網(wǎng)絡(luò )結構圖
信息的傳輸采用CAN 通信協(xié)議,傳輸介質(zhì)采用雙絞線(xiàn),如果需要進(jìn)一步提高系統的抗干擾能力,還可以在控制器和傳輸介質(zhì)之間加接光電隔離,電源采用DC-DC 變換器等措施。
1 分析儀器CAN 網(wǎng)絡(luò )應用層協(xié)議的制定
CAN 的國際標準中只定義了物理層和數據鏈路層的規范,由于本項目構建的CAN 總線(xiàn)網(wǎng)絡(luò )節點(diǎn)數目不多,所有節點(diǎn)都由項目組自行設計,不需要與國際標準設備進(jìn)行接口,所以,這里根據本項目的具體情況,制定了一個(gè)簡(jiǎn)易的CAN 應用層協(xié)議。
根據廠(chǎng)方要求,網(wǎng)絡(luò )初步規劃應至少可容納16 個(gè)節點(diǎn)。上位機收集各分析儀器的信息,包括氣體組分分析含量、出錯信息和被測氣體的一些參數,如溫度、壓力、流量等,也返回一些控制信息給智能節點(diǎn)。在每個(gè)分析周期從節點(diǎn)的氣體組分分析結果送往主節點(diǎn),主節點(diǎn)待收到所有待測組分含量后,將所有信息一并送往上位機。網(wǎng)絡(luò )中的任一臺分析儀器均可做為主節點(diǎn)或從節點(diǎn),甚至在沒(méi)有上位機的情況下也可以做為上位機。
在CAN 系統中,以11 位(標準幀)或29 位(擴展幀)的標識符來(lái)標識數據的含義,標識符決定了信息的優(yōu)先權和等待時(shí)間,同時(shí)也影響信息濾波的適用性。因而,合理、高效的信息標識符ID 分配方案是充分發(fā)揮CAN 總線(xiàn)性能的前提條件。
分析儀器主控制器之一F2812 DSP 片上共有32 個(gè)郵箱,在SCC 模式下0-15 郵箱可用,在eCAN 模式下,32 個(gè)郵箱全部可用,可以很方便地實(shí)現主節點(diǎn)對從節點(diǎn)信息的接收和存儲。故推薦采用主控制器為F2812 的分析儀器作為該網(wǎng)絡(luò )中的主節點(diǎn),選擇eCAN 模式,使用標準標識符(11 位),對其進(jìn)行如表1 所示的靜態(tài)分配策略,即可滿(mǎn)足上位機和主節點(diǎn)識別幀來(lái)源和幀意義的要求。
2 網(wǎng)絡(luò )通信程序
2.1 上位機端初始化
上位機端主要完成對各分析平臺分析結果的采集、顯示,使用PC 機加CAN 通訊卡KPCI-8110。KPCI-8110 上集成了獨立的CAN 控制器SJA1000。SJA1000 用于移動(dòng)目標和一般工業(yè)環(huán)境中的區域網(wǎng)絡(luò )控制(CAN),在使用前要先對其進(jìn)行初始化。
上位機顯示界面采用適合快速開(kāi)發(fā)的可視化面向對象高級語(yǔ)言VB 來(lái)編寫(xiě)。KPCI-8110CAN 適配卡提供.dll 驅動(dòng)和.lib 庫函數,通過(guò)在VB 程序中調用相關(guān)的驅動(dòng)函數就可以實(shí)現CAN 適配卡的配置和數據的讀寫(xiě)。
上位機端接收數據的流程如圖2 所示。
圖2 上位機接口函數使用流程圖
數據接收到上位機之后保存在一個(gè)大容量的內存緩沖池內,用戶(hù)只需實(shí)時(shí)通過(guò)函數CAN_ReadDataNum(mindex) 查詢(xún)緩沖池內的數據量, 再通過(guò)函數CAN_ReadBlockData(mindex,num,obyte)及時(shí)讀走保存即可。其中obyte 為接收數據起始指針。
CAN_ClearBlock(mindex,num,obyte)為清空從obyte 指針開(kāi)始的緩沖池空間。
注意:由于SJA1000 CAN 控制器每個(gè)地址存儲8 位數據,而F2812 內置CAN 控制器每個(gè)地址存儲16 位數據,而且標準數據幀的標識符也不是從字節的起始位開(kāi)始的,所以定義標識符的時(shí)候要按照不同控制器的要求來(lái)定義。例如F2812 內置CAN 控制器定義數據幀標識符為344 0000(bit28-bit18 為標識符位),SJA1000 獨立控制器對應的標識符應為1A20(bit15-bit5 為標識符位)。
高效液相色譜儀相關(guān)文章:高效液相色譜儀原理
評論