关于用200的高速计数器计算流量

单位一泵站上流量传感器是脉冲输出,最初是通过f-v转换模块,将频率信号转换成相应的电压值,一直正常工作。最近突发奇想,认为既然200自带高速计数器模块,为何不直接利用一下,麻烦也就随之而来。
     编好程序,用I0.0的HSC0计数器,在初始化中,分别按要求设置相应字节,通过200ms的时间中断去读SMD38(当前值),通过换算实际流量,再将SMD38=0。
     运行时,泵站前,I0.0灯灭,开启后,I0.0灯一直亮,但是SMD38为0。 为了测试传感器好坏,自编一个简单的增计数器程序,自己断开脉冲输出端,用手去搭碰,无论通断多少次,只显示1。
     感觉很怪异,传感器刚标定完,而且泵站前,I0.0灯灭,开启后,I0.0灯一直亮,感觉不像是传感器的问题。程序方面,通过高速计数器和普通计数器都不能得到正确地结果。应该也不是程序的问题。上网查过一些,有人说要用光电耦合模块,可是在这里发现也有很多人似乎直接就能用。
     不知道有谁能有这方面的经验。看完这么长的问题,已经很感谢了。
 流量传感器是LWGY型液体涡轮流量计,端子 + - P  分别结 +24V 、 M、 I0.0。

问题补充:
我希望是瞬间流量
  “只要输入点会亮会灭就ok了”
  流量脉冲频率较高,肉眼看不出来。问题是用普通的计数器命令也不行,

 请你先取消SMD38=0的指令看看是否有计数?再一个HC0的模式是0吗?控制字设置正确无误吗?1M接0V了吗?查查! 

 0模式 控制字也没有问题  L M之间确实是24V

最佳答案

问题可能出在高速计数器的定义上,定义高数计数的那些指令只用一次就行了,而不是每个扫描周期都执行。可以使用SM0.1调用定义高速计数的程序。
 在定时中断程序里,只读出当前SMD38的值并复位SMD38,把流量计算部分放到常规程序里,这样可以提高精度。

提问者对于答案的评价:
en

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午2:07
下一篇 2021年7月5日 上午2:07

相关推荐

发表回复

登录后才能评论