西门子SCL编程入门教程连载(7)-定时器指令
西门子SCL语言中的定时器指令都是使用IEC定时器,其指令包括:脉冲定时器(TP)、延时接通定时器(TON)、延时断开定时器(TOF)、保持型延时接通定时器(TONR)、复位定时器(RESET_TIMER)及定时器预设值设置(PRESET_TIMER)指令,下面我们来一一介绍下。
1、脉冲定时器(TP)指令
脉冲定时器(TP)指令的作用是用来产生脉冲信号。从指令列表中添加TP指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:
脉冲定时器(TP)指令有四个引脚参数:
1、IN:布尔型变量,输入值,当该引脚信号从0变为1时(上升沿)定时器开始计时;
2、PT:时间型变量,输入值,Preset Time,表示定时器的预设时间值;
3、Q:布尔型变量,输出值,定时器标志位;
4、ET:时间型变量,输出值,表示定时器的当前时间;
脉冲定时器的工作过程如下:
1、IN参数的上升沿信号启动定时器开始计时,此时Q输出信号的值为1;
随着时间的流逝,当定时器的当前值大于预设值PT时,若IN的信号仍然为1,则输出信号Q的值变为0;
2、当定时器激活后,无论输入参数IN的值是否发生变化,定时器都将持续计时,直到预设的时间值走完;
3、定时器计时结束后,IN参数信号的上升沿会重新激活定时器;
脉冲定时器(TP)的时序图如下:
2、延时接通定时器(TON)指令
延时接通定时器(TON)指令用于信号的延时接通。从指令列表中添加该指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:
TON指令也有四个引脚,其含义与之前介绍的TP(脉冲定时器)指令的引脚参数相同。
延时接通定时器的工作过程如下:
1、引脚IN的上升沿信号(0变为1)启动定时器开始计时,此时输出引脚Q的值为0;
2、随着时间的流逝,当定时器的当前值大于预设的时间值,并且输入引脚IN的信号值仍保持为1时,输出引脚Q的值从0变为1;
3、如果在计时的过程中,输入参数IN的值从1变为0,则定时器停止计时;直到下一次上升沿(从0变为1)后重新计时;
延时接通定时器(TON)的时序图如下:
3、延时断开定时器(TOF)指令
延时断开定时器指令TOF用于信号的延时断开。从指令列表中添加该指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:
延时断开定时器(TOF)指令也有四个引脚,其含义与之前介绍的TP(脉冲定时器)指令的引脚参数相同。
延时断开定时器(TOF)指令的工作过程如下:
1、当输入信号IN从0变为1时,定时器使能,此时输出Q的值为1;
2、当输入信号IN从1变为0时,定时器开始计时,输出Q的值保持为1;
3、随着时间的流逝,当时间值ET大于预设值PT并且输入信号IN的值保持为0时,输出Q的值变为0;
4、若在计时过程中,输入信号IN的值从0变为1,则定时器复位;再次从1变为0时,定时器重新开始计时。
延时断开定时器时序图如下:
4、保持型延时接通定时器(TONR)指令
保持型延时接通定时器指令TONR可以起到时间累加的作用。
从指令列表中添加TONR指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令的初始状态如下:
TONR指令有五个引脚参数,其中IN、PT、Q、ET四个引脚含义与之前介绍的TP(脉冲定时器)指令的引脚参数相同。
R为复位信号引脚,当其信号值从0变为1时,当前时间ET值和输出Q的值均复位为0;
保持型延时接通定时器可以对输入信号IN的状态1信号进行累加。
当输入信号IN从0变为1时,定时器开始计时,此时输出Q的值为0。定时器计时的过程中,流逝的时间被记录在ET中。若在到达预设值PT之前,输入信号从1变为0,则定时器停止计时。当下次输入信号IN从0变为1时,定时器从上次记录的ET值开始继续计时,直到ET累计的时间大于或等于PT时,输出Q变为1;
当输出Q变为1时,无论输入IN的信号怎么变化,都保持为1;
当复位信号R从0变为1时,输出Q和时间流逝值ET均被复位为0;
保持型延时接通定时器的时序图如下:
5、复位定时器指令RESET_TIMER
RESET_TIMER可用于IEC定时器的复位,指令的初始状态如下:
建议将其放入IF语句中,以便在可控的条件下进行复位。该指令执行后,定时器的当前值及输出值均复位为0;
6、定时器预设值设置指令PRESET_TIMER
PRESET_TIMER可用于设置IEC定时器的预设时间值,指令初始状态如下:
其中:
参数PT为需要设置的时间值;
TIMER:为IEC定时器名称/编号;
好了,关于SCL语言中IEC定时器指令就先介绍到这里。如果你喜欢这篇文章,可以去官网(https://www.founderchip.com)下载本文PDF版本。
教你学编程5 - 西门子PLC - 基本指令 - 定时器
这篇文章讲一下定时器在西门子PLC编程系统中的应用。
定时器是PLC编程必不可少的指令,在西门子编程系统之中既有老的S5time格式的定时器(step 7编程软件),也有新的符合国际标准的IEC格式定时器指令。
好多初学者不明白为啥存在两种定时器的标准。S5Time是西门子特有的定时器书写格式,而IEC是国际通用标准。这怎么理解呢?例如PLC与西门子的HMI、WinCC画面组态,需要连接时间定时器的数据,因为双方都支持S5Time数据类型,我们可以直接读写时间。但是当使用第三方的编程软件或者上位机需要与西门子PLC进行时间数据的交互的时候,第三方的编程体系中用IEC的数据形式,这就麻烦了,需要我们把S5Time的数据格式转换成IEC格式。转换是技术活,需要特殊的处理,这就使编程很不友好了。
所以,西门子推出TIA软件平台后,直接集成了IEC数据类型,那么与第三方的通讯就可以直接采用了而不需要再去转换。西门子主推的是IEC定时器,之所以还有老的S5Time格式,我认为是因为照顾300,400编程和对老设备的维护使用。
时间定时器的使用很简单,西门子提供了4种程序块和7种线圈类型的时间定时器指令。而我们使用频率最高的应该是TON延时接通定时器。
F1帮助手册的时序图。
TIA中编程应用:
上面程序为M1.0导通3秒时,Q0.2接通。
导通10秒后,Q0.1和Q0.0接通。
定时器的在使用时会生成一个背景DB块,这个DB块是唯一的,不能重复。
下篇文章探讨定时器编程的使用方法和几个案例。
相关问答
西门子plc如何计时12小时?
西门子plc可以通过使用计时器模块来计时12小时。首先,需要创建一个计时器数据块,并设置计时器的长度为12小时。接着,在程序中调用计时器模块,并将其连接到需...
plc怎么编写运行时间并在触摸屏上显示?
关于这个问题,编写PLC的运行时间并在触摸屏上显示可以通过以下步骤实现:1.在PLC程序中创建一个计时器(Timer),用于记录运行时间。根据PLC的型号和编程软件...
plc断电延时定时器怎么使用-懂得
plc断电延时定时器使用:PLC:可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向...
西门子PLCs7-1200梯形图计时怎么写?
在西门子PLCs7-1200中,梯形图计时器的编程需要使用定时器指令。下面是具体的编程步骤:1.在梯形图上创建一个计时器。2.选择一个合适的定时器指令,比如TON...
西门子无限循环计时指令?
西门子PLC编程中,无限循环计时是使用循环指令来实现的。以下是一个示例代码,实现了一个无限循环计时器:```sclVARTimer:TON;//定义一个定时器...西门子...
西门子plc定时器最大时间?
西门子PLC定时器的最大时间取决于所使用的PLC型号和相应的定时器模块。在西门子S7-1200PLC中,定时器模块基本上有三种:S7-1200基本定时器、S7-1200扩展定时器...
西门子plc编程的指令都有什么?
首先,不同品牌的PLC厂家对同一(或类似)功能的指令,命名和定义都有差异。其次,同一品牌的PLC厂家,也会由于产品的定位而对指令有影响,比如:1.小型的PLC...首...
西门子S7-200plc子程序反复调用时子程序中的定时器?
这就是定时器不能再子程序中供多次调用的原因,解决这个子程序内用形参来传递定时器的方法就是自己制作定时器,用V区来计时,然后在子程序内调用系统时钟来递增...
西门子定时器怎么调时间?
西门子定时器是一种高精度的计时设备,调整时间非常简单。首先,找到定时器的设置按钮,通常位于设备的侧面或背面。按下设置按钮,屏幕上会显示时间设置选项。使...
plc时间计时器为什么不工作?
要看你用什么样的PLC,不同的PLC有不同的定时器定义,比如三菱的FXPLC里面的定时器就只有接通递加延时,西门子的又不一样,所以你要把问题说清楚,但是一般的定时...