今天这篇文章我们来谈谈西门子SCL语言中的计数器(Counter)指令。
S7-1200和S7-1500系列PLC的使用IEC计数器,包括三类:加计数器(CTU,Count UP)、减计数器(CTD,Count Down)和加减计数器(CTUD,Count up and down)。
1、加计数器指令
加计数器指令(CTU)用来进行向上计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:
该指令有五个参数,其含义如下:
CU:输入参数,布尔型数据,计数器向上计数启动信号(需要上升沿);
R:输入参数,布尔型数据,计数器复位信号;
PV:输入参数,整型数据,计数器预设值(Preset Value);
Q:输出参数,布尔型数据,计数器的标志位;
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)用来进行向下计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:
该指令有五个参数,其含义如下:
CD:输入参数,布尔型数据,计数器的向下计数启动信号(需要上升沿);
LD:输入参数,布尔型数据,加载计数器预设值信号;
PV:输入参数,整型数据,计数器预设值(Preset Value);
Q:输出参数,布尔型数据,计数器的标志位;
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)指令既可以进行向上计数,也可以进行向下计数。
从指令列表中添加该指令时会提示生成背景数据块(或多重背景数据块),指令的初始状态如下:
该指令有八个参数,其含义如下:
CU:输入参数,布尔型数据,计数器向上计数启动信号(需要上升沿);
CD:输入参数,布尔型数据,计数器向下计数启动信号(需要上升沿);
R:输入参数,布尔型数据,计数器复位信号;
LD:输入参数,布尔型数据,加载计数器预设值信号;
PV:输入参数,整型数据,计数器预设值(Preset Value);
QU:输出参数,布尔型数据,向上计数(加计数器)标志位;
QD:输出参数,布尔型数据,向下计数(减计数器)标志位;
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语言中计数器指令就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
来源:本站| 大小:447KB| 下载次数:2165次
发表评论