带重置的关断延时计时器 (TOFR)

TOFR 指令是一个非保持型计时器,用于累加 TimerEnable 清零的时间。
架构和安全支持的详细信息
下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590
可用语言
梯形图
此指令不可用于梯形图中。
功能块
结构化文本
TOFR(TOFR_tag)
操作数
结构化文本
变量
类型
格式
说明
TOFR 标签
FBD_TIMER
结构
TOFR 结构
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法
功能块
操作数
类型
格式
说明
TOFR tag
FBD_TIMER
结构
TOFR 结构
FBD_TIMER 结构
输入参数
数据类型
说明
EnableIn
BOOL
如果此参数清零,指令不会执行,也不会更新输出。如果置位,则执行指令。
默认置位。
TimerEnable
BOOL
该参数清零时,计时器运行并累加时间。
默认清零。
PRE
DINT
计时器预设值。该值为 ACC 必须达到的时间量(1 毫秒),达到该时间量时计时结束。如果该值无效,指令会将 Status 中的相应位置位,但计时器不执行。
有效值 = 0 到最大正整数
Reset
BOOL
计时器复位请求。该值置位时,计时器复位。
默认清零。
当 Reset 输入参数置位时,指令将 EN、TT 和 DN 清零,并设置 ACC = PRE。请注意,这不同于对 TOF 指令使用 RES 指令。
输出参数
数据类型
说明
EnableOut
BOOL
指令生成的有效结果。
ACC
BOOL
累加时间(毫秒)。
EN
BOOL
计时器使能输出。表示计时器指令已使能。
TT
BOOL
计时器计时输出。该参数置位时,表示计时操作正在进行。
DN
BOOL
计时完成输出。表示累加时间大于或等于预设值。
Status
DINT
功能块的状态。
InstructFault (Status.0)
BOOL
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
PresetInv (Status.1)
BOOL
预设值无效。
说明
该值为真时,TOFR 指令将累加时间,直至:
  • TOFR 指令禁用
    • ACC 大于或等于 PRE
时基始终为 1 毫秒。例如,对于 2 秒计时器,应将 PRE 值输入为 2000。
“复位” 输入参数置位时,该指令将复位。如果在 Reset 为真时 TimerEnable 为假,则当 Reset 恢复为假时,TOFR 指令不会重新开始计时。
计时器工作原理
计时器工作时会用当前时间减去上次扫描的时间:
ACC = ACC + (current_time - last_time_scanned)
更新 ACC 后,计时器设置 last_time_scanned = current_time。从而使计时器为下一次扫描做好准备。
重要提示: 在计时器运行时,应务必至少每隔 69 分钟扫描一次计时器。否则 ACC 值可能不正确。
last_time_scanned 值的上限为 69 分钟。如果在 69 分钟内未扫描计时器,计时器的计算值将翻转。发生这种情况时,ACC 值会不正确。
如果将该指令放在以下位置,计时器运行时,应在 69 分钟内扫描一次:
  • 子例程
  • JMP 与 LBL 指令之间的代码段
  • 顺序功能图 (Sequential Function Chart, SFC)
  • 事件或周期性任务
  • 阶段状态例程
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅
执行
功能块
条件/状态
执行的操作
预扫描
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为假
EnableIn 和 EnableOut 位设置为假。
Tag.EnableIn 为真
EnableIn 和 EnableOut 位设置为真。
将执行指令的主算法,并更新输出。
指令首次运行
不适用
指令首次扫描
EN、TT 和 DN 清零,ACC 值不变。
重置
当 Reset 输入参数置位时,指令将 EN、TT 和 DN 清零,并设置 ACC = PRE。(这不同于对 TOF 指令使用 RES 指令。)
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
limit_switch1 清零后的每次扫描中,TOFR 指令会将经过的时间加到 ACC 值中,直至 ACC 值达到 PRE 值。当 ACC PRE 时,DN 参数清零,timer_state2 置位。
功能块
结构化文本
TOFR_01.PRE := 500;
TOFR_01.Reset := Reset;
TOFR_01.TimerEnable := Input;
TOFR(TOFR_01);
timer_state := TOFR_01.DN;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal