4. 数据采集与接口配置

过程历史数据库(PHD)的价值,取决于它能否稳定、连续、按需地把现场数据“搬”进历史库。数据采集与接口配置就是这条数据链路的入口。入口配置不当,后续的趋势分析、批次追溯、报警统计都会失真。本节围绕接口类型选择、采集频率与死区、冗余与故障切换三个层面展开,并给出可参考的配置示例。

一、四类接口的定位与选择

PHD 常见的采集接口有四类,它们并非互相替代,而是按数据源特性分工。

OPC DA 基于 COM/DCOM,适合与 Windows 平台上的 DCS、PLC、SCADA 通信。它的特点是数据项(Item)按“标签+属性”寻址,支持订阅式回调,实时性好。但 DCOM 配置对防火墙和域环境敏感,跨网段部署容易出问题,且它只传当前值,不携带时间戳语义的强约束。

OPC UA 是面向服务的架构,内置安全通道、证书认证和地址空间模型,支持订阅与历史访问(HA)。它跨平台、可穿透防火墙,适合新建系统或需要与 MES、云平台对接的场景。UA 的节点 ID 比 DA 的 Item 更规范,但配置时要注意发布间隔(Publishing Interval)与采样间隔(Sampling Interval)是两个独立参数。

Modbus(RTU/TCP)是轻量级主从协议,适合电表、流量计、变频器等单机设备。它按寄存器地址寻址,需要人工维护“寄存器地址—工程值”的映射表。Modbus 没有时间戳,采集器只能以轮询时刻作为数据时间,因此对时序精度要求高的场合要谨慎。

DCS 专用接口(如横河 CENTUM 的 Exaopc、OPC 网关或直接 API)通常由 DCS 厂商提供,能访问 DCS 内部的趋势、报警和操作记录,数据质量标记(Quality)最完整,是 PHD 采集 DCS 数据的首选。它的代价是依赖厂商授权和版本匹配。

选择原则:DCS 内部数据优先用专用接口;跨平台、跨网段用 OPC UA;存量 Windows 系统用 OPC DA;单机仪表用 Modbus。同一套 PHD 可以同时运行多种接口,按数据源分组配置。

二、采集频率与死区设置

采集频率决定数据密度,死区决定数据“是否值得记”。两者配合,才能在存储成本和趋势保真之间取得平衡。

采集频率通常分三档:快速(1 s 以内)用于联锁、脉动流量、振动监测;常规(1~10 s)用于温度、压力、液位等过程量;慢速(30 s~5 min)用于能耗累计、环境参数。频率不是越高越好——1 s 采集 1000 个点,一天就是 8640 万条记录,会显著增加历史库负担。

死区(Deadband)是“变化超过阈值才记录”的过滤机制。以模拟量为例,若量程 0~100 ℃、死区设为 0.5%,则只有变化超过 0.5 ℃ 才写入新值。死区太小,噪声被大量记录;死区太大,缓慢趋势被抹平。工程上常按量程的 0.1%~1% 取值,并配合“最大静默时间”(如 5 min 强制存一次)防止长期无变化导致曲线断点。

下面这张图展示了从现场设备到 PHD 的采集链路,以及频率、死区、冗余在链路中的位置。

DCS 控制器 CENTUM VP PLC / SCADA Modbus TCP 智能仪表 电表/流量计 DCS 专用接口 Exaopc / API OPC DA / UA 订阅式采集 Modbus 驱动 轮询寄存器 采集引擎 采样周期 死区过滤 质量戳标记 时间戳对齐 冗余接口对 主/备心跳检测 故障自动切换 PHD 历史归档 压缩存储 趋势/追溯 切换 关键参数示例 采集频率:快速 1 s | 常规 5 s | 慢速 60 s 死区:量程 0.5%(如 0~100 ℃ → 0.5 ℃)| 最大静默 5 min 强制存点 冗余:主备接口心跳 3 s,连续 3 次超时判定故障,切换时间 < 10 s

三、冗余与故障切换

接口冗余的目标是:单点故障不中断数据采集。常见做法是配置一主一备两个采集实例,指向同一数据源或互为备份的通道。

心跳检测是切换的依据。主接口每隔固定周期(如 3 s)向采集引擎发送心跳,连续 3 次未收到即判定故障,备接口在 10 s 内接管。切换过程中,采集引擎会记录一个“数据缺口”标记,便于后续追溯时识别。若数据源本身支持双网口或双控制器,冗余接口可分别接入不同通道,避免共用交换机成为新的单点。

需要特别注意的是:冗余切换只保证“采集不中断”,不保证“数据不重复”。主备同时在线时,可能对同一标签产生两条时间戳接近的记录。PHD 通常按时间戳去重,配置时应确认去重策略,避免趋势出现毛刺。

四、配置示例:一个温度回路的采集参数

以某反应釜温度 TI-101 为例,量程 0~200 ℃,DCS 专用接口采集,要求趋势能反映 0.5 ℃ 的缓慢变化,同时避免噪声刷屏。

标签名:TI-101
数据源:DCS 专用接口(Exaopc)
采集频率:5 s
死区类型:绝对值
死区值:0.5 ℃(量程的 0.25%)
最大静默时间:300 s
质量戳:Good / Bad / Uncertain 三态
冗余:主接口 Node-A,备接口 Node-B
心跳周期:3 s
故障判定:连续 3 次心跳超时
切换时间目标:< 10 s

配置完成后,可通过以下方式验证:在 DCS 侧手动改变温度设定值,观察 PHD 趋势是否在 5 s 内出现台阶;将主接口网线拔除,观察备接口是否在 10 s 内接管,趋势是否出现断点;检查历史库中同一时间窗内是否存在重复记录。若趋势出现密集锯齿,说明死区偏小;若缓慢升温被记录成阶梯状,说明死区偏大或最大静默时间过长。

常见误区:把采集频率设得极高(如 100 ms)却未调整死区,导致历史库被噪声填满;或只配置主接口不做冗余,一旦 DCOM 认证过期或网卡故障,数据即中断且难以察觉。建议为每个接口配置独立的健康状态标签,纳入统一监控。

接口配置不是一次性的工作。装置改造、网络调整、DCS 版本升级都可能影响采集链路。建议将接口参数、冗余策略、切换记录纳入变更管理,并在每次变更后执行一次“拔线测试”,确认故障切换仍然有效。