向师傅请教几个关于西门子S7-300流量累计问题。盼师傅赐教

2024-12-26 01:55:55
推荐回答(4个)
回答1:

只要流量计选择正确,流量计自动会判断有没有物料,如果物料有没有都没法判断那如何能判断物料流量呢?你只要一直累计就可以了,如果只是累计1秒或1分钟的话则要清零。用高速计数器累计的话是不用做平均处理的,采样也是不需要的(用模拟输出的流量计需要使用采样时间),因为流量计已经给你做好处理了,发过来的是脉冲,你只要把脉冲个数记下来就能转化成流量了,还有一个要注意的,我看楼上用实数累计的,这样做在累计值很大以后将不能累计,因为一个很大的实数和一个很小的实数相加会忽略这个很小得实数的,你可以用整数加法来做(如果用高数计数器这个问题也是不存在的,高速计数器是整数累计,你只能用累计后的值做转化),最后再用这个整数来乘上每个脉冲对应的流量即可得到你最终需要的流量累计。高速计数器的溢出是要避免的,可以监控一个这个置,达到多少就清一次零。比如到1百万就清一次零,但可以用另一个数据来记录我有多少个1百万,这样就不会溢出错误了。

回答2:

1料位计或者有料开关。
2高速计数器不是技流量的,是硬件,编码器用的。显然接近开关等开关信号也可以用。
3 1秒采集10次可以把程序放到ob32里,如果要画面上随时改变采样时间的话,就不能这样了,就自己编个振荡,每次振荡的上升沿触发累积程序。累积程序,10个数据,不用指针循环吧,直接写就行。
L 流量(采样时间内的累积流量,要用即时流量计算得到这个数)
L db1.dbd0
+r
T db1.dbd0

至于什么时候L 0.0 T db1.dbd0来清零,要看工艺。
平均,用那个db1.dbd0除以累积时间就行了。

回答3:

1.什么时候开始累积流量当然你是看你的控制要求了,例如你的阀一打开就开始计算累积,当然返回值出故障的时候要报警或者停止累积了。
2.如果溢出了当然是清零了
3.你可以将累加值放在一个专门的地址例如DB1.DBD100,每次累加的数值都和DBD100相加再放到DBD100不就完了么,当你计数停止以后就将DBD100清零。我做过类似累加距离的程序就这么搞的。每个0.1秒调用一次子程序然后用当前的物体速度乘以0.1秒放到累加值里,当累加结束后讲累加器清零。

回答4:

流量累计可以在流量>0 并且小于你量程上限时开始累计,信号异常不累计。
需要做手动清零按钮 或者自动清零到一定值
流量累计什么流量计 1秒十次 分辨率是0.1秒 感觉你思路不太对
流量累计直接把流量转换到秒就可以 通过定时器自动累计就行