最近,對于HART協(xié)議的有關內容,我們已經詳盡了不少內容。不知道大家對于這部分知識的原理是否有掌握清楚。那么今天,我們再來強調一下它的格式。首先看一下消息結構吧。
消息結構
如下所示,一條消息包括源地址、目的地址和一個校驗位。每一個應答消息中包括現(xiàn)場設備狀態(tài),用于確保持續(xù)通訊的順暢進行。數(shù)據位可有可無,視具體情況而定。一般每秒種可以傳輸2~3條消息。
PREAMBLE START ADDRCOM BCNT STATUS DATA PARITY序文 定界符 地址 命令號 數(shù)據長度 響應碼 數(shù)據字節(jié) 奇偶校驗
HART協(xié)議5.0版本以前版本的設備一般采用“短結構”,單一的現(xiàn)場設備如果只利用4~20 mA電流信號進行測量時,從設備的地址都是0;否則,對于多設備而言,從設備的地址是從1~15,這種短結構的地址采用“隨選”的方法,隨機分配1~15中的一個。HART協(xié)議5. 0版本推出了“長結構”,這種格式的從設備地址具有獨一無二性,如同每個網卡中物理地址一樣,全世界范圍內都沒有重復,一般占5個地址字節(jié)中的38位。這 38位地址信息包含了生產廠家的代碼、設備型號碼和設備識別碼。這種格式減少了誤傳輸和誤接收的可能性,F(xiàn)在大多數(shù)主機設備既能支持長結構又兼容短結構,當從機的應答信號中沒有“唯一”標識碼時,HART協(xié)議5.0版本及其以上的版本提供的0號命令,就可以用于短幀中的設備地址識別。也就是說,主機將根據應答信號中是否具有“惟一”標識碼來決定結構格式為“長”還是“短”。
一般消息幀的組成,其中:
(1)PREAMBLE導言字節(jié),一般是5~20個FF十六進制字節(jié)。他實際上是同步信號,各通訊設備可以據此略做調整,保證信息的同步。在開始通訊的時候,使用的是20個FF導言,從機應答0信號時將告之主機他“希望”接收幾個字節(jié)的導言,另外主機也可以用59號命令告訴從機應答時應用幾位導言。
(2)START起始字節(jié),他將告之使用的結構為“長”還是“短”、消息源、是否是“突發(fā)”模式消息。主機到從機為短結構時,起始位為02,長幀時為82。從機到主機的短結構值為06,長結構值為86。而為“突發(fā)”模式的短結構值為01,長結構為81。一般設備進行通訊接收到2個FF字節(jié)后,就將偵聽起始位。
(3)ADDR地址字節(jié),他包含了主機地址和從機地址,如前所述,短結構中占1字節(jié),長結構中占5字節(jié)。無論長結構還是短結構,因為HART協(xié)議中允許2個主機存在,所以我們用首字節(jié)的最高位來進行區(qū)分,值為1表示第一主機地址,第二主機用0表示!巴话l(fā)”模式是特例,0,1值將交替出現(xiàn),也就是說,在該模式下,賦予2個主機的機會均等。次高位為1表示為“突發(fā)”模式,短結構用首字節(jié)的0~4位表示值為0~15的從機地址,第5,6位賦0;而長結構用后6位表示從機的生產廠商的代碼,第2個字節(jié)表示從機設備型號代碼,后3~5個字節(jié)表示從機的設備序列號,構成“唯一”標志碼。
短幀地址結構
另外,長結構的低38位如果都是0的話表示的是廣播地址,即消息發(fā)送給所有的設備。
(4)COM命令字節(jié),他的范圍為253個,用HEX的0~FD表示。31,127,254,255為預留值。
(5)BCNT數(shù)據總長度,他的值表示的是BCNT下一個字節(jié)到最后(不包括校驗字節(jié))的字節(jié)數(shù)。接收設備用他可以鑒別出校驗字節(jié),也可以知道消息的結束。因為規(guī)定數(shù)據最多為25字節(jié),所以他的值是從0~27。
(6)STATUS狀態(tài)字節(jié),他也叫做“響應碼”,顧名思義,他只存在于從機響應主機消息的時候,用2字節(jié)表示。他將報告通訊中的錯誤、接收命令的狀態(tài)(如:設備忙、無法識別命令等)和從機的操作狀態(tài)。
如果我們在通訊過程中發(fā)現(xiàn)了錯誤,首字節(jié)的最高位(第7位)將置1,其余的7位將匯報出錯誤的細節(jié),而第2個字節(jié)全為0。否則,當首字節(jié)的最高位為0時,表示通訊正常,其余的7位表示命令響應情況,第2個字節(jié)表示場設備狀態(tài)的信息。
UART發(fā)現(xiàn)的通訊錯誤一般有:奇偶校驗、溢出和結構錯誤等。命令響應碼可以有128個,表示錯誤和警告,他們可以是單一的意義,也可以有多種意義,我們通過特殊命令進行定義、規(guī)定。現(xiàn)場設備狀態(tài)信息用來表示故障和非正常操作模式。
(7)在HART協(xié)議的幀結構中,DATA數(shù)據字節(jié),首先我想說明的是并非所有的命令和響應都包含數(shù)據字節(jié),他最多不超過25字節(jié)(隨著通訊速度的提高,正在要求放寬這一標準)。數(shù)據的形式可以是無符號的整數(shù)(可以是8,16,24,32 b),浮點數(shù)(用IEEE754單精浮點格式)或ASCII字符串,還有預先制定的單位數(shù)據列表。具體的數(shù)據個數(shù)根據不同的命令而定。
(8)CHK奇偶校驗,方式是縱向奇偶校驗,從起始字節(jié)開始到奇偶校驗前一個字節(jié)為止。另外,每一個字節(jié)都有1位的校驗位,這兩者的結合可以檢測出3位的突發(fā)錯誤。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |