軟體程式語言

軟體程式語言

任何機載計算機系統軟體的基本性能都包括計算機系統輸入語言——軟體程式語言。對於不同類型的機載數字計算機,由於其內部(機器)語言具有一定的相似性,廣泛使用計算機彙編語言作為其程式語言。

基本介紹

  • 中文名:軟體程式語言
  • 外文名:Software programming language
  • 定義:機載計算機系統軟體的基本性能
  • 分類:梯形圖、語句表等
  • 系統:計算機
  • 套用學科:計算機原理
概述,開發方法,軟體可靠性,套用軟體的程式語言,順序功能圖,梯形圖,功能塊圖,語句表,結構文本,程式語言的相互轉換和選用,

概述

任何機載計算機系統軟體的基本性能都包括計算機系統輸入語言——軟體程式語言。對於不同類型的機載數字計算機,由於其內部(機器)語言具有一定的相似性,廣泛使用計算機彙編語言作為其程式語言。主要關注軟體設計、測試和調試自動化工具的發展,在軟體生命周期的每個階段上自動化工具可減輕程式設計員的手工勞動,並根本性提高其勞動效率。在此方面比較典型的是從計算機彙編語言向高級程式語言的過渡,高級程式語言可有效支持設計和跟蹤。在機載綜合電子系統的機載計算機系統中,高級程式語言可使用FORTRANADA、Module 2、CC++語言等。使用高級程式語言可在較低的軟體研發和調試費用前提下提高軟體可靠性、減少錯誤數量,並可在程式翻譯階段快速發現錯誤。

開發方法

高可靠性軟體的現代開發方法主要包括:多方案軟體法,使用軟體正常功能還原部件的方法,綜合法。
多方案軟體法要求制定多個版本的軟體組件和後續結果選擇(在系統運行過程中),或確定軟體故障。其中,如果結果選擇算法是一個表決過程,則應具有3個以上的軟體組件版本。使用多個版本的某軟體組件可降低在程式模組中出現相同錯誤的機率。此時,不同版本或者由不同的程式設計員小組開發,或者在開發程式時不同版本具有本質性區別。
使用軟體正常功能還原部件的方法與硬體結構冗餘方法類似。根據該方法,由軟體組件發出的結果應進行可接受性檢查(進一步使用的可能性)。當發現異常時,備用軟體組件則代替故障軟體組件加人工作。在此之前應回溯性還原初始狀態(軟體出現錯誤前的狀態)。在一些情況下,使用綜合法方能達到最好的效果,綜合法包含上述兩種高可靠性軟體開發方法的元素。

軟體可靠性

提高軟體可靠性的未來發展方向主要包括:
(1)實現結構化程式設計,此時可實現軟體的分級結構,軟體由在功能上獨立的模組組成。各模組可構成樹狀分級結構。每個模組執行特定的功能,具有一個輸入端和一個輸出端,其特徵是具有相對較小的容量和模組內的固定連線。針對每個模組編寫一個註冊證,其中指明模組名稱、執行功能、所有輸入和輸出參數的清單等。
(2)在軟體中採用程式和時間冗餘,並且同時組織檢測軟體運行的可靠性。
(3)在編製程序時使用高級語言。除了能提高編程人員勞動效率和大幅增大軟體可靠性之外,使用高級程式語言還可在具有較好注釋時簡化軟體檢測、文檔編制、後續測試及編制軟體測試實例和題目等。
(4)創建新的軟體開發工具,它們(同高級程式語言一樣)不僅能提高編程人員的勞動效率,還可保證提高軟體運行的可靠性。
(5)發展用來研究軟體設計、測試、驗收和使用一般規律的軟體可靠性理論,其目的是在大幅降低軟體開發費用的情況下獲得最大的使用效率。可靠性理論的發展與下列情況密切相關:軟體可靠性定量指標的確定方法,按軟體錯誤的統計特徵積累試驗數據,其類型的統一化,建立與軟體在不同模式下運行過程相符的數學模型。
為完善機載綜合電子系統計算機的軟體,還應在軟體開發和使用過程中將標準體系推廣到軟體的個別組成部分中(例如,作業系統結構、高級程式語言、指令系統、編碼技術等)。設計機載計算機系統時必須考慮軟體的特點,並且在程式編輯過程中合理地使用自動化工具設備。藉助硬體或軟硬體來實現軟體部分功能的方式保證軟體容量最小化,提高軟體的可靠性和簡化其調試。
從技術工藝角度改進軟體的開發是指在機載計算機系統軟體生命周期的所有階段實現工作規範化和自動化、檢測和控制工藝流程、提高執行效率等。通過創新、經過仔細修訂,並以檔案形式定型的技術工藝可實現上述要求,這些技術工藝可表現為套用規範化和自動化的方法、方式、措施等形式。一般情況下,軟體
開發工藝應由下列專門技術標準和方法檔案的支持:標準、規範、方法等。應當強調,在研製未來機載綜合電子系統的機載計算機系統時,軟體仍將是計算機系統整個研製周期的重要組成部分。此時,研製軟體的一個重要目的是在計算機系統硬體、軟體和硬軟體之間實現最優功能分配。

套用軟體的程式語言

應用程式的編制需使用PLC生產廠家提供的程式語言。至今為止還沒有一種能適合於各種PLC的通用程式語言。國際標準化的IECll31-3程式語言詳細地說明了句法、語法和下述5種程式語言的表達方式:
1.順序功能圖(sequential function chart);
2.梯形圖(1adder diagram);
3.功能塊圖(function block diagram);
4.語句表(statement list);
5.結構文本(structured text)。

順序功能圖

這是一種位於其他程式語言之上的圖形語言,用來編制順序控制程式。
順序功能圖提供了一種組織程式的圖形方法,在其中可以用別的語言嵌套編程。步、轉換和動作是順序功能圖中的3個要素,順序功能圖編程法可將一個複雜的控制過程分解為一些小的工作狀態,對這些小狀態的功能分別處理後,再把這些小狀態按控制要求順序連線組合成整體的控制程式。可以用順序功能圖來描述系統的功能,使用它可以對具有並發、選擇等複雜結構的系統進行編程,根據它可以很容易地畫出梯形圖程式。順序功能圖體現了一種編程思想,在程式的編制中具有很重要的意義。

梯形圖

梯形圖是一種以圖形符號及其在圖中的相互關係表示控制關係的程式語言。一般都在計算機螢幕上編輯,使用起來簡單方便。梯形圖與繼電器控制系統的電路圖很相似,具有直觀易懂的優點,很容易被工廠熟悉繼電器控制的電氣人員掌握,它特別適用於開關量邏輯控制。梯形圖是PLC編程語言中使用最廣泛的一種語言。
梯形圖中所繪的圖形符號和繼電器電路中的符號十分相似,因為梯形圖是為熟悉繼電器電路圖的工程技術人員設計的,所以使用了類似的符號;兩種圖所表達的邏輯含義是一樣的。因而編制梯形圖的一種思路是:將在PLC中參與邏輯組合的元件看成和繼電器一樣的元件,具有常開、常閉觸點及線圈,且線圈的得電及失電將導致觸點的相應動作;再用母線代替電源線,用能量流概念來代替繼電器電路中的電流概念,用與繪製繼電器電路圖類似的思路繪出梯形圖。

功能塊圖

功能塊圖是一種類似於數字邏輯電路的程式語言,有數字電路基礎的人很容易掌握。該程式語言用類似與門、或門的方框來表示邏輯運算關係,方框的左側為邏輯運算的輸入變數,右側為輸出變數,輸入、輸出端的小圓圈表示“非”運算,信號自左向右流動。就像電路圖一樣,它們被“導線”連線在一起。

語句表

語句表是一種與微機的彙編語言中的指令相似的助記符表達式,由語句指令依一定的順序排列而成。一條指令一般可分為兩部分:1)助記符;2)運算元。也有隻有助記符的,被稱為無運算元指令。語句表語言和梯形圖有嚴格的對應關係。對語句表編程不熟悉的人可先畫出梯形圖,再轉換為語句表。
語句表比較適合熟悉PLC和有編製程序基礎的工程技術人員,只要理解各個指令的含義,就可以像寫電腦程式一樣寫PLC的控制程式。

結構文本

隨著PLC的發展,許多高級功能若還使用梯形圖來表示,會很不方便。為了增強PLC的數學運算、數據處理、圖表顯示、報表列印等功能,方便使用,許多大、中型PLC都配備了一種專用的高級程式語言,這種編程方式稱作結構文本。與梯形圖相比,它能實現複雜的數學運算,且編寫的程式非常簡捷和緊湊。用結構文本編制極其複雜的數學運算程式可能只占用一頁紙。結構文本用來編制邏輯運算程式也很容易。

程式語言的相互轉換和選用

在S7—300的編程軟體中,用戶可以選用梯形圖、功能塊圖和語句表這三種程式語言。大多數情況下,三者之間可以互相轉換但梯形圖編寫的程式一定能轉換為語句表。
梯形圖程式中輸入信號與輸出信號之間的邏輯關係一目了然、易於理解,與繼電器電路圖的表達方式極為相似,設計開關量控制程式時建議選用梯形圖語言。
語句表程式較難閱讀,其中的邏輯關係很難一眼看出,但語句表輸入方便快捷,還可以為每一條語句加上注釋,便於複雜程式的閱讀。在設計通信、數學運算等高級應用程式時建議使用語句表語言。語句表可以處理某些不能用梯形圖處理的問題。
PLC實際上只認識助記符語言,梯形圖語言是需要轉換成助記符語言後,存入PLC的存儲器中。

相關詞條

熱門詞條

聯絡我們