TON:生成接通延时 (S7-1200,S7-1500) 说明 使用“接通延时”指令,可以将 Q 输出的设置延时 PT 中指定的一段时间。当输入 IN 的逻 辑运算结果(RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。超出时间 PT 之后,输出 Q的信号状态将变为“1”。只要启动输入仍为“1”,输出 Q 就保持置位。启动输入的信号状态从“1”变为“0”时,将复位输出Q。在启动输入检测到新的 信号上升沿时,该定时器功能将启动。 可以在 ET 输出查询当前的时间值。该定时器值从 T#0s开始,在达到持续时间 PT 后结束。只 要输入 IN 的信号状态变为“0”,输出 ET 就复位。如果在程序中未调用该指令(如,由于跳过该指令),则 ET 输出会在超出时间 PT 后立即返回一个常数值。“接通延时”指令可以放置在程序段的中间或者末尾。它需要一个前导逻辑运算。 每次调用“接通延时”指令,必须将其分配给存储实例数据的IEC 定时器。 对于 S7-1200 CPU IEC 定时器是一个 IEC_TIMER 或 TON_TIME数据类型的结构,可如下声明: • 声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“MyIEC_TIMER”) •声明为块中“Static”部分的 TON_TIME 或 IEC_TIMER 类型的局部变量(例如, #MyIEC_TIMER)对于S7-1500 CPU IEC 定时器是一个 IEC_TIMER、IEC_LTIMER、TON_TIME 或 TON_LTIME数据类型的结构,可 如下声明: • 声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER的数据块(例如,“MyIEC_TIMER”) • 声明为块中“Static”部分的TON_TIME、TON_LTIME、IEC_TIMER 或 IEC_LTIMER 类型的局 部变量(例如,#MyIEC_TIMER)更新实例数据中的实际值 “接通延时”中的实例数据根据以下规则更新: • IN 输入 “接通延时”指令将当前 RLO 与保存在实例数据IN 参数中上次查询的 RLO 进行比较。如 果指令检测到 RLO从“0”变为“1”,则说明出现了一个信号上升沿并开始进行时间测量。在 “接通延时”指令处理完毕后,IN参数的值在实例数据中更新,并作为存储器位用于下 次查询。 请注意,边沿检测将在其他功能写入或初始化 IN 参数的实际值时中断。 • PT 输入 当边沿在 IN 输入处改变时,PT 输入处的值将写入实例数据中的 PT 参数。 • Q 和ET 输出 Q 和 ET 输出的实际值在以下情况下更新: – 当输出 ET 或 Q 互连时,调用该指令。 或 – 访问 Q 或 ET。 如果输出未互连并且还未被查询,则不更新 Q 和 ET 输出的当前时间值。在程序中跳 过该指令,也不会对输出进行更新。 “接通延时”指令的内部参数用以计算 Q 和 ET 的时间值。请注意,时间测量将在其他功能写入或初始化指令的实际值时中断。
重新初始化实际值的危险 在时间测量时,重新初始化IEC 定时器的实际值会破坏 IEC 定时器的功能。更改实际值可 能会导致程序和实际过程之间不一致。这会对财产和人身造成造成严重损害。以下功能可导致实际值重新初始化: • 通过重新初始化加载块 • 将快照加载为实际值 • 控制或强制执行实际值 •“WRIT_DBL”指令 在执行这些功能前,请采取以下预防措施: • 在覆盖实际值之前,应确保设备始终处于安全状态。 • 在初始化IEC 定时器的实际值前,请确保定时器已计时结束。 • 如果使用快照覆盖实际值,请确保是在系统处于安全状态时拍摄的快照。 •确保程序在传输期间不读写受影响的数据。当“Tag_Start”操作数的信号状态从“0”变为“1”时,PT参数预设的时间开始计时。超过该时间 周期后,操作数“Tag_Status”的信号状态置位为“1”。只要操作数 Tag_Start的信号状态为“1”,操作数 Tag_Status 就会保持置位为“1”。当前时间值存储在“Tag_ElapsedTime”操作数中。当操作数 Tag_Start 的信号状态从“1”变为“0”时,将复位操作数 Tag_Status。有关以上示例中编程代码的更多信息,请参见“Sample Library for Instructions(页 713)”。TOF:生成关断延时 (S7-1200, S7-1500) 说明 使用“关断延时”指令,可以将 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。 如果在程序中未调用该指令(如,由于跳过该指令),则 ET输出会在超出时间后立即返回 一个常数值。 “关断延时”指令可以放置在程序段的中间或者末尾。它需要一个前导逻辑运算。每次调用“关断延时”指令,必须将其分配给存储实例数据的 IEC 定时器。 对于 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) 更新实例数据中的实际值 “关断延时”中的实例数据根据以下规则更新: • IN 输入“关断延时”指令将当前 RLO 与保存在实例数据 IN 参数中上次查询的 RLO 进行比较。如 果指令检测到 RLO从“1”变为“0”,则说明出现了一个信号下降沿并开始进行时间测量。在 “关断延时”指令处理完毕后,IN参数的值在实例数据中更新,并作为存储器位用于下 次查询。 请注意,边沿检测将在其他功能写入或初始化 IN 参数的实际值时中断。 • PT 输入 当边沿在 IN 输入处改变时,PT 输入处的值将写入实例数据中的 PT 参数。 • Q 和ET 输出 Q 和 ET 输出的实际值在以下情况下更新: – 当输出 ET 或 Q 互连时,调用该指令。 或 – 访问 Q 或 ET。 如果输出未互连并且还未被查询,则不更新 Q 和 ET 输出的当前时间值。在程序中 跳过该指令,也不会对输出进行更新。 “关断延时”指令的内部参数用以计算 Q 和 ET 的时间值。请注意,时间测量将在其他功能写入或初始化指令的实际值时中断。重新初始化实际值的危险 在时间测量时,重新初始化 IEC 定时器的实际值会破坏 IEC定时器的功能。更改实际值可 能会导致程序和实际过程之间不一致。这会对财产和人身造成造成严重损害。 以下功能可导致实际值重新初始化: •通过重新初始化加载块 • 将快照加载为实际值 • 控制或强制执行实际值 • “WRIT_DBL”指令在执行这些功能前,请采取以下预防措施: • 在覆盖实际值之前,应确保设备始终处于安全状态。 • 在初始化 IEC定时器的实际值前,请确保定时器已计时结束。 • 如果使用快照覆盖实际值,请确保是在系统处于安全状态时拍摄的快照。 •确保程序在传输期间不读写受影响的数据。TONR:时间累加器 (S7-1200, S7-1500) 说明可以使用“时间累加器”指令来累加由参数 PT 设定的时间段内的时间值。输入 IN 的信号状态从“0”变为“1”(信号上升沿)时,将执行时间测量,时间 PT 开始计时。当 PT 正在计 时时,加上在 IN输入的信号状态为“1”时记录的时间值。累加得到的时间值将写入到输出 ET 中,并可以在此进行查询。持续时间 PT 计时结束后,输出 Q的信号状态为“1”。IN 参 数的信号状态从“1”变为“0”(信号下降沿),Q 参数仍将保持置位为“1”。无论启动输入的信号状态如何,输入 R 都将复位输出 ET 和 Q。“时间累加器”指令可以放置在程序段的中间或者末尾。它需要一个前导逻辑运算。每次调用“时间累加器”指令,必须为其分配一个用于存储实例数据的 IEC 定时器。 对于 S7-1200 CPU IEC 定时器是一个IEC_TIMER 或 TONR_TIME 数据类型的结构,可如下声明: • 声明为一个系统数据类型为 IEC_TIMER的数据块(例如,“MyIEC_TIMER”) • 声明为块中“Static”部分的 TONR_TIME 或 IEC_TIMER类型的局部变量(例如, #MyIEC_TIMER) 对于 S7-1500 CPU IEC 定时器是一个IEC_TIMER、IEC_LTIMER、TONR_TIME 或 TONR_LTIME 数据类型的结构, 可如下声明: •声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“MyIEC_TIMER”) •声明为块中“Static”部分的 TONR_TIME、TONR_LTIME、IEC_TIMER 或 IEC_LTIMER 类型的局部变量(例如,#MyIEC_TIMER)