簡述HART協(xié)議命令和語言
介紹過HART協(xié)議物理層和HART數(shù)據(jù)鏈路層之后,我們還對HART的服務(wù)進(jìn)行了闡述。通過這些一系列的講解,相信大家已經(jīng)對軟件平臺中的HART協(xié)議應(yīng)用有了一定的了解了。這里我們介紹***一部分內(nèi)容,是HART應(yīng)用層規(guī)范和相關(guān)語言和命令的介紹。
HART協(xié)議的應(yīng)用層規(guī)范
1 HART命令
通用命令:所有設(shè)備都實現(xiàn)這些命令。命令號范圍是:0 ~ 30;
一般行為命令:多數(shù)設(shè)備支持這些命令的實現(xiàn)。命令號范圍:32 ~ 127;
變送器專用命令:只有一個或幾個設(shè)備支持這些命令。通過執(zhí)行專用命令來完成一些獨有的特殊功能,和數(shù)據(jù)處理;命令號范圍:128 ~ 255;
2 數(shù)據(jù)格式
①. 無符號整數(shù):用來表示原始數(shù)字(raw numbers),如“***安裝號”。
②. IEEE 754浮點格式:
通過協(xié)議傳遞的浮點值是基于IEEE 754單精度浮點標(biāo)準(zhǔn)的。
數(shù)據(jù)字節(jié)
#0 #1 #2 #3
S EEEEEEE E MMMMMMM MMMMMMMM MMMMMMMM
S-尾數(shù)的符號;1=負(fù)
E-指數(shù);與十進(jìn)制數(shù)127的差值以二進(jìn)制補碼形式表示。
M-尾數(shù);低23位,小數(shù)部分。
上述浮點數(shù)的值通過把2的無偏移指數(shù)次方與24位尾數(shù)相乘得到。24 位尾數(shù)由一個假設(shè)的***位1,后跟一個小數(shù)點,和尾數(shù)的23位組成。S1.M X
③.ASCII數(shù)據(jù)格式:
此格式可以參照任何一個ASCII代碼表。
④.壓縮ASCII(6位ASCII)數(shù)據(jù)格式:
這種數(shù)據(jù)格式是HART協(xié)議的一個獨特之處。壓縮的ASCII是ASCII的子集,它通過去掉每個ASCII字符的高2位而產(chǎn)生。這就允許4個壓縮的ASCII字符占用3個ASCII字符的空間。具體的格式安排情況如下:
壓縮的ASCII數(shù)據(jù)字節(jié) #0 #1 #2 …
ASCII數(shù)據(jù)字節(jié) #0 #1 #1 #2 #2 #3 …
ASCII數(shù)據(jù)位543210 54 3210 5432 10 543210 …
由HART字符集可以看出,HART協(xié)議不允許有小寫英文字母出現(xiàn)。
⑤.變量描述:
變送器提供了四個可以訪問的變量輸出通道。每個變送器變量都對應(yīng)一個代碼,上位機通過給變送器的每個通道設(shè)定不同的變量代碼來得到相應(yīng)的變量值。變量代碼表由變送器的生產(chǎn)廠商提供。
設(shè)備描述語言
隨著HART協(xié)議的發(fā)展,對主設(shè)備和現(xiàn)場設(shè)備開發(fā)者來說,又產(chǎn)生了新的障礙。主設(shè)備開發(fā)者必須為不斷涌現(xiàn)的新現(xiàn)場設(shè)備提供支持,同時,現(xiàn)場設(shè)備開發(fā)者必須為數(shù)量正迅速增加的主設(shè)備開發(fā)相應(yīng)的接口。
設(shè)備描述語言(DDL)是用以描述HART現(xiàn)場設(shè)備的一種簡單結(jié)構(gòu)化英語語言。DDL將主設(shè)備與現(xiàn)場設(shè)備操作所需的所有信息都集中到了一起,而目前這些信息卻是以不同的形式存在于不同的地方。HART文檔描述了其中一些信息(如普通命令、通用命令、通用表等)。變送器特有文檔說明了特殊設(shè)備信息(如來自于通用命令的偏差,同時又支持通用命令和特殊變送器命令)。CAD圖提供了手持終端的外觀和流程,甚至有些信息是由手持終端的應(yīng)用來說明的。例如,整定D/A轉(zhuǎn)換器的過程就是按手持終端處理方法定義的。DDL語言組合了所有這些信息,為對現(xiàn)場設(shè)備提供了一種清晰的、不含糊的、一致的描述。
一種正在開發(fā)的手持終端將只基于設(shè)備描述與現(xiàn)場設(shè)備進(jìn)行操作,而不能與沒有設(shè)備描述的現(xiàn)場設(shè)備進(jìn)行操作。這具有十分誘人的優(yōu)點。
新的現(xiàn)場設(shè)備可以不依賴于手持終端的版本而發(fā)布。一旦現(xiàn)場設(shè)備的設(shè)備描述存在,這種描述就能被載入手持終端,然后現(xiàn)場設(shè)備就能與之操作了。現(xiàn)場設(shè)備開發(fā)者將不再需要確認(rèn)手持終端的操作,只需要檢驗設(shè)備描述語言。因此,當(dāng)前存在于現(xiàn)場設(shè)備和手持終端版本間的互相依賴的緊密聯(lián)系將不復(fù)存在。
現(xiàn)場設(shè)備開發(fā)者在怎樣將其產(chǎn)品引入現(xiàn)場及怎樣為其用戶升級方面具有很大的靈活性。設(shè)備描述能駐留在現(xiàn)場設(shè)備中,所以合適的設(shè)備描述總是有效的。升級的設(shè)備描述能以模塊的形式提供,并且可以引入到手持終端。可以用軟盤來進(jìn)行升級,也可以用PC軟件將其下裝到手持終端中。軟盤升級可以由用戶自己或服務(wù)中心來完成。
DDL語言將會代替特殊變送器文檔和CAD線圖,所以,這會消除以前存在的許多文檔問題。
由于目前DDL及其編譯器價格較貴,各廠家也沒有提供支持DDL的相應(yīng)的設(shè)備,不建議采用和實現(xiàn)支持DDL的功能,而是采用將各類設(shè)備的專有屬性與通用屬性分開,專有屬性以不同的動態(tài)鏈接庫實現(xiàn)。