西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

<a href=https://www.xmzyj.com/ximenzi>西门子</a>S7-300入门级教程04-基础编程篇06-时长中断与循环中断” inline=”0″></p>
<p class=S7-300样品

实验六 时长中断与循环中断

1) 目的

了解时长中断与循环中断

2)实验内容

①启用CPU的Time-of-Day中断,设置为从2015-8-8 XX:XX 开始每隔一分钟调用一次;在中断OB(OB10)中编程计数程序,计算OB10的调用次数,计数保存在MW6和MW8中。在OB100中初始化MW8为0。将CPU转入STOP后,再打到RUN模式,观察MW6 和MW8的值。

②启用CPU的Cyclic中断,每隔5s调用一次。在中断OB(OB35)中编程计数程序,计算OB35的调用次数,计数保存在MW10和MW20中。注意设置从MB0~MB15共16个字节为断电保持特性;正常工作后将PLC断电,再上电后查看MW10和MW20的值。

3)实验流程

实验1

在CPU属性->Time of Day Interrupts,激活OB10,执行方式为每分钟,开始日期和时长设置为2015-8-8 8:8,单击OK。如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图1-激活OB10

新建OB10,在其中编写MW6和MW8加1的程序,如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图2-编写程序

保存编译后下载到PLCSIM中,在变量表中监视MW6和MW8的值,如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图3-监控结果

新建OB100,在OB100中编程使MW8赋值为0,如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图4-在OB100中编程

保存编译后下载到PLCSIM中,将CPU从RUN-P切换到STOP,再次启动在变量表中监视MW6和MW8的值,如下图所示。

(因为CPU从STOP到RUN时,执行了启动组织块OB100,所以MW8变为了0,而MW6继续加一计数。)

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图5-监控结果

实验2

在CPU属性->Cyclic Interrupts,OB35的循环中断周期设为5000,注意单位为ms,单击OK。如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图6-OB35的循环中断周期

在CPU属性->Retentive Memory,注意设置从MB0~MB15共16个字节为断电保持特性,单击OK。如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图7-断电保持特性

新建OB35,并在其中编程使得MW10和MW20加1,如下图所示。

西门子S7-300入门级教程04-基础编程篇06-时长中断与循环中断

图8-编写程序

保存编译后下载到PLCSIM中,在变量表中监视MW10和MW20的值,CPU断电再上电后,在变量表中监视MW10和MW20的值,可以看出MW20数据丢失,MW10数据保持下来,因为前面已经对其设置了断电保持特性。

4)总结

1. 多多熟悉各种系统自带功能块,非常有用,能够减少编程量,也能够为企业大大的减轻编程难度以及编程量,降低成本。

2. 学会合理的使用各种OB块。

敬请期待下一篇-OB块阶段总结

PS:友情提醒,所有文章属于一个系列,顺着看效果更好,欢迎大家翻阅我之前所写文章,欢迎大家关注,该系列会持续更新~

作者简介

谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生

本文为原创文章,于头条首发,欢迎关注转载,请注明出处和作者!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据