S7-1200 PLC提供三种IEC计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在OB的执行速率的限制,如果需要计数速率更高的计数器,可以使用内置的高速计数器。
每种计数器都需要使用一个存储在数据块中的结构来保存计数器数据。在编程器中放置计数器时可分配该数据块,可以采用默认设置,也可以手动设置,数据块的结构如图7.15所示。
使用计数器需要设置计数器的计数数据类型,计数器的计数范围取决于所选的数据类型,其支持的数据类型包括有短整型SInt、整数Int、双整数DInt、无符号短整数USInt、无符号整数UInt、无符号双整数UDInt。如果计数值是无符号整型数,则可以减计数到零或加计数到范围限值,如果计数值是有符号整数,则可以减计数到负整数限值或加计数到正整数限值。
图7.15 计数器背景数据块
1.加计数器
当接在计数器R输入端的复位输入I1.1为FALSE,且CU输入端出现上升沿时,当前计数器值CV加1,直到CV达到指定的数据类型的上限值,此后CV的值不再增加。
当CV大于等于PV时,输出Q变为1,反之为0。计数器的复位输入R为1时,计数器将被复位,输出Q变为0,同时CV被清零。第一次执行指令时,计数器会被复位。加计数器指令如图7.16所示,对应时序图如图7.17所示。
图7.16 加计数器指令示例
图7.17 加计数器指令时序图
2.减计数器(www.daowen.com)
减计数器的装载输入LD为1时,输出Q被复位为0,并把预设计数值PV的值装入CV,此时减计数器的输入CD不起作用;LD状态为0时,在输入CD的上升沿,当前减计数器的计数值CV将减1,直到CV达到指定的数据类型的下限值,此后CV的值不再减小。只要当前计数值CV小于等于0时,输出Q将变为1,其他情况下Q为0。第一次执行指令时,CV被清零。减计数器指令如图7.18所示,对应时序图如图7.19所示。
图7.18 减计数器指令示例
图7.19 减计数器指令时序图
3.加减计数器
在CU的上升沿,CV加1,CV达到指定的数据类型的上限值时不再增加;在CD的上升沿,CV减1,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,CU、CD和LD不再起作用。加减计数器指令如图7.20所示,对应的时序图如图7.21所示。
图7.20 加减计数器指令示例
图7.21 加减计数器指令时序图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。