0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时间中断函数的编程示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-09-01 09:47 次阅读

简介

在以下示例中,将读取延时中断 OB (OB20) 的状态,设置新的延时并启动或禁用 OB20。

要求

在全局数据块中,创建有 10 个变量和一个结构进行数据存储。

cced9084-4807-11ee-97a6-92fbcf53809c.png

互连参数:“SLI_itemiseStatus_DINT”函数

要评该估状态信息,需创建一个函数“SLI_itemiseStatus_DINT”。

在该函数中创建以下局部变量。

cd0a080e-4807-11ee-97a6-92fbcf53809c.png

为所有相关位创建互连。

程序段 1:

cd1db958-4807-11ee-97a6-92fbcf53809c.png

程序段 2:

cd317d62-4807-11ee-97a6-92fbcf53809c.png

程序段 3:

cd4176e0-4807-11ee-97a6-92fbcf53809c.png

互连参数:“SLI_FB_SRT_DINT”函数块

要调用指令,可创建函数块(“SLI_FB_SRT_DINT”)。在函数块“SLI_FB_SRT_DINT”中,创建以下局部变量。

cd567f18-4807-11ee-97a6-92fbcf53809c.png

程序段 1:互连“QRY_DINT”指令的参数,如下所示:

cd6a8878-4807-11ee-97a6-92fbcf53809c.png

程序段 2:互连“SRT_DINT”指令的参数,如下所示:

cd7ee02a-4807-11ee-97a6-92fbcf53809c.png

程序段 3:互连“CAN_DINT”指令的参数,如下所示:

cd8dd9ea-4807-11ee-97a6-92fbcf53809c.png

程序段 4:互连将由“CAN_DINT”复位的参数,如下所示:

cd9d14be-4807-11ee-97a6-92fbcf53809c.png

程序段 5:互连“SLI_itemiseStatus_DINT”函数的参数,如下所示。

cdb1c512-4807-11ee-97a6-92fbcf53809c.png

在循环 OB (OB1) 中调用函数块“SLI_FB_SRT_DINT”。

互连参数:OB20

在 OB20 中创建以下互连:

cdc73564-4807-11ee-97a6-92fbcf53809c.png

“QRY_DINT”的结果

这些指令通过输入参数 OB_NR(“obNbr”)接收待调用 OB 的编号 (OB20)。

程序段 1:

当常开触点(“executeQry”)的信号状态为“TRUE”时,执行“QRY_DINT”指令并读取 OB20 的数据。输出参数 STATUS(“#statWord”)中将显示 OB20 的状态。输出参数 RET_VAL(“returnValueQry”)可用于指示该过程是否存在错误。

cdde7648-4807-11ee-97a6-92fbcf53809c.png

将变量“#statWord”的值映射到结构“itemiseStatus”中。

cdeddcb4-4807-11ee-97a6-92fbcf53809c.png

“SRT_DINT”的结果

程序段 2:当常开触点(“executeSrt”)的信号状态为“TRUE”时,执行“SRT_DINT”指令。通过输入参数 DTIME(“delayTime”),将延时时间 (6s) 传送到 OB20 中,并启用 OB20。

说明
在时间点 OB20 处,启动延时时间运行,然后再调用 OB20,除非在 CPU 的新循环周期内中再次预先接收到延时时间。

执行 OB20 后,待输出的选定标识符(值“16#0001”)将存储在输入参数 SIGN(“sign”)中。该标识符将显示在 OB20 的启动事件信息中。输出参数 RET_VAL(“returnValueSrt”)用于指示处理无错误。

SRT_DINT 成功执行后,常开触点(“executeSrt”)将返回信号状态“FALSE”,延时时间不再传送到 OB20 中。延时时间结束后,将立即再次执行 OB20。

说明
仅当当前所用的 CPU 循环时间小于 OB20 的延时时间,才能根据参数 EN 确定 OB20 中指定的响应操作。

OB20 的结果

每次调用 OB20 时,都将执行指令“ADD”,且变量“testCurrCount”的值递增“1”。SRT_DINT 中定义的延时时间结束后,仅调用 OB20 一次。OB20 调用后,将再次“禁用”。

ce029e74-4807-11ee-97a6-92fbcf53809c.png

“CAN_DINT”的结果

程序段 3:设置和启用了 OB20(“#statWord”的值为“16#0014”)时,比较器将返回信号状态“TRUE”,同时 CAN_DINT 可以执行。

ce1e3e86-4807-11ee-97a6-92fbcf53809c.png

当常开触点(“executeCan”)的信号状态为“TRUE”时,执行“CAN_DINT”指令。该指令将禁用 OB20 并删除所设置的 OB20 调用数据。
输出参数 RET_VAL(“returnValueCan”)用于指示处理无错误。

CAN_DINT 执行后,线圈(“#statMem”)将置位为“TRUE”,并执行程序段 4。

复位操作的结果

程序段 4:当常开触点(“#statMem”)的信号状态为“TRUE”时,通过指令“MOVE”可将变量“testCurrCount”的值复位为“0”。信号状态为“TRUE”时,复位操作(“executeCan”)将自动结束指令“CAN_DINT”的运行。

状态信息“#statWord”的结果

在程序段 7 中,调用函数“SLI_itemiseStatus_DINT”。将评估变量“#statWord”的有效位,并输出为带有纯文本名称的布尔型变量。当结构为“itemiseStatus”的变量信号状态为“TRUE”时,则语句正确。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129600
  • 中断函数
    +关注

    关注

    0

    文章

    13

    浏览量

    5215

原文标题:西门子博途:时间中断函数的编程示例

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    编程控制器实验教程之日期时间中断实验

    编程控制器实验教程之日期时间中断实验,很好的学习资料。
    发表于 04-19 13:57 0次下载

    erode函数用法示例

    《OpenCV3编程入门》书本配套源代码erode函数用法示例
    发表于 06-06 15:09 1次下载

    bilateralFilter函数用法示例

    《OpenCV3编程入门》书本配套源代码bilateralFilter函数用法示例
    发表于 06-06 15:20 6次下载

    canny函数用法示例

    《OpenCV3编程入门》书本配套源代码canny函数用法示例
    发表于 06-06 15:20 3次下载

    HoughLines函数用法示例

    《OpenCV3编程入门》书本配套源代码:HoughLines函数用法示例
    发表于 06-06 15:20 3次下载

    MedianBlur函数用法示例

    《OpenCV3编程入门》书本配套源代码:MedianBlur函数用法示例
    发表于 06-06 15:20 14次下载

    GaussianBlur函数用法示例

    《OpenCV3编程入门》书本配套源代码:GaussianBlur函数用法示例
    发表于 06-06 15:20 5次下载

    remap函数用法示例

    《OpenCV3编程入门》书本配套源代码:remap函数用法示例
    发表于 06-06 15:20 2次下载

    sobel函数用法示例

    《OpenCV3编程入门》书本配套源代码:sobel函数用法示例
    发表于 06-06 15:20 2次下载

    pyrUp函数用法示例

    《OpenCV3编程入门》书本配套源代码:pyrUp函数用法示例
    发表于 06-06 15:20 1次下载

    pyrDown函数用法示例

    《OpenCV3编程入门》书本配套源代码:pyrDown函数用法示例
    发表于 06-06 15:20 16次下载

    Scharr函数用法示例

    《OpenCV3编程入门》书本配套源代码:Scharr函数用法示例
    发表于 06-06 15:20 14次下载

    STM32编程时,如何确定中断回调函数的入口

    STM32编程时,如何确定中断回调函数函数名换句话说,就是如何找到中断回调函数
    发表于 11-23 18:06 13次下载
    STM32<b class='flag-5'>编程</b>时,如何确定<b class='flag-5'>中断</b>回调<b class='flag-5'>函数</b>的入口

    PLC编程系统的时间中断存在的问题和解决方案

    S7-1200增加了一个新的时间中断,也称为时间。 2015年系统手册和EasyPlus V3.2都没有时间中断的介绍,根据在线帮助,相关说明和300/400差不多。 主要区别在于它的参数设置指令
    发表于 01-07 11:30 786次阅读

    SIMATIC S7-1500 PLC时间中断组织块及其应用

    时间中断组织块(如OB10)可以由用户指定日期时间及特定的周期产生中断。例如,每天18:00保存数据。
    的头像 发表于 08-14 09:31 1366次阅读
    SIMATIC S7-1500 PLC<b class='flag-5'>时间中断</b>组织块及其应用