西门子s7-200PLC定时中断来产生闪烁频率脉冲程序
2024-02-10  来源: www.im100.com

下面的例子用西门子s7-200PLC定时中断来产生闪烁频率脉冲。当连在输入端10.1的开关接通时,闪烁频率减半;当连在输入端10.1的开关接通时,又恢复成原有的闪烁频率。

本例叙述由定时中断引起的一般性的处理以及改变其时问基准。

程序流程图

程序和注释

用特殊存储字节SMB34指定第一定时中断的时问基准,由此产生的定时中断称为中断事件10

用特殊存储字节SMB35指定第二定时中断的时问基准,由此产生的定时中断称为中断事件11。仅CPU214支持第二定时中断。

这两种定时中断的时问基准的设定值只能以1ms(毫秒)为单位增加,允许最小值是5ms,最大值是255ms。本例程序组成如下:

Main    主程序        初始化和指定时问基准

IN中断程序1    对输出Q0.0置位(Q0.0=1

IN中断程序2    对输出Q0.0复位(Q0.0=0)

本程序长度为51个字

标题:定时中断

//***********主程序**********

//在主程序的第一部分指定起始时问基准。

//为两个定时中断分别指定对应的中断处理程序。

LD       SM0.1             //仅首次扫描处理。

MOVB     50,  SMB34//设置定时中断0的时为基准为50ms

MOVB     100  SMB35//设置定时中断1的时{}J基准为100ms

ATC      0,  10           //指定定时中断事件10调用中断程序O

ATC      1,  11           //指定定时中断事件11调用中断程序1

ENI                           、、允许中断。

//当输入10.1有上升沿(01)时,定时中断的时问基准加信。

//为了执行这一新的指令,必须断开中断事件与中断程序之问的联系,否则小承认新的时问基准。

//DCH指令来切断两者之问的联系。

//用指定了新的时问基准后,必须用ATC H指令来恢复中断事件与中断程序之问的联系。

 

LD             10, 1

EU

DTCH         10

DTCH         11

MOVB         100  SMB34

MOVB         200  SMB35

ATCH         0, 10

ATCH         111

当输入10.0有上升沿时,恢复使用原频率。

 

LD          10.0

EU

DTCH      10

DTCH      11

MOVB      50, SMB34

MOVB      100, SMB35

ATCH       0,  10

ATCH       1,  11

MEND       //主程序结束。

 

//中断程序0

//当调用中断程序0时,把输出Q0.0置位(Q0.0=1 )a

INT    0

LD     SM0.0

S       Q0.0, 0

RNTI

0

 

//中断程序1

//当调用中断程序1时,把输出Q0.0复位(Q0.0=0)a

//因为调用中断程序1的时问基准是调用中断程序0的两信。

//所以输出端Q0.0输出的脉冲频率发生闪烁。

INT    1

LD      SM0.0

R        Q0.0,  1

RETI