PLC程序案例——用计数器控制圆盘正反转动,进阶必学!
一、任务目标
该任务是关于计数器指令应用案例。西门子S7-1200PLC的计数器指令主要完成计数功能,可以实现加法和减法计数。本任务要求读者掌握以下几个内容。
1.加计数指令的使用
2.减计数指令的使用
3.加减计数指令的使用
二、任务描述
按下启动按钮,圆盘正向旋转,圆盘每转一周发出一个检测信号,当圆盘正向旋转2圈后,圆盘停止旋转。在圆盘静止5秒后,圆盘反向旋转,当圆盘反向旋转2圈后,圆盘停止旋转。在圆盘静止5秒后,圆盘正向旋转,如此重复。任意时刻按下停止按钮,圆盘立即停止。当启动圆盘时,圆盘按照停止前的方向旋转。
三、相关知识
本案例主要使用的是位逻辑及计数器指令,位逻辑指令在其他篇幅已有介绍,在此不赘述。此处为读者介绍计数器指令的相关知识。
1.加计数器指令
CTU:加计数指令,当参数 CU 的值从 0 变为 1 时,CTU 计数器会使计数值加1。加计数器(CTU)指令相关参数如下表
从指令框的“
调用计数器指令时,需要生成保存计数器数据的背景数据块。CTU计数器的参数CU值从0变为1,CTU使计数值加1。如果参数CV(当前计数值)的值大于或等于PV(预设计数值)的值,则计数器输出参数Q=1。如果复位参数R的值从0变为1,则当前计数值复位为0。计数器指令,如图2-4-1所示。
图2-4-1 加计数指令示例
2.减计数器指令
CTD:减计数指令,当参数 CD 的值从 0 变为 1 时,CTD 计数器会使计数值减1。减计数器(CTD)指令相关参数如下表
从指令框的“
调用计数器指令时,需要生成保存计数器数据的背景数据块。CTD计数器的参数CD值从0变为1,CTD使计数值减1。如果参数CV(当前计数值)的值小于或等于0,如果参数LOAD的值从0变为1,则参数PV(预设值)的值作为新的CV(当前计数值)装载到计数器,如图2-4-2所示。
图2-4-2 减计数器指令示例
3.加减计数器指令
CTUD:加减计数指令,当参数 CU 的值从 0 变为 1 时,CTU 计数器会使计数值加 1。当参数 CD 的值从 0 变为 1时,CTD 计数器会使计数值减 1。减计数器(CTD)指令相关参数如下表
从指令框的“
调用计数器指令时,需要生成保存计数器数据的背景数据块。CTUD计数器的参数CU值从0变为1,使计数值加1。参数CD从0变为1,使计数值减1。如果CV的值大于等于PV的值,则计数器输出参数QD=1.如果参数CV的值小于或等于0,则计数器输出参数QD=1。如果参数LOAD的值从0变为1,则参数PV的值作为新的CV装载到计数器。如图2-4-3所示。
图2-4-3 加减计数器指令示例
四、任务实施
本任务的实施步骤主要分为PLC接线、IO地址分配以及程序设计思路:
1.PLC接线如图2-4-4
图2-4-4 PLC接线图
2.IO地址分配
3. 程序设计思路
本任务中的动作主要是控制圆盘转向,而本任务主要是锻炼读者计数器指令的使用方法。故可以使用计数器的当前值判断圆盘是正转还是反转,也是可以使用计数器判断圆盘转了几圈?
4.程序设计