说明
当输入 S 的逻辑运算结果 (RLO) 的信号状态从“0”变为“1”(信号上升沿)时,指令“分配脉冲定时器参数并启动”将启动预设的定时器。当输入 S 的信号状态为“1”后,该定时器在经过预设的持续时间 (TV) 后计时结束。如果输入 S 的信号状态在已设定的持续时间计时结束之前变为“0”,则定时器停止。这种情况下,输出 Q 的信号状态为“0”。
持续时间由定时器值和时基构成,且在参数 TV 处设定。该指令启动后,预设的时间值开始递减计数,直至为零。时基表示定时器值更改的时间段。当前定时器值在输出 BI 处以 BI 编码格式输出,在输出 BCD 处以 BCD 编码格式输出。
如果定时器正在计时且输入端 R 的信号状态变为 “1”,则当前时间值和时间基准也将设置为 0。如果定时器未在计时,则输入 R 的信号状态为“1”不会有任何作用。
“分配脉冲定时器参数并启动”指令需要对边沿评估进行前导逻辑运算,可以放在程序段中或程序段的结尾。
每次访问时都会更新指令数据。因此,在循环开始和循环结束时查询数据可能会返回不同的值。
说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基最多短一个时间间隔值。 有关如何构造一个时间单元的示例,请参见“另请参见“L:加载定时器值”。 |
参数
下表列出了指令“分配脉冲定时器参数并启动”的参数:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
---|---|---|---|---|
<定时器> | InOut/Input | TIMER | T | 指令的时间 定时器的数量取决于 CPU。 |
S | Input | BOOL | I、Q、M、D、L 或常量 | 启动输入 |
TV | Input | S5TIME、WORD | I、Q、M、D、L 或常量 | 预设时间值 |
R | Input | BOOL | I、Q、M、T、C、D、L、P 或常量 | 复位输入 |
BI | Output | WORD | I、Q、M、D、L、P | 当前时间值(BI 编码) |
BCD | Output | WORD | I、Q、M、D、L、P | 当前时间值(BCD 格式) |
Q | Output | BOOL | I、Q、M、D、L | 定时器的状态 |
有关有效数据类型的更多信息,请参见“另请参见”。
脉冲时序图
下图显示了指令“分配脉冲定时器参数并启动”的脉冲图:
示例
以下示例说明了该指令的工作原理:
如果操作数“TagIn_1”的信号状态从“0”变为“1”,将启动“Timer_1”定时器。只要操作数“TagIn_1”具有信号状态“1”,定时器便会在等于操作数“TagIn_Number”的定时器值时结束计时。如果在定时器计时结束前操作数“TagIn_1”的信号状态从“1”变为“0”,则定时器“Timer_1”将停止。在这种情况下操作数“TagOut”将被复位为“0”。
只要定时器正在计时且操作数“TagIn_1”的信号状态为“1”,则操作数“TagOut”的信号状态便为“1”。定时器计时结束或复位后,操作数“TagOut”将复位为“0”。