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