跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/Mod — 取余

Mod — 取余

%运算:out = in1 % in2。

数学 S7-1200/1500 TIA V19 别名:取余 / Mod

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

Mod 取余数:out = in1 % in2;常用于奇偶判断、循环步进和周期分组。

符号与引脚

分类:数学 不需要实例 模板值:源类型(SrcType)
引脚方向说明
en流输入使能输入
in1输入操作数 1
in2输入操作数 2
eno流输出使能输出
out输出结果

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时 Remainder = A % B;A=7, B=2 时余数是 1。

Mod_Example:Network 1 — Mod — 取余

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • EN 为 1 时执行;in1/in2/out 的数据类型要一致。
  • 余数的符号跟随被除数(按 TIA 规则确认负数行为)。
  • in2=0 是非法运算;必须先判断除数非零。
  • Mod 与 Div 是同一组:商用 Div,余数用 Mod。

常用场景

1. 取余

同上面的最小示例。

2. 循环步进

Step = Count % 3,让步号在 0/1/2 之间循环;注意 Count 的类型和范围。

Mod_Cycle:Network 1 — 循环步进

常见坑

  • 除数为 0:先判断 B ≠ 0,否则结果不可靠。
  • 负数余数:不同语言/指令的负数余数符号可能不同;按 TIA 规则确认。
  • 类型不一致:Int、DInt 不要混用;先转换。
  • 用 Mod 做奇偶判断:Count % 2 = 1 时再比较;不要直接把余数当 Bool。
  • 每个扫描都算:计数/步进要配边沿或条件,否则会一直变。

← 返回 LAD 指令手册