Skip to content

PI 控制 ​

PI 控制(类型名 ddc_pi):PI回路控制,输出0~100。正比例=true用于制冷(输入↑输出↑),false用于制热。积分时间Ti(秒)越大积分越弱,0=关闭积分(对齐西门子"常数",默认128秒)。死区:偏差进入半死区7个周期后输出冻结。每个块是独立实例。

这块是什么 ​

  • 编辑器里的名字:PI 控制
  • 类型名:ddc_pi(写在程序文件 ddc.json 里的身份,AI 生成或改逻辑时按它对名,别猜中文名)
  • 分类:HVAC(暖通专业块)
  • 形态:值块
  • 状态:有状态

PI回路控制,输出0~100。正比例=true用于制冷(输入↑输出↑),false用于制热。积分时间Ti(秒)越大积分越弱,0=关闭积分(对齐西门子"常数",默认128秒)。死区:偏差进入半死区7个周期后输出冻结。每个块是独立实例。

块面长什么样 ​

PI 控制在逻辑编程编辑器里的样子

图上这一颗就是刚把它从工具箱拖到画布时的样子:下拉框和输入框里是默认值,凹口(←形的那个孔)是要接值的地方,右边凸起是能被别人接的输出口。

块面参数(在块上直接填/选) ​

  • KP:数 10(0.01~+∞)
  • TI:数 128(0~+∞)

连线端子(从别的块接进来) ​

  • 输出 Number
  • 端子 EN、DIRECT、XCTR、SP、NZ

下发到设备变成什么 ​

  • 生成 ddc.json 的操作(op):pi;const

状态什么时候没

这个块跨扫描周期记住东西(上一轮的电平、计时到几秒),所以每个块都是独立实例,复制一块互不影响。实例在程序里靠一个**实例标识(id)**认领:同一个程序内不能重复,也不能为空 —— 校验会报「有状态块实例标识重复」或「块缺少实例标识(id),有状态块必须能跨周期保存状态」。重新下发程序或设备重新上电后,状态全部回到初始值 —— 见 3.1 下发与设备端运行。

手册里其它相关位置 ​

把实际值平稳拉到设定值 ​

做恒温恒湿这类连续调节,输出 0~100(可直接当阀门开度、变频器频率百分比用)。

输入端子:

输入含义
使能为真才调节;为假时停止调节
正比例选择作用方向:正作用(测量值偏高于设定 → 输出加大,如制冷)或反作用(偏低才加大,如加热)
输入测量值(如实际温度)
设定目标值(如 26℃)
死区测量值与设定值之差在这个范围内时不动作,避免执行器在临界点来回抖

块面参数:

  • 比例系数 Kp:默认 10。越大响应越快,太大容易来回震荡
  • 积分时间 Ti(秒):默认 128,用来慢慢消除稳定误差。设为 0 或负数表示关闭积分,只做比例调节

输出:0~100。已进入死区并且连续若干轮偏差没有超出死区时,输出会保持不动(防止小偏差下阀门一直微动磨损)。

PI 控制闭环结构

一个房间温度调节的最小系统 ​

应用逻辑主循环(每 200ms~1s)
 └─ 赋值 D210 ← PI控制
      ├─ 使能 ← D220(系统运行标志)
      ├─ 正比例 ← 1(制冷:温度高了加大输出)
      ├─ 输入 ← D110(实测温度,经线性变换换算)
      ├─ 设定 ← 26
      ├─ 死区 ← 0.5
      └─ 输出 D210 → 写给阀门 / 变频器

调参建议

先只用比例(Ti 填 0):Kp 从 10 开始,输出震荡就减小 Kp,反应太慢就加大。稳了之后再把 Ti 加上(比如 60~300 秒)消除剩余的稳定偏差。改动参数重新下发后调节从头开始。

这一块记的是「积分累计到多少」 ​

改完参数重新下发、或设备重新上电,调节都从头开始 (实例标识与状态复位的通用规矩,见本页上方的「状态什么时候没」)。

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