[西门子] 西门子SCL编程实例-创建基于循环中断的定时器

[复制链接]
查看68006 | 回复0 | 2024-4-28 20:57:15 | 显示全部楼层 |阅读模式
本例程向大家介绍如何使用循环中断组织块创建一个定时器函数(FC)。与系统自带的定时器相比,该定时器函数使用灵活方便,可根据需要反复调用。


本例程基于TIA博途V14创建,包括如下步骤:

1、创建一个自定义的数据类型:myOBTimer,包括三个元素:


    settingTime,Int,定时器的设定时间;

    actualTime,Int,定时器的实际运行时间;

    timeIsUp,Bool,计时时间到;

    如下图所示:



2、创建全局数据块myOBTimeCounter,在其中添加三个元素:


    OBTimeCounter,Byte,用于在循环中断组织块的计时值;

    myTimeCounter,Byte,用于定时器函数FC_OB_Timer的计时值;

    myTime1,myOBTimer(数据类型),定时器1的相关参数;

    如下图所示:



3、添加循环中断组织块OB30,将其中断时间设置为100ms。在其中添加如下代码:



4、创建功能函数FC_OB_Timer,声明变量如下图所示:



编写代码如下:



5、在OB1中调用FC_OB_Timer,代码如下:



需要说明的是,该定时器的时基为100ms,所以设定时间要是原时间的10倍。比如,要定时3秒,定时器的设定时间settingTime要赋值30。

好了,关于基于循环中断组织块来创建定时器就先介绍到这里。我最近开通了微信视频号,以视频的方式分享工控小知识。具有视频号内测权限的小伙伴欢迎扫描下方的二维码观看:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则