西门子PLC 7288 SMART 200 系列大量现货 13922952859
siemens西门子PLC专注西门子PLC 7288系列 SMART 200系列现货销售
全国咨询热线:13922952859
当前位置: 首页 > 知识课堂 > PLC知识

西门子plc定时器指令

时间:2021-07-16 15:37:31 作者:admin 点击:

LAD

使用“ 生成脉冲 ”(Generate pulse) 指令,可以将输出 Q 置位为预设的一段时间。当输入 IN 的逻辑运算结果 ( RLO ) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。无论后续输入信号的状态如何变化,都将输出 Q 置位由 PT 指定的一段时间。 PT 持续时间正在计时时,即使检测到新的信号上升沿,输出 Q 的信号状态也不会受到影响。

可以扫描 ET 输出处的当前时间值。该定时器值从 T#0s 开始,在达到持续时间值 PT 后结束。如果 PT 时间用完且输入 IN 的信号状态为“0”,则复位 ET 输出。每次调用“ 生成脉冲 ”指令,都会为其分配一个 IEC 定时器用于存储指令数据。

说明

如果程序中未调用定时器(例如,由于跳过定时器而导致),则输出 ET 会在定时器计时结束后立即返回一个常数值。

对于S7-1200CPU

IEC 定时器是一个 IEC_TIMER 或 TP_TIME 数据类型的结构,可如下声明:声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“ MyIEC_TIMER ”)声明为块中“ Static ”部分的 TP_TIME 、 TP_LTIME 或 IEC_TIMER 类型的局部变量(例如, #MyIEC_TIMER )

对于S7-1200CPU

IEC 定时器是一个 IEC_TIMER 、 IEC_LTIMER 、 TP_TIME 或 TP_LTIME 数据类型的结构,可如下声明:声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“ MyIEC_TIMER ”)
声明为块中“ Static ”部分的 TP_TIME 、 TP_LTIME 、 IEC_TIMER 或 IEC_LTIMER 类型的局部变量(例如, #MyIEC_TIMER )在以下应用中,将更新该指令数据:

ET 或 Q 输出未互连时调用该指令。如果输出未互连,则不更新输出 ET 中的当前时间值。
访问 Q 或 ET 输出时。执行“ 生成脉冲 ”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。

参数

​IN ​Input ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 启动输入 ​PT ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 I、Q、M、D、L、P 或常数 脉冲的持续时间 PT 参数的值必须为正数。 ​Q ​Output ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 脉冲输出 ​ET ​Output ​TIME TIME 、 LTIME I、Q、M、D、L I、Q、M、D、L、P 当前时间值
参数 声明 数据类型 存储区 说明 S7-1200 S7-1500 S7-1200 S7-1500

脉冲时序图

下图显示了“ 生成脉冲 ”指令的脉冲图:

西门子plc定时器指令操作

实例

以下示例说明了该指令的工作原理:

西门子plc定时器指令操作

下表将通过具体的操作数值对该指令的工作原理进行说明: ​IN ​Tag_Start 信号跃迁“0”=>“1” ​PT ​Tag_PresetTime T#10s ​Q ​Tag_Status TRUE ​ET ​Tag_ElapsedTime T#0s => T#10s
参数 操作数
当“ Tag_Start ”操作数的信号状态从“0”变为“1”时, PT 参数预设的时间开始计时,且“ Tag_Status ”操作数将设置为“1”。当前时间值存储在“ Tag_ElapsedTime ”操作数中。定时器计时结束时,操作数“ Tag_Status ”的信号状态复位为“0”。

可以使用“ 生成接通延时 ”(Generate on-delay) 指令将 Q 输出的设置延时设定的时间 PT 。当输入 IN 的逻辑运算结果 ( RLO ) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。超出时间 PT 之后,输出 Q 的信号状态将变为“1”。只要启动输入仍为“1”,输出 Q 就保持置位。启动输入的信号状态从“1”变为“0”时,将复位输出 Q 。在启动输入检测到新的信号上升沿时,该定时器功能将再次启动。

可以在 ET 输出查询当前的时间值。该定时器值从 T#0s 开始,在达到持续时间值 PT 后结束。只要输入 IN 的信号状态变为“0”,输出 ET 就复位。
每次调用“ 接通延时 ”指令,必须将其分配给存储指令数据的 IEC 定时器。

说明

如果程序中未调用定时器(例如,由于跳过定时器而导致),则输出 ET 会在定时器计时结束后立即返回一个常数值。

对于S7-1200CPU

IEC 定时器是一个 IEC_TIMER 或 TON_TIME 数据类型的结构,可如下声明:

    声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“ MyIEC_TIMER ”) 声明为块中“ Static ”部分的 TON_TIME 或 IEC_TIMER 类型的局部变量(例如#MyIEC_TIMER ) 对于S7-1500CPU 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 ) 在以下应用中,将更新该指令数据:
        ET 或 Q 输出未互连时调用该指令。如果输出未互连,则不更新输出 ET 中的当前时间值。 访问 Q 或 ET 输出时。 执行“ 接通延时 ”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。 参数 下表列出了“ 接通延时 ”指令的参数: ​IN ​Input ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 启动输入 ​PT ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 I、Q、M、D、L、P 或常数 接通延时的持续时间 PT 参数的值必须为正数。 ​Q ​Output ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 超过时间 PT 后,置位的输出。 ​ET ​Output ​TIME TIME 、 LTIME I、Q、M、D、L I、Q、M、D、L、P 当前时间值
        参数 声明 数据类型 存储区 说明 S7-1200 S7-1500 S7-1200 S7-1500

        脉冲时序图

        西门子plc定时器指令操作

        实例

        以下示例说明了该指令的工作原理:

        西门子plc定时器指令操作

        下表将通过具体的操作数值对该指令的工作原理进行说明: ​IN ​Tag_Start 信号跃迁“0”=>“1” ​PT ​Tag_PresetTime T#10s ​Q ​Tag_Status FALSE;10 秒后变为 TRUE ​ET ​Tag_ElapsedTime T#0s => T#10s
        参数 操作数
        当“ Tag_Start ”操作数的信号状态从“0”变为“1”时, PT 参数预设的时间开始计时。超过该时间周期后,操作数“ Tag_Status ”的信号状态将置“1”。只要操作数 Tag_Start 的信号状态为“1”,操作数 Tag_Status 就会保持置位为“1”。当前时间值存储在“ Tag_ElapsedTime ”操作数中。当操作数 Tag_Start 的信号状态从“1”变为“0”时,将复位操作数 Tag_Status 。

        可以使用“ 生成关断延时 ”(Generate off-delay) 指令将 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 。
        对于“ 生成关断延时 ”(Generate off-delay) 指令的每次调用,必须将其分配给用于存储指令数据的 IEC 定时器。
        说明

        如果程序中未调用定时器(例如,由于跳过定时器而导致),则输出 ET 会在定时器计时结束后立即返回一个常数值。

        对于S7-1200CPU

        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 )

        在以下应用中,将更新该指令数据:

        ET 或 Q 输出未互连时调用该指令。如果输出未互连,则不更新输出 ET 中的当前时间值。访问 Q 或 ET 输出时。

        执行“ 关断延时 ”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。

        参数

        下表列出了“ 关断延时 ”指令的参数:

        ​IN ​Input ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 启动输入 ​PT ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 I、Q、M、D、L、P 或常数 关断延时的持续时间 PT 参数的值必须为正数。 ​Q ​Output ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 超出时间 PT 时复位的输出。 ​ET ​Output ​TIME TIME 、 LTIME I、Q、M、D、L I、Q、M、D、L、P 当前时间值
        参数 声明 数据类型 存储区 说明 S7-1200 S7-1500 S7-1200 S7-1500
        脉冲时序图 西门子plc定时器指令操作 下表将通过具体的操作数值对该指令的工作原理进行说明: ​IN ​Tag_Start 信号跃迁“0”=>“1”;信号跃迁“1”=>“0” ​PT ​Tag_PresetTime T#10s ​Q ​Tag_Status TRUE ​ET ​Tag_ElapsedTime T#10s => T#0s
        参数 操作数
        当操作数“ Tag_Start ”的信号状态从“0”变为“1”时,操作数“ Tag_Status ”的信号状态将置位为“1”。当“ Tag_Start ”操作数的信号状态从“1”变为“0”时, PT 参数预设的时间将开始计时。只要该时间仍在计时,“ Tag_Status ”操作数就会保持置位为 TRUE 。该时间计时完毕后,“ Tag_Status ”操作数将复位为 FALSE 。当前时间值存储在“ Tag_ElapsedTime ”操作数中。

        可以使用“ 时间累加器 ”指令来累加由参数 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 )

        在以下应用中,将更新该指令数据:
        当输出 ET 或 Q 互连时,调用该指令。如果输出未互连,则不更新输出 ET 中的当前时间值。
        访问 Q 或 ET 输出时。
        执行“ 时间累加器 ”指令之前,需要事先预设一个逻辑运算。该运算可以放置在程序段的中间或者末尾。

        参数

        下表列出了“ 时间累加器 ”指令的参数:

        ​IN ​Input ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 启动输入 ​R ​Input ​BOOL ​BOOL I、Q、M、D、L 或常数 I、Q、M、D、L、P 或常数 复位输入 ​PT ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 I、Q、M、D、L、P 或常数 时间记录的长持续时间 PT 参数的值必须为正数。 ​Q ​Output ​BOOL ​BOOL I、Q、M、D、L I、Q、M、D、L、P 超出时间值 PT 之后要置位的输出。 ​ET ​Output ​TIME TIME 、 LTIME I、Q、M、D、L I、Q、M、D、L、P 累计的时间
        参数 声明 数据类型 存储区 说明 S7-1200 S7-1500 S7-1200 S7-1500

         

        脉冲时序图 西门子plc定时器指令操作 下表将通过具体的操作数值对该指令的工作原理进行说明: ​IN ​Tag_Start 信号跃迁“0”=>“1” ​PT ​Tag_PresetTime T#10s ​Q ​Tag_Status FALSE;10 秒后变为 TRUE ​ET ​Tag_ElapsedTime 信号跃迁“0”=>“1” 时间 T#10s 超出。 5 秒后发生信号跃迁“1”=>“0”: 操作数“ Tag_ElapsedTime ”中的时间仍在 T#5s 中计时。 大约 2 秒后重新发生信号跃迁“1”=>“0”: 操作数“ Tag_ElapsedTime ”中的时间继续在 T#5s 中计时。
        参数 操作数
        当“ Tag_Start ”操作数的信号状态从“0”变为“1”时, PT 参数预设的时间开始计时。只要操作数“ Tag_Start ”的信号状态为“1”,该时间就继续计时。当操作数“ Tag_Start ”的信号状态从“1”变为“0”时,计时将停止,并记录操作数 Tag_ElapsedTime 中的当前时间值。当操作数“ Tag_Start ”的信号状态从“0”变为“1”时,将继续从发生信号跃迁“1”到“0”时记录的时间值开始计时。达到 PT 参数中指定的时间值时,“ Tag_Status ”操作数的信号状态将置位为“1”。当前时间值存储在“ Tag_ElapsedTime ”操作数中。

        使用“ 启动脉冲定时器 ”指令启动将指定周期作为脉冲的 IEC 定时器。逻辑运算结果 ( RLO ) 从“0”变为“1”(信号上升沿)时,将启动 IEC 定时器。无论 RLO 之后会发生如何变化,IEC 定时器都将运行指定的一段时间。检测到新的信号上升沿也不会影响该 IEC 定时器的运行。只要 IEC 定时器正在计时,对定时器状态是否为“1”的查询就会返回信号状态“1”。当 IEC 定时器计时结束之后,定时器的状态将返回信号状态“0”。

        说明

        可以启动和查询不同执行等级的 IEC 定时器,每次查询输出 Q 或 ET 时,都会更新 IEC_TIMER 的结构。

        对于 S7-1200 CPU

        “ 启动脉冲定时器 ”指令以数据类型为 IEC_TIMER 或 TP_TIME 的结构存储其数据。可以如下声明此结构:

        声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“ MyIEC_TIMER ”)声明为块中“ Static ”部分的 TP_LTIME 或 IEC_TIMER 类型的局部变量(例如, #MyIEC_TIMER )

        对于 S7-1500 CPU

        “ 启动脉冲定时器 ”指令以数据类型为 IEC_TIMER 、 IEC_LTIMER 、 TP_TIME 或 TP_LTIME 的结构存储其数据。可以如下声明此结构:

        声明为一个系统数据类型为 IEC_TIMER 或 IEC_LTIMER 的数据块(例如,“ MyIEC_TIMER ”)
        声明为块中“ Static ”部分的 TP_TIME 、 TP_LTIME 、 IEC_TIMER 或 IEC_LTIMER 类型的局部变量(例如, #MyIEC_TIMER )在以下应用中,将更新该指令数据:调用该指令时,更新 IEC_Timer 结构。只有对 ET 或 Q 输出(例如," MyTimer ". Q 或 " MyTimer ". ET )进行了扫描,才会更新 ET 输出中的时间值。

        访问所指定的定时器时。

        当前定时器状态将保存在 IEC 定时器的结构组件 Q 中。可以通过常开触点查询定时器状态“1”,或通过常闭触点查询定时器状态“0”。

        执行“ 启动脉冲定时器 ”指令,需要有一个前导逻辑运算。它只能放置在程序段的末端。

        参数
        下表列出了“ 启动脉冲定时器 ”指令的参数:

        <持续时间> ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 IEC 定时器运行的持续时间。 <IEC 定时器> ​InOut IEC_TIMER 、 TP_TIME IEC_TIMER 、 IEC_LTIMER 、 TP_TIME 、TP_LTIME D、L 启动的 IEC 定时器。
        参数 声明 数据类型 存储区 说明 S7-1200 S7-1500
        有关有效数据类型的更多信息,请参见“另请参见”。 示例 以下示例说明了该指令的工作原理: ​

        西门子plc定时器指令操作

        使用“ 启动接通延时定时器 ”指令启动将指定周期作为接通延时的 IEC 定时器。逻辑运算结果 ( RLO ) 从“0”变为“1”(信号上升沿)时,将启动 IEC 定时器。IEC 定时器运行一段指定的时间。如果该指令输入处 RLO 的信号状态为“1”,则输出的信号状态将为“1”。如果 RLO 在定时器计时结束之前变为“0”,则复位 IEC 定时器。此时,查询状态为“1”的定时器将返回信号状态“0”。在该指令的输入处检测到下个信号上升沿时,将重新启动 IEC 定时器。

        说明

        可以启动和查询不同执行等级的 IEC 定时器,每次查询输出 Q 或 ET 时,都会更新 IEC_TIMER 的结构。

        对于 S7-1200 CPU

        “ 启动接通延时定时器 ”指令以数据类型为 IEC_TIMER 或 TON_TIME 的结构存储其数据。可以如下声明此结构:

        声明为一个系统数据类型为 IEC_TIMER 的数据块(例如,“ MyIEC_TIMER ”)

        声明为块中“ Static ”部分的 TON_TIME 或 IEC_TIMER 类型的局部变量(例如, #MyIEC_TIMER )

        对于 S7-1500 CPU

        “ 启动接通延时定时器 ”指令以数据类型为 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 )在以下应用中,将更新该指令数据:
        调用该指令时,更新 IEC_Timer 结构。只有对 ET 或 Q 输出(例如," MyTimer ". Q 或 " MyTimer ". ET )进行了扫描,才会更新 ET 输出中的时间值。

        访问所指定的定时器时。

        当前定时器状态将保存在 IEC 定时器的结构组件 ET 中。可以通过常开触点查询定时器状态“1”,或通过常闭触点查询定时器状态“0”。

        执行“ 启动接通延时定时器 ”指令,需要有一个前导逻辑运算。它只能放置在程序段的末端。

        参数

        下表列出了指令“ 启动接通延时定时器 ”的参数:

        <持续时间> ​Input ​TIME TIME 、 LTIME I、Q、M、D、L 或常数 IEC 定时器运行的持续时间。 <IEC 定时器> ​InOut IEC_TIMER 、 TON_TIME IEC_TIMER 、 IEC_LTIMER 、 TON_TIME 、TON_LTIME D、L 启动的 IEC 定时器。
        参数 声明 数据类型 存储区 说明 S7-1200 S7-1500
        有关有效数据类型的更多信息,请参见“另请参见”。 西门子plc定时器指令操作
标签: 西门子 plc 定时器 指令 生成 脉冲 使用