1. Sysmac平台与生产数据采集概述

在智能制造体系中,设备层的数据能否被稳定、实时、结构化地采集上来,直接决定了上层MES、SCADA、质量追溯与OEE分析的可信度。欧姆龙Sysmac自动化平台正是围绕这一需求构建的一体化控制与信息平台:它把控制器、运动控制、视觉、机器人、安全、I/O与网络通信统一在同一工程环境Sysmac Studio中,使"控制"与"数据"不再是两套割裂的系统。理解Sysmac的架构分层、NJ/NX控制器的数据能力、EtherCAT与EtherNet/IP的分工,是后续所有采集方案设计的基础。

一、Sysmac平台的架构分层

Sysmac平台可以按"工程层—控制层—设备层—信息层"四个层次来理解。工程层是Sysmac Studio,一个工程文件同时管理NJ/NX控制器、EtherCAT从站、HMI、运动轴与安全单元,变量、数据类型、网络配置共享同一套定义,这是数据可采集的前提——变量名与数据类型在控制器内是"已知"的,而不是靠地址猜测。

控制层是NJ/NX系列控制器,承担逻辑运算、运动控制与数据加工。设备层由EtherCAT从站构成,包括伺服驱动器、远程I/O、视觉传感器、编码器等,负责毫秒级的实时同步。信息层则通过EtherNet/IP、OPC UA或数据库通信,把控制器内的变量送往MES、数据库或上位机。四层之间不是简单串联:EtherCAT保证设备层实时性,EtherNet/IP保证信息层通用性,控制器是两者的交汇点,也是数据采集的"源头"。

Sysmac平台四层架构与数据流向 工程层 · Sysmac Studio 统一工程:变量表 / 数据类型 / 运动轴 / 网络配置 / 安全单元 共享定义 配置下发 ↓ 控制层 · NJ / NX 系列控制器 NJ:逻辑+运动+数据 NX:控制+信息+安全 变量内存 / 结构体 / 数组 / 时间戳 设备层 · EtherCAT 实时网络 伺服驱动器 远程 I/O 视觉 / 编码器 周期 125 μs ~ 1 ms,分布式时钟同步,位置/速度/状态实时刷新 信息层 EtherNet/IP OPC UA / 数据库 MES / SCADA / 追溯 数据上行 采集源点:控制器变量

二、NJ与NX控制器的定位差异

NJ系列与NX系列都运行相同的Sysmac控制引擎,指令系统、运动控制功能块、变量规范基本一致,差异主要在"信息处理能力"与"扩展形态"上。NJ系列以"机器控制"为核心,适合单机设备、包装机、机床等以逻辑与运动为主的场景,通过内置EtherNet/IP端口与上位机交换数据。NX系列(如NX102、NX1P2)在控制之外强化了信息处理与安全控制,支持更丰富的数据记录、数据库连接指令(如DbConnection)与OPC UA服务器功能,更适合需要直接与数据库、MES交互的产线级节点。

对数据采集而言,两者最关键的共同点是:所有需要被采集的量,都应以"全局变量"的形式在控制器内定义,并赋予明确的数据类型(BOOL、INT、REAL、STRING、结构体、数组)。例如定义一个结构体 ST_StationData,包含 iGoodCount、iNgCount、rCycleTime、sRecipeNo、tUpdateTime 五个成员,采集端只需按结构体整体读取,就能一次拿到一个工位的完整生产数据,避免逐点拼凑带来的错位与丢点。

三、EtherCAT与EtherNet/IP的分工

这是初学者最容易混淆的一点:两者都基于以太网物理层,但服务的目标完全不同。

对比项 EtherCAT EtherNet/IP
主要用途 设备层实时控制 信息层数据交换
典型周期 125 μs ~ 1 ms 1 ms ~ 100 ms(依RPI设定)
数据对象 PDO:位置、速度、I/O状态 标签/变量:计数、节拍、配方号
采集角色 提供实时过程量 把结果送往MES/数据库

实际工程中,EtherCAT负责"把设备状态实时收进控制器",EtherNet/IP负责"把控制器里的生产结果送出去"。采集方案设计时,不应让EtherNet/IP去承担高频过程量的传输,也不应让EtherCAT去承载大块的历史数据,否则会破坏实时性或造成带宽浪费。

四、生产数据采集在智能制造中的定位与典型场景

生产数据采集处在"设备自动化"与"生产信息化"的接缝处。它的价值不是把数据搬走,而是把设备内部的状态、计数、节拍、质量、报警、配方六类信息,转化为带时间戳、可追溯、可统计的结构化记录。典型场景包括:

  • 产量与OEE统计:采集每台设备的合格数、不良数、运行/停机时间,按班次汇总,计算可用率、性能率、合格率。
  • 质量追溯:把工位号、配方号、关键工艺参数(如拧紧扭矩、压装力)与产品序列号绑定,实现单件追溯。
  • 设备状态监控与预测维护:采集伺服负载率、报警代码、运行小时数,用于趋势分析与预警。
  • 配方下发与防错:由MES下发配方号,控制器校验后切换参数,采集端回传实际生效配方,防止用错料、装错件。
提示:采集点的选择应遵循"源头唯一"原则——同一个物理量只在控制器内定义一次,EtherCAT侧与EtherNet/IP侧都引用同一变量,避免出现两个来源不一致的"同名数据"。

五、一个最小可用的采集示例

假设一台NX102控制的装配工位,需要把每件产品的生产记录上传。可在控制器内定义如下结构体变量并映射到EtherNet/IP标签:

TYPE ST_ProductRecord :
STRUCT
    sSerialNo   : STRING[20];   // 产品序列号
    sRecipeNo   : STRING[10];   // 配方号
    iTorque     : INT;          // 拧紧扭矩 0.01N·m
    iResult     : BOOL;         // TRUE=合格
    tFinishTime : DATE_AND_TIME;// 完成时间戳
END_STRUCT
END_TYPE

VAR_GLOBAL
    stRecord : ST_ProductRecord;
    iGoodCnt : UINT := 0;
    iNgCnt   : UINT := 0;
END_VAR

当产品完成装配,程序把当前扭矩、结果、时间写入 stRecord,并按结果累加 iGoodCnt 或 iNgCnt。上位机通过EtherNet/IP按周期读取该结构体,即可获得逐件记录与累计计数。判断采集是否正常,可观察三个现象:序列号不重复、时间戳单调递增、合格数与不良数之和等于实际过站数。若出现时间戳跳变或计数不连续,通常说明采集周期设置过长或存在丢包,需要检查RPI与网络负载。