隨著微處理器、計算機和數字通信技術的飛速發展,計算機控制技術已擴展到了幾乎所有的工業領域。現代社會要求制造業對市場需求作出迅速的反應,生產出小批量、多品種、多規格、低成本和高質量的產品,為了滿足這一要求,生產設備和自動生產線的控制系統必須具有極高的可靠性和靈活性,PLC(Programmable Logic Controller,可編程序控制器)正是順應這一要求出現的,它是以微處理器為基礎的通用工業控制裝置。
PLC的應用面廣、功能強大、使用方便,已經成為當代工業自動化的主要裝置之一,在工業生產的所有領域得到了廣泛的使用,在其他領域(例如民用和家庭自動化)的應用也得到了迅速的發展。
國際電工委員會(IEC)在1985年的PLC標準草案第3稿中,對PLC作了如下定義:“可編程序控制器是一種數字運算操作的電子系統,專為在工業環境下應用而設計。它采用可編程序的存儲器,用來在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,并通過數字式、模擬式的輸入和輸出,控制各種類型的機械或生產過程。可編程序控制器及其有關設備,都應按易于使工業控制系統形成一個整體,易于擴充其功能的原則設計。”從上述定義可以看出,PLC是一種用程序來改變控制功能的工業控制計算機,除了能完成各種各樣的控制功能外,還有與其他計算機通信聯網的功能。
PLC的推廣應用在我國得到了迅猛的發展,它已經大量地應用在各種機械設備和生產過程的電氣控制裝置中,各行各業也涌現出了大批應用PLC改造設備的成果。了解PLC的工作原理,具備設計、調試和維護PLC控制系統的能力,已經成為現代工業對電氣技術人員和工科學生的基本要求。
PLC是采用“順序掃描,不斷循環”的方式進行工作的。即在PLC運行時,CPU根據用戶按控制要求編制好并存于用戶存儲器中的程序,按指令步序號(或地址號)作周期性循環掃描,如無跳轉指令,則從第一條指令開始逐條順序執行用戶程序,直至程序結束。然后重新返回第一條指令,開始下一輪新的掃描。在每次掃描過程中,還要完成對輸入信號的采樣和對輸出狀態的刷新等工作。
PLC的一個掃描周期必經輸入采樣、程序執行和輸出刷新三個階段。
PLC在輸入采樣階段:首先以掃描方式按順序將所有暫存在輸入鎖存器中的輸入端子的通斷狀態或輸入數據讀入,并將其寫入各對應的輸入狀態寄存器中,即刷新輸入。隨即關閉輸入端口,進入程序執行階段。
PLC在程序執行階段:按用戶程序指令存放的先后順序掃描執行每條指令,經相應的運算和處理后,其結果再寫入輸出狀態寄存器中,輸出狀態寄存器中所有的內容隨著程序的執行而改變。
輸出刷新階段:當所有指令執行完畢,輸出狀態寄存器的通斷狀態在輸出刷新階段送至輸出鎖存器中,并通過一定的方式(繼電器、晶體管或晶閘管)輸出,驅動相應輸出設備工作。
下面用一個簡單的例子來進一步說明PLC的掃描工作過程。圖1-6給出了PLC的外部接線圖和梯形圖,起動按鈕SB1停止按鈕SB2和熱繼電器FR的常開觸點分別接在編號為X0~X2的PLC的輸入端,交流接觸器KM的線圈接在編號為Y0的PLC的輸出端。圖1-6b是這4個輸入/輸出變量對應的I/O映像寄存器,圖l-6c是PLC的梯形圖,它與圖1-3所示的繼電器電路的功能相同。但是應注意,梯形圖是一種軟件,是PLC圖形化的程序。圖中的X0等是梯形圖中的編程元件,X0~-X2是輸入繼電器,Y0是輸出繼電器。梯形圖中的編程元件X0與接在輸入端子X0的SBl的常開觸點和輸入映像寄存器X0相對應,編程元件Y0與輸出映像寄存器Y0和接在輸出端子Y0的PLC內部的輸出電路相對應。
梯形圖以指令的形式儲存在PLC的用戶程序存儲器中,圖l-6中的梯形圖與下面的5條指令相對應,“;”之后是該指令的注釋。
LD X0 :接在左側母線上的X0的常開觸點
OR Y0 ;與X0的常開觸點并聯的Y0的常開觸點
ANI X1 ;與并聯電路串聯的X1的常閉觸點
ANI X2 ;串聯的X2的常閉觸點
OUT Y0 ;Y0的線圈梯形圖完成的邏輯運算為
Y0=(X0+Y0)·X1·X2
在輸入處理階段,CPU將SBl,SB2和FR的常開觸點的狀態讀入相應的輸入映像寄存器,外部觸點接通時存入寄存器的是二進制數l,反之存入0。
執行第l條指令時,從X0對應的輸入映像寄存器中取出二進制數并保存起來。執行第2條指令時,取出Y0對應的輸出映像寄存器中的二進制數,與X0對應的二進制數相“或”(電路的并聯對應“或”運算)。
執行第3條或第4條指令時,分別取出xl或X2對應的輸入映像寄存器中的二進制數,因為是常閉觸點,取反后與前面的運算結果相“與”(電路的串聯對應“與”運算),然后存入運算結果寄存器。
執行第5條指令時,將運算結果寄存器中的二進制數送入Y0對應的輸出映像寄存器。 在輸出處理階段,CPU將各輸出映像寄存器中的二進制數傳送給輸出模塊并鎖存起來,如果Y0對應的輸出映像寄存器存放的是二進制數1,外接的KM的線圈將通電,反之將斷電。
如果讀入輸入映像寄存器X0~X2的均為二進制數0,在程序執行階段,經過上述邏輯運算過程之后,運算結果仍為Y0=0,所以KM的線圈處于斷電狀態。按下起動按鈕SBl,X0變為l狀態,經邏輯運算后Y0變為1狀態,在輸出處理階段,將Y0對應的輸出映像寄存器中的1送到輸出模塊,PLC內Y0對應的物理繼電器的常開觸點接通,接觸器KM的線圈通電。