
Mod — 取余
%运算:out = in1 % in2。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
一句话
Mod 取余数:out = in1 % in2;常用于奇偶判断、循环步进和周期分组。
符号与引脚
分类:数学
不需要实例
模板值:源类型(SrcType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
in1 | 输入 | 操作数 1 |
in2 | 输入 | 操作数 2 |
eno | 流输出 | 使能输出 |
out | 输出 | 结果 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Remainder = A % B;A=7, B=2 时余数是 1。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
EN为 1 时执行;in1/in2/out的数据类型要一致。- 余数的符号跟随被除数(按 TIA 规则确认负数行为)。
in2=0是非法运算;必须先判断除数非零。Mod与Div是同一组:商用Div,余数用Mod。
常用场景
常见坑
- 除数为 0:先判断
B ≠ 0,否则结果不可靠。 - 负数余数:不同语言/指令的负数余数符号可能不同;按 TIA 规则确认。
- 类型不一致:
Int、DInt不要混用;先转换。 - 用 Mod 做奇偶判断:
Count % 2 = 1时再比较;不要直接把余数当 Bool。 - 每个扫描都算:计数/步进要配边沿或条件,否则会一直变。
