Skip to content

模拟量与工程量例程 3:多路温度取最高 / 最低 ​

这一页只讲这一个例程。母页 b-03-analog-scaling 里留着例程 1,其余例程各自一页、在那一页的目录里点。

场景:三台机柜各一个温度点,按最热的那台控制风机,按最低温做防冻。「最大/最小值运算」两两串起来即可。

软元件

软元件作用
D111 / D112 / D1131# / 2# / 3# 温度(已换算)
D140最高温度(控制用)
D141最低温度(防冻用)
Y0风机
Y1加热防冻

块图(照着拖即可)

例程 3:多路温度取最高 / 最低 的块图

对应的 ddc.json(点「生成 JSON」得到的就是它;也可存成 .ddc.json 导入)

json
{
  "version": 1,
  "name": "多路温度取舍",
  "scan_ms": 200,
  "lines": [
    {
      "op": "assign",
      "target": {"op":"ref","device":"D","addr":140},
      "expr": {
        "op": "minmax",
        "mode": "max",
        "args": [
          {
            "op": "minmax",
            "mode": "max",
            "args": [{"op":"ref","device":"D","addr":111},{"op":"ref","device":"D","addr":112}]
          },
          {"op":"ref","device":"D","addr":113}
        ]
      }
    },
    {
      "op": "assign",
      "target": {"op":"ref","device":"D","addr":141},
      "expr": {
        "op": "minmax",
        "mode": "min",
        "args": [
          {
            "op": "minmax",
            "mode": "min",
            "args": [{"op":"ref","device":"D","addr":111},{"op":"ref","device":"D","addr":112}]
          },
          {"op":"ref","device":"D","addr":113}
        ]
      }
    },
    {
      "op": "assign",
      "target": {"op":"ref","device":"Y","addr":0},
      "expr": {
        "op": "cmp",
        "cmp": ">=",
        "args": [{"op":"ref","device":"D","addr":140},{"op":"const","value":35}]
      }
    },
    {
      "op": "assign",
      "target": {"op":"ref","device":"Y","addr":1},
      "expr": {
        "op": "cmp",
        "cmp": "<=",
        "args": [{"op":"ref","device":"D","addr":141},{"op":"const","value":2}]
      }
    }
  ]
}

要点

  • 「最大/最小值运算」一次比较两个输入,三路就两两串一层(取两次最大)。
  • 取最大做控制(最热点说了算),取最小做保护(最冷点先冻),这是暖通和机柜温控的常规做法。
  • 想做"峰值保持"(记住历史最高)就把自身作为一路输入,配定时循环慢慢刷新(见 B2 例程 4)。

验证:三点写 22 / 31 / 26 → D140 = 31、Y0 = 0;把 D112 改成 36 → D140 = 36、Y0 = 1。

注意事项

  • 某个传感器断线(被夹成 -40 或 0)会把"最小值"拉下来,防冻/加热被误触发。重要的点先做断线判断。
  • 三路里有一路是别处也在写的寄存器:确认每个点只有采集的一方写。

LPPLC 工业物联网云平台 · 软硬件与云平台全栈自研