广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
西门子博途: 使用 IEC 定时器和计数器
发布时间:2024-11-23

IEC 定时器和计数器的优势

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

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

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

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

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

STEP 7 V5.x 中的编程方式

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

定时器值的范围限制为 9990 秒,而计数器的最大编号限值为 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 计数器创建为多重实例,并用于程序代码中。

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


图片


创建函数块并将指令“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"


展开全文
拨打电话 微信咨询 发送询价