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