简介
在以下示例中,将读取延时中断 ob (ob20) 的状态,设置新的延时并启动或禁用 ob20。
要求
在全局数据块中,创建有 10 个变量和一个结构进行数据存储。
互连参数:“sli_itemisestatus_dint”函数
要评该估状态信息,需创建一个函数“sli_itemisestatus_dint”。
在该函数中创建以下局部变量。
为所有相关位创建互连。
程序段 1:
程序段 2:
程序段 3:
互连参数:“sli_fb_srt_dint”函数块
要调用指令,可创建函数块(“sli_fb_srt_dint”)。在函数块“sli_fb_srt_dint”中,创建以下局部变量。
程序段 1:互连“qry_dint”指令的参数,如下所示:
程序段 2:互连“srt_dint”指令的参数,如下所示:
程序段 3:互连“can_dint”指令的参数,如下所示:
程序段 4:互连将由“can_dint”复位的参数,如下所示:
程序段 5:互连“sli_itemisestatus_dint”函数的参数,如下所示。
在循环 ob (ob1) 中调用函数块“sli_fb_srt_dint”。
互连参数:ob20
在 ob20 中创建以下互连:
“qry_dint”的结果
这些指令通过输入参数 ob_nr(“obnbr”)接收待调用 ob 的编号 (ob20)。
程序段 1:
当常开触点(“executeqry”)的信号状态为“true”时,执行“qry_dint”指令并读取 ob20 的数据。输出参数 status(“#statword”)中将显示 ob20 的状态。输出参数 ret_val(“returnvalueqry”)可用于指示该过程是否存在错误。
将变量“#statword”的值映射到结构“itemisestatus”中。
“srt_dint”的结果
程序段 2:当常开触点(“executesrt”)的信号状态为“true”时,执行“srt_dint”指令。通过输入参数 dtime(“delaytime”),将延时时间 (6 s) 传送到 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 调用后,将再次“禁用”。
“can_dint”的结果
程序段 3:设置和启用了 ob20(“#statword”的值为“16#0014”)时,比较器将返回信号状态“true”,同时 can_dint 可以执行。
当常开触点(“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”时,则语句正确。
面向运动健康检测的柔性可穿戴手性逻辑门传感器
智能光照培养箱的具体操作流程是怎样的
HDMI接口技术介绍
Airtag是什么?国产Airtag防丢器来看看
美国半导体晶圆制造商:中国子公司将立即申请镓、锗出口许可
时间中断函数的编程示例
闽南师范大学选购我司HS-TGA-101热重分析仪
如何在Pads Layout中生成Gerber文件
万用表表笔怎么连接?
英飞凌SiC芯片嵌入PCB提高效率
可编程振荡器,什么是可编程振荡器
硅 IPD 节省电路板空间,解决设计挑战
移动通信系统RF干扰产生的原因及解决办法
SIGGRAPH 2023 NVIDIA 主题演讲中文字幕版现已上线!
基于FPGA芯片EP3C40Q240C8实现多普勒展宽系统的设计
九联科技物联网通信模组产品助力行业数字化智能化升级
废旧电池修复原理与方法
采用单片机和传感器实现车用数字仪表系统的设计
东莞“工业互联网三维设计与数据管理专题”会议圆满结束
Linux系统中split命令的常用示例