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

2.2.3 PLC的工作過程

1.操作系統與用戶程序

CPU的操作系統用來實現與具體的控制任務無關的PLC的基本功能。操作系統的任務包括處理暖啟動、刷新過程映像輸入/輸出、調用用戶程序、檢測中斷事件和調用中斷組織塊、檢測和處理錯誤、管理存儲器,以及處理通信任務等。

用戶程序包含處理具體的自動化任務必需的所有功能。用戶程序由用戶編寫并下載到CPU,用戶程序的任務包括:

1)檢查是否滿足暖啟動需要的條件,例如限位開關是否在正確的位置。

2)處理過程數據,例如用數字量輸入信號來控制數字量輸出信號,讀取和處理模擬量輸入信號,輸出模擬量值。

3)用OB(組織塊)中的程序對中斷事件做出反應,例如在診斷錯誤中斷組織塊OB82中發出報警信號,和編寫處理錯誤的程序。

2.CPU的工作模式

CPU有3種工作模式:RUN(運行)、STOP(停止)與STARTUP(啟動)。CPU面板上的狀態LED(發光二極管)用來指示當前的工作模式,可以用編程軟件改變CPU的工作模式。

在STOP模式,CPU僅處理通信請求和進行自診斷,不執行用戶程序,不會自動更新過程映像。上電后CPU進入STAPTUP(啟動)模式,進行上電診斷和系統初始化,檢查到某些錯誤時,將禁止CPU進入RUN模式,保持在STOP模式。

在CPU內部的存儲器中,設置了一片區域來存放輸入信號和輸出信號的狀態,它們被稱為過程映像輸入區和過程映像輸出區。從STOP模式切換到RUN模式時,CPU進入啟動模式,執行下列操作(見圖2-5中各階段的符號):

階段A復位過程映像輸入區(I存儲區)。

階段B用上一次RUN模式最后的值或替代值來初始化輸出。

階段C執行一個或多個啟動OB,將非保持性M存儲器和數據塊初始化為其初始值,并啟用組態的循環中斷事件和時鐘事件。

階段D將外設輸入狀態復制到過程映像輸入區。

階段E(整個啟動階段)將中斷事件保存到隊列,以便在RUN模式進行處理。

階段F將過程映像輸出區(Q區)的值寫到外設輸出。

圖2-5 啟動與運行過程示意圖

啟動階段結束后,進入RUN模式。為了使PLC的輸出及時地響應各種輸入信號,CPU反復地分階段處理各種不同的任務(見圖2-5中各階段的符號):

階段①將過程映像輸出區的值寫到輸出模塊。

階段②將輸入模塊處的輸入傳送到過程映像輸入區。

階段③執行一個或多個程序循環OB,首先執行主程序OB1。

階段④進行自診斷。

上述任務是按順序循環執行的,這種周而復始的循環工作方式稱為掃描循環。

在掃描循環的任意階段(階段⑤)處理中斷和通信,執行中斷程序。

3.工作模式的切換

CPU模塊上沒有切換工作模式的模式選擇開關,只能用STEP 7在線工具中的CPU操作面板(見圖6-26),或工具欄上的按鈕和按鈕,來切換STOP或RUN工作模式。也可以在用戶程序中用STP指令使CPU進入STOP模式。

4.冷啟動與暖啟動

下載了用戶程序的塊和硬件組態后,下一次切換到RUN模式時,CPU執行冷啟動。冷啟動時復位輸入,初始化輸出;復位存儲器,即清除工作存儲器、非保持性存儲區和保持性存儲區,并將裝載存儲器的內容復制到工作存儲器。存儲器復位不會清除診斷緩沖區,也不會清除永久保存的IP地址。

冷啟動之后,在下一次下載之前的STOP到RUN模式的切換均為暖啟動。暖啟動時所有非保持的系統數據和用戶數據被初始化,不會清除保持性存儲區。

暖啟動不對存儲器復位,可以用在線與診斷視圖的“CPU操作面板”上的“MRES”按鈕(見圖6-26)來復位存儲器。

移除或插入中央模塊將導致CPU進入STOP模式。

5.RUN模式CPU的操作

下面是RUN模式各階段任務的詳細介紹。

(1)寫外設輸出

在掃描循環的第一階段,操作系統將過程映像輸出中的值寫到輸出模塊并鎖存起來。梯形圖中某輸出位的線圈“通電”時,對應的過程映像輸出位中的二進制數為1。信號經輸出模塊隔離和功率放大后,繼電器型輸出模塊中對應的硬件繼電器的線圈通電,其常開觸點閉合,使外部負載通電工作。若梯形圖中某輸出位的線圈“斷電”,對應的過程映像輸出位中的二進制數為0。將它送到繼電器型輸出模塊,對應的硬件繼電器的線圈斷電,其常開觸點斷開,外部負載斷電,停止工作。

可以用指令立即改寫外設輸出點的值,同時將刷新過程映像輸出。

(2)讀外設輸入

在掃描循環的第二階段,讀取輸入模塊的輸入,并傳送到過程映像輸入區。外接的輸入電路閉合時,對應的過程映像輸入位中的二進制數為1,梯形圖中對應的輸入點的常開觸點接通,常閉觸點斷開。外接的輸入電路斷開時,對應的過程映像輸入位中的二進制數為0,梯形圖中對應的輸入點的常開觸點斷開,常閉觸點接通。

可以用指令立即讀取數字量或模擬量的外設輸入點的值,但是不會刷新過程映像輸入。

(3)執行用戶程序

PLC的用戶程序由若干條指令組成,指令在存儲器中按順序排列。讀取輸入后,從第一條指令開始,逐條順序執行用戶程序中的指令,包括程序循環OB調用FC和FB的指令,直到最后一條指令。

在執行指令時,從過程映像輸入/輸出或別的位元件的存儲單元讀出其0、1狀態,并根據指令的要求執行相應的邏輯運算,運算的結果寫入相應的過程映像輸出和其他存儲單元,它們的內容隨著程序的執行而變化。

程序執行過程中,各輸出點的值被保存到過程映像輸出,而不是立即寫給輸出模塊。

在程序執行階段,即使外部輸入信號的狀態發生了變化,過程映像輸入的狀態也不會隨之而變,輸入信號變化了的狀態只能在下一個掃描周期的讀取輸入階段被讀入。執行程序時,對輸入/輸出的訪問通常是通過過程映像,而不是實際的I/O點,這樣做有以下好處:

1)在整個程序執行階段,各過程映像輸入點的狀態是固定不變的,程序執行完后再用過程映像輸出的值更新輸出模塊,使系統的運行穩定。

2)由于過程映像保存在CPU的系統存儲器中,訪問速度比直接訪問信號模塊快得多。

(4)通信處理與自診斷

在掃描循環的通信處理和自診斷階段,處理接收到的報文,在適當的時候將報文發送給通信的請求方。此外還要周期性地檢查固件和I/O模塊的狀態。

(5)中斷處理

事件驅動的中斷可以在掃描循環的任意階段發生。有事件出現時,CPU中斷掃描循環,調用組態給該事件的OB。OB處理完事件后,CPU在中斷點恢復用戶程序的執行。中斷功能可以提高PLC對事件的響應速度。

主站蜘蛛池模板: 广水市| 北宁市| 福州市| 淅川县| 乐昌市| 吉首市| 扶绥县| 阳西县| 吉首市| 永丰县| 寿宁县| 稷山县| 芜湖县| 龙口市| 通化县| 博罗县| 阳信县| 将乐县| 方正县| 南和县| 屯门区| 洛隆县| 成武县| 潼南县| 随州市| 科技| 和平县| 兴海县| 九江市| 卢氏县| 如东县| 筠连县| 疏附县| 仪征市| 乌拉特中旗| 昌平区| 界首市| 上思县| 青神县| 甘孜县| 冕宁县|