登录
首页 更多往期体验论坛 西门子S7-200 SMART PLC体验
回帖 发帖
正文

主题:S7-200的时间中断是怎样做的?

点击:3325 回复:2

S7-200的时间中断是怎样做的?
我看手册里面好多事件都晕了。
15-06-05 15:41
手册上有例子的。
附件:
[本地下载]
首先清楚这些知识:
1.中断允许指令(ENI)全局地允许所有被连接的中断事件。中断禁止指令(DISI)全局地禁止处理所有中断事件。当进入RUN模式时,初始状态为禁止中断。在RUN模式,您可以执行全局中断允许指令(ENI)允许所有中断。
2.中断连接指令(ATCH)将中断事件EVNT与中断程序号INT相关联,并使能该中断事件。
3.中断分离指令(DTCH)将中断事件EVNT与中断程序之间的关联切断,并禁止该中断事件。
附件 1.jpg
4.这是时间中断的事件号。
5.时基中断:
时基中断包括定时中断和定时器T32/T96中断。CPU可以支持定时中断。可以用定时中断指定一个周期性的活动。周期以1 ms为增量单位,周期时间可从1 ms到255 ms。对定时中断0,必须把周期时间写入SMB34;对定时中断1,必须把周期时间写入SMB35。
明白这些后再来做时间中断
这个例子用定时中断来产生闪烁频率脉冲。当连在输入端IO.1的开关接通时,闪烁频率减半;当连在输入端I0.0的开关接通时,又恢复成原有的闪烁频率。
用特殊存储字节SMB34指定第一定时中断的时间基准,由此产生的定时中断称为中断事件10。
用特殊存储字节SMB35指定第二定时中断的时间基准,由此产生的定时中断称为中断事件11。
这两种定时中断的时间基准的设定值只能以1ms(毫秒)为单位增加,允许最小值是5ms,最大值是255ms。本例程序组成如下:
 Main    主程序        初始化和指定时间基准
 INT0  中断程序0     对输出Q0.0置位(Q0.0=1)
 INT1   中断程序1    对输出Q0.0复位(Q0.0=0)
附件 2.jpg
首先主程序中指定 时基 ,事件连接。
最后允许中断。
附件 3.jpg
附件 4.jpg
当输入I0.1有上升沿(从0到1)时,定时中断的时基加倍。
首先用DTCH指令切断中断关系。
再将新的时基传送进去。
最后再用ATCH将中断时间重新连接。
附件 5.jpg
附件 6.jpg
与上段相同
当输入I0.0有上升沿(从0到1)时,定时中断的时基恢复为原来。
首先用DTCH指令切断中断关系。
再将原来的时基传送进去。
最后再用ATCH将中断时间重新连接。
上面这些是主程序,然后再来建立两个中断程序。
附件 7.jpg
执行中断程序时,Q0.0置位。
附件 8.jpg
执行中断程序时,Q0.0复位。中断2时基是中断1的两倍。Q0.0输出实现闪烁。
最后修改:2015/6/5 16:15:07
15-06-05 16:14
踏踏实实看书或手册就能学会。
16-03-18 13:56

工控新闻

更多新闻资讯