Reliability Analysis for the Software of Intelligent Temperature Transmitter
李盼盼1,2
(華東理工大學信息科學與工程學院1,上海 200237;上海工業自動化儀表研究院2,上海 200233)
智能溫度變送器軟件的可靠性分析
Reliability Analysis for the Software of Intelligent Temperature Transmitter
李盼盼1,2
(華東理工大學信息科學與工程學院1,上海200237;上海工業自動化儀表研究院2,上海200233)
摘要:近年來,國內外對于軟件的失效模式與影響分析(SFMEA)越來越關注,相繼頒布了一系列的標準。依據GJB 1391中給出的軟件失效模式與影響分析方法,以智能溫度變送器軟件為分析對象進行可靠性分析,并將分析結果用于指導軟件開發的后期工作。分析結果表明,智能溫度變送器中溫度計算軟件模塊的失效是影響系統的關鍵環節,分析結果有利于軟件設計等后期開發過程有針對性地執行可靠性活動。
作者李盼盼(1990-),女,現為華東理工大學控制科學與控制工程專業在讀碩士研究生;主要從事可靠性方面的研究。
關鍵詞:軟件失效模式與影響分析智能溫度變送器檢測模式溫度計算軟件HART
Abstract:In resent years, the software failure mode and effect analysis (SFMEA) has been more and more concerned about at home and abroad, and a series of standards have been released. In accordance with the method given by GJB 1391, with intelligent temperature transmitter as the analysis object, the reliability analysis is conducted, and the result of analysis is used to guide the post procedures of software development. The results of analysis show that the failure of the temperature calculation module of intelligent temperature transmitter in detection mode is the key factor affecting the system; the analysis result is useful in post procedures of software design and other activities focused on the reliability.
Keywords:SFMEAIntelligent temperature transmitterDetection modeTemperature calculation softwareHART
0引言
智能溫度變送器是對工業現場的環境溫度進行實時采集和遠程監控的智能儀表,可以執行安全關鍵任務。而這些領域對安全性要求非常嚴格,因此提高其可靠性對于保證智能溫度變送器的質量顯得十分重要。
為了保證智能溫度變送器可靠安全地運行,在進行智能溫度變送器的軟硬件開發時,需要采取一系列提高可靠性的方法,如實施可靠性工程活動等[1-3]。軟件可靠性分析是軟件可靠性工程的一個重要的組成部分,本文使用該方法來分析智能溫度變送器的部分軟件,探究該方法對軟件開發的指導意義。
1軟件可靠性分析
軟件可靠性分析方法,是在軟件生命周期的不同階段,根據軟件的可靠性目標和需求,采用定性、定量的分析技術和方法。其中軟件失效模式與影響分析(software failure modes and effects analysis,SFMEA)是一種自下而上的分析方法,根據識別軟件故障模式,研究分析各種故障模式產生的原因及其造成的后果,尋找消除和減少其有害后果的方法,以盡早發現潛在的問題,并采取相應的措施,從而提高軟件的可靠性[3]。GJB/Z 1391—2006故障模式、影響及危害分析指南給出了嵌入式軟件SFMEA分析的步驟[4]。
2智能溫度變送器
本項目的智能溫度變送器是一種在運行中采用數字數據處理和HART通信方法來執行其功能、保護和傳送數據與信息的裝置。其配備有支持智能變送器主要功能的附加傳感元件和功能單元[5]。
智能溫度變送器的硬件可分為:傳感器模塊、轉換開關模塊、A/D模塊、D/A模塊、微處理器模塊、電源模塊和HART通信模塊。智能溫度變送器的硬件模塊示意圖如圖1所示。智能溫度變送器采用回路供電,兩線傳送方式,兩根導線作為電源輸入和信號輸出的公共傳輸線。傳感器的基本功能是采集環境參數,并把信號送給A/D轉換器;A/D轉換模塊的功能是將采集到的模擬信號轉化為數字信號傳遞給CPU使用;微處理器模塊主要是實現對數據的處理以及信號的控制功能,是整個儀表的核心;智能儀表中外設了存儲器,用于存放各種儀表的組態信息,內部的存儲器則存放各種運行參數和過程變量;D/A輸出則實現數字數據到環路模擬電流的轉換;HART通信模塊實現儀表與外界的數字通信。

圖1 智能溫度變送器硬件模塊示意圖
智能溫度變送器的主要任務是完成對溫度的測量、計算及模擬電流輸出,此外還包括利用數字通道進行信息的傳遞、顯示輸出等功能。根據智能溫度變送器的軟件需求,軟件系統按其功能分為三個模塊:檢測(測量/運行)模塊、設置(組態/校準)模塊、通信模塊。
檢測(運行/測量)模塊的主要功能是采集溫度傳感器的模擬信號,經過一系列的數據處理,得到輸出溫度值、百分比值、電流值,并輸出4~20 mA模擬電流及數字通信。組態模塊的主要功能是對儀表信息和信號信息進行設置。校準/診斷的主要功能是使儀表的指示與給定被測值進行一致性系列的操作,以及儀表如何診斷內部故障及在故障情況下保護運行的安全。通信的主要功能是負責系統與外部進行信息的交流,一般與上位機/手操器/人機界面一起實現。由于在檢測和校準模式下都將用到A/D采樣,為了更加詳細方便地描述軟件,特將A/D采樣作為一個獨立模塊來說明。A/D采樣模塊的主要功能是讀取A/D轉換的數據。智能溫度變送器的軟件系統狀態圖如圖2所示。

圖2 軟件系統狀態圖
IEEE定義軟件可靠性為:①在規定的條件和規定的時間內,軟件不引起失效的概率;②在規定的時間周期內所述條件下,程序執行所要求的功能的能力[6]。儀表在執行不同功能時所用到的程序模塊和數據文件是不同的,因此可靠性情況也是相同的。檢測功能是智能溫度變送器的主要工作模式且軟件失效可能產生嚴重的后果,所以通常產品的可靠性僅指該模式的情況,本文只針對檢測模式的可靠性進行分析。檢測模式的基本功能是完成對溫度傳感器信號的采集,對采集的數據進行處理,得到數字測量值,進行模擬輸出。根據對數據的不同處理過程,將檢測模塊分為讀A/D數據、計算U或R、線性變換、數字濾波、溫度計算、單位轉換、電流計算、D/A輸出模塊、其他模塊(作為擴展模塊,包括液晶顯示、按鍵掃描等其他操作,這里不做說明)。檢測模塊的數據流圖如圖3所示。該流程圖描述了整個檢測模塊的數據以及流向過程。
① 讀A/D數據模塊:基本功能是當A/D采樣有新數據生成時讀取其采樣值,并對采集的數據進行斷耦診斷;同時設置下次A/D采集通道,判斷A/D采樣次數是否完全。
② 計算電阻或電勢:此模塊的基本功能是對A/D采樣的數據進行計算,得到熱電阻值和熱電偶的電勢值。
③ 線性變換:線性變換是用A/D校準的數據對采樣值進行修正。
④ 數字濾波:這里的濾波算法采用的是一階滯后數字濾波算法,保證測量的穩定性。
⑤ 溫度計算:溫度計算模塊是整個測量/運行模式的核心部分,其基本功能是將采集到的傳感器的電勢或電阻值,經過傳感器和溫度之間的計算公式的處理,計算溫度值。
⑥ 單位轉換:智能儀表測量值的單位需要根據通信訪問或液晶顯示等設定而變化,因此要實現溫度值不同單位的轉換值。具體包括:華氏溫度(F)、攝氏溫度(C)、蘭金溫標度(R)、開爾文溫度(K)的轉換。
⑦ 電流計算:包括百分比值計算、電流值計算、電流對應的數字值計算,用于顯示/通信和模擬輸出。
⑧ D/A輸出:D/A輸出模塊是對計算得到的電流進行輸出,輸出前用D/A校準的數據對數字值進行相應修正。

圖3 軟件檢測模式的數據流圖
3分析過程
軟件生命周期中可靠性的早期過程活動是在需求分析階段,確定智能溫度變送器的總體可靠性、評審準則等。在概要設計階段,根據軟件的結構模型、關鍵度等分配可靠性指標到各單元模塊[6],對軟件的可靠性做早期預計:根據預計結果、可靠性指標、度量指標等確定是否進行軟件的可靠性分析[7],進行可靠性風險評估;根據軟件可靠性的分析結果以及可靠性指標指導軟件的設計,以及其他的可靠性活動等。由于篇幅的限制,這里不陳述軟件可靠性分析之前的過程活動,只說明分析過程。由于檢測模式的軟件模塊較多,所以只針對計算溫度模塊進行詳細分析,不陳述其他模塊的分析。
可靠性結構模型是反映系統結構的邏輯關系的模型,可根據模型來分配和計算總體可靠性,常用的結構模型有可靠性框圖和故障樹。智能溫度變送器測量模式的工作過程屬于串聯執行的過程,因此這里采用串聯方式定義測量模式的可靠性結構模型,而其中測量模式的輸出包括模擬輸出和數字輸出,定義其為并聯結構。檢測模式的軟件的可靠性模型如圖4所示。

圖4 檢測模塊的軟件可靠性模型
智能溫度變送器的嚴酷度等級如表1所示。

表1 智能溫度變送器的嚴酷度等級
根據智能溫度變送器的特點以及軟件失效可能造成的影響,并參考GJB/Z 1391標準及國際電工委員會推薦的失效劃分的方法定義智能溫度變送器的嚴酷度等級。
根據上述介紹,溫度計算模塊是對A/D采樣的數據,在進行過修正濾波計算等處理后,根據熱電偶和熱電阻的溫度計算公式計算溫度值[8-9]。溫度計算流程圖如圖5所示。

圖5 溫度計算流程圖
Pt熱電阻溫度與電阻的公式:
R(t)=R(0)[1+At+Bt2+C(t-100)t3]
(1)
式中:R(t)為t ℃時鉑熱電阻對應的電阻值;R(0)為0 ℃時鉑熱電阻對應的電阻值;t為溫度,A、B、C為常數系數,在0 ℃以上C為0。
熱電偶溫度與電勢的正函數公式:
(2)
式中:ai為常數;t為計算的溫度值;變量i根據溫度區間變化取0或1。
k型熱電偶在0~1 372 ℃溫度范圍內時,式(2)需多一個指數項和常數項。由于冷端溫度范圍為-50~100 ℃ ,指數項在溫度為100 ℃時達到最大為108.816 7μV。根據K型熱電偶溫度與電勢的反函數、E的變化量對t的影響,計算得到Δt的最大變化量為0.025K,根據儀表的數字精度要求為0.15K,所以指數項在計算時忽略不計。
熱電偶溫度與電勢的反函數公式為:
(3)
式中:di為常數;E為熱電偶電勢值;變量i根據電勢區間變化取0或1。
根據以上描述的測量模塊軟件的基本功能,以及國軍標GJB/Z1391和IEEE1044中對于軟件失效模式的分類[4-10],分析其可能的故障模式有:輸入熱電阻值/熱電勢值或冷端電阻值錯誤、傳感器類型判斷錯誤、冷端補償判斷錯誤、計算存在較大舍入誤差、程序運行時間不滿足要求、計算公式中的參數錯誤、無輸出值。溫度計算模塊的系統級SFMEA分析如表2所示。表2中,智能儀表檢測模式下的功能劃分系統層次比較簡單只有兩層,高一層影響即為最終影響,這里呈現出來只為說明一般的劃分形式。

表2 溫度計算模塊的系統級SFMEA分析表
4結束語
本文對有利于提高智能儀表可靠性的軟件可靠性分析方法進行了實例分析。結果表明,溫度計算模塊作為檢測模式的關鍵模塊,其失效對系統的整體影響較大。用戶在后期設計時可根據分析結果作重點的改進設計,同時對于軟件開發的后續工作具有一定的指導意義。
參考文獻
[1] 國防科學技術工業委員會.GJB_Z 102 軟件可靠性和安全性設計準則[S].北京:中國標準出版社,1997.
[2] 陸民燕.軟件可靠性工程[M].北京:國防工業出版社,2011:130-140.
[3] 孫志安,裴曉黎,宋昕,等.軟件可靠性工程[M].北京:北京航天航空大學出版社,2008:3-16.
[4] 中國人民解放軍總裝備部.GJB/Z 1391-2006 故障模式、影響及危害性分析指南[S].北京:中國標準出版社,2006.
[5] 凌志浩,王華忠,葉西寧.智能儀表原理與設計[M].上海:人民郵電出版社,2013:5-15.
[6] IEEE std1633-2008.IEEE recommended practice on software reliability[S].2008.
[7] IEEE std 982.1-2005.IEEE standard dictionary of measures of the software aspects of dependability[S].2005.
[8] 國家技術監督局.GB/T 16839.1 熱電偶第一部分:分度表[S].北京:中國標準出版社,1997.
[9] 機械工業部.JB/T 8622 工業鉑熱電阻技術條件及分度表[S].北京:中國標準出版社,1997.
[10]IEEE 1044-1993.Standard to classification for software anomalies[S].IEEE Standards Board,1993.
《自動化儀表》郵發代號: 4-304, 2015年定價: 18.00元,全年價: 216.00元; 國外代號: M 721
歡迎賜稿, 歡迎訂閱, 歡迎寶貴建議, 歡迎惠刊各類廣告
中圖分類號:TP202
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201501023
修改稿收到日期:2014-07-25。