[導讀] 在AIOT蓬勃發(fā)展的今天,也掀起傳統(tǒng)工業(yè)設備IOT革新的浪潮。那么需要對工業(yè)設備進行IOT改造,除了直接開發(fā)具有IOT互聯(lián)協(xié)議的新型設備,對原有總線設備的接入改造其實也是一塊很大的蛋糕。因此,掌握傳統(tǒng)工業(yè)現(xiàn)場設備通訊總線,也是很必要的,即便在現(xiàn)在或者將來傳統(tǒng)的工業(yè)總線也不會被淘汰,這是由于這些現(xiàn)場總線是專為復雜的工業(yè)控制現(xiàn)場而設計的。今天,就來分享一下HART總線。
初始HART總線
基本信息
HART(Highway Addressable Remote Transducer)可尋址遠程變送器高速通道協(xié)議,翻譯起來有點繞口。HART協(xié)議是用于過程控制設備的面向事務的通信服務。HART通信設備旨在增強傳統(tǒng)的4-20 mA模擬信號傳輸,可在工業(yè)環(huán)境中提供相對低帶寬、適度的響應時間的通信協(xié)議。應用包括遠程過程變量查詢,參數(shù)設置和診斷。從名字上就可看出,這個協(xié)議是用于變送器(有的也翻譯為傳感器),名字不重要,重要的是理解這究竟是什么個內(nèi)涵.所謂變送器就是指能將現(xiàn)場情況的物理參數(shù)進行采集(比如溫度、壓力、流量等)并以工業(yè)標準模擬信號輸出的設備,所謂工業(yè)標準模擬信號是指國際電工委員會(International Electro technical Commission,簡稱IEC)定義的4-20mA或者1-5V信號。 那么HART協(xié)議究竟是怎樣一個協(xié)議呢? HART協(xié)議是混合模擬信號以及數(shù)字信號的工業(yè)自動化開放協(xié)議。HART被廣泛用于過程和儀表系統(tǒng),從小型自動化應用到高度復雜的工業(yè)應用。它最顯著的優(yōu)點是,可以通過傳統(tǒng)的4–20 mA儀表電流回路進行通信,有線HART協(xié)議的物理層為一對導線:
該導線可以為設備供電
導線內(nèi)為4-20mA電流環(huán)
同時進行模擬以及數(shù)字通信
什么是模擬通信呢?也就是前面說的4-20mA輸出物理量的概念,比如現(xiàn)場是一個溫度變送器,當前測溫范圍為,那么4mA就對應-200℃,而20mA就對應500℃,存在下面的關(guān)系:其數(shù)字通信協(xié)議支持:
訪問儀表的參數(shù)及診斷信息,這不是簡單的讀取,而是有專用公共的命令規(guī)范,獲取診斷數(shù)據(jù)。
支持多變量設備,這是什么意思呢?比如一個變送器可以同時測量壓力以及溫度,則是雙變量變送器。
設備在線狀態(tài)監(jiān)測
完全開放的事實標準
標準通用命令及數(shù)據(jù)結(jié)構(gòu)
DDL(Device Description Language)支持,這是啥意思,就是用這樣一種規(guī)范的文本描述語言抽象設備的信息其他的組態(tài)軟件可以直接導入,從而實現(xiàn)互聯(lián)互通。這就是標準的力量,不同廠家做的設備為什么可以在一個系統(tǒng)里快速組網(wǎng),實現(xiàn)過程控制系統(tǒng)。
其模擬通信特點:
模擬4-20mA通信與數(shù)字通信同時進行
兼容現(xiàn)有的4-20mA設備,即便某個4-20mA設備沒有HART支持。
模擬4-20mA本身就是一種通信,比如一個測量變動器可直接接入一個控制器的模擬4-20mA通道,將測量值實時傳輸給控制器,而控制器的4-20mA輸出又可以接到執(zhí)行器(比如閥門控制器)的4-20mA輸入通道,從而控制閥門的開度,形成閉環(huán)控制。
本文主要介紹基于有線連接物理層的HART,HART的物理層還支持2.4GHz,基于802.15.4規(guī)范的無線物理層。
網(wǎng)絡分層
從前面介紹,基本知道了大致信息,現(xiàn)在來看看該協(xié)議的分層情況
從上面的圖可以看出,HART協(xié)議對應OSI模型,實現(xiàn)了其中的5層:
有線物理層: 這里有句題外話,協(xié)議的物理層負責地產(chǎn)BIT流的傳輸,其實你用其他的物理層來傳HART報文是否可以呢?當然也是可以的,比如你就用SPI去傳也能傳能收,為什么不用?無法適應工業(yè)現(xiàn)場的噪聲環(huán)境,也無法可能滿足現(xiàn)場組網(wǎng)的需求,比如總線仲裁等。
FSK物理層:有線HART的物理層主要采用采用FSK(Frequency Shift Keying)頻移鍵控將0/1調(diào)制在4-20mA電流環(huán)路上,稍后在對FSK進行介紹。
PSK物理層:實際上是C8PSK(Coherent 8-way Phase Shift Keying), 它實際上是一種數(shù)字通信調(diào)制技術(shù),通過改變恒定頻率參考信號(參考信號稱為載波)的相位來傳輸數(shù)據(jù)。所謂相位就是通過精確地改變正弦或余弦輸入時間來完成調(diào)制。
RS-485物理層:這個是比較常見的半雙工差分串行總線,實際上此類設備不是HART協(xié)議的主流,使用并不廣泛。
無線物理層:無線HART則采用基于IEEE802.15.4的無線2.4GHz頻段物理層。 IEEE802.15.4是一項定義了低速無線個人局域網(wǎng)(low-rate wireless personal area networks簡稱LR-WPAN)操作的技術(shù)標準。它規(guī)范了LR-WPAN的物理層和媒體訪問控制,并由IEEE 802.15工作組維護,該工作組在2003年定義了該標準。它是Zigbee,ISA100.11a,WirelessHART,MiWi,6LoWPAN,Thread和SNAP規(guī)范的基礎,它們各自都通過開發(fā)IEEE 802.15.4中未定義的上層來進一步擴展了標準。6LoWPAN還定義了WPAN上的Internet協(xié)議(IP)的IPv6版本的綁定,并且本身被Thread等上層所使用。需要注意的是WIFI雖然也使用2.4GHz頻段,但是它遵循802.11規(guī)范。 所謂Mesh網(wǎng)絡,看看下面這個網(wǎng)絡拓撲圖就很好理解了:
鏈路層:
數(shù)據(jù)鏈路層為數(shù)據(jù)傳輸提供可靠的、面向事務的通信路徑。對于FSK/PSK HART通信是通過雙絞線進行傳輸,雙絞線可能同時傳輸4-20mA信號。數(shù)據(jù)鏈路層將通過使用錯誤檢測信息和自動重復請求(Automatic Repeat Request 簡稱ARQ)協(xié)議來請求重新傳輸可能被線路噪聲或其他干擾破壞的數(shù)據(jù)塊,從而來糾正由于通信鏈路上的噪聲引起的錯誤。
對于無線HART,則通過基于時間同步的TDMA/CSMA機制進行鏈路管理、沖突檢測。在檢測到出錯時自動重復請求的跳頻技術(shù)。所謂跳頻,就是在802.15.4規(guī)范的帶寬里,將帶寬劃分為多個信道,主從直接約定好跳頻機制,從而有效的利用空閑信道。
網(wǎng)絡層(僅無線HART):主要實現(xiàn)功率優(yōu)化,mesh網(wǎng)絡管理。網(wǎng)絡時間同步,時間同步的精確性對于基于時分復用 (Time-division multiple access簡稱TDMA) 的網(wǎng)絡至關(guān)重要,時間不同步,網(wǎng)絡將癱瘓。
傳輸層:HART的傳輸層主要對于大塊數(shù)據(jù)進行拆分傳輸。
應用層:應用層定義了協(xié)議支持的公共命令,響應,數(shù)據(jù)類型和狀態(tài)報告。因此HART應用層確保不同公司的設備的互操作性中起著重要作用。所謂互操作性,是指互聯(lián)互通的基礎上,還定義了應用操作。比如溫度變送器,接入控制系統(tǒng)可以很容易與另一個閥門控制器、加熱控制器快速組成溫控系統(tǒng)。
HART規(guī)范書
HART原來由HART基金會管理,現(xiàn)在由FieldComm Group進行管理,F(xiàn)ieldComm Group由現(xiàn)場總線基金會(Fieldbus Foundation 簡稱FF)以及HART基金會合并而來,統(tǒng)一管理FF以及HART總線標準。有興趣可以去https://www.fieldcommgroup.org/進一步了解。 那么HART協(xié)議標準文檔基本由哪些組成呢?這里總結(jié)了一個思維導圖供參考:
從上面這個導圖,可以看到,HART還為不同類型的工業(yè)設備制定了相應的通信規(guī)范,比如溫度變送器、壓力變送器、閥門控制器、PID控制器、累加器、液位變送器、科里奧力流量變送器、渦街流量變送器、電磁流量變送器等。 而對于無線HART則由HCF_SPEC_290文檔進行集中描述。有了這份圖,如果你是從事相關(guān)開發(fā)工作,相信對HART標準文檔會有一個比較清晰的認識。 HART協(xié)議GB對應GB/T 29910.1~6-2013 type 20,IEC61158于2017年將HART標準收錄,對應其子類的type 20。 下面來對于其中比較重要的物理層、鏈路層以及應用層做進一步的介紹。
物理層
一般的,F(xiàn)SK/PSK物理層與數(shù)據(jù)鏈路層都按照下面的模型進行設計,本文僅介紹最為常用 的FSK物理層,對C8PSK有興趣的,可以查閱HCF_SPEC-60。
FSK物理層
HART采用二進制頻移鍵控(Binary FSK簡稱BFSK),其工作原理為:
所謂BFSK就是將待傳輸?shù)臄?shù)據(jù)按照二進制BIT流變換成相應的頻率信號疊加起來,簡單的可以理解成下圖這樣一個收發(fā)過程:
調(diào)制器與解調(diào)器一起組成了調(diào)制解調(diào)器,對于設備間通信而言基本都有這樣一個調(diào)制解調(diào)的過程。發(fā)送端調(diào)制器:
在兩種不同信號頻率間信號按照一定的時間間隔根據(jù)輸入的二進制位為0或者1,選擇成頻率1或者頻率2,進而合成為一個信號輸出。將該物理信號輸出到物理介質(zhì)。當然實際使用的FSK,由不同的實現(xiàn)參數(shù)以及細節(jié),還分連續(xù)相位頻移鍵控、高斯頻移鍵控、最小頻移鍵控、高斯最小頻移鍵控、音頻頻移鍵控等。接收端解調(diào)器:
接收端將從物理介質(zhì)接收到的電信號,分兩路進入兩個帶通濾波器,帶通濾波器分別為調(diào)制器對應的0/1調(diào)制頻率,將該有用信號檢出,再送入到檢波器電路將信號檢出為數(shù)字信號,雙路數(shù)字信號再由判決電路按照對應的波特率判決成二進制數(shù)據(jù)流,從而完成物理層的解調(diào)過程。顯然,這兩個帶通濾波器的通帶應是不相交的,才能檢出各自有用頻率信號。 基本明了FSK的大致原理后,那么HART的FSK又是怎么樣的呢?
HART采用連續(xù)相位頻移鍵控(Continuous Phase Frequency-Shift-Keying,也簡稱為CPFSK)技術(shù),所謂連續(xù)相位可以觀察0/1相鄰的點,簡單理解就是賦值是連續(xù)的。HART利用1200Hz正弦電流信號表征邏輯1,而由2200Hz正弦電流信號表征邏輯0。0/1調(diào)制的時間寬度是一樣的,采用一周期1200Hz正弦時間。這些調(diào)制的信號再線性疊加到4-20mA上,因此在4-20mA上的波形大致就是這樣:
有童鞋可能會說,這樣豈不是污染了4-20mA環(huán)路嗎?HART協(xié)議規(guī)定調(diào)制信號的頻帶基本須在500-10KHz內(nèi):
4-20mA變送通道的變化頻率低于1200Hz,設備會做一個低通濾波,濾除掉這些調(diào)制信號,再進入被接入設備的I/V轉(zhuǎn)換電路,進而采樣環(huán)路電流。所以一般的,接入端會并接一個250歐的電阻,將4-20mA轉(zhuǎn)換為1-5V,當然也可能是其他電阻值。工業(yè)測量的過程量,一般都是低頻信號,所以這樣設計是沒有問題的。 此調(diào)制解調(diào)器器可以由專用芯片完成,比如 安森美的NCN5192,Maxim的DS8500等都可以,也可以自己設計調(diào)制電路實現(xiàn)。
鏈路層
鏈路層向上層提供穩(wěn)定可靠的數(shù)據(jù)鏈路服務,以及對下層的物理層介質(zhì)進行介質(zhì)訪問管理,同時定義了數(shù)據(jù)報文結(jié)構(gòu)。
幀結(jié)構(gòu)
首先來看看HART協(xié)議報文結(jié)構(gòu):
其定界符定義為:
校驗碼采用異或校驗算法,包括自定界字節(jié)開始至所有有效字節(jié)的異或結(jié)果便生成校驗碼。 報文結(jié)構(gòu)之前繪制過一個思維導圖,這里附上:
由于地址類型有可能是1字節(jié)或者5字節(jié)兩種類型,因此報文的幀長由下面示意圖確定:
根據(jù)地址類型確定Byte Count字段的位置
根據(jù)Byte Count長度確定校驗自己的位置
接收幀算法,主要由下面幾個關(guān)鍵事件完成:
長地址格式:由主站地址類型、Burst 模式標志、設備類型字段、ID字段組成。
主站類型:
主要主站
輔助主站
設備類型,設備類型主要定義可參考下面思維導圖:
介質(zhì)管理服務
看這個圖好像很復雜,其實這是一般標準的嚴謹表述方式,姑且稱為協(xié)議原語,所謂協(xié)議原語就是某一確定的動作抽象,對于物理層的控制就包含這樣一些操作管理:
RESET復位原語,比如你自己做的調(diào)制解調(diào)器或者現(xiàn)有的芯片,需要實現(xiàn)狀態(tài)復位的操作,比如現(xiàn)成的芯片可能提供復位腳或者控制命令,那么編程就是控制物理層進行復位。
ENABLE使能原語,對物理層的使能控制操作,比如MODEM芯片的ENABLE引腳的控制
DATA傳輸/接受原語,將物理層數(shù)據(jù)進行收發(fā)控制,對于發(fā),就是將上層數(shù)據(jù)發(fā)送給物理層發(fā)送到總線介質(zhì)的意思,對于收而言就是物理層接收到的BIT流進行成幀,并上傳給上層。
總的指導控制操作,按照上述建議交互圖進行與物理層進行交互。 注:標準中以SAP(Service Access Point)進行描述,所謂SAP,就是對介質(zhì)或上層服務的一種抽象說法,至于這個名詞不必覺得不好理解。
鏈路管理服務
鏈路管理主要描述鏈路層對應用層的服務,主要分兩種服務,報文服務,以及管理服務:
**報文服務:**發(fā)送消息和接收回復的基本功能。此外,還指定了SAP,以允許捕獲未經(jīng)請求的消息,比如捕獲Burst報文。
管理服務:管理服務指允許配置數(shù)據(jù)鏈路層本身參數(shù)的服務。
看這個圖好像很復雜,其實就是描述了應用層對鏈路層三種基本操作:
TRANSMIT發(fā)送服務原語:應用層發(fā)送報文給鏈路層
RECEIVE接受服務原語:接收報文并傳輸給應用層
CYCLIC捕獲服務原語:周期性接受總線Burst報文,所謂Burst就是某一個站點周期性向總線廣播報文,一般會將測量值或控制信息周期性廣播,接收設備可以捕獲該數(shù)據(jù)實現(xiàn)相應的應用控制。
介質(zhì)控制
無Buest設備:主要是完成介質(zhì)沖突控制的,采用令牌傳遞方式進行介質(zhì)沖突控制,當總線中沒有Burst設備時,其控制狀態(tài)機如下:
總線設備主要有可能有三類設備:主要主站、從設備、輔助主站。令牌在這三者間按照上述狀態(tài)機進行切換控制。數(shù)據(jù)總是主站發(fā)起,從站應當。是一種主-從通信模式,唯一要考慮的時,總線中主要主設備發(fā)起通信,從設備應答,如果在從設備應答令牌周期沒有應答或者完成應答,令牌將傳遞給輔助主站。有Burst設備:如果總線中存在Burst模式設備,則總線設備角色就多了一個,其令牌傳遞狀態(tài)機就變成這樣了:
其實就是令牌多了一個角色可以獲取,其機理還是與上面的一樣。
應用層
應用層主要定義:
通過協(xié)議傳輸應用數(shù)據(jù)的格式;
所有現(xiàn)場設備的版本規(guī)則;
定義通用命令編號,通用慣例,特定設備和設備系列命令使用;
私有HART命令的構(gòu)造要求;
所有命令響應都需要返回的命令狀態(tài)字節(jié);
設備使用狀態(tài)和現(xiàn)場設備變量;
主機用于識別現(xiàn)場設備和管理HART網(wǎng)絡的過程
另外應用層還規(guī)定了12項基本原則:
所有設備都必須遵守HART現(xiàn)場通訊協(xié)議規(guī)范的有效兼容修訂版;
48號的必須遵守通用操作命令規(guī)范中的要求;
任何時候都不得從任何設備上刪除命令,兼容性考慮;
現(xiàn)場設備支持的命令中任何數(shù)據(jù)項的含義均不得更改
數(shù)據(jù)項可以添加到任何命令的末尾
不得從枚舉表,位字段或響應代碼中刪除條目
設備變量的代碼號不得更改
設備變量的設備系列必須保持固定。
設備變量的分類必須保持固定
遵循以下規(guī)則,現(xiàn)場設備可以從HART 4升級而無需更改設備類型:
設備修訂版所針對的HART現(xiàn)場通信協(xié)議規(guī)范的所有要求都必須遵守
必須刪除命令4和命令5
除命令0外,所有命令都必須僅以長幀格式實現(xiàn),命令0必須同時以短幀和長幀格式實現(xiàn)。
必須為每個主機提供設備狀態(tài)字節(jié)中單獨的配置更改位(即一個用于主要主機,另一個用于輔助主機)。當接收到命令38時,必須僅復位與發(fā)出命令的主機相對應的位。根據(jù)HART 5的要求,這些位必須是非易失性的。所謂非易失性就是掉電保存。
必須為每個主機在設備狀態(tài)字節(jié)中提供一個單獨的冷啟動位
必須支持通用實踐命令規(guī)范中指定的命令38和命令48
遵循以下規(guī)則,現(xiàn)場設備可以從HART 5升級而無需更改設備類型
設備修訂版所針對的HART現(xiàn)場通信協(xié)議規(guī)范的所有要求都必須遵守
必須為每個主機提供設備狀態(tài)字節(jié)中單獨的配置更改位
必須為每個主機在設備狀態(tài)字節(jié)中提供一個單獨的冷啟動位
必須支持通用實踐命令規(guī)范中指定的命令38和命令48
如果支持“Burst模式”,則必須添加2條其他“Burst消息”。且必須添加事件通知。
遵循以下規(guī)則,可以在不更改設備類型的情況下從HART 6升級現(xiàn)場設備
必須遵守設備修訂版所針對的HART現(xiàn)場通信協(xié)議規(guī)范的所有要求。
必須按照“通用實踐命令規(guī)范”中的說明來支持命令38和命令48。
2字節(jié)命令格式:命令字段為0x1F,可在數(shù)據(jù)字段中找到WO字節(jié)擴展命令號。
總結(jié)一下
HART總線,是工業(yè)現(xiàn)場設備應用最為廣泛的總線協(xié)議之一,除此之外還有常見的modbus協(xié)議、Profibus協(xié)議、FF基金會總線協(xié)議等。其實總線通信協(xié)議都有其相似的地方,這也是為什么有OSI七層模型這一說,就是我們?nèi)粘I钕⑾⑾嚓P(guān)的TCP/IP協(xié)議棧也脫離不了這些相似的地方。 本文旨在梳理一下比較重要的信息,方便對有興趣的童鞋起到一個提綱攜領(lǐng)的作用,主要參考HART標準,同時加入自己的理解。短短的一篇文章并不能完整的總結(jié)這樣一個協(xié)議,還有很多細節(jié)沒有囊括,比如變量管理、診斷定義等等,具體開發(fā)中請以HART標準為準。整理本文,也是對之前工作中所使用到的工業(yè)總線協(xié)議做個總結(jié)。
審核編輯 :李倩
-
總線
+關(guān)注
關(guān)注
10文章
2891瀏覽量
88165 -
HART
+關(guān)注
關(guān)注
2文章
74瀏覽量
32731
原文標題:長文圖解工業(yè)HART總線協(xié)議
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論