在使用计数器指令时,必须注意以下几个问题:
1)启动计数器的条件。
2)计数器的赋值,即计数器需要计多少个数。
3)如何复位计数器,让它重新开始计数。
4)如何实时监控当前计数器的计数值。
S7-300PLC的计数器指令分为方块指令和梯形图线圈指令两种形式,表3-34~表3-36分别给出它们的用法。
1)加计数器方块指令见表3-34。
表3-34 加计数器方块指令
2)减计数器方块指令见表3-35。
表3-35 减计数器方块指令
(续)
3)加减计数器方块指令见表3-36。
表3-36 加减计数器方块指令
加减计数器时序图举例如图3-40所示。
图3-40 加减计数器时序图举例
4)计数器线圈指令见表3-37。
表3-37 计数器线圈指令
图3-41给出了一个简单的加计数器应用例子,分别使用方块指令和线圈指令编写,其功能是等效的。
图3-41 加计数器方块指令应用举例(www.xing528.com)
说明:当输入触点I0.2接通时,将计数值6赋给计数器C10。在输入信号I0.0的每一个正跳变发生时,计数器C10的计数值加1,直至999;只要计数值不为0,则输出Q为“1”,计数值为0时,输出Q也为“0”。当前计数值通过MW0以整数格式显示,通过MW8以BCD码格式显示。当输入信号I0.3接通时,计数器复位,计数值清0。
与图3-41计数器方块指令等效的梯形图线圈指令如图3-42所示。
说明:设置计数值线圈SC(Set Counter Value)用来设置计数值,在RLO的上升沿预置值被送入指定的计数器。CU的线圈为加计数器线圈。在I0.0的上升沿,如果计数值小于999,计数值加1。复位输入I0.3为1时,计数器被复位,计数值被清0。计数值大于0时,计数器位(即输出Q)为1;计数值为0时,计数器位亦为0。
图3-42 加计数器梯形图线圈指令应用举例
例3-8 计数器扩展为定时器。
当定时器不够用时,可以用计数器扩展为定时器,如图3-43所示。程序中使用了CPU的时钟存储器,设置MB100为时钟存储器,定义M100.0的变化周期为0.1s。
图3-43 计数器扩展为定时器梯形图程序
在程序中,在触点I0.1上升沿,则减计数器C0赋值20。若I0.0为1,则C0每0.1s减1。当C0减到0后,输出端Q为0,经取反指令后Q0.0为1。I0.1的又一个上升沿使C0重新赋值20,并使输出为0。这样,在I0.0为1后2s(20×0.1s=2s),Q0.0为1,I0.1的上升沿使Q0.0复位。
例3-9 长时间延时程序。
采用定时器和计数器可以长时间延时的程序如图3-44和图3-45所示。
图3-44 长时间延时时序图
图3-45 长时间延时的梯形图程序
说明:当输入I0.0接通时,定时器T0经过10s时间延时后,其动合触点T0闭合,计数器C0开始递减运算,与此同时T0的动断触点是断开的,造成T0线圈断电,使T0的动合触点断开,C0仅计数一次,而后T0线圈又接通,如此循环。当C0经过10s×10=100s时间后,计数器C0输出为0,输出Q0.0接通,具有长时间延时的功能。
例3-10 顺序循环练习。
当I0.0接通,灯Q0.0亮;经5s后,灯Q0.0灭,灯Q0.1亮;经5s后,灯Q0.1灭,灯Q0.2亮,再过5s后,灯Q0.2灭,灯Q0.0亮,如此顺序循环10次后自动停止。时序图、梯形图程序分别如图3-46、图3-47所示。
图3-46 例3-10时序图
图3-47 例3-10梯形图程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。