F_TRIG:检查信号下降沿 (S7-1500) 说明 使用“检测信号下降沿”指令,可以检测输入 CLK 的从“1”到“0”的状态变化。该指令将输入 CLK 的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指令 检测到输入 CLK 的状态从“1”变为“0”,则在输出 Q 中生成一个信号下降沿。即,该输出的值 将为 TRUE 或“1”,并保持一个周期。 在其它任何情况下,该指令输出的信号状态均为“0”。 说明 CPU 启动后的特性 在 IEC61131 标准中,描述了如果在 CPU 启动时输入“CLK”的值为 FALSE,则指令“F_TRIG”将 输出“Q”设置为 TRUE 并持续一个周期。 为确保“F_TRIG”在 CPU 启动后显示该标准中所描述的特性,需将“Stat_Bit”实例的值初始化为 TRUE。
定时器操作 (S7-1500) TP:生成脉冲 (S7-1500) 说明 使用“生成脉冲”指令,可以将输出 Q 设置为预设的一段时间。当参数 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计 时。随后无论输入信号如何改变,都会将参数 Q 设置为时间 PT。当 PT 正在计时时,在 IN 输 入处检测到的新的信号上升沿对 Q 输出处的信号状态没有影响。 可以在 ET 输出上查询当前时间值。时间值从 T#0s 开始,达到 PT 时间值时结束。如果 PT 时 间用完且输入 IN 的信号状态为“0”,则复位 ET 输出。如果在程序中未调用该指令(如,由 于跳过该指令),则 ET 输出会在超出时间后立即返回一个常数值。 操作系统会在冷启动期间复位“生成脉冲”指令的实例。如果要在暖启动之后初始化该指令 的实例,则需在启动 OB 中将 PT 参数置位为“0”的情况下调用这些待初始化的实例。如果“生 成脉冲”指令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。 在程序代码中使用“调用块”(Call block) (CALL) 指令以调用“生成脉冲”(Generate pulse) 指 令。 从下拉列表“???”中选择数据类型后,将打开“调用选项”(Call options) 对话框。 每次调用“生成脉冲”指令,都会为其分配一个 IEC 定时器用于存储实例数据。IEC 定时器 是一个 IEC_TIMER、IEC_LTIMER、TP_TIME 或 TP_LTIME 数据类型的结构,可如下声明: • 声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“MyIEC_TIMER”) • 声明为块中“Static”部分的 TP_TIME 或 TP_LTIME 类型的局部变量(例如,#MyTP_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 定时器的实际值前,请确保定时器已计时结束。 • 如果使用快照覆盖实际值,请确保是在系统处于安全状态时拍摄的快照。 • 确保程序在传输期间不读写受影响的数据。
TON:生成接通延时 (S7-1500) 说明 使用“接通延时”指令,可以将 Q 输出的设置延时 PT 中指定的一段时间。当参数 IN 的逻 辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。超过持续时间 PT 时,参数 Q 的信号状态变为“1”。只要启动输入 IN 仍为“1”,参 数 Q 就保持置位。启动输入的信号状态从“1”变为“0”时,将复位参数 Q。在启动输入检测到 新的信号上升沿时,该定时器功能将再次启动。 可以在 ET 输出上查询当前时间值。时间值从 T#0s 开始,达到 PT 时间值时结束。只要参数 IN 的信号状态变为“0”,就立即复位 ET 参数。如果在程序中未调用该指令(如,由于跳过该指 令),则 ET 输出会在超出时间 PT 后立即返回一个常数值。 在程序代码中,可以通过“调用块”(CALL) 指令调用“接通延时”指令。 从下拉列表“???”中选择数据类型后,将打开“调用选项”(Call options) 对话框。每次调用“接通延时”指令,必须将其分配给存储实例数据的 IEC 定时器。IEC 定时器是一个 IEC_TIMER、IEC_LTIMER、TON_TIME 或 TON_LTIME 数据类型的结构,可如下声明: • 声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“MyIEC_TIMER”) • 声明为块中“Static”部分的 TON_TIME 或 TON_LTIME 类型的局部变量(例如, #MyTON_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 定时器的实际值前,请确保定时器已计时结束。 • 如果使用快照覆盖实际值,请确保是在系统处于安全状态时拍摄的快照。 • 确保程序在传输期间不读写受影响的数据。TOF:关断延时 (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 会一直保持为当前值。如果输入 IN 在时间 PT 用 完前变为“1”,则输出 ET 将复位为值 T#0s。如果在程序中未调用该指令(如,由于跳过该指 令),则 ET 输出会在超出时间后立即返回一个常数值。 在程序代码中,通过“调用块”(CALL) 指令调用“关断延时”指令。 从下拉列表“???”中选择数据类型后,将打开“调用选项”(Call options) 对话框。 每次调用“关断延时”指令,必须将其分配给存储实例数据的 IEC 定时器。IEC 定时器是一个 IEC_TIMER、IEC_LTIMER、TOF_TIME 或 TOF_LTIME 数据类型的结构,可如下声明: • 声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“MyIEC_TIMER”) • 声明为块中“Static”部分的 TOF_TIME 或 TOF_LTIME 类型的局部变量(例如, #MyTOF_TIMER) 操作系统会在冷启动期间复位“关断延时”指令的实例。如果要在暖启动之后初始化该指令 的实例,则需在启动 OB 中将 PT 参数置位为“0”的情况下调用这些待初始化的实例。如果“关 断延时”指令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。