• 基于CAN總線的數(shù)據(jù)采集人機(jī)界面設(shè)計(jì)
    摘 要:本文利用CAN總線技術(shù)構(gòu)成網(wǎng)絡(luò),運(yùn)用VB語(yǔ)言設(shè)計(jì)出了可視性較強(qiáng)的數(shù)據(jù)采集人機(jī)界面,實(shí)現(xiàn)了智能表數(shù)據(jù)(包括模擬量數(shù)據(jù)和開關(guān)量數(shù)據(jù))的采集和超限報(bào)警功能。

    關(guān)鍵詞:CAN總線、人機(jī)界面、VB

    Abstract:The thesis introduced the design of the Date Acquisition Human-computer Interface using VB based on CAN Bus. It realized the function that intelligence meter read the analog and digital value, and alarmed when the value went beyond the limit.

    Key Words:CAN Bus、Human-computer Interface、VB

    0 引言

      目前在鐵路機(jī)車內(nèi),模擬表盤大量存在,它給鐵路運(yùn)輸?shù)陌踩芾碓斐闪讼喈?dāng)大的不便。使用模擬表盤有以下缺點(diǎn):第一,沒有數(shù)據(jù)存儲(chǔ)功能,如果發(fā)生事故,就很難得到事故發(fā)生時(shí)的確切信息;第二,需要大量布線、安裝不便。如果在原模擬系統(tǒng)中添加設(shè)備,則需要重新布線;第三,不能利用成熟的基于數(shù)字信號(hào)的現(xiàn)代信息處理技術(shù)。對(duì)火車機(jī)車監(jiān)控系統(tǒng)而言,數(shù)據(jù)測(cè)量和傳輸?shù)目焖傩?、?zhǔn)確性、可靠性、存儲(chǔ)性、通訊的靈活性都是至關(guān)重要的。有必要將機(jī)車內(nèi)的模擬表數(shù)字化和智能化,在此基礎(chǔ)上利用現(xiàn)場(chǎng)總線技術(shù)構(gòu)成測(cè)控網(wǎng)絡(luò),完成對(duì)機(jī)車內(nèi)重要數(shù)據(jù)及時(shí)的采集、傳輸、存儲(chǔ)、顯示、報(bào)警。

      本鐵路機(jī)車數(shù)據(jù)平臺(tái)采用了CAN總線技術(shù)。選用CAN總線是基于可靠性方面的考慮。CAN總線最初廣泛用在汽車內(nèi)部的電子監(jiān)控上。由于火花塞產(chǎn)生的高頻干擾和發(fā)動(dòng)機(jī)產(chǎn)生的機(jī)械震動(dòng)都比較強(qiáng),而CAN總線能在這種工作中可靠的工作,說明其具有很強(qiáng)的抗干擾能力。該機(jī)車數(shù)據(jù)平臺(tái)中的智能模塊采用了89C51單片機(jī),其通訊部分使用了CAN控制器SJA1000。CAN總線通信控制器中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括零位的插入和刪除、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。CAN協(xié)議的一個(gè)特點(diǎn)是廢除了傳統(tǒng)的棧地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)是可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)理論上不受限制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由11位(按CAN技術(shù)規(guī)范2.0A)或29位(按CAN技術(shù)規(guī)范2.0B)二進(jìn)制數(shù)組成,因此可以定義2的11次方或2的29次方個(gè)不同的數(shù)據(jù)塊。這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。數(shù)據(jù)段長(zhǎng)度最多為8個(gè)字節(jié),可滿足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)傳送的一般要求。同時(shí),8個(gè)字節(jié)不會(huì)占用總線時(shí)間過長(zhǎng),從而保證了通信的實(shí)時(shí)性。CAN協(xié)議采用CRC效驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理和重發(fā)功能,保證了數(shù)據(jù)通信的可靠性。

    1 機(jī)車數(shù)據(jù)平臺(tái)使用說明

      1.1原理

      機(jī)車數(shù)據(jù)平臺(tái)實(shí)際上是一臺(tái)分布式計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng),其中采用了先進(jìn)的現(xiàn)場(chǎng)總線技術(shù)。機(jī)車數(shù)據(jù)平臺(tái)是將微處理器置入傳統(tǒng)的測(cè)量控制儀表,使他們各自都具有了數(shù)字計(jì)算和數(shù)據(jù)通訊能力(智能儀表),采用可進(jìn)行簡(jiǎn)單連接的雙絞線等作總線,把多個(gè)測(cè)量?jī)x表連接成網(wǎng)絡(luò),并按公開、規(guī)范的通訊協(xié)議(CAN總線協(xié)議),在現(xiàn)場(chǎng)儀表和遠(yuǎn)程計(jì)算機(jī)之間,實(shí)現(xiàn)數(shù)據(jù)傳輸和信息交換。簡(jiǎn)而言之,它把單個(gè)分散的測(cè)量設(shè)備變成網(wǎng)絡(luò)節(jié)點(diǎn),已現(xiàn)場(chǎng)總線為紐帶,把他們聯(lián)系起來(lái),共同完成自控任務(wù)的網(wǎng)絡(luò)系統(tǒng)與控制系統(tǒng)?,F(xiàn)場(chǎng)總線使自控系統(tǒng)與設(shè)備有了通訊能力,把它們連成網(wǎng)絡(luò)系統(tǒng),加入到信息網(wǎng)絡(luò)的行列。

      本機(jī)車數(shù)據(jù)平臺(tái)采用CAN總線技術(shù)。CAN是控制局域網(wǎng)絡(luò)(Control Area Network)的簡(jiǎn)稱,最早由德國(guó)BOSCH公司推出,用于汽車內(nèi)部測(cè)量與執(zhí)行部件間的數(shù)據(jù)通訊。眾所周知,現(xiàn)代汽車越來(lái)越多的采用電子控制裝置。由于這些控制須檢測(cè)及交換大量的數(shù)據(jù),采用硬接信號(hào)線的方式不但煩瑣、昂貴,而且難以解決問題,采用CAN總線上述問題得到了很好的解決。由于CAN總線本身的特點(diǎn),其應(yīng)用范圍已不在局限于汽車工業(yè),而向過程工業(yè)、機(jī)械工業(yè)、紡織工業(yè)、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器領(lǐng)域發(fā)展。

      1.2功能

      1每秒一次采集各智能表的數(shù)據(jù)和各開關(guān)量的狀態(tài)。智能表包括電壓表、電流表、壓力表和速度表等;開關(guān)量包括繼電器接觸器按鈕的通斷、信號(hào)燈的明滅、各種開關(guān)和接點(diǎn)的閉合等。

      2設(shè)定各智能表的上報(bào)警限、下報(bào)警限和偏差報(bào)警限,并在各智能表超出報(bào)警限時(shí)發(fā)出報(bào)警信息。

      1.3性能指標(biāo)

      1可容納54個(gè)智能表和8塊開關(guān)量采集卡(每塊16個(gè)開關(guān)量)。

      2智能表輸入有隔離,隔離電壓5000伏;開關(guān)量輸入也有隔離,隔離電壓1500伏。

      3智能表接受75mv、10v和110v交直流輸入(按用戶要求)。

      4智能表測(cè)量精度2%。

      5電源:輸入:70——130V直流/150W

      輸出:5V/8A 24V/4A

      1.4智能儀表功能

      1保留了原指針模擬表的功能,即接受一個(gè)模擬量輸入,并用指針顯示該模擬量的數(shù)值,包括電壓、電流、轉(zhuǎn)速、溫度和壓力等。

      2把輸入的模擬量轉(zhuǎn)化為相應(yīng)的數(shù)字量,隔離后通過CAN總線發(fā)送給數(shù)據(jù)采集站,發(fā)送的數(shù)據(jù)中包括報(bào)警(上超限、下超限,偏差超限)信息。

      3接受來(lái)自監(jiān)控報(bào)警器的設(shè)定信息,包括上超限設(shè)定、下超限設(shè)定,偏差超限設(shè)定。

      1.5開關(guān)量采集卡的功能、協(xié)議與設(shè)定

      116路獨(dú)立的光電隔離開關(guān)量輸入。

      2用來(lái)檢測(cè)開關(guān)、繼電器和電磁閥等的通斷,指示燈的明滅。

      3每秒鐘一次將16路開關(guān)量狀態(tài)讀入,而后通過CAN總線發(fā)送給數(shù)據(jù)采集站。

      系統(tǒng)能容納8塊開關(guān)量采集卡,總共能檢測(cè)到16*8=128個(gè)開關(guān)量狀態(tài)。每塊采集卡需要設(shè)定一個(gè)獨(dú)一無(wú)二的ID號(hào),范圍限定在55到62。ID號(hào)通過開關(guān)量采集卡上的跳線ID設(shè)定。ID號(hào)按二進(jìn)制編碼,跳線短接為0,反之為1。

      1.6監(jiān)控報(bào)警器的功能、校準(zhǔn)智能表以及報(bào)警限的設(shè)定

      1.6.1功能

      1設(shè)定智能表上超限、下超限和偏差超限的量值,并將這些量通過CAN總線發(fā)送給智能表和數(shù)據(jù)采集站。

      2校準(zhǔn)智能表。

      3接受來(lái)自數(shù)據(jù)采集站的報(bào)警信息,并顯示報(bào)警信息和通過繼電器觸電輸出報(bào)警信息。

      1.6.2校準(zhǔn)智能表

      1壓校準(zhǔn)鍵,使進(jìn)入校準(zhǔn)狀態(tài)。自動(dòng)顯示接受到的01號(hào)智能表的數(shù)值(中間值,滿量程=1000)。

      2壓切換鍵,而后用鍵盤輸入要校準(zhǔn)的智能表的ID號(hào),壓確認(rèn)鍵,則顯示該智能表的中間值。

      3將該表與用標(biāo)準(zhǔn)表實(shí)際測(cè)量到的值比較,確定誤差。

      4調(diào)節(jié)智能表電路板上的電位器VR2消除誤差。

      1.6.3報(bào)警限的設(shè)定

      1在校準(zhǔn)狀態(tài)下壓切換鍵,而后輸入要設(shè)定的智能表的ID號(hào),壓確定鍵后,則顯示該智能表的中間值。

      2壓切換鍵,再壓切換鍵,則光標(biāo)切換到第二行,第二行顯示的數(shù)值為存儲(chǔ)的上超限值。

      3修改上超限值,而后壓確認(rèn)鍵,則修改后的上超限值被存儲(chǔ)并通過總線發(fā)送給智能表和數(shù)據(jù)采集站。

      4壓切換鍵,將光標(biāo)切換到第三行,第三行顯示的數(shù)值為存儲(chǔ)的下超限值。

      5修改下超限值,而后壓確認(rèn)鍵,則修改后的下超限值被存儲(chǔ)并通過總線發(fā)送給智能表和數(shù)據(jù)采集站。

      6壓切換鍵,將光標(biāo)切換到第四行,第四行顯示的數(shù)值為存儲(chǔ)的偏差超限值。

      7修改偏差超限值,而后壓確認(rèn)鍵,則修改后的偏差超限值被存儲(chǔ)并通過總線發(fā)送給只能表和數(shù)據(jù)采集站。

      2界面說明及流程圖

      我們這里用五塊智能表和一組開關(guān)量來(lái)說明本課題的主要功能:

      1每秒一次采集各智能表的數(shù)據(jù)和各開關(guān)量的狀態(tài)。智能表包括電壓表、電流表和壓力表等。

      2設(shè)定各智能表的上報(bào)警限、下報(bào)警限和偏差報(bào)警限,并在各智能表超出報(bào)警限時(shí)發(fā)出報(bào)警信息。

      流程圖如圖1所示:


    圖1 數(shù)據(jù)采集界面總流程圖

      在這里,將模擬量進(jìn)行如表1設(shè)置:

      表1模擬量設(shè)置

      數(shù)據(jù)采集界面運(yùn)行圖如圖2所示:


    圖2 數(shù)據(jù)采集界面

      由圖2看出,模擬量數(shù)據(jù)轉(zhuǎn)換為數(shù)字量數(shù)據(jù)已經(jīng)相當(dāng)精確;1#、2#、5#數(shù)據(jù)均在下限~上限之間,均正常運(yùn)行;11#、13#分別超過上限、低于下限,均發(fā)出報(bào)警警告。

    3 結(jié)束語(yǔ)

      利用CAN總線技術(shù)構(gòu)成網(wǎng)絡(luò),利用VB語(yǔ)言設(shè)計(jì)數(shù)據(jù)采集人機(jī)界面,實(shí)現(xiàn)了顯示智能表讀數(shù)、開關(guān)量數(shù)據(jù)并在超限時(shí)報(bào)警的功能。運(yùn)行(采集模塊6個(gè))后表明,性能穩(wěn)定,采集數(shù)據(jù)的波動(dòng)幅度小于1%,數(shù)據(jù)準(zhǔn)確性令人滿意,充分體現(xiàn)了CAN總線的優(yōu)越性。

      CAN總線數(shù)據(jù)采集人機(jī)界面不僅可以應(yīng)用在鐵路系統(tǒng)中,也廣泛應(yīng)用在其它場(chǎng)合。目前筆者正在開發(fā)機(jī)房電源監(jiān)測(cè)系統(tǒng),通過CAN總線數(shù)據(jù)采集,監(jiān)測(cè)人員可以遠(yuǎn)離現(xiàn)場(chǎng)而得到需要的數(shù)據(jù)??傊?,機(jī)車數(shù)據(jù)平臺(tái)人機(jī)界面的開發(fā),為其它監(jiān)測(cè)系統(tǒng)的應(yīng)用奠定了基礎(chǔ)。

    參考文獻(xiàn):

      [1]現(xiàn)場(chǎng)總線技術(shù)及基本應(yīng)用. 陽(yáng)憲惠. 清華大學(xué)出版社. 1999

      [2]現(xiàn)場(chǎng)總線與控制系統(tǒng). 趙天洪. 電力系統(tǒng)自動(dòng)化,24(13),2000

      [3]現(xiàn)場(chǎng)總線控制系統(tǒng)的現(xiàn)狀與未來(lái). 魏彬彬. 交通與計(jì)算機(jī),2001(19)

      [4]Bosch.CAN specification,Version2.0. 1991. Robert Bosch GmbH
     
     
    網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點(diǎn)導(dǎo)航