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

西门子SCL编程入门教程连载(8)-计数器指令

今天这篇文章我们来谈谈西门子SCL语言中的计数器(Counter)指令。

cover.png

S7-1200和S7-1500系列PLC的使用IEC计数器,包括三类:加计数器(CTU,Count UP)、减计数器(CTD,Count Down)和加减计数器(CTUD,Count up and down)。

1、加计数器指令

加计数器指令(CTU)用来进行向上计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:

count_up.png

该指令有五个参数,其含义如下:

  1. CU:输入参数,布尔型数据,计数器向上计数启动信号(需要上升沿);

  2. R:输入参数,布尔型数据,计数器复位信号;

  3. PV:输入参数,整型数据,计数器预设值(Preset Value);

  4. Q:输出参数,布尔型数据,计数器的标志位;

  5. CV:输出参数,整型/字符型数据,计数器的当前值(Current Value);

加计数器的工作过程如下
输入参数CU信号的每一个上升沿(从0变为1)都会使计数器的当前值CV加1;
CU参数持续不断的上升沿信号会使CV的值持续增加,直到达到最大值(32767或127);达到最大值后,计数器不再受CU的上升沿信号影响;
在计数的过程中,如果计数器的当前值CV大于或者等于预设值PV,计数器的标志位Q被置位(值变为1);否则计数器的标志位Q的值为0;
当复位信号R的值为1时,计数器的当前值CV变为0;若R的值保持为1,CU信号的上升沿不能启动加计数器指令;

2、减计数器指令

减计数器指令(CTD)用来进行向下计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:

count_down.png

该指令有五个参数,其含义如下:

  1. CD:输入参数,布尔型数据,计数器的向下计数启动信号(需要上升沿);

  2. LD:输入参数,布尔型数据,加载计数器预设值信号;

  3. PV:输入参数,整型数据,计数器预设值(Preset Value);

  4. Q:输出参数,布尔型数据,计数器的标志位;

  5. CV:输出参数,整型/字符型数据,计数器的当前值(Current Value);

减计数器的工作过程如下
输入参数CD信号的每一个上升沿(从0变为1)都会使计数器的当前值CV减1;
CD参数持续不断的上升沿信号会使CV的值持续减小,直到达到最小值(-32768或者-128);达到最小值后,计数器不再受CD的上升沿信号影响;
在计数的过程中,如果计数器的当前值CV小于或者等于0,计数器的标志位Q被置位(值变为1);否则计数器的标志位Q的值为0;
当LD信号的值为1时,计数器的预设值PV被加载到当前值CV中;若LD的信号值保持为1,CD信号的上升沿不能启动减计数器指令;

3、加减计数器指令

加减计数器(CTUD)指令既可以进行向上计数,也可以进行向下计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:

count_up_down.png

该指令有八个参数,其含义如下:

  1. CU:输入参数,布尔型数据,计数器向上计数启动信号(需要上升沿);

  2. CD:输入参数,布尔型数据,计数器向下计数启动信号(需要上升沿);

  3. R:输入参数,布尔型数据,计数器复位信号;

  4. LD:输入参数,布尔型数据,加载计数器预设值信号;

  5. PV:输入参数,整型数据,计数器预设值(Preset Value);

  6. QU:输出参数,布尔型数据,向上计数(加计数器)标志位;

  7. QD:输出参数,布尔型数据,向下计数(减计数器)标志位;

  8. CV:输出参数,整型/字符型数据,计数器的当前值(Current Value);

加减计数器的工作原理如下
输入参数CU信号的每一个上升沿(从0变为1)都会使计数器的当前值CV加1;
输入参数CD信号的每一个上升沿(从0变为1)都会使计数器的当前值CV减1;
CU参数持续不断的上升沿信号会使CV的值持续增加,直到达到最大值(32767或127);
CD参数持续不断的上升沿信号会使CV的值持续减小,直到达到最小值(-32768或者-128);
在计数的过程中,如果计数器的当前值大于或等于预设值PV,则QU的值为1;否则QU的值为0;
在计数的过程中,如果计数器的当前值小于或等于0,则QD的值为1;否则QD的值为0;
当复位信号R的值为1时,计数器的当前值CV变为0;若R的值保持为1,CU信号或CD信号的上升沿都不能启动计数器指令;
当LD信号的值为1时,计数器的预设值PV被加载到当前值CV中;并且只要LD的信号值保持为1,CU信号或CD信号的上升沿都不能启动计数器指令;

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

founderchip.png

西门子SCL编程入门教程连载(8)-计数器指令

来源:本站|   大小:447KB|   下载次数:2150次

取消

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

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

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

发表评论