Step7中有关时间和定时器的使用和例程2

接上篇《Step7中有关时间和定时器的使用和例程1》

4、循环中断(OB35)、延时中断(OB20)、时间中断(OB10)

4.1 循环中断(OB35)

具体步骤如下:

1)创建一个项目并插入一个300站

2)打开Hardware

3)配制300站并双击300CPU打开Properties窗口

4)选择Cycle interrupts

5)将OB35对应的时间修改为需要的时间(例如200ms)并点击OK确认

6)编译保存

7)通过Blocks ->Insert New Object ->Organization Block插入OB35

8)双击打开OB35进行编程即可。

这样OB35每隔200ms执行一次,MW120值加1。

4.2 延时中断(OB20)

1)通过Blocks ->Insert New Object ->Organization Block插入OB20,双击打开OB20并进行编程。


2)打开OB1,调用SFC32 “SRT_DINT”(启动延时中断)


通过SFC 32 "SRT_DINT" (启动延时中断),可以在延迟时间过去(参数DTIME)后立即启动调用延时中断组织块的延时中断。使用SIGN参数,可以输入用于标识延时中断开始的标识符。执行指定的OB时,DTIME和SIGN值将再次显示在该OB的启动事件信息中。

如上图所示,每当M0.0由0变为1时,经过5S后OB20被执行,MW110执行了加1操作。监视变量表如下图所示:


4.3 时间日期中断(OB10)

OB10的执行可由3种办法来设定:

1)方法一:如下图所示在HW config窗口下双击300的CPU打开Properties,设定开始执行的时间和执行频率,然后选中Active下的复选框,点击OK。


通过Blocks ->Insert New Object ->Organization Block插入OB10,双击打开OB10并进行编程。


当程序下载到PLC中后OB10将按设定执行,通过监视变量表可观察到OB10的执行情况。

2)方法二:在HW config窗口下双击CPU300打开Properties,设定开始执行的时间和执行频率,不选中Active下的复选框,点击OK。

在程序中调用SFC30 "ACT_TINT" (激活时间中断),可以激活一个时间中断组织块。

编程OB10,参考前图,编译下载即可。

注意:SFC30只需执行一次,即CPU停机后再启动不需要再次调用SFC30。

3)方法三:在HW config中不作配置,调用SFC28和SFC30,通过SFC 28 "SET_TINT" (设置时间中断),可以设置时间中断组织块的启动日期和时间。将忽略指定的启动时间的秒和毫秒值,并将其设置为0。


在DB1中定义一个DATA_AND_TIME的变量

初始化数据块,将初值作为设定值


调用SFC28和SFC30


当M0.0由0变为1时SFC28被调用,M0.2由0变为1时SFC30被调用,OB10将按设定方式执行。

同样SFC28也只需执行一次即可。

5、时钟寄存器(Clock Memory)

西门子300和400的PLC提供一个Clock Memory的字节,每一位以不同的频率执行0到1的变化,打开HW config界面,双击CPU打开Properties窗口选择Cycle/Clock Memory选项,选中如下图所示的Clock Memory的复选框,在Memory byte后对话框中输入所需要的Memory byte号,如输入100,则MB100被设定为Memory byte。


M100.0-M100.7将按不同的频率变化


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值