浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
西门子CPU224XPCN模块控制器

西门子CPU224XPCN模块控制器西门子CPU224XPCN模块控制器西门子CPU224XPCN模块控制器

S7-1200 PLC的定时器一共有四种类型,包括脉冲定时器TP、接通延时定时器TON、关断延时定时器TOF、保持型接通延时定时器TONR。

在这篇文章就讲一个TON及TOF定时器的案例,来让大家熟悉指令的用法,以及如何在软件中进行添加和使用。

CPU模块Classic6ES7211-0AA23-0XB0
6ES7211-0BA23-0XB0
CN6ES7212-1AB23-0XB8
6ES7212-1BB23-0XB8
6ES7214-1AD23-0XB8
6ES7214-1BD23-0XB8
6ES7214-2AD23-0XB8
6ES7214-2AS23-0XB8
6ES7214-2BD23-0XB8
6ES7216-2AD23-0XB8
6ES7216-2BD23-0XB8

使用定时器有过多背景DB块怎么办?在FB块中使用定时器如何操作?我们带着这两个问题去学习吧。

微信截图_20230218165701.png

假设我们做电机延时启停的控制,要求控制两台电机运行,按下启动按钮后,1号电机启动,延时10秒后,2号电机启动,当按下停止按钮,先停2号电机,延时10秒后再停1号电机。

1、首先创建一个变量表,如下图所示。



2、然后编写程序,注意在调用定时器时会自动提示创建背景DB块,指令上方可以看到IEC_TIMER_0_DB和IEC_TIMER_0_DB_1分别是背景DB1和DB2。







我们知道S7-1200 PLC的每一个定时器都是一个函数块,每个定时器都使用16字节的IEC_Timer数据类型的DB结构来存储指定的定时器数据。那么我们每调用一个定时器指令就需要给它分配一个背景DB块,当程序中使用的定时器指令较多时,系统会生成多个DB块。



那我们如果想减少程序块中使用定时器指令时生成过多的背景DB块,可以使用IEC_TIMER数据类型的变量来替代定时器的背景DB块。我们可以建立一个全局DB块,比如创建名称为“DATA”,在全局DB中建立变量名称为TON_DB和TOF_DB,数据类型为IEC_TIMER的变量,使用该变量来代替定时器的背景DB。





然后在定时器指令中的变量名称改成 “DATA”.TON_DB和“DATA”.TOF_DB就可以了。




除此之外,如果定时器指令是在FB块中使用的,也可以在给定时器分配背景DB时选择多重实例DB,这样定时器指令上的背景DB会自动在FB块的静态变量中生成一个Static数据类型的IEC_TIMER的变量。具体操作步骤如下:


1、添加一个FB块,命名为电机控制块。



2、设置好变量名称和数据类型。



3、编写FB块的内部程序,采用变量名称编程。



4、FB块编好之后,在OB1中进行调用,注意调用的时候会提示要分配DB块,分配好之后输入地址即可。




电缆,电线,交换机,PLC模块,CPU,模块,触摸屏。变频器,电源,CPU供应,通讯电缆,DP电缆,低压断路器。西门子PLC,供应商,西门子,模块。西门子,供应商,模块,CPU,PLC模块,上海西门子授权一级代理商,深圳SIEMENS西门子电源代理商,湖北西门子PLC代理商,荆门西门子触摸屏代理商,上海西门子变频器代理商,北京西门子交换机供应商,江苏CPU模块代理商,浙江西门子S7-200,S7-300,S7-1500,S7-1200系列代理商,

广州西门子电机代理商,

发布时间:2023-11-04
展开全文