加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
西门子博途: 使用 IEC 定时器和计数器
发布时间: 2023-09-20 16:39 更新时间: 2024-05-13 09:10

IEC 定时器和计数器的优势

IEC 定时器和计数器的统一应用,可显著提高程序代码的运行效率。

采用这种方式具有以下优势:

  • 通过新生成的背景数据块,可对块进行多次调用。

  • IEC 计数器的计数范围更大。

  • 与 S5 定时器相比,IEC 定时器性能更佳,且计时更为准确。

  • STEP 7 V5.x 中的编程方式

    在 STEP 7 V5.x 中,S5 定时器和计数器通过一个数字进行juedui寻址。由于这种寻址方式与具体数字相关,因此 S5 定时器和计数器无法对程序块进行重用。

    定时器值的范围限制为 9990 秒,而计数器的Zui大编号限值为 999。

    STEP 7 TIA Portal 中的操作步骤

    在调用或需使用时,需要在程序块中对该 IEC 定时器和计数器进行声明。IEC 定时器是一种数据类型为 IEC_TIMER、IEC_LTIMER 或 TON_TIME 和 TON_LTIME 的结构,也可声明为块中的局部变量。IEC 计数器是一种数据类型为 IEC_SCOUNTER、IEC_USCOUNTER 之类的结构。

    TIA Portal 中的编程示例

    以下示例说明了如何将 IEC 定时器和 IEC 计数器声明为局部变量:

    图片

    TON IEC 定时器和 CTU IEC 计数器的数据将作为局部变量(多重实例)存储在块接口中。

    也可将结构化的 IEC 定时器和 IEC 计数器创建为多重实例,并用于程序代码中。

    1. 为此,需创建一个 ARRAY of TON 类型的全局数据块。数据类型 TON 不会显示在下拉列表中,但可手动输入:


      图片


    1. 创建函数块并将指令“TON:接通延时”拖放到程序段中。调用 IEC 定时器 TON 的实例,如下所示:


      图片

    以多重实例方式调用定时器

    如果要使用 IN 参数以多重实例方式启动一个定时器,则在程序代码中不得提前对其进行初始化。在这种情况下,在 IN 参数处调用的定时器无法再识别信号的上升沿,并且定时器不会启动:

    1.在块接口的“Static”部分,将定时器“Time_1”创建为数据类型为“TP_TIME”的多重实例。

    2.编写以下程序代码:



    STL

    说明

    A "Tag_Output"

    // 当“Tag_Output”输出接收到信号状态 1 时,

    = #Time_1.IN

    // 在信号的上升沿处,初始化多重实例定时器 #Timer_1 的 IN 参数。



    CALL #Time_1

    // 调用多重实例定时器并再次查询 IN 参数时,该定时器会因未查询到新的信号上升沿而不启动。


    // 输入 TIME 作为该指令的数据类型。

    time_type := Time

    IN := "Tag_Output"

    PT := T#30s

    Q := "Tag_4"

    ET := "Tag_ElapsedTime"


    这也正是必需在调用中编程多重实例定时器的初始化的原因所在。



    STL

    说明

    CALL #Time_1

    // 定时器被调用并启动。


    // 输入 TIME 作为该指令的数据类型。

    time_type := Time

    IN := "Tag_Output"

    PT := T#30s

    Q := "Tag_4"

    ET := "Tag_ElapsedTime"


    联系方式

    • 电  话:18126392341
    • 联系人:梁涛
    • 手  机:15267534595
    • 微  信:15267534595