PLC的工作方式採用不斷迴圈的順序掃描工作方式。掃描順序為從上到下,從左到右每一次掃描所用的時間稱為掃描週期或工作週期。PLC從第一條指令執行開始,按順序逐條地執行使用者程式直到使用者程式結束,然後返回第一條指令開始新的一輪掃描。
當程式設計人員將設計編譯好的梯形圖程式下載到 PLC 的記憶體後,PLC 便可以對使用者程式進行掃描執行了,PLC 執行時,主要進行執行 X 輸入檢測、使用者程式掃描運算、其他元件的狀態重新整理、將 Y 狀態快取狀態輸出到PLC的Y硬體埠等,這些工作內容週而復始的進行,其中的掃描執行使用者程式是PLC的核心工作,過程如下圖:
使用者程式的掃描執行,是以使用者程式的網路塊為單元進行逐步演算的,所謂“網路”是有聯線關聯的一組元件塊,參見上圖中的梯形圖。執行演算從第一行開始,依次向下演算第二個、第三個……直到最後一個網路。而對每個網路進行演算方式是,則由左至右,逐個將元件的“觸點”狀態進行邏輯計算綜合,直到最右邊,輸出到元件的“線圈”,或根據邏輯決定是否執行某個操作。梯形圖中,左側目前相當於電源的“火線”,其預設的(電位)狀態為 ON,每經過一個元件後,邏輯運算結果暫存都被重新整理,有時也稱中間計算暫存狀態為“能流”,中間邏輯計算結果為 ON,即“能流”為有效,本網路的輸出狀態即為輸出電的能流狀態;若最右端為操作型別,若能流為有效,就進行操作,否則不進行操作。
PLC從左到右從上到下的掃描順序,根據上述原理,從左到右很容易理解就是從梯形圖左端母線開始逐一檢查元件的狀態,所有元件的能流有效,最右端進行輸出。那麼從上到下這裡就需要注意,一定要按照邏輯順序寫梯形圖,上下順序不一樣可能導致不同的輸出結果,最明顯的就是雙線圈輸出,梯形圖最下側的線圈優先輸出,並不是最下側的許可權大,而是由上到下的掃描順序使後面的輸出狀態覆蓋了前面的輸出。為了更好的理解PLC從上到下的掃描順序。舉兩個例子來說明上下順序不同對輸出結果的影響:
1.梯形圖
Y0的狀態與M1無關,只要2步數M2、M3有關,如果是下圖剛好把上下順序顛倒:
則Y0的輸出結果只與M1的狀態有關。
2.梯形圖
透過除錯發現Y0只會在按下X0一瞬間點亮隨後很快就熄滅了,看下模擬影片:
透過這兩個例子可以有助於理解PLC從從左到右、從上到下的掃描順序,在梯形圖編寫時一定要主要這個問題,雖然邏輯準確可能因為順序不對導致結果不對。
PLC的工作方式採用不斷迴圈的順序掃描工作方式。掃描順序為從上到下,從左到右每一次掃描所用的時間稱為掃描週期或工作週期。PLC從第一條指令執行開始,按順序逐條地執行使用者程式直到使用者程式結束,然後返回第一條指令開始新的一輪掃描。
當程式設計人員將設計編譯好的梯形圖程式下載到 PLC 的記憶體後,PLC 便可以對使用者程式進行掃描執行了,PLC 執行時,主要進行執行 X 輸入檢測、使用者程式掃描運算、其他元件的狀態重新整理、將 Y 狀態快取狀態輸出到PLC的Y硬體埠等,這些工作內容週而復始的進行,其中的掃描執行使用者程式是PLC的核心工作,過程如下圖:
使用者程式的掃描執行,是以使用者程式的網路塊為單元進行逐步演算的,所謂“網路”是有聯線關聯的一組元件塊,參見上圖中的梯形圖。執行演算從第一行開始,依次向下演算第二個、第三個……直到最後一個網路。而對每個網路進行演算方式是,則由左至右,逐個將元件的“觸點”狀態進行邏輯計算綜合,直到最右邊,輸出到元件的“線圈”,或根據邏輯決定是否執行某個操作。梯形圖中,左側目前相當於電源的“火線”,其預設的(電位)狀態為 ON,每經過一個元件後,邏輯運算結果暫存都被重新整理,有時也稱中間計算暫存狀態為“能流”,中間邏輯計算結果為 ON,即“能流”為有效,本網路的輸出狀態即為輸出電的能流狀態;若最右端為操作型別,若能流為有效,就進行操作,否則不進行操作。
PLC從左到右從上到下的掃描順序,根據上述原理,從左到右很容易理解就是從梯形圖左端母線開始逐一檢查元件的狀態,所有元件的能流有效,最右端進行輸出。那麼從上到下這裡就需要注意,一定要按照邏輯順序寫梯形圖,上下順序不一樣可能導致不同的輸出結果,最明顯的就是雙線圈輸出,梯形圖最下側的線圈優先輸出,並不是最下側的許可權大,而是由上到下的掃描順序使後面的輸出狀態覆蓋了前面的輸出。為了更好的理解PLC從上到下的掃描順序。舉兩個例子來說明上下順序不同對輸出結果的影響:
1.梯形圖
Y0的狀態與M1無關,只要2步數M2、M3有關,如果是下圖剛好把上下順序顛倒:
則Y0的輸出結果只與M1的狀態有關。
2.梯形圖
透過除錯發現Y0只會在按下X0一瞬間點亮隨後很快就熄滅了,看下模擬影片:
透過這兩個例子可以有助於理解PLC從從左到右、從上到下的掃描順序,在梯形圖編寫時一定要主要這個問題,雖然邏輯準確可能因為順序不對導致結果不對。