電工學習網

 找回密碼
 立即注冊

計算機控制系統軟件可靠性技術

2015-4-11 08:12| 編輯:電工學習網| 查看: 2101| 評論: 0

摘要:   軟件可靠性技術設計,主要有以下兩個方面的內容。  ⑴ 通過軟件提高系統的可靠性  提高整個系統的可靠性,不僅要提高元器件質量、采用硬件可靠性技術,而且還應該采取軟件可靠性措施。  ① 系統應該有實時 ...
  軟件可靠性技術設計,主要有以下兩個方面的內容。
  ⑴ 通過軟件提高系統的可靠性
  提高整個系統的可靠性,不僅要提高元器件質量、采用硬件可靠性技術,而且還應該采取軟件可靠性措施。
  ① 系統應該有實時自診斷軟件模塊,以便在系統運行過程中及時檢測可能發生的故障或錯誤,對能夠自動處理的問題可以采取自動修復等措施予以處理,對無法自動處理的故障或錯誤則可以通過報警來通知人工檢修,對極限情況采取報警的同時應關閉系統的輸出。這種自診斷工作往往需要硬件予以支持,因此系統硬件設計階段就應充分考慮這一內容。
  ② 對于系統輸入通道的信號,采取重復讀取的方式處理,必要時應進行濾波處理,以去除干擾的作用。
  ③ 為防止干擾使得系統輸出通道的信號發生變化,即使控制運算所得的輸出量的值沒有變化,也應在每一工作循環都刷新控制輸出,以防因干擾而改變。
  ④ 對于系統通訊通道,要在傳輸的數據上增加冗余的錯誤校驗位或校驗和等,以便接收端能夠確認數據是否在傳輸過程中發生錯誤。對關鍵的數據,還應采取重復發送、互相應答等方式進行傳送。
  ⑤ 硬件冗余技術、“看門狗”抗干擾技術等,往往也需要軟件配合實現。這時,軟件的任務是在發生故障時保護現場、切換故障裝置、恢復現場、重入控制循環等。
  (2) 提高軟件自身的可靠性
  在計算機控制系統中,軟件的可靠性占有重要地位。提高軟件自身的可靠性,應該從以下幾個方面入手。
  ① 改進軟件設計的管理工作
  軟件編制開發是一項復雜的腦力勞動,它有自己獨有的特點,其管理的基本原則如下:
  (a) 進行軟件總體設計時,應對任務進行周密細致的調查研究,制定嚴格的計劃。
  (b) 對整個軟件任務進行分析,將其分解成相對獨立的若干功能模塊,并明確每個模塊的任務、功能及與其他模塊的接口方式。
  (c) 軟件應該具有良好的可讀性和可裝配性,軟件的設計說明、測試記錄等資料必須完整保存,以便進一步改進、完善。
  ② 采取結構化的設計方法
  不僅軟件總體上采取模塊化結構,每一功能模塊也應采取自頂向下的結構化設計,使軟件的邏輯清晰,以便于軟件的擴充、修改、調試,并可以提高模塊的通用性,減少重復工作。
  ③ 合理選擇編程語言和工具
  如果條件允許,在選擇編程語言時,應優先考慮采用高級編程語言,這可以使得編程人員寫出語義明確的語句代碼。目前,隨著軟件技術的不斷發展,已經出現了可以幫助、引導編程者開發應用軟件的自動編程工具,如Visual C++和Visual Basic語言的開發工具等,使用這類工具既可以提高編程效率、又可以減少人為錯誤,如有可能應予采用。
  ④ 養成良好的編程習慣
  在編制軟件時,應該盡量少用或不用全程變量,避免一個模塊有多個入口或出口。變量的命名也非常重要,應避免使用A、B、c這樣語義含混的簡單符號,而應使變量的名稱與其功能乃至類型相對應,在這一點上,Windows系統采用的匈牙利命名方法是非常值得借鑒的。
  ⑤ 軟件驗證工具和技術的研究
  一個高質量的軟件在初步編制完畢后,還需要進行大量的工作來驗證其正確性,這一工作的費用約占全部軟件成本的1/2。傳統的軟件驗證方法只是驗證原設計的要求和所完成的功能,這并不能全面驗證軟件的可靠性,因此最近又提出了以軟件結構為對象(而不是以功能為對象)的驗證方法,其要點是:
  (a) 要驗證全部軟件,在驗證過程中應使用每個結構元素。
  (b) 只要對軟件作了修改,就必須重新測試軟件中的每個結構元素。
  (c) 完成結構驗證后,對可能殘留的錯誤,應針對錯誤的原因進行追溯和測試。
  需要指出的是,任何軟件都不可能一次就成功,而是通過測試-修改-再測試過程的反復進行,才逐步予以完善的。因此,軟件測試應遵循先測試各子程序,再測試模塊,最后進行整個軟件系統聯調的步驟進行,這樣可以及早發現問題并修改,也可降低測試工作量和費用。

看過《計算機控制系統軟件可靠性技術》的人還看了以下文章:

發表評論

最新評論

|電工學習網 ( )

GMT+8, 2020-1-30 04:15

Powered by © 2011-2020 www.jeefkt.live 版權所有 免責聲明 不良信息舉報

技術驅動未來! 電工學習網—專業電工基礎知識電工技術學習網站。

欄目導航: 工控家園 | 三菱plc | 西門子plc | 歐姆龍plc | plc視頻教程

返回頂部
黑龙江快乐10分开奖查询 微信麻将群主赌博 赚钱宝秘银有啥用 陕西麻将代理平台 没有文化如何赚钱 dnf地轨中心刷那个图赚钱 98彩票群 曲阳烧饼赚钱吗 朋友开股票公司为什么那么赚钱 007足球比分在线 学汽修哪方面赚钱 梦幻垃圾109号单开怎么赚钱吗 北单比分直播体育有料 怎么赚钱开 二手车做分期怎么赚钱 新浪体育乒乓球 广西快三