计数器用来累计脉冲的个数。在西门子S7-1200 PLC中有三种类型的计数器:加减计数器CTUD、加计数器CTU、减计数器CTD。每个计数器都使用存储块中存储的结构来保存计数器数据。在编辑器中放置计数器指令时,分配相应的数据块即背景数据块。计数值的数值范围取决于所选的数据类型。
下面我们以加减计数器CTUD为例来介绍计数器的工作过程。设定计数器的数据类型为无符号整数。当加减计数器的加计数端CU输入的值从0跳变到1时,计数器的当前计数值CV加1;当减计数端CD输入的值从0跳变到1时,计数器的当前计数值CV减1;如果当前计数器CV大于或等于预设值PV时,计数器输出端QU等于1;如果计数器当前值CV小于或等于0,计数器输出端QD等于1;当装载输入端LOAD的值从0变为1时,将预设值PV置入计数器的当前值;当复位端R为1时,则将计数器的计数值复位为0。
下面我们通过一个实例来说明加减计数器如何使用。按下I0.6加计数,按下I0.7减计数,计数值大于等于4时输出Q0.0接通。
一、编写程序。在项目视图中打开OB1,从指令树中选择加减计数器,双击或拖放到程序段1,并采用默认背景数据块,单击问号处选择数据类型为短整型,在计数器的加计数端输入常开触点I0.6,在减计数端输入常开触点I0.7,在复位输入端输入I1.0,在装载输入端输入I1.1,输入计数器预设值为4,插入一个输出线圈到QU输出端,输入地址Q0.0,将计数器当前值存储在MD10中。这样一个简单的加减计数器应用实例就完成了。
二、下载程序到PLC。单击保存项目按钮保存项目,单击下载按钮将所有块下载到PLC。
三、查看程序运行情况。单击“转到在线”,单击监视按钮启用或禁用监视,观察程序的运行情况。可以看到按动一次I0.6计数值加1,按动一次I0.7计数值减1,当计数值大于等于4时Q0.0接通,按下I1.0计数值复位为0,Q0.0断开,按下I1.1装载预设值,计数值变为4。