![S7-1200 PLC应用教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/807/41309807/b_41309807.jpg)
3.2.2 计数器指令
1.计数器的数据类型
S7-1200有3种IEC计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数频率受到OB1的扫描周期的限制。如果需要频率更高的计数器,可以使用CPU内置的高速计数器。
IEC计数器指令是函数块,调用它们时,需要生成保存计数器数据的背景数据块。
CU(见图3-26)和CD分别是加计数输入和减计数输入,在CU或CD由0状态变为1状态时(信号的上升沿),当前计数器值CV被加1或减1。PV为预设计数值,Q为布尔输出,R为复位输入。CU、CD、R和Q均为Bool变量。
将指令列表的“计数器操作”文件夹中的CTU指令拖放到工作区,单击方框中CTU下面的3个问号(见图3-26的左图),再单击问号右边出现的按钮,用下拉式列表设置PV和CV的数据类型为Int。
PV和CV可以使用的数据类型见图3-26的右图。各变量均可以使用I(仅用于输入变量)、Q、M、D和L存储区,PV还可以使用常数。
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/80_04.jpg?sign=1738976523-4mRrCndxfKVEXxyKRj8Rj47txbjjryCu-0-df37a1c592bd92dbfcb6272ccc1221da)
图3-26 设置计数器的数据类型
2.加计数器
当接在R输入端的复位输入I1.1为FALSE(即0状态,见图3-27),接在CU输入端的加计数脉冲输入电路由断开变为接通时(即在CU信号的上升沿),当前计数器值CV加1,直到CV达到指定的数据类型的上限值。此后CU输入的状态变化不再起作用,CV的值不再增加。
CV大于等于预设计数值PV时,输出Q为1状态,反之为0状态。第一次执行指令时,CV被清零。各类计数器的复位输入R为1状态时,计数器被复位,输出Q变为0状态,CV被清零。图3-28是加计数器的波形图。
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/81_01.jpg?sign=1738976523-jkisCIdxXsVIPS42sQ6PrQXUwdjqWIYV-0-af2d4eae3bd6fabdea0d4c27ce7c7537)
图3-27 加计数器
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/81_02.jpg?sign=1738976523-SS9q44Eu9htSfwp1saXgQNTniEsIlm3j-0-229ebbf7c9357c3111a94a37dd8355c5)
图3-28 加计数器的波形图
3.减计数器
图3-29中的减计数器的装载输入LD为1状态时,输出Q被复位为0,并把预设计数值PV的值装入CV。LD为1状态时,减计数输入CD不起作用。
LD为0状态时,在减计数输入CD的上升沿,当前计数器值CV减1,直到CV达到指定的数据类型的下限值。此后CD输入信号的状态变化不再起作用,CV的值不再减小。
当前计数器值CV小于等于0时,输出Q为1状态,反之Q为0状态。第一次执行指令时,CV被清零。图3-30是减计数器的波形图。
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/81_03.jpg?sign=1738976523-XU0QBuxYXaeRtqG8lGjJTaFh2ozTK6HP-0-39bb12770a94e8bca547974ae83e82be)
图3-29 减计数器
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/81_04.jpg?sign=1738976523-d8dGK6CAG56jxgj6sKX4aKZkYPaanTZR-0-79d2070b260f96e703c4bfdf639d5e16)
图3-30 减计数器的波形图
4.加减计数器
在加减计数器的加计数输入CU的上升沿(见图3-31),当前计数器值CV加1,CV达到指定的数据类型的上限值时不再增加。在减计数输入CD的上升沿,CV减1,CV达到指定的数据类型的下限值时不再减小。
如果同时出现计数脉冲CU和CD的上升沿,CV保持不变。CV大于等于预设计数值PV时,输出QU为1,反之为0。CV小于等于0时,输出QD为1,反之为0。
装载输入LD为1状态时,预设值PV被装入当前计数器值CV,输出QU变为1状态,QD被复位为0状态。
复位输入R为1状态时,计数器被复位,CV被清零,输出QU变为0状态,QD变为1状态。R为1状态时,CU、CD和LD不再起作用。图3-32是加减计数器的波形图。
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/81_05.jpg?sign=1738976523-mCh4eHl5K6NLewvROqnTQaFgfQ9KeMyP-0-7c8b6bc85650290b0f1a8d3b9fcdb98b)
二维码3-5
视频“计数器的基本功能”可通过扫描二维码3-5播放。
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/82_01.jpg?sign=1738976523-qcxuBUonuHSjy60tCtnvuFp4zfl1rLyY-0-f66958b72c6c293f26fec3b9eb04f17a)
图3-31 加减计数器
![](https://epubservercos.yuewen.com/C499DC/21511156301514206/epubprivate/OEBPS/Images/82_02.jpg?sign=1738976523-z2tJw1XGQoNVF9Z00wl40fl8f1z2i3v5-0-55de60ba0956c0a6372cd3740bb64eb1)
图3-32 加减计数器的波形图