求助流量累积程序

本人目前在做一个水厂的项目,需要对出水流量做流量累积,精度要求要高。求助哪位高人能提供流量累积的程序或代码,小弟将不胜感激!

问题补充:
我邮箱为liaoyibo1986@163.com,希望哪位好心人能发给我一个项目

最佳答案

流量累积的程序你在找答案中可以找到很多。
 精度要求高的话,取决于你的流量计和采样间隔。
 到这里下载例子吧
 http://support.automation.siemens.com/CN/llisapi.dll/csfetch/23061633/Totalize.exe?func=cslib.csFetch&nodeid=23059123
 程序为西门子提供的Totalize.exe

 
 操作指导:
 “Totalizer”功能块程序中设置有一个间隔,该功能块使用指定的间隔将测量值累加为一个总值;例如,使用测量线性速度的计量单位或者测量体积的计量单位。您可以用距离或体积作为物理量,用毫秒、秒、分钟、小时、或天作为测量时间的单位。 
   
 图 01 
 “Totalizer”功能块中包含下列输入和输出变量以及临时和静态变量。
   
 参数 变量 数据类型 说明
 输入 VALUE REAL 在一个时间间隔内的测量值
 输入 INTERVAL TIME 测量的时间间隔
 输入 CYCLE TIME 扫描时间
 输入 COM_RST BOOL 复位“TOTAL”输出。
 输出 TOTAL REAL 累计的总输出值
 静态 ACCUM REAL 用于存储“TOTAL”输出的临时累积结果
 临时 tINTERVAL REAL REAL 格式的临时时间间隔
 临时 tCYCLE REAL REAL 格式的临时扫描时间
 表 01 
 测量值“VALUE”相关的物理单位可以为,例如,米/秒、立方米/分钟或者公里/小时。必须在输入变量“INTERVAL”中输入物理单位的间隔时间。例如:
   
 物理单位 “INTERVAL”的输入值
 米/秒 T#1s
 立方米/分钟 T#1M
 公里/小时 T#1h
 表 02 
 程序描述:
 如果变量“COM_RST”的信号状态是 True,则变量“ACCUM”和“TOTAL”被复位为零,不进行任何计算。如果信号状态为 False,则首先将两个输入变量“INTERVAL”和“CYCLE”的数据类型转换为 REAL,然后这两个变量的值被传送到临时变量“tINTERVAL”和“tCYCLE”中。在一个周期中,将变量“VALUE”的输入值乘以临时变量“tCYCLE”的值,然后再除以临时变量“tINTERVAL”的值。将结果保存在缓冲区“ACCUM”中。这样,在一个特定的周期内,将缓冲区“ACCUM”中的中间结果累加上该数值,同时在同一周期内将累加结果传送到变量“TOTAL”中。 
 循环时间反映了处理功能块“Totalizer”的扫描时间。在循环中断 OB35 中调用该 FB 时,同时以 100 ms 的时间间隔处理程序,该间隔与循环程序的处理时间无关。 
 举例:
 对于一个流量计,测量到它的终值为 60.0 米/分钟,其假定值保存在标记双字 MD10 中。 
   
 图 02 
 由于物理量级是“meters per minute”,所以输入参数“INTERVAL”被设置为“T#1M”。在 OB35 中调用“Totalizer”功能块,OB35 的缺省时基是 100 毫秒。输入变量“CYCLE”被设置为“T#100MS”。 
   
 图 03 
 附件“Totalize.exe”中包含一个 STEP 7 项目,该项目使用了上述功能块(FB100、背景数据块 DB100 和 OB35)。源文件夹中包含两套 FB100 功能块源代码: 
 • 源代码“Totalizer_d”:注释为德文。 
 • 源代码“Totalizer_e”:注释为英文
  Totalize.exe ( 299 KB )   
 将“Totalize.exe”文件复制到一个独立的文件夹中,然后双击启动文件。STEP 7 V5.3 项目连同所有的子文件夹便被自动解压缩。可以使用SIMATIC 管理器打开并处理解压缩出来的项目。 

 

提问者对于答案的评价:
谢谢了,但我下载后打不开

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:14
下一篇 2020年11月1日 下午3:14

相关推荐