Skip to content

HVAC 暖通例程 2:加热工况(反作用)+ 停机清零 ​

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

场景:冬天供暖、热水盘管、电加热——温度低了才要加大输出,方向与制冷相反;停机时必须把加热输出清零。

软元件

软元件作用
D220系统运行标志
D110实测温度
D212PI 输出(0~100)
D232加热输出(限幅 + 停机清零)

块图(照着拖即可)

例程 2:加热工况(反作用)+ 停机清零 的块图

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

json
{
  "version": 1,
  "name": "加热PI",
  "scan_ms": 500,
  "lines": [
    {
      "op": "assign",
      "target": {"op":"ref","device":"D","addr":212},
      "expr": {
        "op": "pi",
        "id": "pi_heat",
        "args": [
          {"op":"ref","device":"D","addr":220},
          {"op":"const","value":0},
          {"op":"ref","device":"D","addr":110},
          {"op":"const","value":21},
          {"op":"const","value":0.5},
          {"op":"const","value":10},
          {"op":"const","value":128}
        ]
      }
    },
    {
      "op": "assign",
      "target": {"op":"ref","device":"D","addr":232},
      "expr": {
        "op": "limit",
        "args": [
          {"op":"ref","device":"D","addr":212},
          {"op":"const","value":0},
          {"op":"const","value":80}
        ]
      }
    },
    {
      "op": "if",
      "cond": {"op":"not","args":[{"op":"ref","device":"D","addr":220}]},
      "then": [
        {
          "op": "assign",
          "target": {"op":"ref","device":"D","addr":232},
          "expr": {"op":"const","value":0}
        }
      ],
      "else": []
    }
  ]
}

要点

  • 正比例 = 1 是制冷(正作用),= 0 是加热(反作用)——这是 PI 块最容易填错的一格,填错就是"越冷越关、越热越开"。
  • 加热输出必须上限保护(如 80%),并保留"停机清零":使能只负责"停调节",不负责"关输出"。
  • 手/自动切换时把使能断开,PI 的积分项就不会在手动期间累积(切回自动不会突变)。

验证:D110 = 18(低于 21)→ D212 逐渐增大;D110 = 24 → D212 减到 0 附近;D220 = 0 → D232 = 0。

注意事项

  • 只改正比例却忘了停机清零:系统关闭后加热阀还停在 60%,现场"明明关机了还在热"。
  • Kp 太大(如 50):加热惯性大,明显过冲和震荡;加热系统尤其要从 Kp = 10 以下慢慢试。
  • 电加热这类"要么开要么关"的执行器,PI 的连续输出要再经通断比控制才合适,别直接写 Y 点。

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