主题
综合场景例程 4:新风机组(时段启停 + 送风 PI + 防冻 + 滤网堵塞)
这一页只讲这一个例程。母页 b-05-integrated-scenarios 里留着例程 1,其余例程各自一页、在那一页的目录里点。
场景:组合式空调机组的标准配置:按时间段自动启停、按送风温度调水阀、盘管防冻优先、滤网压差报警。
软元件
| 软元件 | 作用 |
|---|---|
M610 | 时段条件 |
M611 | 风机故障 |
X30 | 急停 |
M600 | 机组运行 |
D110 | 送风温度 |
D112 | 盘管温度(防冻探头) |
D640 | 滤网压差 |
D230 | 水阀开度 |
Y0 | 送风机 |
Y20 | 滤网堵塞报警 |
块图(照着拖即可)
对应的 ddc.json(点「生成 JSON」得到的就是它;也可存成 .ddc.json 导入)
json
{
"version": 1,
"name": "新风机组",
"scan_ms": 500,
"lines": [
{
"op": "assign",
"target": {"op":"ref","device":"M","addr":600},
"expr": {
"op": "rs",
"id": "rs_ahu",
"args": [
{"op":"ref","device":"M","addr":610},
{
"op": "or",
"args": [{"op":"ref","device":"M","addr":611},{"op":"ref","device":"X","addr":30}]
}
]
}
},
{
"op": "assign",
"target": {"op":"ref","device":"D","addr":210},
"expr": {
"op": "pi",
"id": "pi_ahu",
"args": [
{"op":"ref","device":"M","addr":600},
{"op":"const","value":1},
{"op":"ref","device":"D","addr":110},
{"op":"const","value":18},
{"op":"const","value":1},
{"op":"const","value":10},
{"op":"const","value":128}
]
}
},
{
"op": "assign",
"target": {"op":"ref","device":"M","addr":601},
"expr": {
"op": "cmp",
"cmp": "<=",
"args": [{"op":"ref","device":"D","addr":112},{"op":"const","value":5}]
}
},
{
"op": "if",
"cond": {
"op": "or",
"args": [
{"op":"ref","device":"M","addr":601},
{"op":"not","args":[{"op":"ref","device":"M","addr":600}]}
]
},
"then": [
{
"op": "assign",
"target": {"op":"ref","device":"D","addr":230},
"expr": {"op":"const","value":100}
}
],
"else": [
{
"op": "assign",
"target": {"op":"ref","device":"D","addr":230},
"expr": {
"op": "limit",
"args": [
{"op":"ref","device":"D","addr":210},
{"op":"const","value":10},
{"op":"const","value":90}
]
}
}
]
},
{
"op": "assign",
"target": {"op":"ref","device":"Y","addr":0},
"expr": {
"op": "and",
"args": [
{"op":"ref","device":"M","addr":600},
{"op":"not","args":[{"op":"ref","device":"M","addr":601}]}
]
}
},
{
"op": "assign",
"target": {"op":"ref","device":"Y","addr":20},
"expr": {
"op": "cmp",
"cmp": ">=",
"args": [{"op":"ref","device":"D","addr":640},{"op":"const","value":200}]
}
}
]
}要点
- 防冻优先于温度调节:用「如果」整段覆盖输出(水阀全开 + 停风机),而不是在 PI 里加条件——防冻是安全动作,不能被调节逻辑覆盖。
- 防冻的两个动作缺一不可:停风机 + 全开水阀。只做一个,盘管照样冻裂。
- 滤网压差是报警不是控制:提醒清洗即可,不要用它去停机组(会频繁误停)。
验证:M610 = 1 → M600 = 1、Y0 = 1;把 D112 写成 3 → D230 = 100、Y0 = 0、M601 = 1;D640 写 250 → Y20 = 1。
注意事项
- 只靠 PI 的使能做防冻:使能只停止调节,输出停在原值,阀可能是关的——冻裂风险就在这里。
- 冬夏共用一套参数:冬季要换成加热(正比例 = 0)并改设定值和防冻阈值。
- 时段条件或故障没并进停止孔:下班后机组还在跑,或故障时不停机。