带重置的保持型接通计时器 (RTOR)

RTOR 指令是一个保持型计时器,用于累加 TimerEnable 置位的时间。
架构和安全支持的详细信息
下表列出了支持此指令的控制器和应用程序。
架构
标准应用程序
安全应用程序
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570
CompactLogix 5380、ControlLogix 5580、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590
可用语言
梯形图
此指令不可用于梯形图中。
功能块
结构化文本
RTOR(RTOR_tag)
操作数
结构化文本
变量
类型
格式
说明
RTOR 标签
FBD_TIMER
结构
RTOR 结构
有关结构化文本中表达式语法的详细信息,请参见部分。
功能块
操作数
类型
格式
说明
RTOR tag
FBD_TIMER
结构
RTOR 结构
FBD_TIMER 结构
输入参数
数据类型
说明
EnableIn
BOOL
如果此参数清零,指令不会执行,也不会更新输出。如果置位,则执行指令。
默认置位。
TimerEnable
BOOL
该参数置位时,计时器运行并累加时间。
默认清零。
PRE
DINT
计时器预设值。该值为 ACC 必须达到的时间量(1 毫秒),达到该时间量时计时结束。如果该值无效,指令会将 Status 中的相应位置位,但计时器不执行。
有效值 = 0 到最大正整数
Reset
BOOL
计时器复位请求。该值置位时,计时器复位。
当 Reset 输入参数置位时,指令将 EN、TT 和 DN 清零,并设置 ACC = 0。
输出参数
数据类型
说明
EnableOut
BOOL
指令生成的有效结果。
ACC
DINT
累加时间(毫秒)。即使 TimerEnable 输入清零,该值也会保留下来。
EN
BOOL
计时器使能输出。表示计时器指令已使能。
TT
BOOL
计时器计时输出。该参数置位时,表示计时操作正在进行。
DN
BOOL
计时完成输出。表示累加时间大于或等于预设值。
Status
DINT
功能块的状态。
InstructFault (Status.0)
BOOL
该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。
PresetInv (Status.1)
BOOL
预设值无效。
说明
RTOR 指令会在跳变为假之前累加时间:RTOR 指令为假时,其 ACC 值仍会保留。必须使用 Reset 输入将 .ACC 值清零。
时基始终为 1 毫秒。例如,对于 2 秒计时器,应将 PRE 值输入为 2000。
“复位” 输入参数置位时,该指令将复位。如果在 Reset 置位时 TimerEnable 置位,则当 Reset 恢复为假时,RTOR 指令会重新开始计时。
计时器工作原理
计时器工作时会用当前时间减去上次扫描的时间:
  • 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 位设置为真。
指令执行。
当 Reset 输入参数置位时,指令将 EN、TT 和 DN 清零,并设置 ACC = 0。
指令首次运行
EN、TT 和 DN 设置为假。
指令执行。
指令首次扫描
不适用
重置
.EnableIn 和 .EnableOut 位设置为真。主指令算法执行并输出更新。
后扫描
EnableIn 和 EnableOut 设置为假。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态
执行的操作
预扫描
请参见“功能块”表中的“预扫描”行。
正常执行
请参见“功能块”表中的“Tag.EnableIn 为真”行。
后扫描
请参见“功能块”表中的“后扫描”行。
示例
功能块
结构化文本
RTOR_01.PRE := 500;
RTOR_01.Reset := Reset;
RTOR_01.TimerEnable := Input;
RTOR(RTOR_01);
timer_state := RTOR_01.DN;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal