新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN總線實現(xiàn)工業(yè)網(wǎng)絡(luò)分布式測控系統(tǒng)

CAN總線實現(xiàn)工業(yè)網(wǎng)絡(luò)分布式測控系統(tǒng)

作者: 時間:2011-09-12 來源:網(wǎng)絡(luò) 收藏
3.2 節(jié)點與上位機的can通信

本文引用地址:http://butianyuan.cn/article/150230.htm

  智能節(jié)點與主控卡或上位機的通信主要基于can通信協(xié)議來完成,它的優(yōu)點是能夠?qū)崟r處理數(shù)據(jù)、在惡劣環(huán)境下正常工作、成本低且擁有比較高的帶寬。由于上位機內(nèi)部無can適配器,因此需外接rs-232/can轉(zhuǎn)接卡,上位機與智能節(jié)點的通信。通過節(jié)點上的跳線設(shè)置節(jié)點地址,當(dāng)上位機發(fā)出命令時,節(jié)點進入can接收中斷,對數(shù)據(jù)解包放入接收緩沖區(qū)并調(diào)用數(shù)據(jù)處理函數(shù)。當(dāng)上位機發(fā)出組態(tài)命令時,單片機會將收到的組態(tài)通道信息和信號類型寫入e2prom保存,并回送一幀數(shù)據(jù)通知上位機組態(tài)信息已成功接收。當(dāng)接收到上傳rtd值命令時,單片機會將內(nèi)存中的4路rtd溫度值以多幀形式發(fā)送給上位機。

  3.3 rtd阻值變換算法

  軟件設(shè)計中關(guān)鍵算法在于rtd電壓阻值的轉(zhuǎn)化,刻度點間的線性化及標(biāo)度變換。以pt100熱電阻的溫度刻度表為例,

  pt100tab:fcb 04h,00h,07h,39h,08h,0e8h,0ah,94h,0ch,3ch,

  fcb 0dh,0e1h, 0fh,83h,11h,23h,12h,0c0h,14h,5bh,

  fcb 15h,0f3h,17h,89h,19h,1eh,1ah,0b1h,1ch,41h,

  ……

  fcb 91h,84h,92h,0afh,93h,0d8h,95h,01h,96h,28h,

  fcb 97h,4eh,98h,72h,9ah,0cah

  分度表由-210℃開始每間隔10℃作為一個刻度點,每一個刻度點的電阻值擴大100倍后轉(zhuǎn)換為十六進制數(shù)即構(gòu)成上表??紤]到表格的一致性,cu100和cu50熱電阻的分度表也從-210℃開始計算。

  當(dāng)?shù)玫叫U蟮腶d轉(zhuǎn)換數(shù)值后,需要將采樣到的電壓信號轉(zhuǎn)換為電阻值以便于查表。阻值計算公式如下:

  

  r即為實際熱電阻阻值,在這里將其擴大100倍以便于查表。

  3.4 分段線性化查表

  得到的對應(yīng)阻值后,則從第0個刻度點開始比較,如果該采樣值大于第0個刻度點,則再與下一個刻度點比較,同時記錄小于該采樣值的刻度點的個數(shù)n,如果采樣值小于某一溫度刻度點,則溫度位于該刻度點b與前一個刻度點a之間,溫度線性化在a、b兩刻度點之間進行,線性化得到的溫度加上a點對應(yīng)的溫度(n×10)即為采樣溫度。

  以pt100熱電阻為例,某一通道得到校正后的采樣值為$9343,則前8個刻度點均小于$9343,第9個刻度點值大于$9343,記錄小于該采樣值的刻度點的個數(shù)n=101,此時a點(第101個刻度點$92af)對應(yīng)溫度為10×101=1010℃,b點(第9個刻度點$93d8)溫度為1020℃,線性化在a、b兩點間進行,具體公式為:

  [($934-$92af)/($93d8-$92af)]×10=5℃

  所以$9343對應(yīng)的溫度為:

  a點(第101個刻度點)對應(yīng)溫度1010℃+線性化溫度5℃-210℃=805℃

  其中,各表均以-210℃作為起始,故計算溫度時應(yīng)減去210℃。

  4 結(jié)束語

  本智能測控節(jié)點經(jīng)過反復(fù)測試,溫度測量值均正確,并且誤差在±1%以內(nèi)。另外在監(jiān)控程序的控制下,節(jié)點能夠有效配合上位機完成的組態(tài)、信號校正和上傳等功能,具有可靠、實時、靈活等特點。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉