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