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