4. 环氧树脂合成反应体系黏度在线监测方案配置
为什么黏度监测不能只靠“看一眼釜内状态”
环氧树脂合成进入后期时,分子链增长使体系黏度从数 Pa·s 快速爬升到数十甚至上百 Pa·s,且上升速率本身随转化率变化。仅靠定时取样或观察搅拌电流,无法捕捉“缓慢爬升—加速上升—突变”的连续过程。本例配置一套在线黏度监测方案:以在线黏度计为一次元件,通过 4–20 mA 或 Modbus 采集到监控系统,按固定周期计算滑动趋势斜率,并设置三级报警逻辑,使黏度突变在发生后的一个采样窗口内被识别。
监测点布置与信号链
黏度计安装位置直接决定测量代表性。推荐安装在反应釜循环回路(外循环泵出口)或釜侧下部,保证物料持续流经测量腔,避免死区滞留。信号链为:在线黏度计 → 变送器(4–20 mA / RS-485)→ PLC 或数据采集模块 → 上位监控(趋势、斜率、报警)。采样周期建议 5 s,趋势计算窗口取 12 个点(约 1 min),兼顾灵敏度与抗噪。
采集配置与趋势计算
以 4–20 mA 输出的黏度变送器为例,量程设为 0–200 Pa·s,对应 4 mA = 0 Pa·s、20 mA = 200 Pa·s。PLC 每 5 s 读取一次模拟量并换算为工程值,同时维护一个长度 12 的环形缓冲区,用最小二乘或首尾差分计算滑动斜率 k = (η_now − η_12ago) / Δt,单位 Pa·s/min。下面给出可直接移植到 PLC 结构化文本或上位脚本的核心逻辑(Python 示例,便于离线验证参数):
import collections
SAMPLE_S = 5 # 采样周期 s
WINDOW = 12 # 趋势窗口点数
RAW_MIN, RAW_MAX = 4.0, 20.0 # mA
ENG_MIN, ENG_MAX = 0.0, 200.0 # Pa·s
def ma_to_pas(ma):
return ENG_MIN + (ma - RAW_MIN) * (ENG_MAX - ENG_MIN) / (RAW_MAX - RAW_MIN)
buf = collections.deque(maxlen=WINDOW)
def update(ma_value, t_s):
eta = ma_to_pas(ma_value)
buf.append((t_s, eta))
if len(buf) < WINDOW:
return eta, None
t0, e0 = buf[0]
t1, e1 = buf[-1]
slope = (e1 - e0) / ((t1 - t0) / 60.0) # Pa·s/min
return eta, slope
# 报警判定(示例阈值,需按配方标定)
WARN_ABS, HIGH_ABS = 80.0, 120.0 # Pa·s
WARN_SLOPE, JUMP_SLOPE = 15.0, 40.0 # Pa·s/min
def judge(eta, slope):
if slope is None:
return "预热中"
if slope >= JUMP_SLOPE:
return "突变报警"
if eta >= HIGH_ABS:
return "高报"
if eta >= WARN_ABS or slope >= WARN_SLOPE:
return "预警"
return "正常"
关键点在于:绝对值报警负责“已经太高”,斜率报警负责“涨得太快”。两者组合才能区分正常后期爬升与异常突变(如局部凝胶、加料失控、测温失真导致的误判)。阈值必须按配方和批次历史数据标定,不能直接套用示例值。
报警分级与响应动作
| 级别 | 触发条件(示例) | 建议响应 |
|---|---|---|
| 预警 | η ≥ 80 Pa·s 或 斜率 ≥ 15 Pa·s/min | 加密趋势观察,核对温度与加料记录 |
| 高报 | η ≥ 120 Pa·s | 提示操作员准备降速或调整出料节奏 |
| 突变报警 | 斜率 ≥ 40 Pa·s/min(窗口内) | 声光报警,记录时间戳,必要时联锁降搅拌或停加料 |
验证与投用前检查
投用前做三项验证:① 用标准黏度液(如 10 Pa·s、50 Pa·s 硅油)核对 4–20 mA 换算误差,偏差应小于量程的 1%;② 人为在趋势中注入阶跃(如快速切换标准液),确认突变报警在一个窗口内触发并记录时间戳;③ 连续运行一个批次,导出趋势与实验室取样黏度对比,确认在线值与取样值趋势一致、无系统性滞后。只有三项通过,才可将报警投入联锁使用。