Files
MES/yawei-mes/.tasks/2025-09-23_LabVIEW数据上传接口规范文档.md
2026-04-02 10:39:03 +08:00

70 KiB
Raw Blame History

LabVIEW数据上传接口规范文档

1. 概述

本文档规定了LabVIEW系统向MES车间设备状态记录表直接写入数据的格式规范和技术要求。LabVIEW系统将通过数据库直连的方式将采集到的设备数据实时写入MES数据库中无需通过HTTP API接口。本文档详细说明了数据库表结构、数据格式、状态判断逻辑以及完整的开发指南。

1.1 系统架构

LabVIEW数据采集系统 ──直接数据库连接──→ MES数据库 ──实时读取──→ MES前端系统
                                           ↑
                              状态记录表 + 智能状态判断逻辑
                                           ↓
                          车间设备管理 → 点位管理 → 状态记录监控

关键特点

  • 🔗 直连模式LabVIEW直接向数据库写入数据无需API调用
  • 🧠 智能状态MES系统自动判断设备连接状态无连接检测
  • 📊 动态解析前端自动解析JSON数据生成动态表格列智能识别中文字段名
  • 实时显示数据写入后立即在MES前端显示
  • 🏭 工人友好:界面全中文显示,适合工厂现场使用

1.2 MES车间设备功能全流程

1.2.1 功能模块概览

功能模块 页面路径 主要功能 权限要求
车间设备管理 /equipment/workshop/index 设备CRUD、状态监控、自动刷新 equipment:workshop:*
点位管理 /equipment/workshop/point/index 点位配置、数据项管理 equipment:workshop:point:*
状态记录 /equipment/workshop/record/index 历史数据查看、动态列显示 equipment:workshop:record:*

1.2.2 完整使用流程

第一步:设备注册
┌─────────────────────────────────────────────┐
│ MES管理员在设备管理页面添加新设备            │
│ • 填写设备编号、名称、类型、工位             │
│ • 选择设备角色(采集/控制)                 │
│ • 设置状态为"启用"                         │
│ • 系统自动生成设备ID                       │
└─────────────────────────────────────────────┘
                        ↓
第二步:点位配置(可选)
┌─────────────────────────────────────────────┐
│ 如需按具体测量点管理数据:                   │
│ • 进入点位管理页面                         │
│ • 配置点位名称、类型、单位                 │
│ • 设置采集间隔和上传策略                   │
└─────────────────────────────────────────────┘
                        ↓
第三步LabVIEW配置
┌─────────────────────────────────────────────┐
│ LabVIEW开发人员配置数据上传               │
│ • 获取设备ID并配置数据库连接               │
│ • 按照键值对规范命名数据字段               │
│ • 实现定期数据上传                         │
└─────────────────────────────────────────────┘
                        ↓
第四步:数据监控
┌─────────────────────────────────────────────┐
│ 现场工人在状态记录页面查看:                 │
│ • 实时设备状态(运行/停机/故障/无连接)     │
│ • 历史数据趋势和统计                       │
│ • 动态生成的中文数据列                     │
└─────────────────────────────────────────────┘

1.2 📋 快速导航

您需要了解的内容 跳转到章节
🔍 键值对Key如何显示(重要) 第8章 键值对Key映射规则
🗃️ 数据库表结构和字段说明 第2章 数据库表结构
📝 数据格式JSON/键值对/嵌套) 第3章 数据格式规范
💻 LabVIEW程序架构和SQL模板 第4章 LabVIEW端开发指南
⚙️ MES系统配置步骤 第5章 MES系统端配置指南
🧪 测试用例和验收标准 第9章 联调测试和验收计划

2. 数据库表结构

2.1 目标表:dm_equipment_status_record_workshop(车间设备状态记录表)

这是存储所有设备运行数据的核心表,每条记录代表一次设备数据采集。

字段名 数据类型 说明 是否必填 示例值 备注
equipment_id bigint 设备ID关联设备主表 必填 5 需要提前在MES系统中注册设备
point_id bigint 点位ID具体测量点 可选 12NULL 如果是设备整体数据可为空
equipment_number varchar(64) 设备编号(设备唯一标识) 强烈推荐 "EQ001" 便于运维人员识别设备
equipment_name varchar(128) 设备名称(设备中文名称) 强烈推荐 "配料机1005" 便于现场操作人员识别
station_name varchar(128) 工位名称(设备所在位置) 强烈推荐 "配料工位1" 帮助定位设备物理位置
equipment_status int 设备运行状态代码 必填 0 / 1 / 2 表示设备当前运行状态,与设备基本状态分离
value varchar(512) 采集数据JSON或键值对格式 必填 见下方详细说明 存储实际的传感器数据
record_time datetime 数据记录时间 必填 "2025-01-15 14:30:25" 数据采集的准确时间戳
note text 备注信息 可选 "正常采集" 可记录异常情况或特殊说明

2.2 设备状态代码详细说明

重要提醒该状态代码是专门用于状态记录表的运行状态与设备管理中的基本状态启用0/停用1/故障2是分离的概念。

2.2.1 状态记录表专用代码

状态代码 中文含义 前端显示颜色 使用场景 何时使用
0 运行中 🟢 绿色 设备正常运行状态 设备正在生产、所有系统正常工作
1 停机 🔘 灰色 设备停止运行但无故障 计划停机、换班停机、等待原料等
2 故障 🔴 浅红色 设备发生故障需要维修 设备报警、传感器异常、机械故障等
3 无连接 🟡 浅黄色 设备失去通信连接 系统自动判断LabVIEW无需手动设置

2.2.2 无连接状态自动判断逻辑

关键说明3-无连接状态由MES系统自动判断LabVIEW 不需要 主动设置此状态。

自动判断规则

  • 如果最后一条记录的equipment_status = 0(运行中),且距离当前时间超过30分钟,系统自动判断为3-无连接
  • 如果最后一条记录的equipment_status = 1(停机),且距离当前时间超过3小时,系统自动判断为3-无连接

实现逻辑MES系统内部

// 获取设备最新状态记录
Date currentTime = new Date();
long timeDiffMinutes = (currentTime.getTime() - recordTime.getTime()) / (1000 * 60);

Integer finalStatus = originalStatus;
if (originalStatus == 0 && timeDiffMinutes >= 30) {
    finalStatus = 3; // 运行中超过30分钟 → 无连接
} else if (originalStatus == 1 && timeDiffMinutes >= 180) {
    finalStatus = 3; // 停机超过3小时 → 无连接
}

2.2.3 与设备基本状态的区别

  • 设备基本状态(设备管理页面):启用(0)/停用(1)/故障(2) - 控制设备是否可用
  • 运行状态代码(状态记录表):运行中(0)/停机(1)/故障(2)/无连接(3) - 记录设备实时运行状况

2.2.4 状态切换逻辑

正常运行流程:
0(运行中) ──计划停机──→ 1(停机) ──重新启动──→ 0(运行中)

故障处理流程:
0(运行中) ──发生故障──→ 2(故障) ──维修完成──→ 0(运行中)

无连接检测(自动):
0(运行中) ──30分钟无数据──→ 3(无连接)
1(停机)   ──3小时无数据───→ 3(无连接)

3. 数据格式规范

3.1 支持的数据格式3种方式任选其一

MES系统的前端解析器非常智能可以自动识别并解析以下3种数据格式

格式1标准JSON格式强烈推荐

这是最灵活、最易读的格式,适合复杂的设备数据。

{
  "temperature1": 25.5,
  "temperature2": 28.3,
  "pressure": 2.35,
  "current": 15.2,
  "voltage": 220.5,
  "speed": 1450,
  "weight": 1250.8,
  "alarm_status": 0,
  "flow_rate": 12.5
}

优点

  • 字段名直观,便于理解
  • 支持不同数据类型(数字、字符串、布尔值)
  • 前端会自动识别常用字段并生成中文列名
  • 扩展性强,容易添加新字段

格式2简化键值对格式

适合简单的数值型数据,节省存储空间。

"1:200,3:300,2:400,4:5"

说明

  • 格式:key:value,用逗号分隔多个数据点
  • 系统会自动将数字key转换为数据点X的格式显示

前端显示效果

输入格式 key值 前端显示列名 显示值 说明
"1:200" 1 数据点1 200.00 数字key自动转换
"3:25.5" 3 数据点3 25.50 支持小数
"temp:45.2" temp 温度 45.20°C 智能识别温度关键词
"press:2.5" press 压力 2.50bar 智能识别压力关键词
"motor_speed:1450" motor_speed 转速 1450rpm 智能识别转速关键词

关键词智能识别规则

  • 包含temperaturetemp → 显示为"温度"单位°C
  • 包含pressurepress → 显示为"压力"单位bar
  • 包含current → 显示为"电流"单位A
  • 包含voltage → 显示为"电压"单位V
  • 包含weight → 显示为"重量"单位kg
  • 包含speed → 显示为"转速"单位rpm
  • 包含level → 显示为"液位",单位%
  • 包含flow → 显示为"流量"
  • 包含status → 显示为"状态"
  • 包含alarm → 显示为"报警"
  • 其他情况 → 直接显示key值

适用场景传统PLC或简单传感器数据

💡 详细的Key映射规则请参考第8章 键值对Key映射规则详细说明

格式3嵌套JSON格式

适合复杂设备,可以按功能模块分组数据。

{
  "sensors": {
    "temp1": 25.5,
    "temp2": 28.3,
    "pressure1": 2.35
  },
  "motors": {
    "motor1_speed": 1450,
    "motor1_current": 15.2,
    "motor2_speed": 1200,
    "motor2_current": 12.8
  },
  "alarms": {
    "high_temp": false,
    "low_pressure": false,
    "overload": true
  }
}

优点

  • 数据结构清晰,按功能分组
  • 前端会自动扁平化处理,生成列名如:"传感器_温度1"、"电机_转速1"等
  • 适合大型复杂设备

3.2 智能字段识别和中文显示

MES系统前端具有强大的智能识别功能会自动将英文字段名转换为中文显示并智能推测单位。

支持的智能识别字段

英文关键词 自动识别为中文 推荐命名示例 系统自动推测单位 说明
temperature 温度 temperature1, temp_inlet, temp_outlet °C 温度相关传感器
pressure 压力 pressure1, press_main, hydraulic_pressure bar, MPa 压力传感器数据
current 电流 current1, motor_current, pump_current A 电流检测
voltage 电压 voltage1, main_voltage, control_voltage V 电压监测
weight 重量 weight1, total_weight, batch_weight kg, t 称重系统
speed 转速 speed1, motor_speed, fan_speed rpm 转速监测
flow 流量 flow1, water_flow, material_flow L/min, m³/h 流量计数据
level 液位 level1, tank_level, hopper_level m, mm, % 液位/料位传感器
force force1, clamp_force, press_force N, kN 力传感器
position 位置 position1, valve_position, cylinder_position mm, ° 位置传感器
frequency 频率 frequency1, motor_freq, vibration_freq Hz 频率检测
power 功率 power1, motor_power, heating_power kW, W 功率监测
energy 能耗 energy1, total_energy, daily_energy kWh 能耗统计
count 计数 count1, product_count, cycle_count 个, 次 计数器
time 时间 time1, cycle_time, process_time s, min 时间测量
status 状态 pump_status, valve_status, motor_status - 设备状态
alarm 报警 alarm1, high_temp_alarm, pressure_alarm - 报警信息

智能单位检测规则

系统会根据数值大小自动推测合适的单位:

// 温度类数据
temperature: 25.5     自动显示为 "25.50°C"
temp_inlet: 85.2      自动显示为 "85.20°C"

// 压力类数据  
pressure: 2.35        自动显示为 "2.35bar"
pressure: 0.25        自动显示为 "0.25MPa"

// 电流类数据
current: 15.2         自动显示为 "15.20A"
motor_current: 8.5    自动显示为 "8.50A"

// 重量类数据
weight: 1250.8        自动显示为 "1250.80kg"
weight: 15.2          自动显示为 "15.20kg"

// 转速类数据
speed: 1450           自动显示为 "1450rpm"
motor_speed: 2800     自动显示为 "2800rpm"

自定义字段命名建议

如果您的设备有特殊的测量点,建议按以下方式命名:

{
  "设备功能_测量类型_编号": 数值,
  "mixer_temperature_1": 45.2,      // 混合器温度1
  "conveyor_speed_main": 1200,      // 主输送带转速
  "tank_level_water": 85.5,         // 水箱液位
  "pump_pressure_inlet": 2.8,       // 泵入口压力
  "motor_current_drive": 12.3       // 驱动电机电流
}

4. LabVIEW端开发指南

4.1 前期准备工作

4.1.1 设备信息注册

在开始LabVIEW开发之前必须在MES系统中注册设备信息

  1. 登录MES系统管理后台

    • 访问车间设备管理页面
    • 点击"新增设备"按钮
  2. 填写设备基本信息

    设备编号EQ001必须唯一建议使用规范编号
    设备名称配料机1005便于现场识别
    设备类型:选择"采集终端"或"控制设备"
    工位选择:选择设备所在的具体工位
    状态:选择"启用"
    
  3. 获取设备ID

    • 保存后系统会自动分配设备ID5
    • 记录此IDLabVIEW程序中需要使用

4.1.2 LabVIEW配置文件设置

在LabVIEW项目中创建配置文件建议使用INI格式

[数据库连接配置]
ServerIP=192.168.1.100
ServerPort=3306
DatabaseName=mes_database
Username=labview_user
Password=your_password

[设备映射配置]
; 格式:设备编号=设备ID
EQ001=5
EQ002=6
EQ003=7

[设备详细信息]
; EQ001的详细信息
EQ001_Name=配料机1005
EQ001_Station=配料工位1
EQ001_Type=mixer

; EQ002的详细信息  
EQ002_Name=破碎机2001
EQ002_Station=破碎工位1
EQ002_Type=crusher

[采集参数配置]
; 数据采集间隔(秒)
SampleInterval=5
; 上传批次大小
BatchSize=10
; 连接超时时间(秒)
ConnectionTimeout=30

4.2 LabVIEW程序架构建议

4.2.1 推荐的程序结构

LabVIEW项目结构
├── Main.vi                 // 主程序
├── Config/
│   ├── LoadConfig.vi      // 读取配置文件
│   └── equipment.ini      // 设备配置文件
├── DataAcquisition/
│   ├── SensorRead.vi      // 传感器数据读取
│   ├── DataFormat.vi      // 数据格式化
│   └── StatusMonitor.vi   // 状态监控
├── Database/
│   ├── DBConnection.vi    // 数据库连接
│   ├── DataUpload.vi      // 数据上传
│   └── ErrorHandler.vi    // 错误处理
└── Utils/
    ├── TimeStamp.vi       // 时间戳生成
    ├── JSONFormat.vi      // JSON格式化
    └── StatusMap.vi       // 状态映射

4.2.2 核心VI功能说明

1. Main.vi主程序

  • 初始化系统配置
  • 启动数据采集循环
  • 错误处理和日志记录
  • 程序状态监控

2. SensorRead.vi传感器读取

  • 读取各种传感器数据
  • 数据有效性验证
  • 单位转换处理

3. DataFormat.vi数据格式化

  • 将原始数据转换为JSON格式
  • 字段命名标准化
  • 数据类型转换

4. DataUpload.vi数据上传

  • 连接MES数据库
  • 执行SQL插入操作
  • 上传结果确认

4.3 数据上传SQL模板

以下是标准的SQL插入语句模板可以在LabVIEW中使用

4.3.1 完整字段插入模板

-- 标准模板(推荐)
INSERT INTO dm_equipment_status_record_workshop (
    equipment_id,
    point_id,
    equipment_number,
    equipment_name,
    station_name,
    equipment_status,
    value,
    record_time,
    note,
    create_by,
    create_time
) VALUES (
    ?,                    -- 设备ID从配置文件读取
    NULL,                 -- 点位ID设备整体数据为NULL
    ?,                    -- 设备编号
    ?,                    -- 设备名称
    ?,                    -- 工位名称
    ?,                    -- 设备状态0/1/2不要设置3
    ?,                    -- JSON数据
    NOW(),                -- 记录时间(使用当前时间)
    '自动采集',            -- 备注
    'labview_system',     -- 创建者
    NOW()                 -- 创建时间
);

4.3.2 简化插入模板(必填字段)

-- 简化模板(仅必填字段)
INSERT INTO dm_equipment_status_record_workshop (
    equipment_id,
    equipment_status,
    value,
    record_time
) VALUES (?, ?, ?, NOW());

4.3.3 实际数据示例

-- 配料机正常运行数据
INSERT INTO dm_equipment_status_record_workshop (
    equipment_id,
    point_id,
    equipment_number,
    equipment_name,
    station_name,
    equipment_status,
    value,
    record_time,
    note,
    create_by,
    create_time
) VALUES (
    5,                    -- equipment_id
    NULL,                 -- point_id设备整体数据
    'EQ001',             -- equipment_number
    '配料机1005',         -- equipment_name
    '配料工位1',          -- station_name
    0,                   -- equipment_status运行中
    '{"temperature1":25.5,"pressure":2.35,"current":15.2,"weight":1250.8,"speed":1450}',
    NOW(),               -- record_time
    '正常运行',           -- note
    'labview_system',     -- create_by
    NOW()                -- create_time
);

-- 设备故障数据
INSERT INTO dm_equipment_status_record_workshop (
    equipment_id,
    equipment_number,
    equipment_name,
    station_name,
    equipment_status,
    value,
    record_time,
    note,
    create_by,
    create_time
) VALUES (
    5,                    -- equipment_id
    'EQ001',             -- equipment_number
    '配料机1005',         -- equipment_name
    '配料工位1',          -- station_name
    2,                   -- equipment_status故障
    '{"temperature1":85.2,"alarm_status":1,"fault_code":"OVERHEAT"}',
    NOW(),               -- record_time
    '高温故障',           -- note
    'labview_system',     -- create_by
    NOW()                -- create_time
);

4.3.4 LabVIEW中的参数化查询

LabVIEW Database Connectivity Toolkit 使用示例:

1. 连接字符串:
   "Driver={MySQL ODBC 8.0 Driver};Server=192.168.1.100;Database=mes_database;Uid=labview_user;Pwd=your_password;"

2. SQL语句
   "INSERT INTO dm_equipment_status_record_workshop (equipment_id, equipment_status, value, record_time) VALUES (?, ?, ?, NOW())"

3. 参数数组:
   - 参数15 (Integer)
   - 参数20 (Integer) 
   - 参数3JSON字符串 (String)

4.4 数据采集和上传策略

4.4.1 采集频率建议

根据不同类型的数据特点,建议采用不同的采集频率:

数据类型 建议采集频率 上传策略 说明
关键安全参数 1-2秒 实时上传 温度、压力等关键参数
设备运行参数 5-10秒 批量上传 电流、转速、功率等
生产统计数据 30秒-1分钟 定期上传 产量、能耗等统计数据
状态变更 状态变化时 立即上传 设备启停、故障报警
维护信息 1次/小时 定期上传 设备健康度、运行时长

4.4.2 批量上传机制

为了提高效率,建议使用批量上传:

-- 批量插入模板(一次插入多条记录)
INSERT INTO dm_equipment_status_record_workshop 
(equipment_id, equipment_number, equipment_name, station_name, equipment_status, value, record_time, note, create_by, create_time) VALUES 
(5, 'EQ001', '配料机1005', '配料工位1', 0, '{"temperature1":25.5,"pressure":2.35}', NOW(), '正常', 'labview_system', NOW()),
(5, 'EQ001', '配料机1005', '配料工位1', 0, '{"temperature1":25.8,"pressure":2.32}', NOW(), '正常', 'labview_system', NOW()),
(5, 'EQ001', '配料机1005', '配料工位1', 0, '{"temperature1":26.1,"pressure":2.38}', NOW(), '正常', 'labview_system', NOW());

4.4.3 键值对格式的实际应用示例

示例1传统PLC数据点

INSERT INTO dm_equipment_status_record_workshop 
(equipment_id, equipment_status, value, record_time) VALUES 
(5, 0, '1:200,2:300,3:25.5,4:1450', NOW());

前端显示效果

  • 列名:数据点1, 数据点2, 数据点3, 数据点4
  • 值:200.00, 300.00, 25.50, 1450.00

示例2带语义的键值对

INSERT INTO dm_equipment_status_record_workshop 
(equipment_id, equipment_status, value, record_time) VALUES 
(5, 0, 'temp:45.2,press:2.8,motor_speed:1450,tank_level:85', NOW());

前端显示效果

  • 列名:温度, 压力, 转速, 液位
  • 值:45.20°C, 2.80bar, 1450rpm, 85.00%

4.4.4 键值对Key映射速查表

基础物理参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
温度相关 temp, temperature1, temp_inlet 温度 °C temp:25.5 → 温度: 25.50°C
压力相关 press, pressure1, hydraulic_pressure 压力 bar/MPa press:2.35 → 压力: 2.35bar
电流相关 current, motor_current, amp 电流 A current:15.2 → 电流: 15.20A
电压相关 voltage, main_voltage, volt 电压 V voltage:220 → 电压: 220.00V
重量相关 weight, total_weight, load 重量 kg weight:1250 → 重量: 1250.00kg
转速相关 speed, motor_speed, rpm 转速 rpm motor_speed:1450 → 转速: 1450rpm
液位相关 level, tank_level, material_level 液位 % tank_level:85 → 液位: 85.00%
流量相关 flow, water_flow, flow_rate 流量 L/min flow:12.5 → 流量: 12.50
机械设备参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
振动相关 vibration, vib, oscillation 振动 mm/s vibration:2.5 → 振动: 2.50mm/s
位置相关 position, pos, displacement 位置 mm position:125.5 → 位置: 125.50mm
角度相关 angle, rotation, degree 角度 ° angle:45.2 → 角度: 45.20°
扭矩相关 torque, moment, twist 扭矩 N·m torque:350.8 → 扭矩: 350.80N·m
力相关 force, thrust, push_force N force:1250 → 力: 1250.00N
加速度相关 acceleration, accel, g_force 加速度 m/s² acceleration:9.8 → 加速度: 9.80m/s²
工艺过程参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
浓度相关 concentration, conc, strength 浓度 % concentration:15.5 → 浓度: 15.50%
pH值相关 ph, ph_value, acidity pH值 pH ph:7.2 → pH值: 7.20pH
粘度相关 viscosity, visc, thickness 粘度 cP viscosity:250.5 → 粘度: 250.50cP
密度相关 density, specific_gravity, sg 密度 kg/m³ density:1250.8 → 密度: 1250.80kg/m³
湿度相关 humidity, moisture, rh 湿度 %RH humidity:65.2 → 湿度: 65.20%RH
电导率相关 conductivity, conduct, resistance 电导率 µS/cm conductivity:1250 → 电导率: 1250.00µS/cm
环境监测参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
噪音相关 noise, sound, decibel 噪音 dB noise:65.5 → 噪音: 65.50dB
光照相关 light, illuminance, lux 光照 lux light:500 → 光照: 500.00lux
粉尘相关 dust, particle, pm25 粉尘 µg/m³ dust:35.2 → 粉尘: 35.20µg/m³
气体相关 gas, co2, oxygen 气体 ppm gas:400 → 气体: 400.00ppm
能耗与效率参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
功率相关 power, watt, kw 功率 kW power:15.5 → 功率: 15.50kW
能耗相关 energy, kwh, electricity 能耗 kWh energy:125.8 → 能耗: 125.80kWh
效率相关 efficiency, eff, performance 效率 % efficiency:85.2 → 效率: 85.20%
频率相关 frequency, freq, hz 频率 Hz frequency:50.0 → 频率: 50.00Hz
产能相关 capacity, output, throughput 产能 件/h capacity:120 → 产能: 120.00件/h
生产统计参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
计数相关 count, quantity, pieces 计数 count:1250 → 计数: 1250个
速率相关 rate, speed_production, velocity 速率 件/min rate:25.5 → 速率: 25.50件/min
周期时间相关 cycle_time, duration, period 周期时间 s cycle_time:45.2 → 周期时间: 45.20s
批次相关 batch, lot, group 批次 batch:12 → 批次: 12批
废料相关 waste, scrap, defect 废料 kg waste:2.5 → 废料: 2.50kg
良品率相关 yield, output_ratio, success_rate 良品率 % yield:98.5 → 良品率: 98.50%
设备健康与维护参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
磨损相关 wear, abrasion, erosion 磨损 % wear:15.2 → 磨损: 15.20%
寿命相关 lifetime, lifespan, remaining_life 寿命 h lifetime:8500 → 寿命: 8500.00h
可靠性相关 mttf, mtbf, reliability 可靠性 h mttf:2500 → 可靠性: 2500.00h
故障代码相关 fault_code, error_code, diagnostic 故障代码 - fault_code:E001 → 故障代码: E001
维护相关 maintenance, service, repair 维护 - maintenance:1 → 维护: 1
状态与报警参数
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
状态相关 status, state, condition 状态 - status:1 → 状态: 1
报警相关 alarm, alert, warning 报警 - alarm:0 → 报警: 0
启用相关 enable, disable, on_off 启用 - enable:1 → 启用: 1
就绪相关 ready, busy, idle 就绪 - ready:1 → 就绪: 1
急停相关 emergency, estop, safety 急停 - emergency:0 → 急停: 0
数字编号Key
您想监控的参数 建议使用的Key 系统显示名称 推荐单位 示例
传统PLC点位 1, 2, 3, 4... 数据点X 自动推测 1:200 → 数据点1: 200.00

4.4.3 错误处理和重试机制

错误处理流程:
1. 数据采集失败 → 记录错误日志 → 重试3次 → 跳过本次采集
2. 数据库连接失败 → 缓存数据到本地 → 定期重试连接
3. 上传失败 → 记录失败数据 → 重新上传最多重试5次
4. 网络中断 → 启用本地缓存模式 → 网络恢复后批量同步

5. MES系统端配置指南

5.1 设备基础信息配置

5.1.1 设备信息录入流程

在MES系统中需要按以下步骤配置设备信息

第一步:添加设备

  1. 登录MES系统管理后台
  2. 导航至:设备管理车间设备新增
  3. 填写以下必要信息:
字段名称 填写内容 说明 示例
设备编号 唯一标识符 与LabVIEW配置一致 EQ001
设备名称 中文名称 便于现场识别 配料机1005
设备类型 选择类型 根据实际功能选择 采集终端
工位 下拉选择 设备实际位置 配料工位1
设备角色 选择角色 collector采集/controller控制 collector
状态 启用状态 必须选择"启用" 启用

第二步:配置点位信息(可选) 如果需要按具体测量点分别管理数据:

  1. 进入:设备管理点位管理新增
  2. 关联刚创建的设备
  3. 配置点位详细信息:
点位字段 说明 示例
点位名称 测量点中文名称 温度传感器1
点位编码 英文标识(可选) temp_sensor_1
数值类型 选择数据类型 模拟量
单位 测量单位 °C
采集间隔 采集频率(秒) 5

5.1.2 权限配置

确保相关用户具有查看权限:

  1. 进入:系统管理用户管理角色管理
  2. 为相关角色分配以下权限:
    • equipment:workshop:list(设备列表查看)
    • equipment:workshop:query(设备信息查询)
    • equipment:workshop:record(状态记录查看)

5.2 前端显示效果预览

5.2.1 设备列表页面显示

配置完成后,车间设备主页将显示设备卡片:

┌─────────────────────────────────┐
│  配料机1005 (EQ001)              │
│  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  │
│  工位: 配料工位1                 │
│  类型: 采集终端                  │  
│  状态: [启用] 🟢                │
│  模拟量: 5个   数字量: 3个       │
│  ─────────────────────────────── │
│  [点位管理] [状态记录]           │
└─────────────────────────────────┘

5.2.2 状态记录页面动态列显示

系统会根据上传的JSON数据自动生成动态列

设备信息 点位信息 设备状态 温度1 温度2 压力 电流 重量 转速 记录时间
配料机1005
EQ001
工位: 配料工位1
设备整体 🟢 运行中 25.50°C 28.30°C 2.35bar 15.20A 1250.80kg 1450rpm 2025-01-15 14:30:25
配料机1005
EQ001
工位: 配料工位1
设备整体 🟢 运行中 26.20°C 29.10°C 2.41bar 15.80A 1248.30kg 1455rpm 2025-01-15 14:30:35

显示特点

  • 设备信息:自动显示设备名称、编号、工位
  • 状态显示A=🟢运行中B=🟠停机C=🔴故障D=🔵维修
  • 动态列根据JSON字段自动生成列
  • 智能单位:自动识别并显示合适的单位
  • 缺失数据:某个设备没有的字段显示"-"

5.2.3 数据详情弹窗

点击任意记录可查看详细信息:

┌─────────── 设备状态详情 ───────────┐
│  设备: 配料机1005 (EQ001)         │
│  状态: 🟢 运行中                  │
│  时间: 2025-01-15 14:30:25       │
│  ─────────────────────────────── │
│  📊 采集数据:                    │
│  ┌─────────────────────────────┐ │
│  │ {                           │ │
│  │   "temperature1": 25.5,     │ │  
│  │   "temperature2": 28.3,     │ │
│  │   "pressure": 2.35,         │ │
│  │   "current": 15.2,          │ │
│  │   "weight": 1250.8,         │ │
│  │   "speed": 1450             │ │
│  │ }                           │ │
│  └─────────────────────────────┘ │
│                                 │
│  [显示原始数据] [关闭]           │
└─────────────────────────────────┘

6. 数据验证和错误处理指南

6.1 必须遵守的数据验证规则

6.1.1 必填字段验证

上传数据前,请确保以下字段符合要求:

字段名 验证规则 错误后果 解决方法
equipment_id 必须是有效的数字,且在设备表中存在 数据插入失败 检查设备是否已在MES中注册
equipment_status 只能是 A、B、C、D 之一 状态显示异常 使用标准状态代码
value 不能为空字符串或NULL 无法生成动态列 至少传输一个有效数据
record_time 必须是有效的日期时间格式 时间显示错误 使用 YYYY-MM-DD HH:mm:ss 格式

6.1.2 数据格式验证

JSON格式检查

# 示例验证代码Python伪代码
import json

def validate_json_data(value_string):
    try:
        # 尝试解析JSON
        data = json.loads(value_string)
        
        # 检查数据类型
        if not isinstance(data, dict):
            return False, "JSON必须是对象格式"
            
        # 检查字段值
        for key, val in data.items():
            if not isinstance(val, (int, float, str, bool)):
                return False, f"字段{key}的值类型不支持"
                
        return True, "验证通过"
        
    except json.JSONDecodeError as e:
        return False, f"JSON格式错误: {e}"

键值对格式检查

def validate_keyvalue_data(value_string):
    try:
        # 检查格式:数字:数字,数字:数字
        pairs = value_string.split(',')
        for pair in pairs:
            if ':' not in pair:
                return False, "缺少冒号分隔符"
            key, value = pair.split(':')
            if not key.strip().isdigit():
                return False, "键必须是数字"
            float(value.strip())  # 检查值是否为数字
        return True, "验证通过"
    except ValueError as e:
        return False, f"数值格式错误: {e}"

6.2 完整的错误处理体系

6.2.1 创建错误记录表

为了更好地监控和调试,建议创建专门的错误记录表:

-- 创建错误记录表
CREATE TABLE labview_upload_errors (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    equipment_number VARCHAR(64) COMMENT '设备编号',
    equipment_name VARCHAR(128) COMMENT '设备名称',
    error_type VARCHAR(32) COMMENT '错误类型VALIDATION/CONNECTION/FORMAT/OTHER',
    error_message TEXT COMMENT '详细错误信息',
    original_data TEXT COMMENT '原始数据(用于问题排查)',
    error_time DATETIME DEFAULT NOW() COMMENT '发生时间',
    retry_count INT DEFAULT 0 COMMENT '重试次数',
    is_resolved TINYINT(1) DEFAULT 0 COMMENT '是否已解决',
    resolved_time DATETIME COMMENT '解决时间',
    INDEX idx_equipment_error_time (equipment_number, error_time),
    INDEX idx_error_type (error_type)
) COMMENT='LabVIEW上传错误记录表';

6.2.2 常见错误类型和解决方案

错误类型 错误信息示例 可能原因 解决方案
数据库连接 Connection refused 网络问题、服务器停机 检查网络连接,确认数据库服务状态
权限错误 Access denied for user 数据库用户权限不足 联系管理员分配正确的数据库权限
字段不存在 Unknown column 'xxx' 数据库表结构与程序不匹配 更新数据库表结构或修改程序
数据过长 Data too long for column 字符串超过字段长度限制 截断数据或扩大字段长度
JSON格式错误 Invalid JSON format JSON语法错误 检查JSON格式确保语法正确
设备不存在 Equipment ID not found 设备未在MES中注册 先在MES中添加设备信息
状态码无效 Invalid status code 使用了非标准状态码 仅使用A、B、C、D状态码

6.2.3 LabVIEW端错误处理代码示例

LabVIEW错误处理流程
┌─────────────────┐
│   数据采集      │
└─────┬───────────┘
      │
      ▼
┌─────────────────┐
│   数据验证      │ ── 验证失败 ──→ ┌─────────────────┐
└─────┬───────────┘                │   记录错误日志   │
      │                           └─────────────────┘
      ▼ 验证通过
┌─────────────────┐
│   数据库连接    │ ── 连接失败 ──→ ┌─────────────────┐
└─────┬───────────┘                │   启用缓存模式   │
      │                           └─────────────────┘
      ▼ 连接成功
┌─────────────────┐
│   执行INSERT    │ ── 执行失败 ──→ ┌─────────────────┐
└─────┬───────────┘                │   重试机制      │
      │                           └─────────────────┘
      ▼ 成功
┌─────────────────┐
│   确认上传      │
└─────────────────┘

7. 完整测试用例和示例数据

7.1 标准测试用例

7.1.1 配料机完整测试数据

-- 测试用例1标准JSON格式数据
INSERT INTO dm_equipment_status_record_workshop VALUES 
(NULL, 5, NULL, 'EQ001', '配料机1005', '配料工位1', 'A', 
 '{"temperature1":25.5,"temperature2":28.3,"pressure":2.35,"current":15.2,"weight":1250.8,"speed":1450,"flow_rate":12.5,"alarm_status":0}', 
 '2025-01-15 14:30:25', '正常运行', 'labview_system', NOW(), NULL, NULL),

-- 测试用例2设备状态变化数据
(NULL, 5, NULL, 'EQ001', '配料机1005', '配料工位1', 'C', 
 '{"temperature1":85.2,"temperature2":87.3,"pressure":0.15,"current":0,"weight":1248.3,"speed":0,"alarm_status":1,"fault_code":"OVERHEAT"}', 
 '2025-01-15 14:32:15', '高温故障', 'labview_system', NOW(), NULL, NULL),

-- 测试用例3维修状态数据
(NULL, 5, NULL, 'EQ001', '配料机1005', '配料工位1', 'D', 
 '{"maintenance_type":"preventive","technician":"张工","start_time":"2025-01-15 15:00:00","estimated_duration":120}', 
 '2025-01-15 15:00:00', '计划维护', 'maintenance_system', NOW(), NULL, NULL);

7.1.2 简化格式测试数据

-- 测试用例4简化键值对格式
INSERT INTO dm_equipment_status_record_workshop VALUES 
(NULL, 6, NULL, 'EQ002', '破碎机2001', '破碎工位1', 'A', 
 '1:200,2:300,3:400,4:5,5:1450,6:15.2', 
 '2025-01-15 14:31:00', '数据点采集', 'labview_system', NOW(), NULL, NULL),

-- 测试用例5嵌套JSON格式
(NULL, 7, NULL, 'EQ003', '包装机3001', '包装工位1', 'A', 
 '{"sensors":{"temp1":45.2,"temp2":47.8,"humidity":65},"motors":{"motor1_speed":1200,"motor1_current":8.5},"counters":{"total_packages":1250,"current_batch":125}}', 
 '2025-01-15 14:32:00', '正常生产', 'labview_system', NOW(), NULL, NULL);

7.2 边界和异常测试用例

-- 测试用例6空数据处理
INSERT INTO dm_equipment_status_record_workshop VALUES 
(NULL, 5, NULL, 'EQ001', '配料机1005', '配料工位1', 'B', 
 '{"status":"idle","message":"waiting_for_material"}', 
 '2025-01-15 14:35:00', '等待原料', 'labview_system', NOW(), NULL, NULL),

-- 测试用例7大数值测试
INSERT INTO dm_equipment_status_record_workshop VALUES 
(NULL, 5, NULL, 'EQ001', '配料机1005', '配料工位1', 'A', 
 '{"total_production":999999.99,"energy_consumption":123456.78,"operating_hours":87654.32}', 
 '2025-01-15 14:36:00', '累计数据', 'labview_system', NOW(), NULL, NULL);

8. LabVIEW键值对改写完整指导

8.1 🔄 键值对改写原则

LabVIEW开发人员应该根据以下原则来命名数据字段确保前端能正确识别并显示为合适的中文名称

8.1.1 命名原则优先级

  1. 工厂工人友好性:优先考虑现场工人能否理解
  2. 系统智能识别:使用系统预定义的关键词
  3. 描述性清晰:字段名要能明确表达测量内容
  4. 一致性标准:同类设备使用相同的命名规范

8.1.2 推荐的命名格式

格式:[设备部件]_[测量类型]_[编号/位置]

优秀示例:
- motor_temp_bearing1     → 电机轴承1温度
- pump_pressure_outlet    → 泵出口压力
- tank_level_water       → 水罐液位
- conveyor_speed_main    → 主输送带转速
- mixer_current_drive    → 混合器驱动电流

8.2 🔧 LabVIEW实际改写案例

8.2.1 改写前后对比

改写前(不好的命名) 改写后(推荐命名) 前端显示效果 说明
AI_001 motor_temp 电机温度 使用语义化命名
DO_002 pump_status 泵状态 明确设备和参数类型
temp1, temp2 inlet_temp, outlet_temp 进口温度, 出口温度 区分不同位置的温度
pressure hydraulic_pressure 液压压力 明确压力类型
speed motor_speed, fan_speed 电机转速, 风扇转速 区分不同设备的转速
value1, value2 flow_rate, tank_level 流量, 罐液位 使用具体的测量参数名

8.2.2 完整的设备改写示例

配料机设备改写示例:

// 改写前传统PLC风格命名
{
  "AI001": 45.2,
  "AI002": 48.5,
  "AI003": 2.35,
  "AI004": 15.2,
  "DI001": 1,
  "DI002": 0
}

// 改写后:智能识别命名
{
  "motor_temp": 45.2,
  "bearing_temp": 48.5,
  "hydraulic_pressure": 2.35,
  "motor_current": 15.2,
  "pump_status": 1,
  "emergency_stop": 0
}

前端显示效果对比:

改写前显示 改写后显示
AI001: 45.20 电机温度: 45.20°C
AI002: 48.50 轴承温度: 48.50°C
AI003: 2.35 液压压力: 2.35bar
AI004: 15.20 电机电流: 15.20A
DI001: 1 泵状态: 1
DI002: 0 急停: 0

8.3 🏭 按设备类型的改写指导

8.3.1 配料机设备

{
  "motor_temp": 65.5,           // 电机温度
  "bearing1_temp": 55.2,        // 轴承1温度  
  "bearing2_temp": 58.3,        // 轴承2温度
  "gearbox_temp": 48.5,         // 减速器温度
  "hydraulic_pressure": 2.35,   // 液压压力
  "motor_current": 15.2,        // 电机电流
  "motor_voltage": 220,         // 电机电压
  "mixer_speed": 1450,          // 搅拌转速
  "material_weight": 1250.8,    // 物料重量
  "tank_level": 85.2,           // 料罐液位
  "conveyor_speed": 120,        // 输送带转速
  "vibration_alarm": 0,         // 振动报警
  "emergency_stop": 0           // 急停状态
}

8.3.2 泵类设备

{
  "pump_pressure_inlet": 1.8,   // 泵进口压力
  "pump_pressure_outlet": 4.2,  // 泵出口压力
  "motor_temp": 62.3,           // 电机温度
  "pump_temp": 45.8,            // 泵体温度
  "motor_current": 18.5,        // 电机电流
  "pump_speed": 2850,           // 泵转速
  "flow_rate": 25.6,            // 流量
  "vibration": 2.1,             // 振动值
  "seal_pressure": 0.5,         // 密封压力
  "cooling_temp": 35.2,         // 冷却水温度
  "run_status": 1,              // 运行状态
  "fault_alarm": 0              // 故障报警
}

8.3.3 风机设备

{
  "motor_temp": 58.7,           // 电机温度
  "bearing_temp_front": 52.3,   // 前轴承温度
  "bearing_temp_rear": 54.1,    // 后轴承温度
  "motor_current": 22.8,        // 电机电流
  "fan_speed": 1425,            // 风机转速
  "air_pressure": 1.2,          // 风压
  "air_flow": 850,              // 风量
  "vibration_x": 1.8,           // X轴振动
  "vibration_y": 2.1,           // Y轴振动
  "noise_level": 68.5,          // 噪音水平
  "filter_pressure": 0.05,      // 过滤器压差
  "damper_position": 75         // 风门开度
}

8.4 📝 LabVIEW代码实现指导

8.4.1 JSON字符串构建

// LabVIEW中构建JSON字符串的推荐方式
String concatenation method:

motor_temp_str = Format Into String("%.2f", motor_temp_value)
bearing_temp_str = Format Into String("%.2f", bearing_temp_value)
pressure_str = Format Into String("%.2f", pressure_value)

json_string = "{" +
              "\"motor_temp\":" + motor_temp_str + "," +
              "\"bearing_temp\":" + bearing_temp_str + "," +
              "\"hydraulic_pressure\":" + pressure_str + "," +
              "\"motor_current\":" + current_str + "," +
              "\"pump_status\":" + status_str +
              "}"

8.4.2 数据库插入代码模板

-- LabVIEW数据库插入的标准SQL模板
INSERT INTO dm_equipment_status_record_workshop (
    equipment_id,
    equipment_number,
    equipment_name,
    station_name,
    equipment_status,
    value,
    record_time,
    note,
    create_by,
    create_time
) VALUES (
    5,                    -- 设备ID从MES系统获取
    'EQ001',             -- 设备编号
    '配料机1005',         -- 设备名称
    '配料工位1',          -- 工位名称
    0,                   -- 设备状态0-运行中)
    ?,                   -- JSON数据参数化查询
    NOW(),               -- 记录时间
    '自动采集',           -- 备注
    'labview_system',     -- 创建者
    NOW()                -- 创建时间
);

8.4.3 键值对格式实现

// 如果使用简单的键值对格式
key_value_string = "motor_temp:" + motor_temp_str + "," +
                   "bearing_temp:" + bearing_temp_str + "," +
                   "hydraulic_pressure:" + pressure_str + "," +
                   "motor_current:" + current_str + "," +
                   "pump_status:" + status_str

// 前端显示效果:
// 电机温度: 65.50°C
// 轴承温度: 55.20°C  
// 液压压力: 2.35bar
// 电机电流: 15.20A
// 泵状态: 1

9. 键值对Key映射规则详细说明

9.1 🔧 智能识别关键词

当key中包含以下关键词时系统会自动识别并显示对应的中文名称

9.1.1 基础物理参数

输入Key 系统识别为 前端显示列名 自动单位 示例
temp, temperature, temperature1 温度 温度 °C temp:25.5温度: 25.50°C
press, pressure, pressure1, hydraulic_pressure 压力 压力 bar press:2.35压力: 2.35bar
current, motor_current, amp, amperage 电流 电流 A current:15.2电流: 15.20A
voltage, main_voltage, volt, v_supply 电压 电压 V voltage:220电压: 220.00V
weight, total_weight, mass, load 重量 重量 kg weight:1250重量: 1250.00kg
speed, motor_speed, rpm, revolution 转速 转速 rpm motor_speed:1450转速: 1450rpm
level, tank_level, liquid_level, material_level 液位 液位 % tank_level:85液位: 85.00%
flow, water_flow, flow_rate, flowmeter 流量 流量 L/min flow:12.5流量: 12.50

9.1.2 机械设备参数

输入Key 系统识别为 前端显示列名 自动单位 示例
vibration, vib, oscillation, shake 振动 振动 mm/s vibration:2.5振动: 2.50mm/s
position, pos, displacement, distance 位置 位置 mm position:125.5位置: 125.50mm
angle, rotation, degree, angular 角度 角度 ° angle:45.2角度: 45.20°
torque, moment, twist, rotation_force 扭矩 扭矩 N·m torque:350.8扭矩: 350.80N·m
force, thrust, push_force, pull_force N force:1250力: 1250.00N
acceleration, accel, g_force, shock 加速度 加速度 m/s² acceleration:9.8加速度: 9.80m/s²

9.1.3 工艺过程参数

输入Key 系统识别为 前端显示列名 自动单位 示例
concentration, conc, density_ratio, strength 浓度 浓度 % concentration:15.5浓度: 15.50%
ph, ph_value, acidity, alkalinity pH值 pH值 pH ph:7.2pH值: 7.20pH
viscosity, visc, thickness, consistency 粘度 粘度 cP viscosity:250.5粘度: 250.50cP
density, specific_gravity, sg, bulk_density 密度 密度 kg/m³ density:1250.8密度: 1250.80kg/m³
humidity, moisture, water_content, rh 湿度 湿度 %RH humidity:65.2湿度: 65.20%RH
conductivity, conduct, resistance, impedance 电导率 电导率 µS/cm conductivity:1250电导率: 1250.00µS/cm

9.1.4 环境监测参数

输入Key 系统识别为 前端显示列名 自动单位 示例
noise, sound, decibel, acoustic 噪音 噪音 dB noise:65.5噪音: 65.50dB
light, illuminance, brightness, lux 光照 光照 lux light:500光照: 500.00lux
dust, particle, pm25, pollution 粉尘 粉尘 µg/m³ dust:35.2粉尘: 35.20µg/m³
gas, co2, oxygen, o2, emission 气体 气体 ppm gas:400气体: 400.00ppm
radiation, radioactivity, dose, exposure 辐射 辐射 mSv radiation:0.05辐射: 0.05mSv

9.1.5 能耗与效率参数

输入Key 系统识别为 前端显示列名 自动单位 示例
power, watt, consumption, kw 功率 功率 kW power:15.5功率: 15.50kW
energy, kwh, electricity, consumption_total 能耗 能耗 kWh energy:125.8能耗: 125.80kWh
efficiency, eff, performance, utilization 效率 效率 % efficiency:85.2效率: 85.20%
frequency, freq, hz, cycles 频率 频率 Hz frequency:50.0频率: 50.00Hz
capacity, output, throughput, production_rate 产能 产能 件/h capacity:120产能: 120.00件/h

9.1.6 生产统计参数

输入Key 系统识别为 前端显示列名 自动单位 示例
count, quantity, pieces, total_count 计数 计数 count:1250计数: 1250个
rate, speed_production, velocity, pace 速率 速率 件/min rate:25.5速率: 25.50件/min
cycle_time, duration, period, interval 周期时间 周期时间 s cycle_time:45.2周期时间: 45.20s
batch, lot, group, batch_size 批次 批次 batch:12批次: 12批
waste, scrap, defect, reject 废料 废料 kg waste:2.5废料: 2.50kg
yield, output_ratio, success_rate, pass_rate 良品率 良品率 % yield:98.5良品率: 98.50%

9.1.7 设备健康与维护参数

输入Key 系统识别为 前端显示列名 自动单位 示例
wear, abrasion, erosion, degradation 磨损 磨损 % wear:15.2磨损: 15.20%
lifetime, lifespan, remaining_life, hours 寿命 寿命 h lifetime:8500寿命: 8500.00h
mttf, mtbf, reliability, uptime 可靠性 可靠性 h mttf:2500可靠性: 2500.00h
fault_code, error_code, diagnostic, trouble 故障代码 故障代码 - fault_code:E001故障代码: E001
maintenance, service, repair, check 维护 维护 - maintenance:1维护: 1

9.1.8 状态与报警参数

输入Key 系统识别为 前端显示列名 自动单位 示例
status, state, condition, mode 状态 状态 - status:1状态: 1
alarm, alert, warning, fault 报警 报警 - alarm:0报警: 0
enable, disable, on_off, switch 启用 启用 - enable:1启用: 1
ready, busy, idle, working 就绪 就绪 - ready:1就绪: 1
emergency, estop, safety, interlock 急停 急停 - emergency:0急停: 0

9.2 🔢 数字Key处理

输入Key 前端显示列名 示例
1 数据点1 1:200数据点1: 200.00
2 数据点2 2:300数据点2: 300.00
100 数据点100 100:45.5数据点100: 45.50

9.3 📝 其他Key处理

如果key不包含任何识别关键词系统会直接显示key值作为列名

输入Key 前端显示列名 示例
xyz xyz xyz:123xyz: 123.00
custom_data custom_data custom_data:456custom_data: 456.00

9.4 💡 最佳实践建议

推荐命名格式设备功能_测量类型_编号

优秀示例:
- mixer_temperature_1    → 温度: XX.XX°C
- pump_pressure_inlet    → 压力: XX.XXbar  
- motor_current_drive    → 电流: XX.XXA
- tank_level_water      → 液位: XX.XX%
- conveyor_speed_main   → 转速: XX.XXrpm

避免的命名方式

  • 纯数字除非是传统PLC点位123:value
  • 无意义缩写:abc:valuexyz:value
  • 中文key系统支持但不推荐

9.5 🏭 行业专用关键词扩展

9.5.1 化工行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
catalyst, cat_activity, catalyst_temp 催化剂 催化剂 % catalyst:95.2催化剂: 95.20%
reaction_temp, reactor_temp, furnace_temp 反应温度 反应温度 °C reaction_temp:450反应温度: 450.00°C
distillation, column_temp, reflux_ratio 蒸馏 蒸馏 - reflux_ratio:3.5蒸馏: 3.50
crystallization, crystal_size, purity 结晶 结晶 % purity:99.8结晶: 99.80%
polymerization, molecular_weight, conversion 聚合 聚合 % conversion:85.5聚合: 85.50%

9.5.2 食品行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
baking_temp, oven_temp, cooking_temp 烘烤温度 烘烤温度 °C baking_temp:180烘烤温度: 180.00°C
fermentation, yeast_activity, ph_ferment 发酵 发酵 pH ph_ferment:4.2发酵: 4.20pH
sterilization, pasteur_temp, sterile_time 杀菌 杀菌 °C pasteur_temp:72杀菌: 72.00°C
packaging, seal_pressure, vacuum_level 包装 包装 kPa vacuum_level:85包装: 85.00kPa
shelf_life, expiry, freshness 保质期 保质期 shelf_life:30保质期: 30.00天

9.5.3 纺织行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
tension, yarn_tension, fabric_tension 张力 张力 N yarn_tension:15.5张力: 15.50N
weaving, warp_speed, weft_speed 织造 织造 m/min warp_speed:120织造: 120.00m/min
dyeing, dye_concentration, color_depth 染色 染色 % dye_concentration:2.5染色: 2.50%
finishing, resin_content, shrinkage 整理 整理 % shrinkage:3.2整理: 3.20%
quality_grade, fabric_defect, gsm 质量等级 质量等级 g/m² gsm:180质量等级: 180.00g/m²

9.5.4 制药行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
api_content, active_ingredient, assay 活性成分 活性成分 % api_content:98.5活性成分: 98.50%
tablet_weight, capsule_weight, uniformity 片重 片重 mg tablet_weight:250片重: 250.00mg
dissolution, release_rate, bioavailability 溶出度 溶出度 % dissolution:95.2溶出度: 95.20%
sterility, bioburden, endotoxin 无菌 无菌 CFU/ml bioburden:10无菌: 10.00CFU/ml
stability, degradation, shelf_study 稳定性 稳定性 % degradation:0.5稳定性: 0.50%

9.5.5 金属加工行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
cutting_speed, spindle_speed, feed_rate 切削速度 切削速度 m/min cutting_speed:150切削速度: 150.00m/min
tool_wear, cutting_force, surface_finish 刀具磨损 刀具磨损 µm tool_wear:50.5刀具磨损: 50.50µm
hardness, tensile_strength, yield_strength 硬度 硬度 HRC hardness:45硬度: 45.00HRC
heat_treatment, quench_temp, tempering_temp 热处理 热处理 °C quench_temp:850热处理: 850.00°C
coating, plating_thickness, corrosion_rate 涂层 涂层 µm plating_thickness:25涂层: 25.00µm

9.5.6 塑料行业专用参数

输入Key 系统识别为 前端显示列名 自动单位 示例
melt_temp, barrel_temp, nozzle_temp 熔融温度 熔融温度 °C melt_temp:230熔融温度: 230.00°C
injection_pressure, hold_pressure, back_pressure 注射压力 注射压力 MPa injection_pressure:80注射压力: 80.00MPa
mold_temp, cooling_time, cycle_time_injection 模具温度 模具温度 °C mold_temp:60模具温度: 60.00°C
shrinkage_rate, warpage, flash 收缩率 收缩率 % shrinkage_rate:1.2收缩率: 1.20%
mfi, melt_flow_index, viscosity_melt 熔融指数 熔融指数 g/10min mfi:25熔融指数: 25.00g/10min

9.6 🔧 复合关键词智能识别

系统支持复合关键词识别,可以同时匹配多个含义:

输入Key 识别关键词 前端显示列名 自动单位 示例
motor_temp_bearing motor + temp + bearing 电机轴承温度 °C motor_temp_bearing:65.5电机轴承温度: 65.50°C
pump_pressure_outlet pump + pressure + outlet 泵出口压力 bar pump_pressure_outlet:2.8泵出口压力: 2.80bar
tank_level_chemical tank + level + chemical 化工罐液位 % tank_level_chemical:75化工罐液位: 75.00%
conveyor_speed_main conveyor + speed + main 主输送带转速 m/min conveyor_speed_main:45主输送带转速: 45.00m/min
reactor_temp_jacket reactor + temp + jacket 反应器夹套温度 °C reactor_temp_jacket:120反应器夹套温度: 120.00°C

9.7 🌐 多语言Key支持

系统同时支持英文和中文拼音关键词:

英文Key 中文拼音Key 前端显示列名 示例
temperature wendu, wd 温度 wendu:25.5温度: 25.50°C
pressure yali, yl 压力 yali:2.35压力: 2.35bar
current dianliu, dl 电流 dianliu:15.2电流: 15.20A
voltage dianya, dy 电压 dianya:220电压: 220.00V
speed zhuansu, zs 转速 zhuansu:1450转速: 1450rpm