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