北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章545 浏览8640964

西门子SCL编程入门教程连载(7)-定时器指令

西门子SCL语言中的定时器指令都是使用IEC定时器,其指令包括:脉冲定时器(TP)、延时接通定时器(TON)、延时断开定时器(TOF)、保持型延时接通定时器(TONR)、复位定时器(RESET_TIMER)及定时器预设值设置(PRESET_TIMER)指令,下面我们来一一介绍下。

cover.png/

1、脉冲定时器(TP)指令

脉冲定时器(TP)指令的作用是用来产生脉冲信号。从指令列表中添加TP指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:

tp_instruction.png/

脉冲定时器(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)的时序图如下:

tp.png/

2、延时接通定时器(TON)指令

延时接通定时器(TON)指令用于信号的延时接通。从指令列表中添加该指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:

TON.png/

TON指令也有四个引脚,其含义与之前介绍的TP(脉冲定时器)指令的引脚参数相同。
延时接通定时器的工作过程如下:

1、引脚IN的上升沿信号(0变为1)启动定时器开始计时,此时输出引脚Q的值为0;
2、随着时间的流逝,当定时器的当前值大于预设的时间值,并且输入引脚IN的信号值仍保持为1时,输出引脚Q的值从0变为1;
3、如果在计时的过程中,输入参数IN的值从1变为0,则定时器停止计时;直到下一次上升沿(从0变为1)后重新计时;
延时接通定时器(TON)的时序图如下:

ton2.png/

3、延时断开定时器(TOF)指令

延时断开定时器指令TOF用于信号的延时断开。从指令列表中添加该指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令初始状态如下:

TOF.png/

延时断开定时器(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时,定时器重新开始计时。
延时断开定时器时序图如下:

TOF2.png/

4、保持型延时接通定时器(TONR)指令

保持型延时接通定时器指令TONR可以起到时间累加的作用。
从指令列表中添加TONR指令时会自动生成背景数据块(默认名称IEC_Timer_0_DB),指令的初始状态如下:

TONR.png/

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;

保持型延时接通定时器的时序图如下:

TONR2.png/

5、复位定时器指令RESET_TIMER

RESET_TIMER可用于IEC定时器的复位,指令的初始状态如下:

reset_timer.png/

建议将其放入IF语句中,以便在可控的条件下进行复位。该指令执行后,定时器的当前值及输出值均复位为0;

6、定时器预设值设置指令PRESET_TIMER

PRESET_TIMER可用于设置IEC定时器的预设时间值,指令初始状态如下:

preset_timer.png/

其中:

参数PT为需要设置的时间值;
TIMER:为IEC定时器名称/编号;

好了,关于SCL语言中IEC定时器指令就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众。

founderchip.png

西门子SCL编程入门教程连载(7)-定时器指令.pdf

来源:本站|   大小:393 KB|   下载次数:2423次

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论