『7x24小时有问必答』

▎西门子博途 LGF 库详解 · 07:数学函数(下)——数值积分、时间容差与数学组总结

数学函数组的收官篇,3 个块:数值积分、时间容差检测、以及数学组 21 个块的完整回顾。

一、3 个块一览

数学函数组(4.5,下半部分)

| 块名 | 类型 | 版本 | 功能 |
|------|------|------|------|
| LGF_Integration | FB | V3.0.2 | 梯形法数值积分 |
| LGF_IsValueInToleranceByTime | FB | V1.0.0 | 带时间窗口的容差检测 |
| LGF_StoreMinMax(已在 06 讲过) | FB | V3.0.1 | — |

二、引脚详解

#### LGF_Integration
引脚类型方向默认值说明
enableBoolINFALSE使能积分计算。FALSE 时暂停,输出保持最后结果
valueLRealIN0.0瞬时值(如流量,单位/ms)
resetBoolINFALSETRUE 将积分结果清零
integralLRealOUT积分结果(累计值)
errorBoolOUT错误标志
statusWordOUT状态码
subfunctionStatusWordOUT子函数状态码
梯形法原理:每个扫描周期用 (本次值+上次值)/2 × 周期时间 近似计算增量面积。精度取决于扫描周期的稳定性——周期波动大会引入误差。
#### LGF_IsValueInToleranceByTime
比第四章讲的 IsValueInTolerance 多了时间维度:不仅要求值在容差范围内,还要求持续稳定才能判定为"合格"。还有一个附加功能:检测设定值是否发生了变化(setpointChange)。
引脚类型方向默认值说明
valueRealIN0.0待检测的实际值
setpointRealIN0.0设定值
lowerMinimumRealIN0.0容差下限(百分比或绝对值)
upperMaximumRealIN0.0容差上限(百分比或绝对值)
resetBoolINFALSE复位
configurationUDTIN配置结构体(检测模式、时间窗口等)
overHighLimitBoolOUT超出上限
belowLowLimitBoolOUT低于下限
inLimitsBoolOUT在容差范围内
setpointChangeBoolOUT设定值发生变化
errorBoolOUT错误标志
statusWordOUT状态码

configuration 类型

使用 LGF_typeIsValueInToleranceByTimeConfiguration(UDT)配置。包含:模式选择(百分比/绝对值)、时间窗口长度、稳定时长要求等。配置前先查阅 PDF 中该 UDT 的字段说明。

三、实战案例

#### 案例 1:按流量累计总产量
瞬时流量 0.5 L/s,需要累计今日总产量。OB1 周期 100ms,每个周期 Integration 自动累加增量:

Integration 流量累计

LGF_Integration(enable := TRUE, value := flowRate, reset := dayStart,
integral => totalVolume);
dayStart 每天零点给一次上升沿清零。其余时间 enable = TRUE,积分持续累加。
#### 案例 2:温度稳定判定
加热炉升温到目标值后,要求在 ±2℃ 范围内持续稳定 30 秒才算"就绪":

IsValueInToleranceByTime 稳定检测

用 TimeWindow = 30s,只有实际温度在 [setpoint-2, setpoint+2] 内连续稳定 30 秒后 inLimits 才为 TRUE。短暂的超调或扰动不会导致误判。

四、数学组 21 个块完整回顾

数学函数组(4.5)21 块全景

| 类型 | 块数 | 覆盖内容 |
|------|------|---------|
| 距离计算 | 2 | CalcDistance_2D / _3D |
| 阶乘 | 1 | GetFactorial |
| 范围判断 | 3 | IsValueInLimits / InRange / InTolerance |
| 根号 | 1 | NthRoot |
| 随机数 | 5 | Random_DInt/Real/UDInt + RandomRange_DInt/Real |
| 最值搜索 | 3 | SearchMinMax_DInt/LReal/UDInt |
| 积分与容差 | 3 | Integration + IsValueInToleranceByTime + StoreMinMax |
| 总计 | 21 | — |

SIOS-ID 109479728 | V5.1.1 | 中文站下载

下篇预告:LGF 库详解 · 08——矩阵运算。矩阵加减、乘法、标量乘、转置、求逆、比较——7 个块把博途的矩阵计算填满。
欢迎点赞、在看、转发

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码