官术网_书友最值得收藏!

1.3 PLC軟件基礎

可編程序控制器的軟件分為兩大部分,系統監控程序和用戶程序。

系統監控程序是由可編程序控制器的制造者編制的,用于控制可編程序控制器本身的運行。用戶程序是由可編程序控制器的使用者編制的,用于控制被控裝置的運行。

1.系統監控程序

系統監控程序由以下幾部分組成。

(1)系統管理程序

系統管理程序是系統監控程序中最重要的部分,整個可編程序控制器的運行都由它主管。

① 系統運行管理,即控制可編程序控制器何時輸入、何時輸出、何時運算、何時自檢、何時通信等,進行時間上的分配管理。

② 存儲空間管理,即生成用戶環境,由它規定各種參數、程序的存放地址。將用戶使用的數據參數、存儲地址轉化為實際的數據格式和物理存放地址。它將有限的資源變為用戶可直接使用的諸多元件。通過這部分程序,用戶看到的不是實際存儲地址,而是按照用戶數據結構排列的元件空間和程序存儲空間。

③ 系統自檢程序,包括各種系統出錯檢驗、用戶程序語法檢驗、警戒時鐘運行等。在系統管理程序的控制下,整個可編程控制器就能正確有序地工作。

(2)用戶指令解釋程序、編輯程序

任何計算機最終都是根據機器語言來執行的,而機器語言的編制又是非常麻煩的。例如,在可編程序控制器中可以采用梯形圖編程。將人們易懂的梯形圖程序變為機器能識別的機器語言程序,這就是解釋程序的任務。

(3)標準程序模塊和系統調用

這部分是由許多獨立的程序塊組成的,各自能完成不同的功能,有些完成輸入、輸出,有些完成特殊運算等??删幊绦蚩刂破鞯母鞣N具體工作都是由這部分程序來完成的。

整個系統監控程序是一個整體,它的質量好壞很大程度上影響可編程序控制器的性能。因為通過改進系統監控程序就可在不增加任何硬設備的條件下改善可編程序控制器的性能。

2.用戶程序

用戶程序是可編程序控制器的使用者編制的針對具體工程的應用程序。編程語言可以是語句表、梯形圖、功能塊圖、系統流程圖等。

用戶程序是線性地存儲在系統監控程序指定的存儲區內的,它的最大容量也是由系統監控程序限制了的。

可編程序控制器的編程和微機的編程一樣,用戶程序需要適當的編程環境、程序結構和編程方法。

(1)用戶環境

用戶環境也是由系統監控程序生成的。它包括用戶數據結構、用戶元件區、用戶程序存儲區、用戶參數、文件存儲區等。

① 用戶數據結構

位數據:這是一類邏輯量(1位二進制數),其值為“0”或“1”,它表示觸點的通、斷。觸點接通狀態為ON,觸點斷開狀態為OFF。

字節數據:其位長為8位,其數制形式有多種。一個字節可以表示8位二進制數、2位十六進制數、2位十進制數。

字數據:其數制、位長、形式都有很多種。

一個字可以表示16位二進制數、4位十六進制數、4位十進制數(BCD碼)。

② 用戶數據存儲區

用戶使用的每個輸入/輸出端,以及內部的每一個存儲單元都稱為元件。各種元件都有其固定的存儲區(例如輸入輸出映像區),即存儲地址。如輸入/輸出繼電器、內部繼電器、定時器、計數器和數據區。

(2)用戶程序語言

用戶程序語言主要有梯形圖、語句表、功能塊圖等。各種語言之間可以相互轉換。圖1-64是典型啟停電路的三種語言表示方法。其等效的數學表達式為。

圖1-64 典型啟停電路對應的PLC程序

(3)編程方法

編程時通常有經驗法、圖形法、順序功能圖法等。經驗法就是根據自己的或別人的經驗編寫PLC程序;圖形法適應于順序控制的程序編制,可以先畫出順序控制時序圖,再根據時序圖寫出對應的數學表達式,最后畫出對應的梯形圖;順序功能圖法是根據控制要求畫出順序功能圖,然后利用專門的指令寫出對應的PLC程序。

西門子PLC還提供線性化編程、模塊化編程和結構化編程三種編程方法可供選用,詳見第6章。

線性化編程是指將整個用戶程序寫在一個指令連續的塊中,處理器線性或順序地掃描程序的每條指令。這種結構是PLC最初所模擬的硬連線繼電器梯形邏輯圖模式。線性化編程方法適用于比較簡單的控制任務。

由于所有的指令都在一個塊中,即使程序中的某些部分在大多數情況下并不需要執行,每個掃描周期也都要執行所有的指令,因此沒有有效地利用CPU。此外如果要求多次執行相同或類似的操作,需要重復編寫程序。

模塊化編程將用戶程序分成相對獨立的指令塊,每個塊包含給定的部件組或作業組的控制邏輯。各備份塊的執行順序由組織塊OB1(即主程序)中的指令決定。功能和功能塊(即子程序)用來完成不同的過程任務。被調用的塊執行完后,返回到OB1中程序塊的調用點,繼續執行OB1。

模塊化編程的程序被劃分為若干個塊,易于幾個人同時對一個項目編程。由于只是在需要時才調用有關的程序塊,因此提高了CPU的利用效率。

結構化編程要求用戶程序提供一些通用的指令塊,以便控制一類相似或相同的部件,將復雜的自動化任務分解為能夠反映過程的工藝、功能或可以反復使用的小任務,這些任務由相應的程序塊(或稱邏輯塊)來表示,程序運行時所需的大量數據和變量存儲在數據塊中。給通用指令塊提供的參數進一步說明各部件的控制差異。這樣結構化的程序能反復調用這些通用指令塊。

結構化編程方法比前面兩種編程方法先進,適合復雜的控制任務,并支持多人協同編寫大型用戶程序。結構化編程的其他優點是:程序結構層次清晰,部分程序通用化、標準化,易于修改,簡化了程序的調試。

主站蜘蛛池模板: 巴南区| 华宁县| 绵阳市| 寻乌县| 宁河县| 奉节县| 昌图县| 广汉市| 紫云| 友谊县| 嘉鱼县| 平安县| 上杭县| 九寨沟县| 梨树县| 湖州市| 托克托县| 广昌县| 厦门市| 广东省| 荆州市| 建宁县| 清徐县| 康保县| 波密县| 永昌县| 华阴市| 安化县| 徐闻县| 包头市| 孝昌县| 海伦市| 垫江县| 盘山县| 洛隆县| 缙云县| 安国市| 株洲县| 乌海市| 修水县| 冷水江市|