PLC的基本控制原理
輸入部分:它收集并保存被控對象實際運行的數據和信息。例如,它收集來自被控制對象上的各種開關信息或操作臺上的操作命令等。
本文引用地址:http://www.104case.com/article/201612/331308.htm邏輯部分:處理輸入部分所取得的信息,并按照被控對象實際的動作要求作出反映。
輸出部分:提供正在被控制的許多裝置中,哪幾個設備需要實時操作處理。
1.PLC工作過程
PLC采用循環掃描工作方式,這種工作方式與其他微機工作方式有很大區別。微機控制采用等待命令的工作方式,如常見的鍵盤掃描方式或I/O掃描方式,有鍵按下或I/O動作則轉入相應的子程序,無輸入則繼續掃描。
1.1PLC的掃描周期
可編程控制器的工作過程包括兩部分:自診斷及通信響應的固定過程和用戶程序執行過程,如圖5-1所示。PLC在每次執行用戶程序之前,都先執行故障自診斷程序、復位、監視、定時等內部固定程序,若自診斷正常,繼續向下掃描,然后PLC檢查是否有與編程器、計算機等的通信請求。如果有與計算機等的通信請求,則進行相應處理。當PLC處于停止(STOP)狀態時,只循環進行前兩個過程。而在PLC處于運行(RUN)狀態時,PLC從內部處理、通信操作、輸入掃描、執行用戶程序、輸出刷新五個工作階段循環工作。每完成一次以上五個階段所需要的時間稱為一個掃描周期。
掃描周期是PLC的一個重要指標,小型PLC的掃描周期一般為十幾毫秒到幾十毫秒。PLC的掃描周期長短取決于掃描速度和用戶程序的長短。毫秒級的掃描時間對于一般工業設備通常是允許的,PLC對輸入的短暫滯后也是允許的。但對某些I/O快速響應的設備,則應采取相應的處理措施。如選擇高速CPU,提高掃描速度;選擇快速響應模塊、高速計數模塊以及不同的中斷處理等措施減少滯后時間。對于用戶來說,要提高編程能力,盡可能優化程序;而在編寫大型設備的控制程序時,盡量減少程序長度,選擇分支或跳步程序等,都可以減少用戶程序執行時間。
1.2PLC的用戶程序執行過程
對于用戶來說,在編寫用戶程序或選擇設備時,必須清楚下面介紹的三個階段,即用戶程序執行過程的原理。
PLC采用集中處理的方法,即對輸入掃描信號、執行用戶程序和輸出刷新都采用集中分批處理的工作方式。
(1)輸入掃描 在這一階段中,PLC以掃描方式讀入所有輸入端子上的輸入信號,并將輸入信號存入輸入映像區,輸入映像存儲器被刷新。在程序執行階段和輸出刷新階段中,輸入映像存儲器與外界隔離,其內容保持不變,直至下一個掃描周期的輸入掃描階段,才被重新讀入的輸入信號刷新。可見,PLC在執行程序和處理數據時,不直接使用現場當時的輸入信號,而使用本次采樣時輸入到映像區中的數據。如果輸入設備能使PLC輸入端形成閉合回路,對應輸入端編號的內部輸入繼電器內保存為”1”,即相當于繼電器線圈導通。在程序執行過程中,該編號對應的觸點動作;如果輸入設備能使輸入開路,則對應輸入端編號的內部輸入繼電器內保存為”0”,即相當于繼電器線圈沒導通,在程序執行過程中,該編號對應的觸點不動作。如果在PLC處于非輸入掃描的階段,PLC外的輸入設備狀態發生了變化,內部輸入繼電器也不會發生變化,要等到下一個輸入掃描階段才能根據此時的輸入狀態來刷新。所以,對于少于十幾毫秒的輸入信號,經常采集不到。
(2)執行程序 在執行用戶程序過程中,PLC按梯形圖程序順序自上而下、從左至右逐個掃描執行,即按助記符指令表的先后順序執行。但遇到程序跳轉指令,則根據跳轉條件是否滿足來決定程序跳轉地址。程序執行過程中,PLC從輸入映像區中取出輸入變量的當前狀態,然后進行由程序確定的邏輯運算或其他運算,根據程序指令將運算結果存入相應的內部繼電器中,包括輸出繼電器、內部輔助繼電器、定時器、計數器等。輸出繼電器的信號存放在輸出映像區,即輸出繼電器與PLC外部的同編號的輸出點對應。
在程序執行過程中,同一周期內,前面的邏輯結果影響后面的觸點,即后執行的程序可能用到前面的最新中間運算結果;但同一周期內,后面的運算結果不影響前面的邏輯關系。該掃描周期內除輸入繼電器以外的所有內部繼電器的最終狀態(導通與否),將影響下一個掃描周期各觸點的開與閉。
(3)輸出刷新 程序執行階段的運算結果被存入輸出映像區,而不送到輸出端口上。在輸出刷新階段,PLC將輸出映像區中的輸出變量送入輸出鎖存器,然后由鎖存器通過輸出模塊產生本周期的控制輸出。如果內部輸出繼電器的狀態為”1”,則輸出繼電器觸點閉合。全部輸出設備的狀態要保持一個掃描周期。
2.PLC工作過程舉例
下面以具體實例分析PLC控制過程。
【例1】指示燈控制
圖5-2為PLC接線圖,圖5-3為控制梯形圖。圖5-4描述了每個掃描周期程序的執行過程。按鈕SB2雖然在程序中沒有使用,但其狀態仍影響其對應編號的內部輸入繼電器的狀態。圖(a)中,①輸入掃描過程,將兩個按鈕的狀態掃描后,存入其映像區,由于SB2是停止按鈕,所以,即使沒有按下,其輸入回路也是閉合的,因此,X1存“1”(ON狀態),而其它位存“0”(OFF狀態)。②執行程序過程,程序根據所用到觸點的編號對應的內部繼電器狀態來運算。由于X0處于OFF狀態,因此,對應的動合觸點處于斷開狀態,運算結果是Y0、Y1處于OFF狀態,其結果存入輸出映像區,即Y0、Y1存“0”。③輸出刷新過程,根據映像區各位的狀態驅動輸出設備,由于輸出映像區均為OFF狀態,所以,輸出指示燈不能形成閉合回路,燈不亮。如果輸入不發生變化,內部繼電器的狀態均不發生變化。圖(b)中,按下SB1按鈕后,X0輸入回路閉合。①輸入掃描將輸入狀態存入其映像區,X0、X1均存“1”。②執行程序過程,按照從左到右,從上到下的原則,逐條執行。(http://www.diangon.com/版權所有)第一行,X0觸點閉合,但此時,Y1的狀態為“0”,因此,Y1觸點為斷開狀態,Y0沒能導通,其狀態為“0”。第二行,X0觸點閉合,所以,Y1的狀態為“1”。③輸出刷新過程,由于Y1呈導通狀態,燈2亮。
圖(c)為按下SB1按鈕后的第二個掃描周期。①輸入掃描,由于輸入狀態不變,輸入映像區不變。②執行程序過程,第一行,X0觸點閉合,由于上一個周期中,Y1為ON狀態,因此,Y1觸點也閉合,Y0也呈導通狀態;第二行,Y1還呈導通狀態。Y0、Y1的狀態均為”1”。③輸出刷新過程,兩個燈都亮。注意:由于PLC的掃描周期很短,我們用肉眼見到的現象可能是兩燈同時亮。如果按鈕沒有變化,內部繼電器、輸出設備狀態均無變化。
評論