S7-200在CPU單元上設(shè)有硬件電路(芯片等)處理高速數(shù)字量I/O,如高速計數(shù)器(輸入)、高速脈沖輸出。這些硬件電路在用戶程序的控制下工作,可以達到很高的頻率;但點數(shù)受到硬件資源的限制。
S7-200CPU按照以下機制循環(huán)工作:
讀取輸入點的狀態(tài)到輸入映像區(qū)
執(zhí)行用戶程序,進行邏輯運算,得到輸出信號的新狀態(tài)
將輸出信號寫入到輸出映像區(qū)
只要CPU處于運行狀態(tài),上述步驟就周而復(fù)始地執(zhí)行。在第二步中,CPU也執(zhí)行通訊、自檢等工作。
上述三個步驟是S7-200CPU的軟件處理過程,可以認為就是程序掃描時間。
實際上,S7-200對數(shù)字量的處理速度受到以下幾個因素的限制:
輸入硬件延時(從輸入信號狀態(tài)改變的那一刻開始,到CPU刷新輸入映像區(qū)時能夠識別其改變的時間)
CPU的內(nèi)部處理時間,包括:
讀取輸入點的狀態(tài)到輸入映像區(qū)
執(zhí)行用戶程序,進行邏輯運算,得到輸出信號的新狀態(tài)
將輸出信號寫入到輸出映像區(qū)
輸出硬件延時(從輸出緩沖區(qū)狀態(tài)改變到輸出點真實電平改變的時間)
上述A,B,C三段時間,就是限制PLC處理數(shù)字量響應(yīng)速度的主要因素。
一個實際的系統(tǒng)可能還需要考慮輸入、輸出器件的延時,如輸出點外接的中間繼電器動作時間等
表1.輸入點硬件延時
以上數(shù)據(jù)都在《S7-200系統(tǒng)手冊》中標(biāo)明,這里只是列表比較。CPU上的部分輸入點延時(濾波)時間可以在編程軟件Micro/WIN的“系統(tǒng)塊”中設(shè)置,其缺省的濾波時間是6.4ms。
如果把容易受到干擾的信號接到CPU上可改變?yōu)V波時間的DI點上,調(diào)整濾波時間可能改善信號檢測的質(zhì)量。
支持高速計數(shù)器功能的輸入點在相應(yīng)功能開通時不受此濾波時間約束。濾波設(shè)置對輸入映像區(qū)的刷新、開關(guān)量輸入中斷、脈沖捕捉功能同樣有效。
表2.CPU輸出硬件延時
有些輸出點要比其他點更快些,是因為它們可以用于高速輸出功能,在硬件上有特殊設(shè)計。沒有專門使用硬件高速輸出功能時,它們只是和普通點一樣處理
繼電器輸出開關(guān)頻率為1Hz。
表3.擴展模塊輸出硬件延時
程序掃描時間與用戶程序的大小成正比。
《S7-200系統(tǒng)手冊》中有每個指令所需執(zhí)行時間的數(shù)據(jù)。實際上很難事先預(yù)先精確計算出程序掃描時間,特別是還沒有開始編程序時。
可以看出,常規(guī)的PLC處理模式不適合時間響應(yīng)要求高的數(shù)字量信號?赡苄枰鶕(jù)具體任務(wù)采用一些特別的方法。