计数器的功能是完成计数功能,可以实现加法计数和减法计数,计数范围是0~999,计数器有3种类型:加计数器(S_CU)、减计数器(S_CD)和加减计数器(S_CUD)。
1.计数器的存储区
在CPU的存储区中,为计数器保留有存储区。该存储区为每个计数器地址保留一个16位的字。计数器的存储格式如图4-65所示,其中BCD码格式的计数值占用字的0~11位,共12位,而12~15位不使用;二进制格式的计数值占用字的0~9位,共10位,而10~15位不使用。
2.加计数器(S_CU)
加计数器(S_CU)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV小于999);当前计数值大于0时,Q输出为高电平“1”;当R端子的状态为“1”时,计数器复位,当前计数值CV为“0”,输出也为“0”。加计数器指令和参数见表4-24。
图4-65 计数器字的格式
表4-24 加计数器指令和参数
用一个例子来说明加计数器指令的使用,梯形图和指令表如图4-66所示,与之对应的时序图如图4-67所示。当I0.1闭合时,MW20将值赋给PV(假设为4);当I0.0每产生一个上升沿,计数器C0计数1次,CV加1;只要计数值大于0,Q0.0输出高电平“1”。任何时候复位有效时,计数器C0复位,CV清零,Q0.0输出为低电平“0”。
图4-66 加计数器指令示例
【关键点】S7-200 PLC的增计数器(如C0),当计数值到预置值时,C0的常开触点闭合,常闭触点断开,S7-300 PLC的S7计数器无此功能。
3.减计数器(S_CD)
减计数器(S_CD)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CD每检测到一次上升沿,当前计数值CV减1(前提是CV值大于0),当CV等于0时,计数器的输出Q从状态“1”变成状态“0”;当R端子的状态为“1”时,计数器复位,当前计数值为“PV”,输出也为“0”。减计数器指令和参数见表4-25。
图4-67 加计数器指令示例时序图
表4-25 减计数器指令和参数
用一个例子来说明减计数器指令的使用,梯形图和指令表如图4-68所示,与之对应的时序图如图4-69所示。当I0.1闭合时,MW20将值赋给PV(假设为4),当I0.0每产生一个上升沿,计数器C0计数1次,CV减1,当CV值为0时,Q0.0输出从“1”变成“0”。任何时候复位有效时,定时器C0复位,CV值为0,Q0.0输出为低电平“0”。
(www.xing528.com)
图4-68 加计数器指令示例
【例4-16】设计一个程序,实现用一个单按钮控制一盏灯的亮和灭,即奇数次压下按钮时,灯亮;偶数次压下按钮时,灯灭。
解:
当I0.0第一次合上时,M0.0接通一个扫描周期,使得Q0.0线圈得电一个扫描周期,当下一次扫描周期到达,Q0.0常开触点闭合自锁,灯亮。
当I0.0第二次合上时,M0.0接通一个扫描周期,C0计数为2,Q0.0线圈断电,使得灯灭,同时计数器复位。梯形图如图4-70所示。
图4-69 减计数器指令示例时序图
图4-70 梯形图
4.加-减计数器(S_CUD)
加-减计数器(S_CUD)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CD每检测到一次上升沿,当前计数值CV减1(前提是CV值大于0);输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV值小于999);当CD和CU同时有上升沿时,CV不变;计数值大于0时,计数器的输出Q从状态为“1”;计数值等于0时,计数器的输出Q从状态为“0”;当R端子的状态为“1”时,计数器复位,当前计数值为“0”,输出也为“0”。加-减计数器指令和参数见表4-26。
表4-26 加-减计数器指令和参数
用一个例子来说明加-减计数器指令的使用,梯形图和指令表如图4-71所示。当I0.2闭合时,MW20将值赋给PV(假设为3),当I0.1每产生一个上升沿,计数器C0计数1次,CV减1,当CV值为0时,Q0.0输出从“1”变成“0”;I0.0是增计数端。任何时候复位有效时,定时器C0复位,CV值为0,Q0.0输出为低电平“0”。
图4-71 加-减计数器指令示例
【例4-17】在实际工程应用中,常常在监控面板上使用拨码开关给PLC设定数据。I0.0、I0.1、I0.2对应SB1、SB2和SB3按钮。当I0.0接通C0加1,当I0.1接通C0减1,当I0.2接通C0复位。通过SB1、SB2设定0~9共10个数字。
解:梯形图如图4-72所示。
图4-72 梯形图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。