news 2026/6/22 13:32:19

西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位...

西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位和高高低低位报警,有滤波功能,非常实用的功能块,配有详细的注释。

车间里新来的电气工程师小李盯着示波器直挠头——温度信号跳得跟心电图似的,十几个压力变送器的数值集体蹦迪。老师傅路过瞟了一眼:"模拟量不滤波,等着半夜被报警吵醒吧!"

西门子PLC模拟量滤波程序,西门子1200和1500通用,有电压或者电流或者热电偶选择,高低位和高高低低位报警,有滤波功能,非常实用的功能块,配有详细的注释。

今天就给大家分享个实战中摸爬滚打出来的模拟量处理功能块,在1200/1500上都验证过。先看功能全景:

  • 支持4-20mA/0-10V/热电偶自由切换
  • 可调滞后滤波算法
  • 带高低限/高高-低低双阈值报警
  • 自动量程转换
  • 状态指示灯全开
FUNCTION_BLOCK AnalogFilter VAR_INPUT RawValue : INT; // 原始AD值 SignalType : BYTE; // 信号类型 0:4-20mA 1:0-10V 2:TC FilterFactor : REAL := 0.2; // 滤波系数(0.1~0.9) ScaleMin : REAL; // 量程下限 ScaleMax : REAL; // 量程上限 HH_Limit : REAL; // 高高报警 H_Limit : REAL; // 高报警 L_Limit : REAL; // 低报警 LL_Limit : REAL; // 低低报警 END_VAR VAR_OUTPUT EngValue : REAL; // 工程值 HH_Alarm : BOOL; H_Alarm : BOOL; L_Alarm : BOOL; LL_Alarm : BOOL; SignalFault : BOOL; // 信号断线 END_VAR

核心滤波算法用了一阶滞后滤波,比移动平均省资源。注意REAL类型转换要放在滤波前:

// 量程转换 CASE SignalType OF 0: // 4-20mA转实际值 EngValueRaw := (INT_TO_REAL(RawValue)/27648.0)*(ScaleMax - ScaleMin) + ScaleMin; 1: // 0-10V处理 EngValueRaw := (INT_TO_REAL(RawValue)/27648.0)*10.0; 2: // 热电偶需补偿冷端温度 EngValueRaw := TC_Compensation(RawValue); END_CASE; // 滞后滤波实现 EngValue := EngValue * (1 - FilterFactor) + EngValueRaw * FilterFactor;

报警逻辑处理有个坑——当启用双阈值时,需要避免高低报警同时触发。这里用状态优先级解决:

// 报警优先级:HH > H > L > LL IF EngValue >= HH_Limit THEN HH_Alarm := TRUE; H_Alarm := FALSE; ELSIF EngValue >= H_Limit THEN H_Alarm := TRUE; L_Alarm := FALSE; ELSIF EngValue <= LL_Limit THEN LL_Alarm := TRUE; L_Alarm := FALSE; ELSIF EngValue <= L_Limit THEN L_Alarm := TRUE; ELSE HH_Alarm := FALSE; H_Alarm := FALSE; L_Alarm := FALSE; LL_Alarm := FALSE; END_IF;

实际使用时,给压力变送器配置参数这样写:

PressureFilter( RawValue := "AI1".CHANNEL_VALUE, SignalType := 0, ScaleMin := 0.0, ScaleMax := 10.0, // 量程0-10MPa FilterFactor := 0.3, HH_Limit := 9.5, H_Limit := 8.8, L_Limit := 1.2, LL_Limit := 0.8 );

记得在OB30循环中断里调用,滤波效果更稳定。遇到信号跳变大的情况,先检查接地和屏蔽——再好的软件滤波也救不了硬件干扰。

调试时可在线修改FilterFactor观察曲线,0.1是强滤波(响应慢),0.9基本不滤波。有个偷懒技巧:把滤波后的值送到HMI的趋势图,拖动系数看实时变化最直观。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 20:14:25

企微非官方API开发:RPA与协议结合的混合驱动实现

QiWe开放平台 个人名片 API驱动企微自动化&#xff0c;让开发更高效 核心能力&#xff1a;为开发者提供标准化接口、快速集成工具&#xff0c;助力产品高效拓展功能场景 官方站点&#xff1a;https://www.qiweapi.com 团队定位&#xff1a;专注企微API生态的技术服务团队 对接…

作者头像 李华
网站建设 2026/6/21 18:53:44

金融行业通过帝国CMS导入Word风控报告时,如何保留修订痕迹?

CMS企业官网Word文档导入功能开发记录 需求分析 作为浙江的一名PHP开发者&#xff0c;我最近接手了一个帝国CMS企业官网的外包项目。客户提出了一个关键需求&#xff1a;在后台新闻管理系统的文章发布模块中&#xff0c;增加Word/Excel/PPT/PDF文档导入和一键粘贴功能。这个需…

作者头像 李华
网站建设 2026/6/18 23:13:37

国产化应用里,asp.net如何处理文件夹上传及加密?

大文件上传解决方案 作为一个同样接外包接到手软的.NET老油条&#xff0c;我完全理解你既要兼容IE8又要20G文件上传还要100块预算的"无理要求"。来&#xff0c;给你整一套"饿不死套餐"&#xff01; 前端实现 - 兼容IE8的土味方案 穷逼版大文件上传/* 祖传…

作者头像 李华
网站建设 2026/6/18 23:16:20

单一/混合蛋白质分离纯化方法与质谱鉴定详解

单一/混合蛋白质分离纯化方法与质谱鉴定详解 文章导读 • 单一蛋白质样品的分离、纯化&#xff1f; • 单一蛋白质的质谱鉴定&#xff1f; • 蛋白质混合物质谱鉴定方法&#xff1f; 对于单一蛋白的常用鉴定方法&#xff0c;大家肯定立马想到免疫印迹法&#xff08;Wester…

作者头像 李华
网站建设 2026/6/18 23:12:06

基于python的垃圾分类系统

前言随着环保意识的增强和垃圾分类政策的普及&#xff0c;开发一款高效、智能的垃圾分类系统成为提升公众参与度和分类准确率的关键。基于Python的垃圾分类系统结合图像识别、自然语言处理&#xff08;NLP&#xff09;和数据库技术&#xff0c;能够自动识别垃圾类型、提供分类指…

作者头像 李华