西门子博途SCL :TON:接通延时

描述

说明

可以使用“接通延时”指令将 Q 参数的设置延时 PT 指定的一段时间。当参数 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。

超过持续时间 PT 时,参数 Q 的信号状态变为“1”。只要启动输入仍为“1”,参数 Q 就保持置位。如果 IN 参数的信号状态从“1”变为“0”,则复位参数 Q。当在参数 IN 上检测到一个新的信号上升沿时,将重新启动定时器功能。

可通过 ET 参数查询当前的时间值。该时间值从 T#0s 开始,在达到持续时间 PT 后结束。只要参数 IN 的信号状态变为“0”,就立即复位 ET 参数。

说明
如果程序中未调用定时器(这是因为会忽略定时器),则输出 ET 会在定时器计时结束后立即返回一个常数值。

每次调用“接通延时”指令,必须将其分配给存储指令数据的 IEC 定时器。

在以下情况下将更新指令数据:

当输出 ET 或 Q 互连时,调用该指令。如果输出未互连,则不会更新输出 ET 中的当前时间值。

访问输出 Q 或 ET 时。

S7-1200 系列 CPU

IEC 定时器是一个 IEC_TIMER 或 TON_TIME 数据类型的结构,可如下声明:

声明为一个系统数据类型为 IEC_TIMER 的背景数据块(例如,“MyIEC_TIMER_DB”)

声明为程序块的“Static”中数据类型为 TON_TIME 的局部变量(例如,#MyIEC_TIMER_Instance)

S7-1500 系列 CPU:

IEC 定时器是一个 IEC_TIMER、IEC_LTIMER、TON_TIME 或 TON_LTIME 数据类型的结构,可如下声明:

声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的背景数据块(例如,“MyIEC_TIMER_DB”)

声明为程序块的“Static”中数据类型为 TON_TIME 或 TON_LTIME 的局部变量(例如,#MyIEC_TIMER_Instance)

IEC 定时器作为系统数据类型为 IEC_<定时器> 的背景数据块(共享 DB)

您可以按如下所示将 IEC 定时器声明为数据块:

.TON();

IEC 定时器作为块接口的局部变量(多重实例)

您可以按如下所示将 IEC 定时器声明为局部变量:

#myLocal_Timer();

参数

下表列出了该指令的参数:

参数 声明 数据类型 存储区 说明
S7-1200 S7-1500
IN Input BOOL BOOL I、Q、M、D、L、P 启动输入
PT Input TIME TIME、LTIME I、Q、M、D、L、P 接通延时的持续时间。
PT 参数的值必须为正数。
Q Output BOOL BOOL I、Q、M、D、L、P 定时器 PT 内时间用完时,保持置位状态的操作数。
ET Output TIME TIME、LTIME I、Q、M、D、L、P 当前定时器的值

脉冲时序图

下图显示了“接通延时”指令的脉冲图:

状态机

示例

以下示例说明了该指令的工作原理:

SCL
"TON_DB".TON(IN := "Tag_Start",
PT := "Tag_PresetTime",
Q => "Tag_Status",
ET => "Tag_ElapsedTime");

当“Tag_Start”操作数的信号状态从“0”变为“1”时,则 PT 参数指定的时间开始计时。超过该时间周期后,操作数“Tag_Status”的信号状态将置位为“1”。

只要操作数 Tag_Start 的信号状态为“1”,操作数 Tag_Status 就会保持置位为“1”。当前时间值存储在“Tag_ElapsedTime”操作数中。当操作数 Tag_Start 的信号状态从“1”变为“0”时,将复位操作数 Tag_Status。





审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分