導(dǎo)讀:在使用S7-200 SMART PLC編程時,我們經(jīng)常需要進(jìn)行定時間,而定時間最常用的指令就是定時器。但在編程時,經(jīng)常發(fā)現(xiàn)定時器的作用,沒達(dá)到我們的控制要求。這就有可能是掃描周期影響到了我們程序的執(zhí)行。
眾所周知,S7-200 SMART PLC有三種分辨率定時器:分別是1ms,10ms和100ms。在選用這些定時器時我們需要注意以下幾點:
1)1ms分辨率定時器:每隔1ms刷新一次,與掃描周期和程序無關(guān),因而當(dāng)掃描周期較長時,定時器在一個周期內(nèi)可能被多次刷新,其當(dāng)前值在一個掃描周期內(nèi)不一定保持一致。
2)10ms分辨率定時器:在每個掃描周期開始自動刷新,由于每個掃描周期只刷新一次,故在每次程序處理期間,當(dāng)前值保持不變。
3)100ms分辨率定時器:在定時器指令執(zhí)行時被刷新,下一條執(zhí)行的指令即可與使用刷新后的結(jié)果,使用方便可靠,但應(yīng)當(dāng)注意,如果定時器的指令不是每個周期都執(zhí)行,定時器就不能及時刷新,可能導(dǎo)致出錯。
下面我們就用幾個例子來說明定時器刷新對程序的影響:
?例1(1ms定時器):使用計數(shù)器C1實現(xiàn)1秒加1的功能
解:
情況1:如“圖1”,由于1ms定時器值的刷新與掃描周期無關(guān),定時器的值(T32)隨時都在變化。假定程序在執(zhí)行網(wǎng)絡(luò)段1的位置定時器的值為1000ms,那么此時網(wǎng)絡(luò)段2的T32常閉點則變成常開,T32定時器的值為0,網(wǎng)絡(luò)4中的Q0.0為0,C1的計數(shù)器的值不累加。
情況2:如“圖1”,假定程序在執(zhí)行網(wǎng)絡(luò)段3的位置定時器的值為1000ms,則網(wǎng)絡(luò)4中的T32常開點閉合,Q0.0也接通,則網(wǎng)絡(luò)5中的C1會累加1。
由于以上兩種情況的出現(xiàn),所以C1計數(shù)器的值有時候累加,有時候不加。
圖1
?例2(10ms定時器):使用計數(shù)器C1實現(xiàn)1秒加1的功能
解:
如“圖2”,由于10ms分辨率定時器,在每個掃描周期開始自動刷新。PLC在還沒執(zhí)行網(wǎng)絡(luò)段1時,先檢查定時器的值。假定第N個掃描周期開始,檢查T33的值到達(dá)1000ms,則網(wǎng)絡(luò)段1中的T33常閉點斷開,T33定時器值清0,網(wǎng)絡(luò)段2中的Q0.0不接通。網(wǎng)絡(luò)3中的C1計數(shù)器不累加1。
由于10ms分辨率定時器,在每個掃描周期開始自動刷新,則C1計數(shù)器一直都為0。
圖2
?例3(100ms定時器):使用計數(shù)器C1實現(xiàn)1秒加1的功能
如“圖3”,由于100ms分辨率定時器在定時器指令執(zhí)行時被刷新。當(dāng)網(wǎng)絡(luò)段1中的T37常閉點接通時,T37的值才會更新。由于指令執(zhí)行需要時間,假定:T37常閉點導(dǎo)通,第0ms,從何導(dǎo)通T37,定時器的值不為0,可能為2ms(假定值)。當(dāng)T37累積到1000ms時,接通網(wǎng)絡(luò)2中的T37。網(wǎng)絡(luò)段3中C1的值累加1。
由于100ms分辨率定時器在定時器指令執(zhí)行時被刷新,C1可以實現(xiàn)1秒加1的功能
圖3
若想利用1ms或者10ms的定時器實現(xiàn)“圖3”的功能,其實也很簡單,如圖4:利用Q0.0的常閉觸點代替定時器的常閉觸點即可
圖4
結(jié)束語:關(guān)于S7-200 SMART PLC定時器使用時我們一定要注意時基的選擇,當(dāng)我們無法很好的去把握掃描周期時,我們可以使用一個輔助位去斷開定時器,而不是用定時器本身的觸點去斷開定時器。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。