複製鏈接
請複製以下鏈接發送給好友

軟件編程語言

鎖定
任何機載計算機系統軟件的基本性能都包括計算機系統輸入語言——軟件編程語言。對於不同類型的機載數字計算機,由於其內部(機器)語言具有一定的相似性,廣泛使用計算機彙編語言作為其編程語言。 [1] 
中文名
軟件編程語言
外文名
Software programming language
定    義
機載計算機系統軟件的基本性能
分    類
梯形圖、語句表等
系    統
計算機
應用學科
計算機原理

軟件編程語言簡介

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

軟件編程語言開發方法

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

軟件編程語言軟件可靠性

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

軟件編程語言編程語言

應用程序的編制需使用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的存儲器中。 [2] 
參考資料
  • 1.    (俄)M.C.亞爾雷科夫,A.C.博加喬夫,B.И.梅爾庫洛夫,B.B.德羅加林著;滕克難主編譯;薛魯強,賈慧,嚴志剛,熊道春編譯;李相民主審,機載導航、瞄準和武器控制系統設計原理與應用(中冊),國防工業出版社,2016.01,83-84
  • 2.    馬寧,孔紅著,S7-300PLC和MM440變頻器的原理與應用,機械工業出版社,2006年9月,18-20