
Sub — 减法
减法:out = in1 - in2。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
Sub 做减法:out = in1 - in2;EN 为 1 时执行,ENO 可以继续串联。
符号与引脚
分类:数学
不需要实例
模板值:个数(Card), 源类型(SrcType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
in1 | 输入 | 操作数 1 |
in2 | 输入 | 操作数 2 |
eno | 流输出 | 使能输出 |
out | 输出 | 结果 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Result = A - 1;Enable=0 时函数不执行,Result 不再更新。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
EN是使能:只有 EN 为 1 的扫描才执行运算。in1/in2是操作数,out是结果;数据类型必须一致。ENO是使能输出;如果运算出错(如溢出/类型错误),ENO 可能为 0。Card控制输入个数;Card=2是最常见的两个操作数。- 整数减法可能下溢;需要时用更大的数据类型或先判断范围。
常用场景
常见坑
- 操作数顺序:
in1 - in2和in2 - in1结果相反;不要接反。 - 类型不一致:
Int、DInt、Real不要混用;先转换。 - 下溢/溢出:整数减法可能回绕,可能让结果突然变大。
- ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。
- 每个扫描都算:累计/积分类逻辑要配边沿或条件。
