昌暉儀表從介紹HART協(xié)議工作原理、協(xié)議物理層、數(shù)據(jù)鏈路層、應用層、消息結(jié)構(gòu)等基礎知識入手,著重分享HART協(xié)議命令格式方面的專業(yè)知識。
HART協(xié)議最初是由美國Rosemount公司開發(fā),使用FSK技術(shù),在4-20mA信號上疊加一個頻率信號,成功實現(xiàn)了模擬信號和數(shù)字信號雙向通訊,而互相之間沒有干擾。HART協(xié)議使用OSI標準的第一層物理層、第二層數(shù)據(jù)鏈路層和第七層應用層。HART協(xié)議是一種主從協(xié)議,規(guī)定了傳輸?shù)奈锢硇问健?消息結(jié)構(gòu)、數(shù)據(jù)格式包括一系列操作指令,HART協(xié)議支持雙主站,一對電纜線上最多可以連接15個從設備。
工作原理
HART協(xié)議物理層
1、物理層規(guī)定了信號的傳輸方法、傳輸介質(zhì)。采用Bell202標準的FSK頻移鍵控信號,在低頻的4-20mA模擬信號上疊,加一個頻率數(shù)字信號進行雙向數(shù)字通信。
2、數(shù)字信號的幅度為0.5mA,數(shù)據(jù)傳輸率為1200bps,1200Hz代表邏輯“1”,2200Hz代表邏輯“0”。數(shù)字信號波形如下圖所示:
HART數(shù)據(jù)鏈路層
1、數(shù)據(jù)鏈路層規(guī)定HART協(xié)議幀的格式,可尋址范圍0-15,“0”時,處于4-20mA及數(shù)字信號點對點模式,現(xiàn)場儀表與兩個數(shù)字通信主設備(也稱作通信設備或主設備)之間采用特定的串行通信,主設備包括PC機或控制室系統(tǒng)和手持通信器。單站操作中,主變量(過程變量)可以以模擬形式輸出,也可以以數(shù)字通信方式讀出,以數(shù)字方式讀出時,輪詢地址始終為0。也就是說,單站模式時數(shù)字信號和4~20mA模擬信號同時有效。
2、“1-15”處于全數(shù)字通信狀態(tài),工作在點對多點模式,通信模式有“問答”式、“突發(fā)”式(點對點、自動連續(xù)地發(fā)送信息)。按問答方式工作時的數(shù)據(jù)更新速率為2-3次/s,按突發(fā)方式工作時的數(shù)據(jù)更新速率為3-4次/s。
3、在本質(zhì)安全要求下,只使用一個電源,至多能連接15臺現(xiàn)場儀表,每個現(xiàn)場設備可有256個變量,每個信息最大可包含4個變量。這就是所謂的多點(多站)操作模式。這種工作方式尤其適用于遠程監(jiān)控,如管道系統(tǒng)和油罐儲存場地。
4、采用多點模式,4-20mA的模擬輸出信號不再有效(輸出設在4mA使功耗最小,主要是為變送器供電,各個現(xiàn)場裝置并聯(lián)連接),系統(tǒng)以數(shù)字通信方式依次讀取并聯(lián)到一對傳輸線上的多臺現(xiàn)場儀表的測量值(或其它數(shù)據(jù))。如果以這種方式構(gòu)成控制系統(tǒng),可以顯著地降低現(xiàn)場布線的費用和減少主設備輸入接口電路,這對于控制系統(tǒng)有重要價值。
5、HART協(xié)議根據(jù)冗余檢錯碼信息,采用自動重復請求發(fā)送機制,消除由于線路噪聲或其他干擾引起的數(shù)據(jù)誤碼,實現(xiàn)數(shù)據(jù)無差錯傳送。
6、HART協(xié)議的幀格式以8位為一個字節(jié)進行編碼,對每個字節(jié)加上一個起始位、一個奇偶校驗位和一個停止位以串行方式進行傳輸。通常采用UART(通用異步接收/發(fā)送器)來完成字節(jié)的傳輸。由于數(shù)據(jù)的有無和長短不恒定,所以HART數(shù)據(jù)的長度不能超過25個字節(jié)。
HART數(shù)據(jù)鏈路層-消息結(jié)構(gòu)
如下所示,一條消息包括源地址、目的地址和一個校驗位。每一個應答消息中包括現(xiàn)場設備狀態(tài),用于確保持續(xù)通訊的順暢進行。數(shù)據(jù)位可有可無,視具體情況而定。一般每秒種可以傳輸2-3條消息。
1、PREAMBLE
導言字節(jié),一般是5-20個FF十六進制字節(jié)。他實際上是同步信號,各通訊設備可以據(jù)此略做調(diào)整,保證信息的同步。在開始通訊的時候,使用的是20個FF導言,從機應答0信號時將告之主機他“希望”接收幾個字節(jié)的導言,另外主機也可以用59號命令告訴從機應答時應用幾位導言。
2、START
起始字節(jié),他將告之使用的結(jié)構(gòu)為“長”還是“短”、消息源、是否是“突發(fā)”模式消息。主機到從機為短結(jié)構(gòu)時,起始位為02,長幀時為82。從機到主機的短結(jié)構(gòu)值為06,長結(jié)構(gòu)值為86。而為“突發(fā)”模式的短結(jié)構(gòu)值為01,長結(jié)構(gòu)為81。一般設備進行通訊接收到2個FF字節(jié)后,就將偵聽起始位。
3、ADDR
地址字節(jié),他包含了主機地址和從機地址,如前所述,短結(jié)構(gòu)中占1字節(jié),長結(jié)構(gòu)中占5字節(jié)。無論長結(jié)構(gòu)還是短結(jié)構(gòu),因為HART協(xié)議中允許2個主機存在,所以我們用首字節(jié)的最高位來進行區(qū)分,值為1表示第一主機地址,第二主機用0表示。“突發(fā)”模式是特例,0,1值將交替出現(xiàn),也就是說,在該模式下,賦予2個主機的機會均等。次高位為1表示為“突發(fā)”模式,短結(jié)構(gòu)用首字節(jié)的0-4位表示值為0-15的從機地址,第5,6位賦0;而長結(jié)構(gòu)用后6位表示從機的生產(chǎn)廠商的代碼,第2個字節(jié)表示從機設備型號代碼,后3-5個字節(jié)表示從機的設備序列號,構(gòu)成“唯一”標志碼。
4、COM
命令字節(jié),他的范圍為253個,用HEX的0-FD表示。31,127,254,255為預留值。
5、BCNT
數(shù)據(jù)總長度,他的值表示的是BCNT下一個字節(jié)到最后(不包括校驗字節(jié))的字節(jié)數(shù)。接收設備用他可以鑒別出校驗字節(jié),也可以知道消息的結(jié)束。因為規(guī)定數(shù)據(jù)最多為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)的通訊錯誤一般有:奇偶校驗、溢出和結(jié)構(gòu)錯誤等。命令響應碼可以有128個,表示錯誤和警告,他們可以是單一的意義,也可以有多種意義,我們通過特殊命令進行定義、規(guī)定?,F(xiàn)場設備狀態(tài)信息用來表示故障和非正常操作模式。
7、DATA
數(shù)據(jù)字節(jié),首先我想說明的是并非所有的命令和響應都包含數(shù)據(jù)字節(jié),他最多不超過25字節(jié)(隨著通訊速度的提高,正在要求放寬這一標準)。數(shù)據(jù)的形式可以是無符號的整數(shù)(可以是8,16,24,32 b),浮點數(shù)(用IEEE754單精浮點格式)或ASCII字符串,還有預先制定的單位數(shù)據(jù)列表。具體的數(shù)據(jù)個數(shù)根據(jù)不同的命令而定。
8、CHK
奇偶校驗,方式是縱向奇偶校驗,從起始字節(jié)開始到奇偶校驗前一個字節(jié)為止。另外,每一個字節(jié)都有1位的校驗位,這兩者的結(jié)合可以檢測出3位的突發(fā)錯誤。
HART應用層
HART操作命令處于應用層,包括通用命令、普通命令和特殊命令。
通用命令的范圍從0-30:
0,11:設備識別(廠商、設備類型、版本)
1,2,3:讀測量值
6:置隨選地址
12,13,17,18:讀、寫用戶輸入文本信息
14,15:讀設備信息(傳感器序列號,傳感限,報警操作,范圍,傳輸結(jié)構(gòu))
16,19:讀、寫最終裝配號
普通命令是從32到126,提供了大多數(shù)設備的功能命令。普通命令中的123和126號命令并非“公共”的,他們專用于生產(chǎn)廠家在生產(chǎn)設備時輸入設備的特殊信息,一般用戶是不會改動的,像設備識別號之類。也可以用于直接讀、寫存儲器。
33,61,110:讀測量值
34-37,44,47:設置操作變量(范圍、時限、PV值、傳輸功能)
38:復位“結(jié)構(gòu)變化”標志
39:EPROM控制
40-42:對話功能(固定電流模式、自測、復位)
43,45,46:模擬輸入、輸出整流
48:讀附設備的狀態(tài)
49:寫傳感器序列號
50-56:用傳輸變量
57,58:單元信息(標志、描述、數(shù)據(jù))
59:寫所需導言號
60,62-70:使用復合模擬輸出
107-109:突發(fā)模式控制
常用重要HART協(xié)議命令介紹
0,11:用于識別現(xiàn)場設備。我們知道無論采用長結(jié)構(gòu)還是短結(jié)構(gòu)都可以標識現(xiàn)場設備,應答0號命令的信息中就包含了對不同設備的標識;然后,主機建立不同的標志,為隨后的長結(jié)構(gòu)命令做準備。在HART4.0版本及以前,傳輸類型碼分為2字節(jié):一個是生產(chǎn)廠商代碼,另一個是設備類型代碼。而兩個字節(jié)還可以節(jié)略。到了HART5.0版本就必須使用擴充的代碼表示設備信息,還用ID號代替了最終流水線號。
一個主機通常以0號命令開始通訊,賦予隨選地址0,然后掃描1-15地址,看誰期待操作,顯然由于HART5.0版本后的設備,主機可以使用11號命令,再帶一個全0的廣播地址,外加命令中的標志作為數(shù)據(jù),等待著具有相同標志的從機響應,而應答的11號命令等同于0號命令。
HART命令分析
例1:主機到從機
上面是主機到從機發(fā)送的一條消息。前5個字節(jié)值都為FF,顯然他是導言字節(jié)。接著的82起始字節(jié),表示主機到從機發(fā)出的長結(jié)構(gòu)的消息。后5個字節(jié) “A6,06,BC,61,4E”是地址字節(jié)化為二進制表示如下:
①可見首字節(jié)A6的最高位為1表示主機,次高位為0表示非突發(fā)模式,后面的38 b表示設備的惟一標號;
②“100110”是生產(chǎn)廠家代碼,值為38,是Rosemount公司的代碼;
③后一字節(jié)06是設備型號代碼,06代表的型號是3051C;
④后面的3個字節(jié)是設備識別號,本例中的值為12345678;
⑤再接下來的01是命令字節(jié),表示1號命令,即讀取PV值后面的00是表示數(shù)據(jù)的長度;
⑥本例中無數(shù)據(jù),值為0;
⑦最后是校驗字節(jié)B0。
例2:從機到主機
①上面表示的是從機到主機的一條消息。本例大部分與例1相似,不同的是數(shù)據(jù)字節(jié)不再為0,其中的06表示單位PSI;
②后面的4個字節(jié)是用浮點數(shù)表示的值,為5.5。
③并且由于本例是由從機到主機的應答消息,所以存在著狀態(tài)位,即本例中的“00 00”,表示“OK”。
例3:突發(fā)模式
上面是突發(fā)模式發(fā)出的一條消息。
①第1個字節(jié)81表示突發(fā)的長結(jié)構(gòu)模式,與前例中相似的地方我們不再介紹。
②注意到狀態(tài)字節(jié)“00 60”后的字節(jié)“41 3FA000”,他表示的是當前的電流值,計算后是11.9766;
③后面的27表示單位mA,像后面的39表示“%”一樣。
④數(shù)據(jù)字節(jié)中的“42 47 60 00”,“BF 06 60 00”,“41 95 0000”分別表示“SV”,“TV”,“FV”表示方法與PV相同。
⑤經(jīng)過解釋后的消息可以表示為:“LBTXS/RdAllPv/026/0060/11.9766/mA/11.9766/%/49.8438/psi/-0.524902/%/18.625/D4”。
標準的HART協(xié)議命令格式
讀設備序號命令格式說明如下:
由于要確保待發(fā)的命令完整的發(fā)送,我們特意在標準命令格式序文前加了一個起始位“23”和在校驗位后加了一個結(jié)束符“40”。
例如:發(fā)送讀取設備序號命令 23 FF FF FF FF FF 02 80 00 00 82 40
命令注解如下表所示:
返回的命令格式如下表所示:
返回的數(shù)據(jù)為:FF FF FF FF FF 06 80 00 0E 00 40 FE 50 7F 06 05 01 01 08 00 6B 73 3A 30
返回數(shù)據(jù)命令注解如下表所示:
返回數(shù)據(jù)6B 73 3A就是這臺設備的序號。
起始位和結(jié)束符只在發(fā)送命令時做確定命令的完整發(fā)送,它不改變命令本身,更不會影響數(shù)據(jù)的轉(zhuǎn)換。
發(fā)送讀取液位計動態(tài)變量命令
命令格式說明如下表所示:
返回的數(shù)據(jù)為:FF FF FF FF FF 86 90 7F 6B 73 3A 03 15 00 40 40 D4 E0 00 2D 3E 09 1C 2D 2D 3E 92 E3 9E 20 41 D4 B2 B8 01
返回數(shù)據(jù)命令注解如下表所示:
關(guān)于HART協(xié)議命令格式的知識昌暉儀表就分享到這里,學習更多自動化儀表知識記得關(guān)注昌暉儀表網(wǎng)。
HART協(xié)議相關(guān)閱讀
HART協(xié)議傳輸原理和特點
HART手持通訊器和智能HART變送器通訊不上
無線WirelessHART系統(tǒng)構(gòu)成及WirelessHART技術(shù)應用實例