2. 工业现场设备与数据源梳理

数据采集架构设计的第一步不是选网关、不是配协议,而是把现场"有什么数据、数据长什么样、从哪里取"梳理清楚。现场设备种类繁多,但按数据特征和采集接口可以归为几大类。理解每一类的数据产生方式、更新节奏和可用接口,才能决定后续是走周期轮询、事件订阅还是文件解析,以及边缘侧需要做多快的处理。

一、按数据特征划分的六类典型数据源

PLC(可编程逻辑控制器)是离散制造现场最核心的数据源。它内部维护着I/O映像区、数据块(DB)、定时器/计数器等存储区,数据以位(BOOL)、字节、字(WORD)、双字(DWORD)、整数(INT/DINT)、浮点数(REAL)等形式存在。PLC的数据特征是周期性刷新、状态量为主、单点数据量小但点位数量大。典型采集接口包括:西门子的S7协议(S7comm/S7comm Plus)、三菱的MC协议、欧姆龙的FINS、罗克韦尔的EtherNet/IP与CIP,以及通用的Modbus TCP/RTU。采集时通常按扫描周期或自定义周期读取指定地址区,例如DB1.DBD0读取一个REAL型温度值。

DCS(集散控制系统)面向流程工业,数据以模拟量回路为主,包括PV(过程变量)、SP(设定值)、MV(操作输出)、PID参数、报警状态等。DCS的数据特征是连续模拟量、带工程单位、更新周期相对固定(常见500ms~2s)、点位语义明确。采集接口多为OPC DA/UA、Modbus,部分系统提供专用API或历史库接口。与PLC不同,DCS的数据往往已经过工程单位换算和滤波,采集时更关注时间戳一致性和批量读取效率。

CNC(数控机床)的数据分为两类:一类是运行状态数据(运行/停机/报警/加工中),另一类是过程数据(主轴转速、进给速度、坐标位置、刀具号、程序名、加工计数)。数据特征是状态变化事件驱动、过程数据高频但可降采样、语义依赖机床型号。采集接口主要有FANUC的FOCAS、西门子840D的OPC UA或S7协议、三菱的M700系列接口,以及部分机床支持的MTConnect标准。CNC采集的难点在于不同品牌接口差异大,且部分数据需要授权选项才能开放。

工业机器人的数据包括关节角度、末端位姿、运行模式(自动/手动/示教)、程序状态、报警码、循环时间、电机电流等。数据特征是高频周期性(常见10~100ms)、多轴同步、带坐标系语义。采集接口包括各品牌专用接口(如ABB的Robot Web Services、KUKA的EthernetKRL、发那科的ROBOGUIDE/RI)、现场总线(EtherCAT、PROFINET)以及部分支持OPC UA的控制器。机器人数据采集需注意坐标系定义,关节角与笛卡尔位姿是两套参照,混用会导致后续分析错误。

传感器是数量最多、最分散的数据源,包括温度、压力、流量、液位、振动、光电、接近开关等。数据特征是单点、低语义、更新频率差异极大——温度可能1s一次,振动可能10kHz以上。接口分为模拟量(4~20mA、0~10V)、数字量(干接点、PNP/NPN)、总线型(IO-Link、Modbus、CAN)以及智能传感器(支持MQTT、OPC UA)。采集时需明确量程、工程单位换算关系和采样率要求。

仪表包括流量计、电能表、称重仪表、分析仪等,通常自带显示和通信口。数据特征是带工程单位、有累积量/瞬时量之分、通信协议标准化程度较高。常见接口为Modbus RTU/TCP、HART、Profibus PA、M-Bus等。采集时要注意累积量(如电能kWh、流量m³)的读取方式,避免重复累加或丢数。

工业现场六类数据源:数据特征与采集接口对照 PLC 数据:I/O映像、DB块、位/字/浮点 特征:周期刷新、状态量为主、点位多 接口:S7、MC、FINS、EtherNet/IP    Modbus TCP/RTU DCS 数据:PV/SP/MV、PID参数、报警 特征:连续模拟量、带工程单位、周期固定 接口:OPC DA/UA、Modbus、历史库    专用API CNC 数据:状态、主轴转速、坐标、刀具号 特征:事件驱动+高频过程量、品牌差异大 接口:FOCAS、840D OPC UA、MTConnect    M700系列接口 工业机器人 数据:关节角、位姿、模式、报警、电流 特征:高频10~100ms、多轴同步、带坐标系 接口:Robot Web Services、EthernetKRL    EtherCAT、PROFINET、OPC UA 传感器 数据:温度、压力、流量、振动、开关量 特征:单点、低语义、频率差异极大 接口:4~20mA、0~10V、IO-Link    Modbus、CAN、MQTT 仪表 数据:瞬时量、累积量、状态、单位 特征:带工程单位、累积/瞬时区分、协议标准 接口:Modbus RTU/TCP、HART    Profibus PA、M-Bus 采集方式选择依据 周期轮询 PLC、DCS、仪表 事件订阅 CNC状态、报警、机器人模式 高频流式 振动、机器人关节、高速IO 文件/批量 历史数据、程序文件、批次记录

二、梳理数据源时的关键判断维度

面对一台设备,不能只记"它是什么",而要回答四个问题:数据在哪里、以什么形式存在、多久变一次、用什么接口取。

第一,数据位置。PLC的数据在DB块或M区,DCS在控制器或历史站,CNC在NCK或PLC侧,机器人控制器内部有专用数据区,传感器和仪表在自身寄存器。位置决定了寻址方式,例如西门子S7-1200的DB块需要知道DB号、起始偏移和数据类型,而Modbus设备需要知道从站地址、功能码和寄存器地址。

第二,数据形式与语义。同样是16位寄存器,可能是INT、UINT、WORD、两个BOOL打包,也可能是REAL的一半。采集前必须拿到点表,明确每个点的地址、类型、量程、工程单位、读写权限。缺少点表的采集,后期数据无法解释。

第三,更新频率与实时性要求。PLC扫描周期可能5~20ms,但业务只需要1s一次;振动传感器需要10kHz采样,但边缘只上传特征值。采集周期应匹配业务需求,而不是盲目追求最快。过高的采集频率会浪费带宽和存储,过低则丢失关键变化。

第四,接口可用性与授权。部分CNC和机器人的数据接口需要购买选项授权,部分老设备只有串口。梳理阶段就要确认接口是否开放、是否需要额外硬件(如串口服务器、协议转换网关)、是否允许多客户端同时连接。

三、一份可用的数据源梳理表

实际项目中,建议用一张表把上述信息固化下来。以下是一个示例片段,字段可根据项目调整:

设备名称类型数据点示例数据类型更新周期采集接口备注
1#注塑机PLCPLCDB1.DBD0 料筒温度REAL500msS7comm需确认DB块非优化
反应釜DCSDCSPV-101 温度回路模拟量1sOPC UA带工程单位℃
CNC-03CNC主轴转速、运行状态INT/BOOL状态事件+200msFOCAS需授权选项
焊接机器人R2机器人关节角J1~J6、模式REAL/枚举50msRobot Web Services注意坐标系定义
振动传感器V5传感器加速度有效值浮点10kHz采样/1s上传IO-Link边缘做FFT后上传
电能表E7仪表有功电能、瞬时功率累积量/浮点5sModbus RTU累积量防重复读取
梳理阶段建议同步记录"数据用途":是用于实时监控、报警、OEE统计还是预测性维护。用途不同,对采集周期、精度和存储策略的要求完全不同。例如OEE统计只需要状态和计数,1s周期足够;而振动分析需要原始波形,必须高频采集并在边缘做特征提取。

四、常见梳理遗漏与后果

实际项目中最容易遗漏三类信息。一是累积量处理:电能、流量等累积量如果按周期读取并直接求和,会因重复读取导致数据虚高,正确做法是读取瞬时增量或做差值计算。二是时间戳来源:PLC和DCS的时间可能不同步,采集时若统一用网关时间,会导致跨设备关联分析出现偏差,建议关键数据保留设备时间戳或做NTP同步。三是写操作权限:部分采集需要读取,但有些场景需要下发设定值,梳理时要区分只读点和读写点,避免误写导致生产异常。

把数据源梳理清楚,后续的协议选型、网关部署、边缘计算策略才有依据。这一步做得越细,后面返工越少。