如何保存S7200中的高速计数器数值从而实现连续计数

更新时间:2024-04-09 11:50:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

如何保存S7200中的高速计数器数值从而实现连续计数

1 问题描述

S7-200 的断电数据保持不支持高速计数器的范围设置,因此高速计数器的当前值在CPU每次断电后都会复位为数值0。

但在某些实际应用情况我们需要高速计数器从之前系统断电前的位置/脉冲数继续计数,而不能从0开始,例如:某一电机运行至50m处,此时读取的脉冲为15000个脉冲,系统断电,如编程中未设置程序进行保存再次计数,系统在再次上电时会从0开始进行计时,这时设备仍然处于15000脉冲的位置,遂会导致定位出现错误,要使S7-200高速计数器的当前值在CPU断电重启后依然保持,可以通过以下的编程来实现。

备注:此种方法可以实现程序的断电再次计数,大量使用于伺服定长计数等方面,实际验证程序运行状态,运行正常。 2 实现方法

在此以高速计数器0的模式1为例来说明如何在S7-200 CPU断电后保持高速计数器的当前值,具体可参考以下三个部分的编程来实现:

首先,在除了第一个扫描周期之外的其它周期,将高速计数器0的当前值HC0传送到寄存器VD1000中,如下图1所示,以保证寄存器VD1000始终存储的是HC0的当前值。

图1 传送当前值到寄存器

其次,在上电的第一周期将寄存器VD1000存储的数值传送到高速计数器的

本文来源:https://www.bwwdw.com/article/n57r.html

Top