基于CAN總線的數(shù)據(jù)采集人機(jī)界面設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
目前在鐵路機(jī)車(chē)內(nèi),模擬表盤(pán)大量存在,它給鐵路運(yùn)輸?shù)陌踩芾碓斐闪讼喈?dāng)大的不便。使用模擬表盤(pán)有以下缺點(diǎn):第一,沒(méi)有數(shù)據(jù)存儲(chǔ)功能,如果發(fā)生事故,就很難得到事故發(fā)生時(shí)的確切信息;第二,需要大量布線、安裝不便。如果在原模擬系統(tǒng)中添加設(shè)備,則需要重新布線;第三,不能利用成熟的基于數(shù)字信號(hào)的現(xiàn)代信息處理技術(shù)。對(duì)火車(chē)機(jī)車(chē)監(jiān)控系統(tǒng)而言,數(shù)據(jù)測(cè)量和傳輸?shù)目焖傩浴?zhǔn)確性、可靠性、存儲(chǔ)性、通訊的靈活性都是至關(guān)重要的。有必要將機(jī)車(chē)內(nèi)的模擬表數(shù)字化和智能化,在此基礎(chǔ)上利用現(xiàn)場(chǎng)總線技術(shù)構(gòu)成測(cè)控網(wǎng)絡(luò),完成對(duì)機(jī)車(chē)內(nèi)重要數(shù)據(jù)及時(shí)的采集、傳輸、存儲(chǔ)、顯示、報(bào)警。
本鐵路機(jī)車(chē)數(shù)據(jù)平臺(tái)采用了CAN總線技術(shù)。選用CAN總線是基于可靠性方面的考慮。CAN總線最初廣泛用在汽車(chē)內(nèi)部的電子監(jiān)控上。由于火花塞產(chǎn)生的高頻干擾和發(fā)動(dòng)機(jī)產(chǎn)生的機(jī)械震動(dòng)都比較強(qiáng),而CAN總線能在這種工作中可靠的工作,說(shuō)明其具有很強(qiáng)的抗干擾能力。該機(jī)車(chē)數(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í)間過(guò)長(zhǎng),從而保證了通信的實(shí)時(shí)性。CAN協(xié)議采用CRC效驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理和重發(fā)功能,保證了數(shù)據(jù)通信的可靠性。
1 機(jī)車(chē)數(shù)據(jù)平臺(tái)使用說(shuō)明
1.1原理
機(jī)車(chē)數(shù)據(jù)平臺(tái)實(shí)際上是一臺(tái)分布式計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng),其中采用了先進(jìn)的現(xiàn)場(chǎng)總線技術(shù)。機(jī)車(chē)數(shù)據(jù)平臺(tái)是將微處理器置入傳統(tǒng)的測(cè)量控制儀表,使他們各自都具有了數(shù)字計(jì)算和數(shù)據(jù)通訊能力(智能儀表),采用可進(jìn)行簡(jiǎn)單連接的雙絞線等作總線,把多個(gè)測(cè)量?jī)x表連接成網(wǎng)絡(luò),并按公開(kāi)、規(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ī)車(chē)數(shù)據(jù)平臺(tái)采用CAN總線技術(shù)。CAN是控制局域網(wǎng)絡(luò)(Control Area Network)的簡(jiǎn)稱,最早由德國(guó)BOSCH公司推出,用于汽車(chē)內(nèi)部測(cè)量與執(zhí)行部件間的數(shù)據(jù)通訊。眾所周知,現(xiàn)代汽車(chē)越來(lái)越多的采用電子控制裝置。由于這些控制須檢測(cè)及交換大量的數(shù)據(jù),采用硬接信號(hào)線的方式不但煩瑣、昂貴,而且難以解決問(wèn)題,采用CAN總線上述問(wèn)題得到了很好的解決。由于CAN總線本身的特點(diǎn),其應(yīng)用范圍已不在局限于汽車(chē)工業(yè),而向過(guò)程工業(yè)、機(jī)械工業(yè)、紡織工業(yè)、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器領(lǐng)域發(fā)展。
1.2功能
1每秒一次采集各智能表的數(shù)據(jù)和各開(kāi)關(guān)量的狀態(tài)。智能表包括電壓表、電流表、壓力表和速度表等;開(kāi)關(guān)量包括繼電器接觸器按鈕的通斷、信號(hào)燈的明滅、各種開(kāi)關(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塊開(kāi)關(guān)量采集卡(每塊16個(gè)開(kāi)關(guān)量)。
2智能表輸入有隔離,隔離電壓5000伏;開(kāi)關(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ù)字量,隔離后通過(guò)CAN總線發(fā)送給數(shù)據(jù)采集站,發(fā)送的數(shù)據(jù)中包括報(bào)警(上超限、下超限,偏差超限)信息。
3接受來(lái)自監(jiān)控報(bào)警器的設(shè)定信息,包括上超限設(shè)定、下超限設(shè)定,偏差超限設(shè)定。
1.5開(kāi)關(guān)量采集卡的功能、協(xié)議與設(shè)定
116路獨(dú)立的光電隔離開(kāi)關(guān)量輸入。
2用來(lái)檢測(cè)開(kāi)關(guān)、繼電器和電磁閥等的通斷,指示燈的明滅。
3每秒鐘一次將16路開(kāi)關(guān)量狀態(tài)讀入,而后通過(guò)CAN總線發(fā)送給數(shù)據(jù)采集站。
系統(tǒng)能容納8塊開(kāi)關(guān)量采集卡,總共能檢測(cè)到16*8=128個(gè)開(kāi)關(guān)量狀態(tài)。每塊采集卡需要設(shè)定一個(gè)獨(dú)一無(wú)二的ID號(hào),范圍限定在55到62。ID號(hào)通過(guò)開(kāi)關(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è)定智能表上超限、下超限和偏差超限的量值,并將這些量通過(guò)CAN總線發(fā)送給智能表和數(shù)據(jù)采集站。
2校準(zhǔn)智能表。
3接受來(lái)自數(shù)據(jù)采集站的報(bào)警信息,并顯示報(bào)警信息和通過(guò)繼電器觸電輸出報(bào)警信息。
1.6.2校準(zhǔn)智能表
1壓校準(zhǔn)鍵,使進(jìn)入校準(zhǔn)狀態(tài)。自動(dòng)顯示接受到的01號(hào)智能表的數(shù)值(中間值,滿量程=1000)。
2壓切換鍵,而后用鍵盤(pán)輸入要校準(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ǔ)并通過(guò)總線發(fā)送給智能表和數(shù)據(jù)采集站。
4壓切換鍵,將光標(biāo)切換到第三行,第三行顯示的數(shù)值為存儲(chǔ)的下超限值。
5修改下超限值,而后壓確認(rèn)鍵,則修改后的下超限值被存儲(chǔ)并通過(guò)總線發(fā)送給智能表和數(shù)據(jù)采集站。
6壓切換鍵,將光標(biāo)切換到第四行,第四行顯示的數(shù)值為存儲(chǔ)的偏差超限值。
7修改偏差超限值,而后壓確認(rèn)鍵,則修改后的偏差超限值被存儲(chǔ)并通過(guò)總線發(fā)送給只能表和數(shù)據(jù)采集站。
2界面說(shuō)明及流程圖
我們這里用五塊智能表和一組開(kāi)關(guān)量來(lái)說(shuō)明本課題的主要功能:
1每秒一次采集各智能表的數(shù)據(jù)和各開(kāi)關(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#分別超過(guò)上限、低于下限,均發(fā)出報(bào)警警告。
利用CAN總線技術(shù)構(gòu)成網(wǎng)絡(luò),利用VB語(yǔ)言設(shè)計(jì)數(shù)據(jù)采信人機(jī)界面,定現(xiàn)了顯示智能表讀數(shù)、開(kāi)關(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)越性。