跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/Calc — 公式计算

Calc — 公式计算

按公式对多个输入做算术/逻辑运算。

数学 S7-1200/1500 TIA V19 别名:公式 / CALC / Calc

在 TIA 里试一下

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

TiaLink 设置

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

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

一句话

Calc 按公式对多个输入做算术/逻辑运算。

符号与引脚

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

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

最小示例

Enable=1 时 Result = IN1 + IN2;A=2.0、B=3.0 得 5.0。

Calc_Example:Network 1 — 公式:IN1 + IN2

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

怎么工作

  • Calc 是盒指令:in1..inN 是输入,out 是结果。
  • Card 决定输入个数(本页 2),SrcType 决定数据类型(本页 Real)。
  • equation 用 IN1/IN2 等引用输入,支持括号和常用运算符。
  • 结果类型由 SrcType 决定;除法要防 0。

常用场景

1. 简单公式

同上面的最小示例。

2. 乘积公式

Result = IN1 * IN2;公式里只能引用指令输入,不能直接写常量。

Calc_Scaled:Network 1 — 乘积公式

常见坑

  • Card 不匹配:公式引用了未绑定的 INn 会报错。
  • 公式里写常量:TIA 报“Only the inputs ... are permitted”;常量先接到输入。
  • 除零:除法前先判断分母。
  • 类型:SrcType 和输入/输出类型要一致。
  • 可读性:复杂公式不如拆成多个 Add/Mul 直观。

← 返回 LAD 指令手册