您现在的位置是:首页 > PLC技术 > PLC技术

PLC的定时中断

来源:艾特贸易2018-08-13

简介可用定时中断来执行一个周期性的操作,以 1 ms 为增量,周期的时间可取 1 ~ 255 ms 。定时中断 0 和中断 1 的时间间隔分别写入特殊存储器字节 SMB34 和 SMB35 。每当定时器的定时时间到时

    可用定时中断来执行一个周期性的操作,以1 ms为增量,周期的时间可取1255 ms。定时中断0和中断1的时间间隔分别写入特殊存储器字节SMB34SMB35。每当定时器的定时时间到时,执行相应的定时中断程序,例如可以用定时中断来采集模拟量和执行PID程序。如果定时中断事件已被连接到一个定时中断程序,为了改变定时中断的时间间隔,首先必须修改SMB34SMB35的值然后重新把中断程序连接到定时中断事件上。重新连接时,定时中断功能清除前一次连接的定时值,并用新的定时值重新开始定时。

    定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,则定时中断被禁止。如果执行了全局中断禁止指令,则定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。

    定时器T32/T96中断允许及时地响应一个给定的时间间隔,这些中断只支持1 ms分辨率的通电延时定时器(TON)和断电延时定时器(TOF)T32T96。一旦中断允许,当定时器的当前值等于设定值时,在CPU1 ms定时刷新中,将执行被连接的中断程序。

    【例】  定时中断的定时时间最长为255 ms,用定时中断1实现周期为2s的高精度定时。

    为了实现周期为2s的高精度周期性操作的定时,可以将定时中断的定时时间间隔设为250 ms,在定时中断1的中断程序中,将VB01,然后用比较指令判断VB0是否等于8。若相等(中断了8次,对应的时间间隔为2 s),在中断程序中执行每2s一次的操作,例如使QB01。语句表程序如下:

    //主程序OB1

   LD    SM0.1

   MOVB  0VB0    //将中断次数计数器清零

   MOVB  250SMB34    //设定时中断0的中断时间间隔为250ms

   ATCH    INT_010    //指定产生定时中断0时执行0号中断程序

   ENI    //允许全局中断

    //中断程序0(INT_0),每隔250 ms执行一次

   LD    SM0.0

   INCB    VB10    //中断次数计数器加1

   LDB=    8VB10    //如果中断了8(2 s)

   MOVB    0VB10    //将中断次数计数器清零

   INCB    QBO    //2sQB01