PLC编程 共 203 篇文章

中位值平均滤波:如何采集N个点,去掉最大最小值后求平均以消除尖峰干扰
2026-03-20 16:42:59
中位值平均滤波是一种在工业现场传感器数据采集中最常用、最有效的抗尖峰干扰算法。它不依赖复杂模型,不增加硬件成本,仅通过软件逻辑即可显著提升信号稳定性——特别适合PLC、单片机、嵌入式RTU等资源受限的电气自动化系统。 该方法的核心思想是:采集N个连续采样点 → 排序 → 剔除1个最大值和1个最小值
中位平均 尖峰抑制 传感器滤波
56 0
一阶惯性滤波:如何用公式 Yn = a*Xn + (1-a)*Yn-1 平滑模拟量波动
2026-03-20 16:00:55
一阶惯性滤波是工业现场处理传感器模拟量(如温度、压力、电流、电压)波动最常用、最有效的数字滤波方法。它计算极轻、资源占用极低,可在PLC、单片机、DCS甚至FPGA中毫秒级实时运行;效果接近硬件RC低通滤波器,但无需额外元件、不老化、参数可在线调节。核心公式: $$Yn = a \cdot Xn +
数字滤波 惯性滤波 信号平滑
62 0
数字量输入防抖:如何通过定时器或计数逻辑消除按钮/传感器机械抖动误触发
2026-03-20 15:34:53
数字量输入防抖是电气自动化系统中保障控制可靠性最基础、却最容易被忽视的关键环节。按钮按下、限位开关触发、光电传感器通断——这些看似简单的“0/1”信号,在真实工业现场几乎必然伴随毫秒级的机械抖动(contact bounce)或电气干扰(electrical noise),导致PLC或控制器误读为多
数字量输入 信号防抖 定时器逻辑
164 0
温度传感器断线检测:如何判断热电偶/热电阻输入值超出正常范围(如<3.6mA或>21mA)
2026-03-20 15:04:43
温度传感器断线检测是工业自动化系统中保障安全与可靠运行的关键环节。热电偶(TC)和热电阻(RTD)作为最常用的两类温度传感元件,广泛接入PLC、DCS或智能温度变送器的模拟量输入通道。当传感器引线断裂、接线松动、端子氧化或内部元件损坏时,输入电流信号会偏离4–20 mA标准范围,表现为低于3.6 m
温度传感器 断线检测 热电偶
92 0
模拟量反标准化:如何将0.0-100.0的设定值转换回4-20mA对应的整数值输出
2026-03-20 14:51:31
在电气自动化系统中,模拟量信号的标准化与反标准化是PLC、DCS和智能仪表间数据交互的基础环节。其中,“反标准化”特指将工程单位(如0.0–100.0%)的设定值,转换为硬件可输出的原始整数值,以驱动4–20 mA电流环。该过程看似简单,实则极易因量程映射错误、数据类型截断、浮点精度丢失或硬件分辨率
模拟量 反标准化 4-20mA
72 0
ST时间累加:如何将多个TOD时间相加计算总运行时长
2026-03-20 13:21:36
在电气自动化系统中,特别是使用西门子S71200/1500 PLC进行设备运行监控时,经常需要统计多段独立运行时间的总和。典型场景包括:一台电机在一天内分三次启动(如早班、中班、夜班),每次运行时长由TOD(Time of Day)类型变量记录启停时刻;或一条输送线在故障重启后分段运行,需累计真实带
PLC编程 时间计算 ST语言
73 0
ST位操作掩码:如何用AND/OR/XOR精准控制输出点的某一位
2026-03-20 12:35:52
在电气自动化系统中,PLC(可编程逻辑控制器)的输出点常以字节(8位)、字(16位)或双字(32位)为单位进行批量读写。但实际工程中,往往只需修改其中某一位(如仅置位 Q0.3、仅复位 M4.7、仅翻转 DB1.DBX5.2),而非整字操作——否则易引发“误写其他位”的严重风险:例如用 MOVW 1
位操作 掩码技术 ST语言
70 0
ST多行语句换行:ST代码过长时如何使用反斜杠\或自动换行
2026-03-20 11:52:30
在结构化文本(Structured Text,ST)编程中,当一条语句过长时,直接写在单行会导致可读性严重下降、难以维护,甚至触发某些PLC编译器的行宽限制(如部分欧系控制器对单行字符数限制为256或512)。此时必须进行换行处理。但ST语言本身不支持自由换行——换行符在语法上等同于空格,不能随意插
ST编程 多行语句 反斜杠换行
92 0
ST字符串比较:为什么直接用=比较STRING可能出错,需用COMPARE
2026-03-20 11:18:13
在 S71200 / S71500 PLC 的 TIA Portal(博途)编程中,STRING 类型常用于人机交互、设备通信、日志记录等场景。当你需要判断两个字符串是否相等时,直接使用 = 运算符比较两个 STRING 变量,表面上看似可行,实则隐藏严重逻辑漏洞——它可能在绝大多数情况下“碰巧”返
PLC编程 字符串比较 博途
51 0
ST计数器复位:CTU/CTD在ST中如何正确连接RESET引脚逻辑
2026-03-20 10:30:49
在结构化文本(ST)编程中,正确处理计数器的复位逻辑是电气自动化系统稳定运行的关键环节。尤其当使用 CTU(增计数器)、CTD(减计数器)或 CTUD(增减双向计数器)时,RESET 引脚若未按规范连接,极易导致计数值“卡死”、误触发动作、设备异常启停,甚至引发安全联锁失效。 以下内容完全基于IEC
ST编程 计数器 RESET逻辑
88 0
ST定时器调用:TON/TOF在ST中必须实例化,不能像梯形图直接使用
2026-03-20 09:51:52
在结构化文本(ST)编程中调用定时器功能块(如 TON 和 TOF)时,必须显式声明并实例化,不能像梯形图(LAD)中那样直接拖放一个定时器符号、填写参数就完成调用。这是 ST 语言语法本质决定的——它基于 Pascal 风格的强类型函数块调用机制,所有功能块(FB)都属于“类模板”,必须先创建具体
ST编程 定时器实例 TON
85 0
ST时间处理难题:TOD、DT 时间类型的加减运算与格式转换
2026-03-20 08:16:45
ST(结构化文本)编程中,TOD(Time of Day)和 DT(Date and Time)是两种关键的时间数据类型,广泛用于PLC控制系统中的时间调度、事件记录、设备启停逻辑等场景。但它们不支持直接使用 + 或 进行算术运算,也不能像 INT 或 REAL 那样自由转换——这是初学者最常卡住的
ST编程 时间处理 TOD
80 0
ST断电保持实现:如何利用 Retain 属性确保关键数据不丢失
2026-03-20 07:47:45
ST断电保持实现的核心,是让PLC在意外掉电后重启时,能恢复断电前的关键变量值——比如计数器当前值、工艺配方参数、设备累计运行时间、报警确认状态等。这并非靠电池或外部存储,而是通过PLC系统级的 Retain 属性机制,在断电瞬间将指定变量自动写入非易失性存储区(如EEPROM或超级电容供电的SRA
断电保持 Retain属性 PLC编程
87 0
ST混合编程策略:何时用ST做计算,何时切回梯形图做显示
2026-03-20 06:23:45
ST混合编程策略的核心,是把结构化文本(Structured Text,ST)和梯形图(Ladder Diagram,LD)当作互补的“左右手”,而非互相替代的工具。在PLC编程中,硬套“ST万能”或“LD过时”的观念,只会让逻辑臃肿、调试困难、维护成本飙升。真正高效的自动化程序,是在计算密集、逻辑
ST编程 梯形图 PLC编程
82 0
ST代码可读性:缩进风格与括号布局对维护效率的影响
2026-03-20 06:17:19
ST(Structured Text)是IEC 611313标准定义的高级文本编程语言,广泛用于PLC(可编程逻辑控制器)开发。在电气自动化项目中,ST代码常承担复杂控制逻辑、数学运算、状态机和通信协议解析等核心任务。然而,工业现场的典型现实是:一段ST代码的生命周期中,90%以上的时间用于阅读、调
ST代码 可读性 缩进风格
73 0
ST错误处理机制:TRY-CATCH 结构在通信故障中的异常捕获
2026-03-20 05:37:35
在 ST(Structured Text)编程中,TRYCATCH 结构是 IEC 611313 标准定义的唯一原生异常处理机制,专为捕获运行时不可预测的错误而设计。它不适用于逻辑计算错误或变量越界检查(这些需靠静态分析或手动防护),但对通信类故障——如 Modbus TCP 连接中断、EtherC
ST编程 TRY-CATCH 通信故障
61 0
ST在线调试技巧:如何在编辑器中监控中间变量与强制赋值
2026-03-20 05:07:50
ST(Structured Text)是IEC 611313标准定义的高级文本编程语言,广泛用于PLC逻辑开发。在调试阶段,实时监控中间变量与安全强制赋值是定位逻辑错误、验证控制策略的核心能力。本文仅聚焦于主流支持ST的工程环境(如TIA Portal V18+、Codesys 3.5+、GX Wo
ST调试 在线监控 强制赋值
85 0
ST接口标准化:定义统一的 Input/Output 接口便于团队协作
2026-03-20 02:22:36
ST接口标准化:定义统一的 Input/Output 接口便于团队协作 在工业自动化项目中,不同工程师常因信号命名混乱、数据类型不一致、地址映射随意而反复返工。例如,同一台电机的“启动命令”在PLC程序里可能叫 Motor1Start、M1RUN 或 Q0.0;HMI画面上显示为 STARTBTN;
ST编程 接口标准化 工业自动化
79 0
ST多重实例调用:同一个FB实例化多次时的数据独立性问题
2026-03-20 01:36:26
在结构化文本(ST)编程中,当同一个功能块(FB)被多次实例化时,每个实例必须拥有完全独立的数据空间。这是电气自动化系统稳定运行的底层前提。一旦数据混淆,轻则逻辑错乱、输出异常,重则引发设备误动作或连锁停机。本指南聚焦解决 ST 中多重实例调用的核心陷阱:确保每个 FB 实例的数据绝对隔离。 一、问
ST编程 功能块 数据隔离
87 0
ST输入输出参数:VAR_INPUT 只读与 VAR_OUTPUT 引用的传递机制
2026-03-20 00:30:44
在结构化文本(ST)编程中,VARINPUT 和 VAROUTPUT 是定义程序块(如 FB、FC 或 PRG)接口的核心语法。它们不是简单的变量声明,而是隐含特定数据流向与内存访问规则的契约——理解其底层传递机制,是避免逻辑错误、调试失效、信号丢失等典型自动化故障的关键。 一、先明确:ST 中的“
ST编程 输入参数 输出参数
66 0