S7-200SMART高速计数器中断子程序实现定长切割

已锁定

weirilin

  • 帖子

    7
  • 精华

    0
  • 被关注

    0

论坛等级:游士

注册时间:2019-07-31

普通 普通 如何晋级?

S7-200SMART高速计数器中断子程序实现定长切割

5560

15

2024-01-22 10:30:26

展开查看
引用自找答案,问题ID:301619

一个应用,基于高速计数器实现定长切割,当达到计数长度后,需要中断事件将高速计数器当前值清零,开始再次技术,我遇到的问题是高速计数器当前值无法清零,求大佬指导,

S7-200SMART高速计数器中断子程序清零当前计数值

提问者:weirilin


芳季 回答道:

第10000个脉冲执行清零。但是清零动作中第10001个脉冲来到,结果被清掉。下一个回合白白少了一个脉冲。

如果觉得一个两个脉冲没什么所谓,就清零啦。

你最好就是习惯使用当前值减过去值得到增量。而你喜欢把过去值一直看成0而已。所以当前值减0就是当前值。省脑。(54322234-54321234=多少?很难算是吧。看着都烦。1000-0=多少?这个都不用算:1000。)这个数是plc算的,又不花你脑汁。

这习惯的好处没发现罢了,遇到的时候你想起来就够了。例如同一把尺上存在两个观察点移动,当一个离开了,你清零不?清了,后面这个坐标不要了?后面这个没走完第三个又来了。没法从0开始算了吧?



查看完整帖子:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1870982&bid=64

还有1人在找答案上回答了该问题,查看全部>
芳季工程师提供了有效建议,用当前值减去过去值,是我没想到的算法方式,赞!
基于设备时连续运行的工况,这个算法可预见到的问题会是,当高速计数器的当前值寄存器SMD38/HC0寄存器溢出后,数据失效,依旧需要高速计数器当前值清零,HC0控制字SMB37的定义如下:
SM37.0 HSC0 复位的有效电平控制:FALSE:高电平激活时复位,TRUE:低电平激活时复位
SM37.1 保留
SM37.2 HSC0 正交计数器的计数速率选择:FALSE:4x 计数速率;TRUE:1x计数速率
SM37.3 HSC0 方向控制位:TRUE:加计数
SM37.4 HSC0 更新方向:TRUE:更新方向
SM37.5 HSC0 更新预设值:TRUE:将新预设值写入 HSC0 预设值
SM37.6 HSC0 更新当前值:TRUE:将新当前值写入 HSC0 当前值
SM37.7 HSC0 使能位:TRUE:启用

唯一可以看到的关联的是,SM37.6置1,更新当前值写入HSC0,怎么实现更新为0呢?
S7-200SMART高速计数器中断子程序实现定长切割 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8996条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。