基于CAN總線和Internet的分布式網(wǎng)絡(luò)監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
煉鋼及冶金企業(yè)是國家宏觀經(jīng)濟(jì)支柱產(chǎn)業(yè),同時(shí)也是電耗大戶,節(jié)能潛力不容忽視。目前,雖然多數(shù)煉鋼及冶金企業(yè)都采用數(shù)字電表,但仍采用人工手抄的方式,對(duì)用電情況缺少實(shí)時(shí)監(jiān)測(cè)和控制能力,能源監(jiān)管問題突出。因此,實(shí)現(xiàn)電能的自動(dòng)計(jì)量、采集及網(wǎng)絡(luò)化管理,是煉鋼及冶金企業(yè)的必由之路。
can總線比之rs-485,具有實(shí)時(shí)性、可靠性高,安全性強(qiáng)等優(yōu)越性;與其他現(xiàn)場總線相比,can總線具有突出的可靠性、實(shí)時(shí)性和靈活性。本文運(yùn)用can總線實(shí)現(xiàn)數(shù)字電表的實(shí)時(shí)數(shù)據(jù)采集,并通過internet將數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)化管理,以實(shí)現(xiàn)煉鋼及冶金企業(yè)節(jié)能增效的目的。
2 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)總體結(jié)構(gòu)如圖1所示。系統(tǒng)主服務(wù)器裝有oracle數(shù)據(jù)庫,用于存儲(chǔ)來自工業(yè)現(xiàn)場各節(jié)點(diǎn)的數(shù)據(jù)。區(qū)域上位機(jī)裝有access數(shù)據(jù)庫,可暫時(shí)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)備份,數(shù)據(jù)庫定期清空。從分布工業(yè)現(xiàn)場的各數(shù)據(jù)采集節(jié)點(diǎn)(即數(shù)字電表)采集到的數(shù)字?jǐn)?shù)據(jù),經(jīng)過can總線傳到區(qū)域上位機(jī),再由上位機(jī)通過internet傳到系統(tǒng)主服務(wù)器。在系統(tǒng)服務(wù)器上對(duì)采集到的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,運(yùn)用相應(yīng)算法得到處理結(jié)果。然后通過internet將控制命令傳到各相應(yīng)區(qū)域上位機(jī),上位機(jī)再通過can總線將數(shù)據(jù)傳到各控制節(jié)點(diǎn)。在整個(gè)現(xiàn)場總線控制網(wǎng)絡(luò)系統(tǒng)中,現(xiàn)場智能設(shè)備層是整個(gè)網(wǎng)絡(luò)系統(tǒng)的核心,只有確??偩€設(shè)備之間可靠、準(zhǔn)確、完整的數(shù)據(jù)傳輸,上層網(wǎng)絡(luò)才能獲取信息以實(shí)現(xiàn)其監(jiān)控功能。因此,本文主要介紹現(xiàn)場設(shè)備間的通信與控制。
3 基于can總線的分布式監(jiān)控系統(tǒng)
3.1 can總線簡介
can 總線是德國bosch 公司為解決現(xiàn)代車輛中的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(fā)的一種數(shù)據(jù)通信協(xié)議標(biāo)準(zhǔn)。can 總線遵從iso/osi 模型,分為3 層:物理層、數(shù)據(jù)鏈路層與應(yīng)用層。can通信介質(zhì)可為雙絞線、同軸電纜或光纖,通過標(biāo)準(zhǔn)接插件可方便的連接,傳輸速率可達(dá)1mbps(通信距離<40m), 直接傳輸距離最遠(yuǎn)可達(dá)10km(通信速率<5kbps),同一段總線內(nèi)最多可接110個(gè)設(shè)備。目前,can是唯一取得國際標(biāo)準(zhǔn)的現(xiàn)場總線。
3.2 can節(jié)點(diǎn)的劃分
每個(gè)can總線分系統(tǒng)采用一主多從分布式結(jié)構(gòu)。主節(jié)點(diǎn)為can網(wǎng)關(guān),從節(jié)點(diǎn)分?jǐn)?shù)據(jù)采集節(jié)點(diǎn)和控制節(jié)點(diǎn)兩種。can網(wǎng)關(guān)用于完成can總線與上位機(jī)pc之間通信;數(shù)據(jù)采集節(jié)點(diǎn)用于采集現(xiàn)場的數(shù)據(jù),主要有:a相電壓、b相電壓、c相電壓、a相電流、b相電流、c相電流、頻率、功率因數(shù)、無功功率、有功功率以及采集時(shí)間等;控制節(jié)點(diǎn)主要完成上位機(jī)傳遞的控制命令。由分布廠區(qū)的各數(shù)據(jù)采集節(jié)點(diǎn)和控制節(jié)點(diǎn)組成分布式監(jiān)控系統(tǒng),通過can網(wǎng)關(guān)與上位機(jī)通信,上位機(jī)通過internet與系統(tǒng)主服務(wù)器聯(lián)網(wǎng),實(shí)現(xiàn)工業(yè)現(xiàn)場的數(shù)據(jù)采集、信息處理和網(wǎng)絡(luò)化控制。圖2是一個(gè)can總線分系統(tǒng)的硬件節(jié)點(diǎn)圖。
3.3 can通信協(xié)議的制定
在can分系統(tǒng)里,報(bào)文結(jié)構(gòu)采用can 2.0b協(xié)議的標(biāo)準(zhǔn)幀結(jié)構(gòu)。數(shù)據(jù)幀由7個(gè)不同的位場組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、crc場、應(yīng)答場、幀結(jié)尾。其中,仲裁場由11位標(biāo)識(shí)符(id28~id18)和rtr位組成,依次從id28~id18發(fā)送,并且高7位(id28~id22)不能全是“隱性”。
根據(jù)can總線逐位仲裁原理和分布式監(jiān)控系統(tǒng)各部分的特點(diǎn),將仲裁場的11位標(biāo)識(shí)符作以下設(shè)計(jì)。
(1) id28~id26定義為優(yōu)先級(jí)??梢?guī)定0~7個(gè)級(jí)別,具有最高優(yōu)先權(quán)的節(jié)點(diǎn)首先發(fā)送數(shù)據(jù)。當(dāng)相同優(yōu)先級(jí)別的報(bào)文同時(shí)發(fā)送時(shí),繼續(xù)在仲裁域內(nèi)往后進(jìn)行逐位仲裁,直至有節(jié)點(diǎn)勝出為止。
(2) id25~id24規(guī)定為高低速can的標(biāo)識(shí)。用來區(qū)分高速與低速can報(bào)文。其中00 表示高速,01表示低速。
(3) id23~id18用于節(jié)點(diǎn)信號(hào)的分類,可留做具體組網(wǎng)時(shí)進(jìn)行分配。
4 系統(tǒng)硬件設(shè)計(jì)
4.1 can總線節(jié)點(diǎn)硬件電路設(shè)計(jì)
can總線硬件節(jié)點(diǎn)分主節(jié)點(diǎn)與從節(jié)點(diǎn)兩種。主節(jié)點(diǎn)為can網(wǎng)關(guān),從節(jié)點(diǎn)分?jǐn)?shù)據(jù)采集節(jié)點(diǎn)和控制節(jié)點(diǎn)兩種。由于can網(wǎng)關(guān)的數(shù)據(jù)處理量相對(duì)較大,采用ti公司內(nèi)置can驅(qū)動(dòng)器的dsp處理器tms320lf2407。數(shù)據(jù)采集節(jié)點(diǎn)和控制節(jié)點(diǎn)只需采集和處理與本節(jié)點(diǎn)相關(guān)的信息,故采用microchip公司的單片機(jī)pic16f876和can控制器mcp2510。pic單片機(jī)處理速度快,成本低,且具有極強(qiáng)的抗干擾能力,適合用在工業(yè)現(xiàn)場做數(shù)據(jù)采集和控制。主從節(jié)點(diǎn)硬件電路原理圖如圖3和圖4所示。
4.2 internet通信網(wǎng)絡(luò)設(shè)計(jì)
internet節(jié)點(diǎn)使用普通的工控機(jī),工控機(jī)可通過以太網(wǎng)卡與其它上位機(jī)和系統(tǒng)服務(wù)器進(jìn)行通信,在此不做詳細(xì)介紹。
5 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件分為主程序、數(shù)據(jù)采集和處理、輸出控制和顯示、can總線通信等程序。數(shù)據(jù)采集又分為開關(guān)量掃描、模擬量采集、脈沖量采集等程序。can總線通信程序包括can初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收等。
5.1 can節(jié)點(diǎn)主程序
系統(tǒng)主程序主要包括微處理器初始化,can控制器初始化,數(shù)據(jù)的采集與處理和輸出控制和顯示等部分。系統(tǒng)主程序流程圖見圖5。
5.2 can總線通信程序
can總線通信程序包括can初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收等。
初始化can控制器的操作包括: 硬件使能、軟件復(fù)位、設(shè)置報(bào)警界限、設(shè)置總線波特率、設(shè)置中斷工作方式、設(shè)置驗(yàn)收濾波器工作方式、設(shè)置工作模式并啟動(dòng)can等。在初始化過程中要注意數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備的波特率應(yīng)相同,否則設(shè)備之間無法進(jìn)行通信。
can初始化完成后,進(jìn)入數(shù)據(jù)的接收和發(fā)送階段。為保證發(fā)送數(shù)據(jù)的完整性,采用查詢方式發(fā)送數(shù)據(jù);同時(shí)為保證接收數(shù)據(jù)的實(shí)時(shí)性,采用中斷方式接收數(shù)據(jù)。數(shù)據(jù)發(fā)送和接收流程圖如圖6所示。
發(fā)送數(shù)據(jù)時(shí),將待發(fā)送的數(shù)據(jù)打包成符合can協(xié)議的幀格式后寫入發(fā)送緩沖區(qū),并自動(dòng)發(fā)送。在寫發(fā)送緩沖區(qū)前必須查詢其狀態(tài),只有在有空閑的發(fā)送緩沖區(qū)時(shí)才將數(shù)據(jù)寫入。啟動(dòng)發(fā)送成功后,通過查詢can狀態(tài)寄存器或配置發(fā)送成功中斷來判斷數(shù)據(jù)是否發(fā)送成功。
采用中斷方式接收數(shù)據(jù),在初始化程序中必須使能接收中斷。在中斷服務(wù)子程序中,讀取can中斷允許寄存器,判斷是否有接收中斷標(biāo)志,有則讀取接收緩沖區(qū)數(shù)據(jù)。為防止接收緩沖區(qū)中數(shù)據(jù)溢出,可開辟一個(gè)循環(huán)接收數(shù)據(jù)隊(duì)列來暫時(shí)存儲(chǔ)數(shù)據(jù),主程序則通過查詢?cè)撽?duì)列來獲得總線數(shù)據(jù)。
6 測(cè)試結(jié)果
系統(tǒng)安裝調(diào)試后,經(jīng)過一段時(shí)間的運(yùn)行,系統(tǒng)穩(wěn)定可靠,無異?,F(xiàn)象。圖7是系統(tǒng)主服務(wù)器接收到的數(shù)據(jù),其中ady表示a相電壓,adl表示a相電流,plv表示頻率,wg表示無功功率,yg表示有功功率,cjsj表示采集時(shí)間。
7 結(jié)束語
本文采用can總線傳輸技術(shù)解決鞍鋼集團(tuán)大孤山選礦廠數(shù)據(jù)采集與控制系統(tǒng)各部件之間的信號(hào)傳輸問題?;赾an總線的采礦廠數(shù)據(jù)采集與控制系統(tǒng)簡化了系統(tǒng)的傳輸線束,同時(shí)大大的提高了系統(tǒng)的可靠性和傳輸響應(yīng)的實(shí)時(shí)性,也為企業(yè)實(shí)現(xiàn)節(jié)能降耗、成本核算、過程優(yōu)化以及建立mes信息管理系統(tǒng)奠定了物理基礎(chǔ)。
參考文獻(xiàn)(略)