TOF:生成关断延迟/TOF 生成关断延时

发布时间:2024-07-23  

a77cd16c-2560-11ee-962d-dac502259ad0.png

可以使用“ 生成关断延时”(Generate off-delay) 指令将延时所指定的时间 PT 复位输出 Q。当输入 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(上升沿)时,置位 Q 输出。当输入 IN 处的信号状态变回“0”时,预设的时间段 PT 开始计时。在 PT 计时过程中,输出 Q 期间将保持置位。


超出所指定的时间段 PT 后,复位输出 Q。如果输入 IN 的信号状态在时间段 PT 计时结束之前变为“1”,则复位该时间。而输出 Q 处的信号状态则保持为“1”。

可以在输出 ET 处查询当前时间值。该时间值从 T#0s 开始,达到 PT 时间值时结束。经过时间 PT 后,输出 ET 会保持为当前值,直至输入 IN 切换回“ 1” 。如果在经过时间 PT 前输入 IN切换回“1”,则输出 ET 会复位为值 T#0 。

该指令与标准 TOF 指令的功能上存在以下几点不同:

• 如果在时间 PT = 0 ms 时调用该指令,则输出 Q 和 ET 复位。

• 如果在 PT < 0  ms 时调用该指令,则输出 Q 和 ET 复位。 

需要在 PT 大于 0 且输出 IN 出现另一个下降沿时,重新启动关断延时。

a79c54ec-2560-11ee-962d-dac502259ad0.png

① 对于循环 n+1 中的首次调用,相对于 F 运行组开始的时间,该指令的调用时间比在循环 n 中的调用时间早 Δ1 ,这是因为在循环 n+1 中调用该指令之前跳过了 F 运行组部分安全程序。对于时间更新,该指令将考虑时间 T Base_1,而不是循环 n 中从调用开始实际已用完的 T 1 时间。

② 在循环 n+1 中第二次调用该指令。此时,不考虑其它时间更新(增量为 Δ2 )。

③ 在循环 n+2 中调用该指令时,相对于 F 运行组开始的时间,该指令的调用时间比在循环 n 中的调用时间晚 Δ3 ,这是因为在循环 n+2 中调用该指令之前,更高优先级的中断已中断了 F 运行组。该指令将使用时间 T Base_1 + TBase_2,而不是循环 n 中从调用开始算起已实际经过的时间 T 3 。即使在循环 n+1 中没有调用该指令,也将发生以上状况。

例如:

a7c24544-2560-11ee-962d-dac502259ad0.png

如果操作数“TagIn_1”的信号状态从“0”变为“1”,则将输出 Q 处操作数“TagOut” 的信号状态置位为“1”。

如果操作数“TagIn_1”的信号状态变为“0”,则输入 PT 处所指定的时间 (200 ms) 开始计时。

超出该时间时,将输出 Q 处操作数“TagOut” 重新置位为“0”。而在操作数“"F_DB_1".Tag_ET”中则为当前时间值。

说明

可以使用“生成关断延时”(Generate off-delay) 指令将 Q 输出的复位延时设定的时间 PT。当输入 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,将置位 Q 输出。当输入 IN 处的信号状态变回“0”时,预设的时间 PT 开始计时。只要 PT 持续时间仍在计时,输出 Q 就保持置位。持续时间 PT 计时结束后,将复位输出 Q。如果输入 IN 的信号状态在持续时间 PT 计时结束之前变为“1”,则复位定时器。输出 Q 的信号状态仍将为“1”。

可以在 ET 输出查询当前的时间值。该定时器值从 T#0s 开始,在达到持续时间值 PT 后结束。当持续时间 PT 计时结束后,在输入 IN 变回“1”之前,输出 ET 会保持被设置为当前值的状态。在持续时间 PT 计时结束之前,如果输入 IN 的信号状态切换为“1”,则将 ET 输出复位为值 T#0s。

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

说明
如果程序中未调用定时器(例如,由于跳过定时器而导致),则输出 ET 会在定时器计时结束后立即返回一个常数值。

对于 S7-1200 CPU

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

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

声明为块中“Static”部分的 TOF_TIME 或 IEC_TIMER 类型的局部变量(例如,#MyIEC_TIMER)

对于 S7-1500 CPU

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

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

声明为块中“Static”部分的 TOF_TIME、TOF_LTIME、IEC_TIMER 或 IEC_LTIMER 类型的局部变量(例如,#MyIEC_TIMER)

在以下应用中,将更新该指令数据:

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

访问 Q 或 ET 输出时。

执行“关断延时”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。

参数

下表列出了“关断延时”指令的参数:

参数 声明 数据类型 存储区 说明
S7-1200 S7-1500 S7-1200 S7-1500
IN Input BOOL BOOL I、Q、M、D、L 或常量 I、Q、M、D、L、P 或常量 启动输入
PT Input TIME TIME、LTIME I、Q、M、D、L 或常量 I、Q、M、D、L、P 或常量 关断延时的持续时间
PT 参数的值必须为正数。
Q Output BOOL BOOL I、Q、M、D、L I、Q、M、D、L、P 超出时间 PT 时复位的输出。
ET Output TIME TIME、LTIME I、Q、M、D、L I、Q、M、D、L、P 当前时间值

脉冲时序图

下图为“关断延时”指令的时序图:

a7e236c4-2560-11ee-962d-dac502259ad0.png

示例

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

a8026e58-2560-11ee-962d-dac502259ad0.png

下表将通过具体的操作数值对该指令的工作原理进行说明:

参数 操作数
IN Tag_Start 信号跃迁“0”=>“1”;信号跃迁“1”=>“0”
PT Tag_PresetTime T#10s
Q Tag_Status TRUE
ET Tag_ElapsedTime T#10s => T#0s

当操作数“Tag_Start”的信号状态从“0”变为“1”时,操作数“Tag_Status”的信号状态将置位为“1”。

当“Tag_Start”操作数的信号状态从“1”变为“0”时,PT 参数预设的时间将开始计时。

只要该时间仍在计时,“Tag_Status”操作数就会保持置位为 TRUE。

该时间计时完毕后,“Tag_Status”操作数将复位为 FALSE。当前时间值存储在“Tag_ElapsedTime”操作数中。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>