定時器是編程中很常用的一個功能,編程人員需要熟悉其各種原理特性,這樣才能在工作中少踩坑。本次紹定時器的其中一個特性,即定時器的異步刷新。

原因如下:
從定時器啟動接通執(zhí)行定時那一刻,定時器就一直在運(yùn)行,且本身的時間累計(jì)不受plc掃描周期影響。5秒的設(shè)定時間到,定時器本身會完成計(jì)時,但是由于此刻plc程序并不會馬上立即執(zhí)行定時完成的程序,而是要等到plc刷新到這一段才開始檢查定時器是否完成計(jì)時。這樣,最終時間累計(jì)就會受plc掃描周期影響。
為了放大該影響,筆者故意在程序中加入wait等待指令,故意拉長程序掃描時間,這樣就很明顯采集到了一個20ms的累計(jì)時間誤差。
由于定時器異步刷新的特點(diǎn),所以不能用它來做精確定時。精確定時還是推薦使用循環(huán)中斷(ob30)配合計(jì)數(shù)器來實(shí)現(xiàn)。