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