S7-300编程如何实现流量累计功能?

2018年12月1日14:53:14 发表评论 22 阅读

描述:
例如,使用测量线性速度的计量单位或者测量体积的计量单位。您可以用距离或体积作为物理量,用毫秒、秒、分钟、小时、或天作为测量时间的单位。

用于STEP7 V5.x的功能块"Totalizer"

下表列出了功能块 "Totalizer" 的参数格式.

参数格式
数据类型
描述
Input: Value Real 在一个时间间隔内的测量值
Input: Interval Time 测量的时间间隔
Input: Cycle Time 扫描时间
Input: Reset Bool 复位“TOTAL”输出
Output: Total Real 累计总输出

图. 1 所示在OB35 (循环中断)调用FB "Totalizer" .

在一个周期的单位:

  1. 参数 "Interval" 和 "Cycle" Time数据类型被转换为Real.
  2. 转换后的数据被传送到临时变量"tempInterval" 和 "tempCycle".
  3. 输入参数值 "Value" 与临时变量值"tempCycle"相乘,然后除以临时变量值 "tempInterval" .
  4. 计算结果存储在静态变量 "Accum".

这样,在一个特定的周期内,将缓冲区“ACCUM”中的中间结果累加上该数值,同时在同一周期内将累加结果传送到变量“TOTAL”中.如果参数 "Reset" 值为"True",输出参数 "Total" 复位为0.

例如
在图.02 例子中参数值 "Value" 为 60.0 并且 时间参数 "Interval" 为1分钟.

  • 在一分钟内,参数 "Total" 在间隔时间内从值 1 累加到 60.
  • 循环时间100 毫秒代表 FB "Totalizer" 的扫描间隔 .
  • 当 FB 在OB35(循环中断),程序按照 100ms的时间间隔执行,不受OB1 (主程序)控制.

测量值“VALUE”相关的物理单位可以为,例如,米/秒、立方米/分钟或者公里/小时。必须在输入变量 "Interval" 中输入物理单位的间隔时间。例如:

  • 米/秒: T#1s
  • 立方米/分钟: T#1M
  • 公里/小时: T#1h

 

weinxin
微信扫一扫西门子PLC 立即报价
1分钟内报价1天内发货1年内质保(为了省去等待时间,请提供准确型号)-享受专属VIP客服服务

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: