精彩纷呈! 工控PLC擂台第100期 强强对决 (精彩纷呈的)

引言

本文介绍了如何使用 S7-200 PLC 测量液体流量,包括硬件选择、编程和数据处理。

系统概述

系统使用现场流量计输出 4~20mA 信号,对应液体流速为 0~1m/S=0~100cm/S。流量计测量点处的管径为 φ=50mm=5cm。

PLC 选用 S7-200 的 CPU224 型号,并使用 EM235 模拟量输入输出模块。EM235 的 A路模拟量输入口用于接收流量计的 4~20mA 输出信号,并将其转换为数字量 AIW0。

系统框图

硬件设置

流量计输出:4~20mA,对应液体的瞬时流量 q 为:0~1.9625 升/S。

EM235 输入:转换为数字量 AIW0 为:6400~32000。

Q 与 AIW0 的关系曲线如下:

Q 与 AIW0 的关系曲线

编程

主程序

``` // 设置输入和输出变量 BOOL I0_0, I0_1, I0_2; // 启动、清零和停止按钮 BOOL M0_0; // 启动标志 SINT SM0_5; // 秒脉冲 // 设置浮点变量 REAL VD0, VD4, VD100, VD104; // 瞬时流量、累计流量、流量计输入值、最大瞬时流量 // 主循环 WHILE TRUE // 读取输入变量 I0_0 := Input(I0_0); I0_1 := Input(I0_1); I0_2 := Input(I0_2); // 启动 IF I0_0 THEN M0_0 := TRUE; SM0_5 := 1; // 启动秒脉冲 END_IF // 清零 IF I0_1 THEN VD4 := 0; // 清零累计流量 END_IF // 停止 IF I0_2 THEN M0_0 := FALSE; SM0_5 := 0; // 停止秒脉冲 END_IF // 数据读取、整理和运算 IF SM0_5.Q THEN Call RealOperatorProgram; // 调用实数运算子程序 VD0 := VD100 VD104; // 计算瞬时流量 VD4 := VD4 + VD0; // 累计流量 END_IF // 输出瞬时流量和累计流量到上位机或触摸屏 Output(VD0, VD4); END_WHILE ```

实数运算子程序

``` RealOperatorProgram: // 设置输入变量 REAL IN; // 流量计输入值 // 设置输出变量 REAL OUT; // 流量计输入值转换后的浮点数 // 计算流量计输入值到浮点数的转换 OUT := REAL_TO_INT(IN) / 16000.0; // 返回 RETURN; ```

编程说明

  1. I0.0 为启动按钮,按一下 I0.0 使 M0.0 置 1,M0.0=1 使秒脉冲 SM0.5 起作用:SM0.5=1 的前沿,进行数据读取(读取 AIW0)、整理(将 AIW0 转换为浮点数->VD100、将最大瞬时流量 1.0625->VD104)及运算(调实数运算子程序),运算结果:瞬时流量->VD0,累计流量->VD4。
  2. I0.1 为清累计流量 VD0 的按钮,当重新计量液体累积流量时,应先按一下 I0.1 按钮,使 VD4=0。用此按钮目的,就是计量中因故停车时,按停车按钮,系统只停止计量,其累计值保持不变,再按启动按钮,累计值在原累计值接着累计。
  3. I0.2 为停止按钮,按一下 I0.2,使 M0.0=0,程序停止对液体流量计量。
  4. VD0 为瞬时流量存数区,VD4 为累计流量存数区。VD0 与 VD4 值时时传递给上位机或触摸屏,供显示或数据处理用。

结语

本文所介绍的方法使用 S7-200 PLC 测量液体流量,具有简单易行、精度高、响应快的优点。该方法可广泛应用于工业生产、水利工程等领域。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论