您现在的位置是:首页 > PLC技术 > PLC技术
PLC的定时中断
来源:艾特贸易2018-08-13
简介可用定时中断来执行一个周期性的操作,以 1 ms 为增量,周期的时间可取 1 ~ 255 ms 。定时中断 0 和中断 1 的时间间隔分别写入特殊存储器字节 SMB34 和 SMB35 。每当定时器的定时时间到时
可用定时中断来执行一个周期性的操作,以1 ms为增量,周期的时间可取1~255 ms。定时中断0和中断1的时间间隔分别写入特殊存储器字节SMB34和SMB35。每当定时器的定时时间到时,执行相应的定时中断程序,例如可以用定时中断来采集模拟量和执行PID程序。如果定时中断事件已被连接到一个定时中断程序,为了改变定时中断的时间间隔,首先必须修改SMB34或SMB35的值然后重新把中断程序连接到定时中断事件上。重新连接时,定时中断功能清除前一次连接的定时值,并用新的定时值重新开始定时。
定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,则定时中断被禁止。如果执行了全局中断禁止指令,则定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。
定时器T32/T96中断允许及时地响应一个给定的时间间隔,这些中断只支持1 ms分辨率的通电延时定时器(TON)和断电延时定时器(TOF)即T32和T96。一旦中断允许,当定时器的当前值等于设定值时,在CPU的1 ms定时刷新中,将执行被连接的中断程序。
【例】 定时中断的定时时间最长为255 ms,用定时中断1实现周期为2s的高精度定时。
为了实现周期为2s的高精度周期性操作的定时,可以将定时中断的定时时间间隔设为250 ms,在定时中断1的中断程序中,将VB0加1,然后用比较指令判断VB0是否等于8。若相等(中断了8次,对应的时间间隔为2 s),在中断程序中执行每2s一次的操作,例如使QB0加1。语句表程序如下:
//主程序OB1
LD SM0.1
MOVB 0,VB0 //将中断次数计数器清零
MOVB 250,SMB34 //设定时中断0的中断时间间隔为250ms
ATCH INT_0,10 //指定产生定时中断0时执行0号中断程序
ENI //允许全局中断
//中断程序0(INT_0),每隔250 ms执行一次
LD SM0.0
INCB VB10 //中断次数计数器加1
LDB= 8,VB10 //如果中断了8次(2 s)
MOVB 0,VB10 //将中断次数计数器清零
INCB QBO //每2s将QB0加1
点击排行
