西门子S7-1200编程实例,计数器如何使用?

简介: 计数器用来累计脉冲的个数。在西门子S7-1200 PLC中有三种类型的计数器:加减计数器CTUD、加计数器CTU、减计数器CTD。每个计数器都使用存储块中存储的结构来保存计数器数据。在编辑器中放置计数器指令时,分配相应的数据块即背景数据块。计数值的数值范围取决于所选的数据类型。

计数器用来累计脉冲的个数。在西门子S7-1200 PLC中有三种类型的计数器:加减计数器CTUD、加计数器CTU、减计数器CTD。每个计数器都使用存储块中存储的结构来保存计数器数据。在编辑器中放置计数器指令时,分配相应的数据块即背景数据块。计数值的数值范围取决于所选的数据类型。


640.jpg


下面我们以加减计数器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。


640.jpg

下面我们通过一个实例来说明加减计数器如何使用。按下I0.6加计数,按下I0.7减计数,计数值大于等于4时输出Q0.0接通。

 

一、编写程序。在项目视图中打开OB1,从指令树中选择加减计数器,双击或拖放到程序段1,并采用默认背景数据块,单击问号处选择数据类型为短整型,在计数器的加计数端输入常开触点I0.6,在减计数端输入常开触点I0.7,在复位输入端输入I1.0,在装载输入端输入I1.1,输入计数器预设值为4,插入一个输出线圈到QU输出端,输入地址Q0.0,将计数器当前值存储在MD10中。这样一个简单的加减计数器应用实例就完成了。


640.jpg


二、下载程序到PLC。单击保存项目按钮保存项目,单击下载按钮将所有块下载到PLC。


640.jpg


三、查看程序运行情况。单击“转到在线”,单击监视按钮启用或禁用监视,观察程序的运行情况。可以看到按动一次I0.6计数值加1,按动一次I0.7计数值减1,当计数值大于等于4时Q0.0接通,按下I1.0计数值复位为0,Q0.0断开,按下I1.1装载预设值,计数值变为4。

相关文章
|
存储 监控 C语言
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
在西门子S7-1200中有四种类型的定时器:TON接通延迟定时器、TONR保持型接通延迟定时器、TOF关断延迟定时器、TP脉冲定时器。
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
【精讲】PCIe基础篇——PCIe传输速率计算
我们在接触PCIe设备时会接触到一个词,传输速率,比如8GT/s。或者有人问你设备的带宽多少?通信速率多少?本文带你了解下。
7798 0
【精讲】PCIe基础篇——PCIe传输速率计算
WinForm通用自动更新器AutoUpdater项目实战
一、项目背景介绍 最近单位开发一个项目,其中需要用到自动升级功能。因为自动升级是一个比较常用的功能,可能会在很多程序中用到,于是,我就想写一个自动升级的组件,在应用程序中,只需要引用这个自动升级组件,并添加少量代码,即可实现自动升级功能。
1679 0
|
5月前
|
Linux 虚拟化 iOS开发
macOS Tahoe 26 beta 2 (25A5295e) ISO、IPSW、PKG 下载
macOS Tahoe 26 beta 2 (25A5295e) ISO、IPSW、PKG 下载
209 0
macOS Tahoe 26 beta 2 (25A5295e) ISO、IPSW、PKG 下载
|
编解码 监控
Zoom + OBS + B 站直播配置
Zoom + OBS + B 站直播配置
453 0
|
存储 JavaScript 前端开发
JavaScript四舍五入取整
JavaScript四舍五入取整
|
Android开发 Python
uiautomator2:python控制手机的神器
uiautomator2:python控制手机的神器
400 0
|
JavaScript 前端开发 UED
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
|
移动开发 API 开发者
什么是HTML5 History API
【8月更文挑战第11天】什么是HTML5 History API
280 1
|
前端开发 JavaScript API
如何让 Websocket兼容低版本浏览器
如何让 Websocket兼容低版本浏览器
544 2