3、数据记录概念:掌握数据记录的基本概念、数据类型(模拟量、数字量、字符串)、记录周期与触发方式(时间触发、事件触发)

工业人机界面(HMI)中的数据记录功能,本质上是将现场设备运行状态、工艺参数、操作行为与报警信息按照既定规则持久化存储的过程。它不仅是事后追溯的依据,更是设备健康管理、工艺优化与质量分析的数据基石。理解数据记录的概念,核心在于厘清三个维度:记录什么(数据类型)、何时记录(触发方式)、多久记录一次(记录周期)。这三者共同决定了数据资产的完整性与可用性。本章将系统拆解数据记录的基本概念,深入剖析模拟量、数字量与字符串三类数据的存储特性,并重点对比时间触发与事件触发两种机制的应用场景与配置逻辑。

HMI 数据记录核心概念关系图 数据源 PLC / 传感器 / 驱动器 数据类型 • 模拟量 (AI) : 温度/压力 • 数字量 (DI) : 启停/到位 • 字符串 (Str) : 批次号/配方 触发方式 • 时间触发: 周期采样 • 事件触发: 变化/报警 • 组合触发: 时间+事件 记录周期 秒级 / 分钟级 / 小时级 取决于工艺变化速率与存储容量 存储介质 SD卡 / USB / 数据库 FIFO 环形缓冲 关键设计原则: 1. 模拟量记录需关注量程、工程单位与死区设置,避免无效数据淹没存储空间。 2. 数字量记录建议采用“状态变化触发”,减少冗余记录,保留完整状态序列。 3. 字符串记录需注意编码格式(UTF-8/GB2312)与长度限制,防止存储异常。

3.1 数据记录的基本概念与架构定位

数据记录在HMI系统中承担着“黑匣子”与“生产日志”的双重角色。从系统架构看,它位于数据采集层与数据应用层之间:向上连接PLC、传感器等实时数据源,向下支撑报表生成、趋势分析、故障追溯等应用。一个完整的数据记录功能包含四个要素:数据源定义(采集哪些变量)、记录策略(何时采集、以什么频率采集)、存储管理(存储介质、容量规划、覆盖策略)以及数据导出(CSV、数据库或专用格式)。

在实际工程中,数据记录并非简单的“定时存盘”。它需要与HMI的扫描周期、通信负载、存储介质寿命进行平衡。例如,一个中型产线HMI可能连接200个模拟量变量和500个数字量变量,如果全部以100ms周期记录,每小时将产生约25万条记录,对SD卡寿命和CPU负载都是严峻考验。因此,记录策略的规划必须在项目设计阶段完成,而非等到调试阶段再临时配置。

核心原则:数据记录的价值密度比存储容量更重要。设计时应优先保证关键工艺参数与报警信息的完整性,而非追求“所有数据都存下来”。建议采用“分层记录”策略:核心参数高频记录,一般参数低频记录,辅助参数仅事件触发记录。

3.2 数据类型深度解析:模拟量、数字量与字符串

HMI数据记录面对的数据类型主要分为三大类,每类数据的存储方式、触发策略与处理逻辑均有显著差异。

3.2.1 模拟量数据(AI)

模拟量是连续变化的物理量,如温度、压力、流量、液位、电流等。在PLC内部,模拟量通常以16位或32位整数表示(原始值),HMI需要结合量程转换公式将其换算为工程值。记录模拟量时,必须同时保存原始值或工程值、时间戳和质量戳(如“正常”“超量程”“传感器故障”)。

模拟量记录的关键参数是死区(Deadband)设置。死区是指当变量变化幅度超过设定阈值时才触发记录。例如,某反应釜温度设定死区为±0.5℃,当温度从100.0℃变化到100.4℃时不记录,只有达到100.6℃或99.4℃时才记录。死区设置能有效过滤噪声信号,减少存储压力,但过大的死区会丢失真实工艺波动信息。

参数项 推荐配置 说明
采样周期 500ms ~ 5s 根据工艺变化速率调整,温度类可放慢,压力/流量类需加快
死区设置 量程的0.1% ~ 0.5% 过滤电气噪声与量化误差,避免无效记录
存储格式 Float (32位) 或 Int (16位) 浮点精度高但占用空间大,整数需配合缩放因子
质量戳 必须启用 区分“真实值”与“保持值/故障值”,防止误导分析

3.2.2 数字量数据(DI/DO)

数字量只有两种状态:0或1,对应开关、继电器、阀门的开闭状态。数字量记录的核心价值在于状态变化序列,而非连续状态本身。例如,记录电机“启动→运行→停止”的时间点,比每秒记录一次“运行中”更有意义。

数字量记录推荐采用变化触发模式:仅当状态发生翻转时写入一条记录,包含变量名、新状态、时间戳。这种方式将数据量压缩到极致,同时完整保留了设备动作时序。对于需要分析设备运行时长、启停次数的场景,变化触发记录是唯一合理的选择。

工程经验:对于数字量记录,建议同时记录“操作者”信息(如果HMI具备操作员登录功能)。例如,某台泵的启动记录应包含“操作员:张三,时间:2025-01-15 14:23:05”,这为后续责任追溯提供依据。

3.2.3 字符串数据(String)

字符串数据用于记录非数值信息,如批次号、配方名称、操作员姓名、报警文本、工艺备注等。字符串记录的挑战在于长度限制与编码兼容性。HMI内部字符串通常支持最大255字节(或更多),但存储到数据库或CSV文件时需注意字段宽度。

字符串记录通常与事件绑定,例如“批次开始”事件触发记录当前配方名称与操作员ID。在食品、制药等合规行业,字符串记录是审计追踪(Audit Trail)的重要组成部分,必须确保不可篡改且完整保存。

// 字符串记录典型配置示例(以西门子WinCC为例)
// 记录变量:Batch_ID (String[20]), Recipe_Name (String[30])
// 触发条件:数据块 DB100.DBX0.0 上升沿(批次开始)
// 记录内容:当前时间戳 + Batch_ID + Recipe_Name + Operator_ID
TagLoggingSet("Batch_ID", "DB100.DBW10", "String", 20);
TagLoggingSet("Recipe_Name", "DB100.DBW40", "String", 30);
TriggerSet("DB100.DBX0.0", "RisingEdge", "LogBatchStart");

3.3 记录周期与触发方式:时间触发与事件触发

记录周期与触发方式决定了数据记录的“节奏”。两者并非互斥,而是可以组合使用,形成灵活的记录策略。

3.3.1 时间触发(Time-based Trigger)

时间触发是按照固定时间间隔进行采样记录,是最基础的记录方式。其优点是数据连续、便于趋势分析;缺点是可能产生大量冗余数据,且无法保证捕捉到瞬间的异常事件。

时间触发的关键参数是采样周期。周期选择需遵循“香农采样定理”的工程化理解:采样频率应至少为信号最高有效频率的5~10倍。例如,某压力信号的有效波动频率约为0.2Hz(即5秒一个完整波动),则采样周期应设为1秒或更短。但实际项目中还需考虑存储容量限制,因此常采用“高频采集、低频存储”策略:HMI内部以100ms周期读取数据,但仅每5秒写入一条记录。

3.3.2 事件触发(Event-based Trigger)

事件触发是在特定条件满足时才执行记录,条件可以是:变量值越过阈值、数字量状态变化、报警产生/恢复、操作员动作、配方切换等。事件触发的优势是数据精炼、针对性强,能准确捕捉关键瞬间;缺点是可能遗漏未定义事件期间的缓慢变化。

事件触发需要定义三个要素:触发条件(如“温度>80℃”)、触发动作(记录哪些变量)、触发后处理(是否延迟记录、是否记录前后各N秒的数据)。高级HMI支持“事件前后记录”(Pre-trigger/Post-trigger),即在事件发生前5秒和后10秒内以高频记录,为事故分析提供完整上下文。

对比维度 时间触发 事件触发 组合触发
数据连续性 高,均匀采样 低,仅关键点 中,关键段加密
存储效率 低,冗余多 高,精炼 中
异常捕捉能力 弱,可能漏报 强,即时响应 强
典型应用 温度趋势、能耗统计 报警记录、操作审计 事故追忆、批次报告
配置复杂度 低 中 高

3.3.3 组合触发策略

实际工程中,最有效的方案是组合触发:对关键工艺参数采用“时间触发为主、事件触发加密”的策略。例如,某反应釜温度正常时每10秒记录一次,但当温度变化速率超过2℃/秒时,自动切换为每500ms记录一次,持续到温度稳定后恢复。这种策略既保证了趋势分析的连续性,又能在异常工况下提供高分辨率数据。

风险提示:组合触发策略会显著增加存储压力与CPU负载。在配置前必须评估HMI的硬件性能(CPU主频、内存、存储写入速度)。对于老旧HMI设备,过高的记录频率可能导致系统卡顿甚至死机。建议在项目调试阶段进行72小时连续运行测试,观察存储占用与系统响应时间。

3.4 实战场景:某注塑车间HMI数据记录方案设计

某注塑工厂有20台注塑机,每台配备独立HMI(型号:威纶通MT8150iE),需要设计数据记录方案以满足质量追溯与设备维护需求。

背景与约束:每台HMI配置4GB SD卡,PLC为西门子S7-1200,通信周期150ms。工艺要求:记录每模产品的关键参数(料温、模温、注射压力、保压时间),以及报警信息与操作员操作记录。工厂实行三班倒,每班8小时,每台机每天生产约800模。

初始目标:确保每模数据可追溯,报警记录完整保存至少30天,操作记录保存至少90天。

关键输入数据:每模需记录6个模拟量(4字节浮点)和8个数字量(1字节),加上时间戳(4字节)与批次号(20字节),单模记录约60字节。报警平均每天发生5次,每次记录前后各10秒数据(每秒10个变量,共200条记录)。操作记录每天约50条。

分析判断过程:

  1. 存储容量计算:每模60字节 × 800模 = 48KB/天;报警记录:5次 × 200条 × 60字节 = 60KB/天;操作记录:50条 × 100字节 = 5KB/天。合计约113KB/天。4GB SD卡可用空间约3.6GB,可存储约87天数据,满足30天报警与90天操作记录要求。
  2. 记录策略选择:模拟量采用“时间触发+死区”模式,采样周期5秒,死区设为量程的0.3%;数字量采用“变化触发”;报警采用“事件触发+前后记录”;操作记录采用“事件触发”。
  3. 通信负载评估:每5秒读取6个模拟量+8个数字量,加上报警触发的额外读取,总通信负载约为PLC扫描周期的8%,远低于30%的警戒线。

实际操作步骤:

1. 在HMI组态软件中定义数据记录组:
   - 组1:工艺参数(6个模拟量,时间触发,周期5s,死区0.3%)
   - 组2:设备状态(8个数字量,变化触发)
   - 组3:报警追忆(10个变量,事件触发,前后各10s,采样周期500ms)
   - 组4:操作审计(操作员+动作+时间,事件触发)

2. 配置存储管理:
   - 启用FIFO覆盖模式,当SD卡剩余空间低于100MB时自动删除最早记录
   - 设置每日归档文件,文件名格式:Machine01_20250115.csv

3. 编写报警触发脚本:
   - 当DB100.DBW0(报警字)任一位置1时,触发组3记录
   - 同时记录当前操作员信息与报警文本

结果对比:方案实施后,单台HMI日均存储量约120KB,SD卡可连续记录约80天。报警追忆数据完整还原了每次报警前10秒的工艺变化曲线,成功定位了3起质量缺陷的根本原因(保压压力波动)。操作审计记录发现某班次存在频繁修改配方参数的行为,为管理改进提供了依据。

风险与代价:初期配置时曾因死区设置过大(1%)导致温度微小波动未被记录,后调整为0.3%解决。另外,SD卡在高温车间环境下寿命缩短,建议选用工业级SD卡并每半年更换一次。

复盘经验:数据记录方案必须在工艺工程师与设备工程师共同参与下设计,明确“哪些数据真正需要追溯”。同时,建议在HMI上增加“记录状态指示灯”,当存储异常或SD卡剩余空间不足时提醒操作员。

3.5 常见误区与总结复盘

在数据记录功能实施过程中,工程师常陷入以下误区:

  • 误区一:追求全量记录。试图将所有变量以最高频率记录,导致存储快速耗尽、系统性能下降。正确做法是分层记录,区分关键参数与一般参数。
  • 误区二:忽视时间戳精度。多个HMI或PLC的时间不同步,导致记录数据无法进行跨设备关联分析。应启用NTP时间同步或GPS授时。
  • 误区三:死区设置“一刀切”。不同工艺参数的噪声水平差异很大,应分别设置死区。例如,振动信号的死区应大于温度信号。
  • 误区四:忽略存储介质寿命。频繁写入会缩短SD卡寿命,应选用高耐久度工业SD卡,并启用磨损均衡算法。
  • 误区五:未考虑数据导出格式兼容性。CSV文件虽然通用,但浮点数精度可能丢失;建议同时提供CSV与数据库导出选项。
总结复盘:数据记录设计的本质是“信息价值与存储成本的平衡”。一个优秀的数据记录方案应具备三个特征:目的明确(知道为什么记录)、策略精准(知道何时记录)、管理有序(知道如何存储与清理)。建议在项目启动阶段就完成数据记录需求规格书,明确数据类型、触发方式、存储周期与保留期限,并在调试阶段进行充分验证。

掌握数据记录的基本概念,是后续学习报表设计、趋势分析与报警管理的基础。下一阶段,我们将深入探讨数据记录在HMI中的具体配置方法,包括变量映射、存储组定义与导出接口实现。