2. 軟件
(1)算法
這一代儀表雖然使用MCU(單片微控制器),但是這些芯片功能很強(qiáng),資源較充沛,價(jià)格也較便宜,這些給儀表采用復(fù)雜算法和高級語言創(chuàng)造了條件。
從這時(shí)開始,人們已廣泛接受了這樣的設(shè)計(jì)原則:(1)要把軟件可能對儀表精確度造成的影響減小到可以忽略;(2)要把軟件可能對儀表精確度做出的改善用足。仔細(xì)想想就可以明白,這兩條原則對提高儀表產(chǎn)品的性價(jià)比來說是最經(jīng)濟(jì)的手段。隨著高分辨力、高精確度Σ/ΔA/D和D/A轉(zhuǎn)換器價(jià)格的下降,人們又將第一條原則改為:將數(shù)字部分可能對儀表精確度造成的影響減小到可以忽略。
高精確度Σ/ΔA/D轉(zhuǎn)換器的使用對儀表設(shè)計(jì)概念的影響是多方面的,例如:現(xiàn)在設(shè)計(jì)師就可在信噪比允許的情況下取消量程自動(dòng)轉(zhuǎn)換電路和相關(guān)算法。自動(dòng)量程轉(zhuǎn)換是影響儀表響應(yīng)時(shí)間的重要因素,同時(shí)為克服量程的反復(fù)切換而設(shè)計(jì)的量程切換差,產(chǎn)生了小范圍的附加回差,這對高精確度儀表也是一種缺陷。在早期智能儀表中引以自豪的必備功能——自動(dòng)量程切換,到此已經(jīng)成為要盡量避免的缺點(diǎn)了。
為減小軟件對儀表精確度的影響,多項(xiàng)式、樣條和多元插值算法,統(tǒng)計(jì)算法,實(shí)時(shí)的最小二乘算法等廣泛采用;為利用軟件來改善儀表精確度,各種儀表多元模型的研究得到重視。在儀表模型研究方面,我國研究單位和企業(yè)的重視是不夠的,表現(xiàn)在:(1)很少有人做這方面研究;(2)個(gè)別研究也僅限于建立一個(gè)理論模型,而沒有考慮算法安裝在MCU中的可能性和在儀表生產(chǎn)過程中實(shí)施的可行性。
根據(jù)儀表中復(fù)雜算法使用日益增多的情況,編程開始廣泛采用C語言,運(yùn)算中大量使用標(biāo)準(zhǔn)的四字節(jié)浮點(diǎn)數(shù)(前些年我國曾廣泛采用三字節(jié)浮點(diǎn)數(shù)),在類似PID的積分算法中甚至采用雙倍精確度的浮點(diǎn)算法。
這方面最典型的例子是溫度變送器,現(xiàn)在各公司在設(shè)計(jì)溫度變送器時(shí)都直接實(shí)現(xiàn)國際標(biāo)準(zhǔn)公布的分度方程,因此可利用較小程序空間完成所有國際標(biāo)準(zhǔn)熱電偶和熱電阻品種的高精確度線性化。
(2)軟件結(jié)構(gòu)
雖然Smart儀表與模擬信號兼容,在過程控制中將模擬信號作為主要信號;但是我們在設(shè)計(jì)和使用時(shí)必須注意到,在數(shù)字控制系統(tǒng)中Smart儀表是系統(tǒng)的一部分。因此我們可方便地用儀表的鍵或手持通信器對儀表做組態(tài),但所有組態(tài)變化都須及時(shí)地讓系統(tǒng)主機(jī)知道。由于HART協(xié)議采用主從式訪問方式,因此主機(jī)不發(fā)出訪問,從機(jī)是無法主動(dòng)將組態(tài)變化情況上傳的,這在應(yīng)用時(shí)必須注意。現(xiàn)場儀表要做的是,發(fā)生非主機(jī)的組態(tài)后,在所有返回的應(yīng)答中做出標(biāo)記,直到主機(jī)了解組態(tài)變化為止。
現(xiàn)場智能儀表的軟件就功能而言至少分為3個(gè)狀態(tài):工作狀態(tài)、設(shè)置狀態(tài)和標(biāo)定狀態(tài)。可將3個(gè)狀態(tài)理解為3臺CPU。工作狀態(tài)CPU和設(shè)置狀態(tài)CPU同時(shí)工作,工作狀態(tài)CPU連續(xù)工作,處理“測量或執(zhí)行”任務(wù);設(shè)置狀態(tài)CPU由設(shè)置事件觸發(fā)工作,處理組態(tài)任務(wù);兩臺CPU間通過儀表內(nèi)存交換信息。標(biāo)定狀態(tài)CPU單獨(dú)工作,處理與儀表的生產(chǎn)調(diào)試或定期標(biāo)定有關(guān)的事務(wù)。
工作狀態(tài)的程序仍可用圖2表示,但通信有專門定時(shí)要求,因此交由設(shè)置狀態(tài)程序處理;顯示部分也要做處理,避免與設(shè)置態(tài)的顯示沖突,滿足特殊低功耗要求。
標(biāo)定狀態(tài)的程序在不同儀表間有較大差異,即使是同類儀表,各企業(yè)間也有不同標(biāo)定方法,因?yàn)榉椒ㄊ怯赡P秃退惴Q定的。
![]()
設(shè)置狀態(tài)程序框圖見圖5。可調(diào)用Smart儀表智能功能的途徑有兩條:數(shù)據(jù)通信和鍵盤。由于數(shù)據(jù)通信是智能儀表的必備功能,而就地顯示和鍵盤往往是選用件,因此軟件結(jié)構(gòu)要安排使數(shù)字通信部分最簡潔有效。對于既有就地顯示和鍵盤又有通信功能的儀表,妥善設(shè)計(jì)鍵盤、通信主機(jī)和手持通信器同時(shí)對儀表實(shí)施組態(tài)時(shí)的仲裁機(jī)制和時(shí)序關(guān)系十分關(guān)鍵。
框圖中通信分支從接收命令層到發(fā)送命令層的部分對大部分國內(nèi)技術(shù)人員來說較熟悉,但部分技術(shù)人員對數(shù)據(jù)鏈路層重視不夠,以為只要通信接上就行了。通信設(shè)計(jì)基本前提是:信道是有干擾的,原始通信是會出錯(cuò)的,因此必須有查錯(cuò)和糾錯(cuò)措施。錯(cuò)誤分為兩類:收發(fā)差錯(cuò)和內(nèi)容差錯(cuò)。收發(fā)差錯(cuò)主要指信息與干擾的混淆和時(shí)序錯(cuò)誤,內(nèi)容差錯(cuò)指各種對信息的歪曲。Smart儀表糾錯(cuò)措施主要是重發(fā)。
數(shù)據(jù)鏈路層與物理層一起承擔(dān)了限制和查找收發(fā)差錯(cuò)的任務(wù),也擔(dān)負(fù)部分內(nèi)容差錯(cuò)的查錯(cuò)任務(wù)(用縱橫奇偶校驗(yàn)查錯(cuò))。因此數(shù)據(jù)鏈路層是保證現(xiàn)場通信成功的基礎(chǔ)。說數(shù)據(jù)鏈路層復(fù)雜是因?yàn)閷λ皇煜ぃ鋵?shí)只要嚴(yán)格按照通信協(xié)議中規(guī)定的狀態(tài)圖去做),認(rèn)真實(shí)現(xiàn)圖上的每條線就能達(dá)到協(xié)議規(guī)定的水平。
命令層對通信差錯(cuò)用核對數(shù)據(jù)格式、檢查狀態(tài)字與校驗(yàn)和來檢查。此外還有內(nèi)容差錯(cuò)。內(nèi)容差錯(cuò)也分為兩類:一類是通信造成的,另一類是內(nèi)容本身的差錯(cuò)(如參數(shù)超出許可范圍)。第一類差錯(cuò)由命令層程序完成查錯(cuò)和自動(dòng)請求重發(fā)任務(wù)。第二類差錯(cuò),由于在鍵操作也會發(fā)生,因此需在處理每條命令時(shí)查錯(cuò)并返回出錯(cuò)信息。
智能化現(xiàn)場儀表功能強(qiáng)帶來的問題是操作復(fù)雜,現(xiàn)場人員做出錯(cuò)誤操作的可能性極大,因此我們又有一條設(shè)計(jì)前提,就是:錯(cuò)誤操作是不可避免的。一般而言,現(xiàn)場儀表要能抵御除嚴(yán)重物理損害(包括機(jī)械、熱和電損害,以及水浸、改變內(nèi)部電氣連接等)外的一切錯(cuò)誤操作。由此可料到,儀表軟件中診斷和處理出錯(cuò)的程序量是很大的,許多智能化程度較高的儀表,出錯(cuò)處理程序的量遠(yuǎn)大于儀表基本功能程序。
3. 標(biāo)定
Smart儀表模擬、數(shù)字兼容的信號方式也決定了它的校驗(yàn)標(biāo)定模式與傳統(tǒng)儀表不同。有些概念常常被混淆。
以溫度變送器為例。對K型熱電偶,IEC 60854.1給出的分度表范圍是-270℃~+1372℃,所以變送器的變量下限(Variable Lower Limit, VLL)是-270℃,變量上限(Variable Upper Limit, VUL)是1372℃。但是實(shí)際上不可能有一個(gè)熱電偶傳感器用在這么寬的范圍,如果這個(gè)變送器安裝在一支0℃~800℃的熱電偶上,那么傳感器下限(Lower Sensor Limit, LSL)就是0℃,傳感器上限(Upper Sensor Limit, USL)就是800℃。如果打算讓200~500℃對應(yīng)指示4~20mA,那么量程下限(Lower Range Value, LRV)是200℃,量程上限(Upper Range Value, URV)是500℃。
為了便于理解,我們可以把Smart儀表的邏輯結(jié)構(gòu)分成兩臺儀表,一臺是全數(shù)字化的儀表,另一臺是模擬儀表。數(shù)字儀表由兩部分組成,模擬信號調(diào)理部分和數(shù)字信號處理部分。
根據(jù)儀表類型不同,數(shù)字儀表的標(biāo)定有兩種模式:一種是直接標(biāo)定數(shù)字信號處理部分,將每臺傳感器和模擬信號調(diào)理器的不一致連同非線性等一起全部修正掉,典型例子如壓力變送器。另一種是不同的傳感器采用統(tǒng)一的數(shù)字信號處理,標(biāo)定時(shí)僅僅將不同傳感器的信號歸一化,典型例子是溫度變送器。
在數(shù)字信號處理部分,它的變量范圍是從VLL到VUL,這個(gè)范圍在變送器設(shè)計(jì)完成以后就不可變了。變送器與傳感器組裝時(shí)要在儀表內(nèi)設(shè)定LSL和USL。當(dāng)信號超出LSL、USL或VLL、VUL時(shí),儀表會按約定的方式報(bào)警。LSL、USL、VLL和VUL的設(shè)定是由制造廠完成的,用戶不需要做。
模擬儀表是數(shù)字儀表的模擬形式表現(xiàn)。數(shù)字儀表傳給模擬一串?dāng)?shù)字,模擬儀表將數(shù)字轉(zhuǎn)換成電流。但是電流轉(zhuǎn)換的是否準(zhǔn),這是需要在4mA和20mA標(biāo)定的,標(biāo)定模擬電流輸出是Smart儀表特有的。儀表出廠時(shí)一般取LRV=LSL和URV=USL,使用時(shí)可以根據(jù)需要設(shè)定LRV使之對應(yīng)4mA輸出,設(shè)定URV使之對應(yīng)20mA輸出。
Smart儀表必須分別進(jìn)行數(shù)字儀表的標(biāo)定和模擬儀表的標(biāo)定,才能保證數(shù)字輸出和模擬輸出都是精確的。
一些用戶不理解數(shù)字儀表與模擬儀表的區(qū)別,將Smart儀表像模擬儀表一樣進(jìn)行零點(diǎn)和量程的標(biāo)定,這樣標(biāo)定會失去智能化儀表應(yīng)有的高精確度。只有在數(shù)字儀表的標(biāo)定已經(jīng)完成的情況下,這種簡單的標(biāo)定才會有好的結(jié)果。
還有一點(diǎn)概念上的問題,就是許多技術(shù)人員總是像考慮傳統(tǒng)儀表一樣,以為設(shè)定LRV和URV時(shí)在對儀表的前級信號調(diào)理部分進(jìn)行調(diào)整,其實(shí)Smart儀表中通常只有模擬輸出是可以調(diào)整的。
三 新型智能化現(xiàn)場儀表
新型智能化現(xiàn)場儀表指全數(shù)字化現(xiàn)場總線智能儀表,它們同時(shí)具有信息的采集、儲存、處理和傳輸功能。它們加工的信息包括:過程對象、自身狀態(tài)、與其他儀表的關(guān)系和系統(tǒng)管理等信息。由于單臺儀表處理信息的能力有限,因此經(jīng)常需幾臺儀表聯(lián)合,甚至需系統(tǒng)主機(jī)參與處理某些信息,因此通信功能強(qiáng)弱對儀表的智能程度非常重要。
雖然現(xiàn)場總線種類很多,智能化現(xiàn)場儀表的制造商也很多,采用技術(shù)不完全相同,但是在儀表結(jié)構(gòu)上的發(fā)展趨勢是共同的。
1. 硬件結(jié)構(gòu)
![]()
硬件結(jié)構(gòu)見圖6,與前面兩種結(jié)構(gòu)最大不同是分為了兩部分:智能傳感器部分與數(shù)據(jù)處理和通信部分。對執(zhí)行器類儀表智能傳感器部分的結(jié)構(gòu)框圖有些不同。
智能傳感器部分包括信號調(diào)理器、A/D轉(zhuǎn)換器和EEPROM(電可擦除只讀存儲器)或其他非易失存儲器,EEPROM用于存放與傳感器有關(guān)的線性化、溫度補(bǔ)償?shù)葮?biāo)定數(shù)據(jù)和一些管理信息。雖然與這塊EEPROM有關(guān)的運(yùn)算是在數(shù)據(jù)處理和通信部分進(jìn)行的,但把它放在智能傳感器部分帶來了很大好處。主要是:(1)傳感器完全可互換;(2)針對不同現(xiàn)場總線,傳感器部分可以統(tǒng)一。
數(shù)據(jù)處理和通信部分包括不直接涉及傳感器的各部分,這部分也有一塊EEPROM或其他非易失存儲器,主要用于存放與儀表的組態(tài)及現(xiàn)場總線有關(guān)的信息。與傳感器分離后,在硬件上與傳感器完全脫鉤,因此只需為不同現(xiàn)場儀表準(zhǔn)備不同軟件,原則上用一種卡件就可滿足各種現(xiàn)場儀表的需要。
這種分體結(jié)構(gòu)使企業(yè)只需針對每種現(xiàn)場總線設(shè)計(jì)一種數(shù)據(jù)處理和通信卡,針對每種傳感器設(shè)計(jì)一種傳感器卡,兩類卡組合可產(chǎn)生多種現(xiàn)場總線智能儀表。分體結(jié)構(gòu)對加快新產(chǎn)品開發(fā),降低開發(fā)和生產(chǎn)成本產(chǎn)生了很好效果。
智能化現(xiàn)場溫度變送器由于體積特別小,因此一般不采用這種分體結(jié)構(gòu)。
進(jìn)一步發(fā)展趨勢:在智能傳感器部分安裝一片集成了A/D轉(zhuǎn)換器和EEPROM的MCU,這樣智能傳感器部分輸出的是標(biāo)準(zhǔn)化數(shù)字信號。
僅從儀表外部設(shè)備看,新型智能化儀表甚至比前幾代儀表簡化了,但就通信和顯示內(nèi)容與前幾代儀表比,信息量和信息所反映問題的深度已不可同日而語,儀表信息化的趨勢已經(jīng)顯現(xiàn)。在這種情況下,8位MCU已經(jīng)顯得力不從心,16位、32位嵌入式MCU(EMCU)成為主流,整合了通信功能的EMCU尤其受歡迎。一些嵌入式芯片集成了通用系統(tǒng)的主要部分,形成單片系統(tǒng)(System on a Chip, SoC)。
2. 軟件結(jié)構(gòu)
新型智能化現(xiàn)場儀表的軟件結(jié)構(gòu)與前兩種儀表不同。智能功能以功能塊形式出現(xiàn),功能的調(diào)用以事件觸發(fā)形式進(jìn)行(如時(shí)間觸發(fā)事件),因此智能功能執(zhí)行順序與程序編寫無關(guān),不僅通過組態(tài)隨時(shí)可改變,使用中也會有變。事實(shí)上許多智能化現(xiàn)場儀表采用實(shí)時(shí)多任務(wù)系統(tǒng),因此各功能塊可簡化地看作是同時(shí)運(yùn)行。
軟件與儀表輸入、輸出端的接口也與前兩種儀表不同。前面講到儀表硬件已經(jīng)是分體的,數(shù)據(jù)處理和通信部分需面對不同傳感器和執(zhí)行器接口。向下現(xiàn)場總線儀表采用類似傳感器塊和資源塊形式制作軟接口,簡化內(nèi)部程序?qū)ν獠吭O(shè)備(傳感器)的訪問。隨著OPC(OLE for Process Control)技術(shù)的推廣,儀表向上與系統(tǒng)間的接口也大大簡化。儀表只要按照OPC規(guī)定的結(jié)構(gòu)和格式編寫程序,就可很方便與各種系統(tǒng)連接。
隨著儀表軟件和硬件能力的提高,智能化儀表的功能已不局限于檢測和執(zhí)行,許多控制系統(tǒng)的功能也開始裝入儀表,隨之而來的是部分原控制系統(tǒng)低層工作站的任務(wù)也下移到了現(xiàn)場儀表。這極大豐富了儀表智能化的內(nèi)容,同時(shí)也大大增加了儀表軟件的復(fù)雜性。
總而言之,儀表軟件技術(shù)的發(fā)展方向之一是大量吸收信息技術(shù)的成果,在數(shù)字化基礎(chǔ)上迅速提高智能化和網(wǎng)絡(luò)化水平。針對上述情況,還像前幾代儀表一樣繼續(xù)由少數(shù)幾個(gè)工程師編制軟件,已經(jīng)顯得既不經(jīng)濟(jì)也難以行得通了。
新型智能化儀表典型軟件結(jié)構(gòu)是:基礎(chǔ)嵌入式實(shí)時(shí)操作系統(tǒng)平臺+以現(xiàn)場實(shí)時(shí)通信為核心的測控儀表專業(yè)系統(tǒng)平臺+應(yīng)用軟件。
基礎(chǔ)嵌入式實(shí)時(shí)操作系統(tǒng)平臺主要功能是:實(shí)時(shí)任務(wù)調(diào)度、系統(tǒng)資源訪問等,部分操作系統(tǒng)將基于TCP/IP的通信也融入其中。典型系統(tǒng)有:VrTX、Nucleus、pSOS、VxWorks、Mc-OSII、RT-Linux等。對于一些對硬實(shí)時(shí)要求不太高的產(chǎn)品,也有用WinCE和PalmOS的。
測控儀表專業(yè)系統(tǒng)平臺的核心任務(wù)是:確保儀表通信的一致性和儀表功能的可互操作性。主要包括現(xiàn)場通信棧、儀表功能塊、儀表的電子設(shè)備描述以及分別針對溫度、流量、壓力、物位、成分和執(zhí)行器等儀表行規(guī)。儀表功能塊將智能儀表的常用功能規(guī)范化,給儀表的開發(fā)應(yīng)用帶來了極大方便。
應(yīng)用軟件要解決傳感器的激勵(lì)、信號處理、多傳感器數(shù)據(jù)融合等。
有了上述兩種依托信息技術(shù)發(fā)展建立起來的儀表共性系統(tǒng)平臺,一般儀表應(yīng)用軟件就較簡單,許多功能通過組態(tài)就可實(shí)現(xiàn)。但是針對傳感器信號處理的核心技術(shù)也在這里,這是我國儀表行業(yè)特別薄弱的地方。
3. 標(biāo)準(zhǔn)化情況
IEC 60770-3對智能變送器的定義是:“具有與外部系統(tǒng)和操作人員雙向通信手段,用于發(fā)送測量、狀態(tài)信息,接收和處理外部命令的變送器”。智能儀表的核心是三要素:(1)雙向通信功能;(2)除測控信息外還要發(fā)送狀態(tài)信息;(3)能接受外部命令的控制。同時(shí)應(yīng)注意到智能儀表的“智能”目前與“人工智能”無關(guān)。
現(xiàn)場總線技術(shù)給智能化儀表的發(fā)展帶來了飛躍也帶來了一些新問題。問題之一是儀表評估變得非常復(fù)雜,因?yàn)楫?dāng)對儀表進(jìn)行一對一(一臺主控計(jì)算機(jī)對一臺儀表)測試時(shí)的性能與多臺儀表一起工作的性能不同;儀表不同的組態(tài)可實(shí)現(xiàn)同樣的功能,但性能不同;儀表性能與網(wǎng)絡(luò)布置方式、組態(tài)狀態(tài)和網(wǎng)絡(luò)負(fù)荷都有關(guān)系。造成這種情況的根本原因是儀表與現(xiàn)場總線的聯(lián)系太緊密了,以至于我們無法脫離對現(xiàn)場總線的評價(jià)來單獨(dú)評估儀表的性能。我們不得不把儀表性能分為兩類:與時(shí)間無關(guān)的(如精確度、漂移等),與時(shí)間相關(guān)的(如響應(yīng)時(shí)間、PID控制等)。與時(shí)間相關(guān)的性能也與現(xiàn)場總線的性能、組態(tài)等有關(guān)。
總之,三代智能化儀表的軟硬件結(jié)構(gòu)有很大區(qū)別,更重要的是它們在信息化水平上的區(qū)別。帶微處理器的儀表主要提供過程量信息(如溫度、壓力),Smart智能儀表除提供過程信息外還提供儀表的狀態(tài)信息(如儀表是否有故障、當(dāng)前表內(nèi)溫度)和輔助參數(shù)信息(如對差壓表的溫度和靜壓),智能儀表除提供過程和狀態(tài)信息外還提供通信質(zhì)量信息和信息處理功能(如各種運(yùn)算功能)。因此可以說網(wǎng)絡(luò)化是智能儀表手段,信息化是智能儀表的目的。 |