發布日期:2022-04-27 點擊率:1614 品牌:組態王_Kingview
循環中斷也稱為周期性中斷。循環中斷組織塊用于按一定時間間隔循環執行中斷程序。例如,周期性地定時執行閉環控制系統的PID運算程序,間隔時間從STOP切換到RUN模式時開始計算。
用戶定義時間間隔時,必須確保在兩次循環中斷之間的時間間隔中有足夠的時間處理循環中斷程序。
各CPU可以使用的循環中斷OB (OB30~OB38)的個數與CPU的型號有關。如果兩個組織塊的時間間隔成整倍數,不同的循環中斷組織塊可能同時請求中斷,造成處理循環中斷服務程序的時間超過指定的循環時間。為了避免出現這樣的錯誤,用戶可以定義一個相位偏移。相位偏移用于在循環時間間隔到達時,延時一定的時間后再執行循環中斷。相位偏移m的單位為ms,應有0≤M<n,式中,n為循環的時間間隔。
假設OB38和OB37的中斷時間間隔分別為10ms和20ms,它們的相位偏移分別為0ms和3ms。OB38分別在t=10ms、20ms、…、60ms時產生中斷,而OB37分別在t=23ms、43ms、63ms時產生中斷。
如果沒有專門的SFC激活和禁止循環中斷,可以用SFC40和SFC39來激活和禁止它們。SFC40“EN-INT”是用于激活新的中斷和異步錯誤的系統功能,其參數MODE為0時激活所有的中斷和異步錯誤,為1時激活部分中斷和錯誤,為2時激活指定的OB編號對應的中斷和異步錯誤。SFC39“DIS-INT”是禁止新的中斷和異步錯誤的系統功能,MODE為2時禁止指定的OB編號對應的中斷和異步錯誤,MODE必須用十六進制數來設置。
例4-2在I0.0的上升沿時啟動OB35對應的循環中斷,在I0.1的上升沿禁止IB35對應的循環中斷,在I0.1的上升沿禁止IB35對應的循環中斷,在OB35中使MW2加1。
在STEP7中生成項目,選用CPU315-2DP,在硬件組態工具中打開CPU屬性的組態窗口,從“周期性中斷”(Cyclic Interrupts)選項卡可知,只能使用OB35,其循環周期的默認值為100ms,將其修改為1000ms,將組態數據下載到CPU中。程序代碼如圖4-7所示。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航