TON:接通延时 (S7-300, S7-400) 说明 可以使用“接通延时”指令将 Q 输出的设置延时 PT 指定的一段时间。当输入 IN 的逻辑运 算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。执行该指令需要一个前置逻辑 运算。该运算可以放置在程序段的中间或者末尾。指令启动时,预设的时间 PT 即开始计时。 当持续时间 PT 计时结束后,输出 Q 的信号状态为“1”。只要启动输入仍为“1”,输出 Q 就保 持置位。启动输入的信号状态从“1”变为“0”时,将复位输出 Q。在启动输入检测到新的信号 上升沿时,该定时器功能将再次启动。 可以扫描 ET 输出处的当前时间值。时间值从 T#0s 开始,达到 PT 时间值时结束。只要输入 IN 的信号状态变为“0”,输出 ET 就复位。操作系统会在冷启动期间复位“生成脉冲”指令的实例。如果要在暖启动之后初始化该指令 的实例,则在启动 OB 中调用这些实例,其中 PT 参数将置位为值“0”。如果“生成脉冲”指 令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。 说明 跳过该指令 如果程序中未调用该指令(如,跳过),则 ET 输出将在超出定时器值后立即返回一个常数值。 说明 更新指令数据 只有在调用指令时才更新指令数据。访问输出 Q 或 ET 时,不更新数据。
每次调用“接通延时”指令,必须将其分配给存储指令数据的 IEC 定时器。可按如下方式声 明 IEC 定时器: • 声明类型为 TON 的数据块(例如,“TON_DB”) • 声明为块中“Static”程序段内 TON 类型的局部变量(例如,#MyTON_TIMER) 在程序中插入该指令时,将自动打开“调用选项”(Call options) 对话框,可以指定将 IEC 定 时器存储在自身的数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如 果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > System blocks) 路径中的“程序资源”(Program resources) 文件夹内。有关本主题的更多信 息,请参见“另请参见”。 操作系统会在冷启动期间复位“接通延时”指令的实例。如果要在暖启动之后初始化该指令 的实例,则在启动 OB 中调用这些实例,其中 PT 参数将置位为值“0”。如果“接通延时”指 令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。 说明 跳过该指令 如果程序中未调用该指令(如,跳过),则 ET 输出将在超出定时器值后立即返回一个常数值。 说明 更新指令数据 只有在调用指令时才更新指令数据。访问输出 Q 或 ET 时,不更新数据。 参数 下表列出了“接通延时”指令的参数: 参数 声明 数据类型 存储区 说明 IN Input BOOL I、Q、M、D、L 启动输入 PT Input TIME I、Q、M、D、 L、P 或常量 接通延时的持续时间 PT 参数的值必须为正数。 Q Output BOOL I、Q、M、D、L 超过时间 PT 后,置位的输 出。 ET Output TIME I、Q、M、D、L 当前时间值 有关有效数据类型的更多信息,请参见“另请参见”。TOF:关断延时 (S7-300, S7-400) 说明 可以使用“关断延时”指令将 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。每次调用“关断延时”指令,必须将其分配给存储指令数据的 IEC 定时器。可按如下方式声 明 IEC 定时器: • 声明类型为 TOF 的数据块(例如,“TOF_DB”) • 声明为块中“Static”程序段内 TOF 类型的局部变量(例如,#MyTOF_TIMER) 在程序中插入该指令时,将自动打开“调用选项”(Call options) 对话框,可以指定将 IEC 定 时器存储在自身的数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如 果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > System blocks) 路径中的“程序资源”(Program resources) 文件夹内。有关本主题的更多信 息,请参见“另请参见”。 操作系统会在冷启动期间复位“关断延时”指令的实例。如果要在暖启动之后初始化该指令 的实例,则在启动 OB 中调用这些实例,其中 PT 参数将置位为值“0”。如果“关断延时”指 令的实例位于其它块中,则可以通过诸如初始化上级块来复位这些实例。 说明 跳过该指令 如果程序中未调用该指令(如,跳过),则 ET 输出将在超出定时器值后立即返回一个常数值。 说明 更新指令数据 只有在调用指令时才更新指令数据。访问输出 Q 或 ET 时,不更新数据。 参数 下表列出了“关断延时”指令的参数: 参数 声明 数据类型 存储区 说明 IN Input BOOL I、Q、M、D、L 启动输入 PT Input TIME I、Q、M、D、 L、P 或常量 关断延时的持续时间 PT 参数的值必须为正数。 Q Output BOOL I、Q、M、D、L 超出时间 PT 后要复位的输 出。 ET Output TIME I、Q、M、D、L 当前时间值 有关有效数据类型的更多信息,请参见“另请参见”。SIMATIC 定时器 (S7-300, S7-400) S_PULSE:分配脉冲定时器参数并启动 (S7-300, S7-400) 说明 当输入 S 的逻辑运算结果 (RLO) 的信号状态从“0”变为“1”(信号上升沿)时,指令“分配脉 冲定时器参数并启动”将启动预设的定时器。当输入 S 的信号状态为“1”后,该定时器在经 过预设的持续时间 (TV) 后计时结束。如果输入 S 的信号状态在已设定的持续时间计时结束 之前变为“0”,则定时器停止。这种情况下,输出 Q 的信号状态为“0”。持续时间由定时器值和时基构成,且在参数 TV 处设定。指令启动时,设定的定时器值将减 计数到 0。时基表示定时器值更改的时间段。当前定时器值在输出 BI 处以 BI 编码格式输出, 在输出 BCD 处以 BCD 编码格式输出。 如果定时器正在计时且输入端 R 的信号状态变为 “1”,则当前时间值和时间基准也将设置为 0。 如果定时器未在计时,则输入 R 的信号状态为“1”不会有任何作用。 “分配脉冲定时器参数并启动”指令需要对边沿评估进行前导逻辑运算,可以放在程序段中 或程序段的结尾。 每次访问时都会更新指令数据。因此,在循环开始和循环结束时查询数据可能会返回不同的 值。 说明 在时间单元,操作系统通过时基指定的间隔,以一个时间单位缩短时间值,直到该值为“0”。 递减操作与用户程序不同步执行。因此,定时器中的值比预期的时基Zui多短一个时间间隔值。 以下给出了如何构造时间单元的一个示例:另请参见“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、D、 L、T、C、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 定时器的状态 有关有效数据类型的更多信息,请参见“另请参见”。