【Siemens技术篇】TIA如何做流量累计

在STEP 7 (TIA Portal) 的 "STEP7_TIA-Portal_Totalizer" 程序中包含 "Totalizer" 功能块,通过它可以计算测量值在一个时间单位内的总和。例如,使用线速度的测量单位或者测量体积的测量单位。可以使用距离或体积作为物理量,使用毫秒,秒,分钟,小时或者天作为测量时间的单位。

图 01 是 "Totalizer" 功能块

在一个循环中输入变量 "Interval" 和"Cycle" 数据类型 Time 被转化为 Real 类型。转化后的值被转移到临时变量 “Interval_real” 和 “Cycle_real”。变量 "VALUE" 的输入值乘以临时变量 "Cycle_real" 的值,然后除以临时变量 “Interval_real”。结果存储在静态变量 “Accum” 的缓冲区。
这样每次循环之后,中间结果值存储在“Accum” 的缓冲区中不断累加,然后转移到输出变量“Total” 中。如果变量 “Reset” 有“True” 值,则变量 “Total” 输出值 被复位到零。

例子:
在图 01 的例子中,“Value” 变量值是 60.0 ,同时变量 “Interval” 的时间值是一分钟。

输出变量 "Total" 在指定的时间间隔(也就是1 分钟)内从1 累加到60。
周期时间 100ms 也同时作为扫描时间,FB 中的 "Totalizer" 在这个时间内被执行。
在周期中断中调用FB,程序独立于 OB1 (主程序), 每隔 100ms 处理一次。
被测量值 "Value" 相关的物理单位可能是米每秒,立方米每分钟或公里每小时。对于输入变量 "Interval" 必须输入物理量的间隔时间。

例如,
米每秒: T#1s
立方米每分钟: T#1M
公里每小时:T#1h