扩展指令
遗留与特定
利用西门子历史功能的强大力量。从模拟机械凸轮鼓顺序器到高级诊断工具,掌握扩展指令。
为什么要使用遗留 (Legacy) 指令?
遗留扩展指令是功能强大的功能块,最初旨在简化复杂任务,而无需繁琐的手动编程。虽然其中一些已被更现代的方法取代,但对于维护现有机器设备或在其特定领域(如顺序控制 DRUM)的高效性方面,它们仍然是必不可少的。
本节还涵盖了 BITSUM 或 SEG 等底层信号处理工具,以及 LEAD_LAG 等控制算法,为专门的工业应用提供更高的灵活性。
顺序器
基于凸轮的顺序自动化
DRUM — 鼓顺序器
DRUM功能
模拟机械凸轮鼓的工作。允许定义多个步骤,并为每个步骤定义特定的输出状态,由时间或外部事件触发。
适用场景
简单的循环过程,如工业清洗、搅拌机或顺序填充机。
专家提示
当步骤主要基于时间时,是替代复杂 Grafcet 的理想选择。
使用 'L_S' 参数强制跳转到特定步骤。
凸轮鼓可以同时管理多达 16 个输出。
控制与监控
电机和阀门的安全管理
DCAT / MCAT — 控制报警
MCAT功能
监控执行器(MCAT 用于电机,DCAT 用于离散量)的激活,如果在规定时间内未收到状态反馈,则产生报警。
适用场景
带位置故障检测的电机控制或气动阀门安全化。
专家提示
内置 '看门狗' 逻辑,简化您的安全程序段。
对于减少标准控制 FB 中的程序段数量非常有用。
允许区分开启和关闭的响应时间。
特殊比较
模式和矩阵分析
IMC / SMC — 掩码比较
IMC功能
IMC 通过掩码逐位比较两个输入。SMC 比较位矩阵以检测整个循环中的变化。
适用场景
复杂的故障诊断或生产线上二进制模式的合规性验证。
专家提示
IMC 非常适合在比较时忽略“不重要”的位。
使用 SMC 创建有关输入状态变化的诊断日志。
这些指令在分析组合信号时性能非常高。
信号处理
算法与显示转换
BITSUM — 位计数
BITSUM功能
计算字或双字中处于 '1' 状态的总位数。
适用场景
生产统计(例如:32 个报警中有多少个处于活动状态),或冗余检查。
专家提示
比使用 FOR 循环扫描 32 位快得多。
用于检测是否有多个泵同时运行。
返回整数值 (Int)。
SEG — 七段显示
SEG功能
将十六进制数字 (0-F) 转换为准备好驱动物理七段显示器的位模式。
适用场景
直接通过 PLC 输出驱动硬件显示器。
专家提示
位 0 通常对应段 'a',位 1 对应 'b',依此类推。
低成本过程显示面板的必备工具。
输入为字节 (Byte)。
现代化 vs 遗留
还应该使用这些指令吗?
| 需求 | 遗留指令 | 现代替代方案 |
|---|---|---|
| 复杂顺序控制 | DRUM | GRAPH (SFC) |
| 电机控制 | MCAT | 标准块 (LAcyc) |
| 位计数 | BITSUM | SCL 循环(较慢) |
| 数字显示 | SEG | HMI 屏幕 (面板) |
| 调节控制 | LEAD_LAG | PID_Compact |
| 掩码比较 | IMC | AND + == 运算符 |
常见问题
DRUM 指令在所有 CPU 上都可用吗?
主要在 S7-1200 和 S7-1500 上可用,以确保从旧的 S7-200/300 程序过渡。
LEAD_LAG 有什么用?
它是一种超前-滞后补偿器,用于自动控制中以稳定闭环系统或改善其瞬态响应。
为什么要使用 BITSUM 进行诊断?
如果您在 Word 中组合了 16 个报警传感器,BITSUM 可以让您立即知道有多少个报警存在,而无需逐个测试。
SEG 处理小数点吗?
SEG 指令生成 0 到 15 (F) 的段模式。对于小数点,通常需要手动驱动第 8 位。