流量累计例程使用说明
Author: SLC A&D CS
Version: V1.0
例程功能:完成对实时流量的累计功能
程序结构:在循环中断组织块 OB35 中调用功能块 FB1,FB1 的背景数据块为 DB1
例程说明:
1. 在例程中配置了一个 S7-300 站,并添加了一块 SM331 模板,假定流量计的 4-20mA 输
出信号接至该模板 0 通道,地址为 PIW256。
2. 在硬件配置中 CPU 的属性界面下设置循环中断组织块 OB35 的周期为 1000ms,即 1 秒
钟。
3. FB1 为封装的流量累计子程序,在 OB35 中调用 FB1,其背景数据块为 DB1。FB1 的输入/
输出管脚需逐个定义,具体说明如下:
FB1 输入变量:
Flow_in : INT ; //流量信号的模拟量输入地址,在例程中为 PIW256
Hi_limit : REAL ; //流量信号的工程量上限,在例程中为 3600.0m
3
/h
Low_limit : REAL ; //流量信号的工程量下限,在例程中为 0.0m
3
/h
Division : DINT ; //实时流量时间单位的除数,如欲每秒计算一次累计流量,则该值为
3600,因为实时流量时间单位为 h,即小时,一小时为 3600 秒。
注意:OB35 的周期必须与计算累计流量的周期相同。
Clear : BOOL ; //累计流量清零
FB1 输出变量:
Flow_rt : REAL ; //转换为工程单位的实时流量
Flow_Accu : REAL ; //当前累计流量值
4. 将硬件配置及程序下载至 CPU 后,CPU 将每秒计算一次累计流量,并将当前实时流量和
累计流量值分别输出至 MD2 和 MD6 供读取。如想将当前累计流量清零,只需将 Clear 管
脚置“1”,该管脚为高电平有效。
使用方法:
将例程中 FB1, DB1 拷贝至您的项目中某 S7-300/-400 站下的 Blocks 中,在 OB35 中调用,按
照上述说明定义 FB1 的输入/输出管脚即可。