[CodeSys] 流量累计计算加包含数字滤波FB块封装-CODESYS-ST语言

[复制链接]
查看392 | 回复3 | 2024-8-23 08:46:11 | 显示全部楼层 |阅读模式
>在工业自动化领域中,可编程逻辑控制器(Programmable Logic Controller, PLC)经常被用来控制各种过程,并且常用于流量累计计算。这里我将介绍如何使用PLC进行流量累计计算的基本步骤和技术要点。一、基本原理

流量累计计算通常涉及到以下要素:
  • 传感器:用于检测瞬时流量的设备,例如涡轮流量计、超声波流量计等。
  • 信号处理:将传感器输出的模拟或数字信号转换为PLC能够识别的形式。
  • PLC程序:编写程序来处理信号并计算累计流量。
  • 存储与显示:存储累计流量数据并在人机界面(HMI)上显示。
二、实现步骤

1. 选择传感器

首先,根据应用场合选择合适的流量传感器。常用的流量传感器包括:
  • 涡轮流量计:适用于清洁液体和气体。
  • 电磁流量计:适用于导电液体。
  • 超声波流量计:非接触式测量,适用于多种介质。
  • 孔板流量计:基于伯努利方程,适用于气体和液体。
2. 连接传感器与PLC

将流量传感器连接到PLC的输入模块。大多数现代PLC支持模拟量输入(AI)和数字量输入(DI)。具体连接方式取决于传感器的输出类型:
  • 模拟量输出:通常为4-20mA电流信号或0-10V电压信号。
  • 脉冲输出:用于高速计数器输入(HSC)。
3. 编写PLC程序

使用PLC编程软件编写程序来处理流量信号。常见的编程语言包括梯形图(Ladder Diagram, LD)、结构化文本(Structured Text, ST)等。
三、使用PLC进行流量累计的一般步骤:
  • 使用自带累计功能的流量计:
    • 自带累计功能的流量计(如电磁流量计等)通常会提供累计流量的脉冲输出。
    • PLC高速计数器:PLC可以通过高速计数器(HSC)接收这些脉冲信号,并进行计数。
    • 累计流量计算:PLC根据接收到的脉冲数计算累计流量。
  • 只有瞬时流量输出的流量计:
    • 瞬时流量输出:某些流量计只提供瞬时流量的模拟或数字信号。
    • PLC内部计算:在这种情况下,PLC需要根据瞬时流量和时间间隔来计算累计流量。
    • 注意事项:不要使用定时器来进行累计计算,因为定时器的精度受PLC扫描周期的影响,可能导致较大的误差。

四、直接上干货FB块分装展示
(一)、FB引脚分布

        run:BOOL;     //运行时间
        flow_VAL:REAL;    //瞬时流量输入m3/H
        Reset:BOOL;    //流量清零
        Cycle_ms:TIME;  //采样时间
        flow_out_put:REAL;  //累计流量输出
        Array_length:INT;  //数组长度
        Filter_strength:INT;  //滤波强度

(二)、ST语言源码






五、重要提示:

  • 精度问题:使用PLC进行流量累计的精度通常不如专用流量计自带的累计功能。
  • 高速计数器:对于带有脉冲输出的流量计,应使用PLC的高速计数器来确保更高的精度。
  • 避免使用定时器:由于PLC的扫描周期可能不一致,因此不应使用定时器来进行流量累计的计算。
六、总结步骤:

  • 确定流量计类型:确认流量计是否自带累计功能。
  • 连接与配置:
    • 如果流量计自带累计功能,配置PLC的高速计数器以接收脉冲信号。
    • 如果流量计只提供瞬时流量输出,使用模拟量输入或数字量输入连接到PLC。
  • 编写程序:
    • 对于自带累计功能的流量计,编写程序来处理从高速计数器接收到的脉冲信号。
    • 对于只有瞬时流量输出的流量计,编写程序来根据瞬时流量和时间间隔计算累计流量。
  • 避免使用定时器:确保程序中不使用定时器来计算时间间隔,而是采用更精确的方法,如使用专门的定时指令或函数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
唐大伟 | 2024-8-31 10:29:54 | 显示全部楼层
不错不错不错不错不错不错
whn20000211 | 2024-9-9 09:17:20 | 显示全部楼层
傻逼 草拟吗   偷你爹我东西
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则