Mise en œuvre technique complète du modèle de données AAS pour les ponts roulants : des registres des automates Siemens à la plateforme centrale de données du jumeau numérique

上篇《天车数字孪生系统技术深度解析》介绍了数字孪生的总体架构,其中反复提到一个词——AAS(Asset Administration Shell,资产管理壳)。这篇就专门把AAS数据模型拆开来讲,从PLC寄存器地址到OPC UA映射、再到AAS JSON结构和时序数据库落地,一步到位。

如果你手头正在做天车数字化项目,这篇文章可以直接当技术参考手册用。

天车AAS数据模型工程实现:PLC寄存器到OPC UA到AAS资产壳到数据中台完整映射架构图
AAS数字孪生数据模型完整链路:西门子S7 PLC → OPC UA Server → AAS资产壳 → 数据中台

一、AAS标准与天车数据建模

AAS是工业4.0的核心数据规范(IEC 63278),你可以把它理解成每台设备的”数字身份证”。它把设备全生命周期的所有数据——设计参数、运行状态、维保记录、健康评分——组织成标准化的分层结构,任何系统(ERP、MES、SCADA、云平台)都能用统一的方式读写。

1.1 AAS结构层次

Crane_AAS(资产壳)├── Asset Information(资产信息)│   ├── SerialNumber: "KELAND-CR-24001"│   ├── Manufacturer: "克鲁德重工"│   ├── ModelType: "QD-32/5t-22.5m-A7"│   ├── ProductionDate: "2024-06-15"│   └── TechnicalData: {Span:22.5m, SWL:32t, HoistSpeed:6m/min}├── Submodels(子模型组)│   ├── TechnicalData(技术参数——只读,设备出厂即固定)│   ├── OperationalData(运行数据——实时刷新,100ms周期)│   ├── Maintenance(维保数据——事件触发,检修时更新)│   ├── HealthStatus(健康状态——AI计算,定期更新)│   └── EnvironmentalData(环境数据——辅助分析)└── Views(视图层)    ├── OperatorView(操作员视图——当前状态+报警)    ├── MaintenanceView(维护视图——备件寿命+维保计划)    ├── EngineerView(工程师视图——全部原始数据)    └── ManagementView(管理视图——OEE+能耗报表)

这个分层设计的好处是:不同角色只看自己需要的数据,底层数据模型是同一套,不存在信息孤岛。

二、PLC到AAS的完整映射

理论说完了,直接上实际工程数据。以下是克鲁德重工一台32t双梁桥式天车的PLC寄存器到AAS的完整映射表:

AAS子模型·属性 OPC UA NodeID PLC DB地址 Types de données 周期
TechnicalData.ratedCapacity Crane.Params.RatedCap DB100.DBD0 Real 启动时
TechnicalData.span Crane.Params.Span DB100.DBD4 Real 启动时
TechnicalData.workLevel Crane.Params.WorkLvl DB100.DBW8 Int 启动时
OperationalData.runningState Crane.Status.State DB200.DBX0.0 Word 100 ms
OperationalData.currentLoad_pct Crane.Status.LoadPct DB200.DBD2 Real 100 ms
OperationalData.hoistMotorCurrent_A Crane.Status.HoistCurrent DB200.DBD6 Real 100 ms
OperationalData.motorTemp_Hoist_C Crane.Status.HoistTemp DB200.DBD10 Real 1 s
OperationalData.vibration_HoistDrive_mms Crane.Status.HoistVib DB200.DBD14 Real 1 s
Maintenance.lastInspectionDate Crane.Maint.LastInsp DB300.DBD0 Date 事件
Maintenance.remainingBrakePadLife_pct Crane.Maint.BrakePad DB300.DBD20 Real 事件
Environmental.ambientTemp_C Crane.Env.AmbTemp DB400.DBD0 Real 10s

2.1 三种数据采集周期

  • 100ms级(实时类):运行状态、电流、载重、位置——这些数据驱动3D引擎的实时姿态同步,延迟高了模型就卡顿
  • 1s级(趋势类):温度、振动有效值——用于趋势分析和报警阈值判断,不需要100ms那么快
  • 事件触发(记录类):维保记录、故障日志——有变化才更新,不占带宽

三、AAS JSON完整实例

以下是一台32t双梁桥式天车的完整AAS JSON,包含4个子模型:技术参数、运行数据、维保数据、环境数据。可以直接套用到实际项目中修改参数值即可使用。

{  "administration": {    "version": "3.0",    "revision": "RC02",    "id": "https://kurude-crane.com/aas/CR-2024-001",    "idShort": "Crane32t_AAS"  },  "assetInformation": {    "assetKind": "Instance",    "globalAssetId": "https://kurude-crane.com/asset/crane-32t-2024-001",    "specificAssetId": [      {"name": "serialNumber", "value": "CRN-2024-001"},      {"name": "manufacturer", "value": "克鲁德重工"},      {"name": "manufacturingDate", "value": "2024-03-15"}    ]  },  "submodels": [    {      "id": "https://kurude-crane.com/aas/CR-2024-001/sm/technical-data",      "idShort": "TechnicalData",      "semanticId": "https://admin-shell.io/IDT/TechnicalData/3/0",      "submodelElements": [        {"idShort": "ratedCapacity", "value": "32", "valueType": "xs:int", "unit": "t"},        {"idShort": "span", "value": "22.5", "valueType": "xs:double", "unit": "m"},        {"idShort": "workLevel", "value": "A6", "valueType": "xs:string"},        {"idShort": "hoistingHeight", "value": "16", "valueType": "xs:double", "unit": "m"},        {"idShort": "hoistSpeed", "value": "0.8-8.0", "valueType": "xs:string", "unit": "m/min"},        {"idShort": "totalWeight", "value": 38500, "valueType": "xs:int", "unit": "kg"},        {"idShort": "powerSupply", "value": "AC380V 50Hz 3-phase", "valueType": "xs:string"}      ]    },    {      "id": "https://kurude-crane.com/aas/CR-2024-001/sm/operational-data",      "idShort": "OperationalData",      "submodelElements": [        {"idShort": "runningState", "value": "running", "valueType": "xs:string"},        {"idShort": "currentLoad_pct", "value": 42.5, "valueType": "xs:double"},        {"idShort": "totalRuntime_h", "value": 28650, "valueType": "xs:double"},        {"idShort": "cycleCount", "value": 12580, "valueType": "xs:int"},        {"idShort": "energyConsumption_kWh", "value": 186500, "valueType": "xs:double"},        {"idShort": "hoistMotorCurrent_A", "value": 45.2, "valueType": "xs:double"},        {"idShort": "motorTemp_Hoist_C", "value": 62.5, "valueType": "xs:double"},        {"idShort": "vibration_HoistDrive_mms", "value": 2.8, "valueType": "xs:double"},        {"idShort": "brakeWear_pct", "value": 35.0, "valueType": "xs:double"}      ]    },    {      "id": "https://kurude-crane.com/aas/CR-2024-001/sm/maintenance",      "idShort": "Maintenance",      "submodelElements": [        {"idShort": "lastInspectionDate", "value": "2025-03-15", "valueType": "xs:date"},        {"idShort": "remainingBrakePadLife_pct", "value": 65.0, "valueType": "xs:double"},        {"idShort": "remainingWireRopeLife_pct", "value": 72.0, "valueType": "xs:double"},        {"idShort": "remainingWheelLife_pct", "value": 82.0, "valueType": "xs:double"},        {"idShort": "mtbf_h", "value": 9548, "valueType": "xs:double"},        {"idShort": "mttr_h", "value": 2.5, "valueType": "xs:double"}      ]    },    {      "id": "https://kurude-crane.com/aas/CR-2024-001/sm/environmental",      "idShort": "EnvironmentalData",      "submodelElements": [        {"idShort": "ambientTemp_C", "value": 28.0, "valueType": "xs:double"},        {"idShort": "ambientHumidity_pct", "value": 55.0, "valueType": "xs:double"},        {"idShort": "noiseLevel_dBA", "value": 78.5, "valueType": "xs:double"}      ]    }  ]}

四、时序数据库设计与数据管道

数据进了AAS结构之后,需要有地方存下来。天车数据的特点是写入量大(100ms/条)、查询模式固定(按时间范围聚合)、需要长时间保存(≥3年)。时序数据库(InfluxDB / TimescaleDB)是标准选择。

4.1 分级存储策略

不同数据类型的存储方案和周期设计如下:

存储层级 保留时间 采样粒度 存储容量
原始数据 7天 100 ms ≈1.2GB/天
分钟聚合 90天 1min ≈200MB/天
小时聚合 2年 1h ≈35MB/天
天聚合 10年 1d ≈5MB/天

4.2 连续查询示例(InfluxQL)

-- 1分钟聚合(起升电流)CREATE CONTINUOUS QUERY "cq_1min_hoist_current" ON "crane_db"RESAMPLE EVERY 1m FOR 1hBEGIN  SELECT mean("value") AS "mean_hoist_current",         max("value") AS "max_hoist_current",         min("value") AS "min_hoist_current"  INTO "crane_1min"."autogen"."hoist_current_agg"  FROM "crane_realtime"."autogen"."hoist_current"  GROUP BY time(1m), "crane_id"END-- 查询:过去24小时峰值电流SELECT max("max_hoist_current") AS "peak_current"FROM "crane_1min"."autogen"."hoist_current_agg"WHERE "crane_id" = CRN-2024-001  AND time >= now() - 24hGROUP BY time(1h)

五、数据质量保障

AAS模型再漂亮,底层数据不准就是垃圾进垃圾出。工业现场的数据质量问题远比你想象的常见——传感器漂移、通信中断、PLC扫描抖动、信号干扰。以下是我们工程实践中总结的5种数据质量问题及处理策略:

问题类型 检测方法 处理策略
数据丢失(间隙>2×周期) 时序检查 线性插值填充,quality=1
超范围值 上下限校验 丢弃+告警,quality=2
固定值(死信号>30s) 变化率检测 标记可疑+监测,quality=3
突变值(变化率>5σ) 统计异常检测 中值滤波替换,quality=4
时间戳异常 时间戳校验 拒绝写入

每个数据点都带一个quality字段(0~192),上层应用读取时可以根据quality决定是否信任这个数据点。192=good,0=bad,中间值根据严重程度分级。

六、MES/ERP集成实践

AAS模型建好之后,MES、ERP、WMS等企业系统通过统一REST API接口即可读写天车数据:

所有API返回统一格式:

API端点 方法 说明 频率限制
/api/v2/cranes/{id}/status GET 实时运行状态 300次/min
/api/v2/cranes/{id}/telemetry GET 遥测历史数据 30次/min
/api/v2/cranes/{id}/alarms GET 报警历史 30次/min
/api/v2/maintenance/records POST 添加维保记录 10次/min
/api/v2/statistics GET 统计报表 10次/min
{  "code": 200,  "message": "success",  "data": { /* 响应数据 */ },  "timestamp": "2026-06-21T14:00:00.000Z",  "requestId": "req-001-abc-xyz"}

结语

AAS数据模型不是什么高深的理论,它就是一套让设备和系统说”同一种语言”的规范。实施起来也不复杂——PLC寄存器地址整理好、OPC UA映射表建好、AAS JSON模板填好,剩下的就是数据管道的事情了。

随后写了《天车仿真模型参数标定方法》,从实测数据反推仿真参数,把运动学/动力学模型的标定流程讲清楚,以及边缘端实时渲染优化方案。敬请关注。

Foire aux questions

问:AAS资产管理壳到底是什么?有什么用?

AAS(Asset Administration Shell,资产管理壳)是工业4.0核心标准(IEC 63278),可以理解为一台设备在数字世界的“身份证+简历”。它把设备的设计参数、实时运行数据、维保记录、健康状态等全生命周期信息统一成标准格式。对天车来说,有了AAS之后,ERP、MES、SCADA、云平台都可以用同一套接口读取和理解天车的所有数据,不需要反复对接不同系统。

问:克鲁德重工的AAS模型能对接哪些系统?

目前支持直接对接西门子S7-1200/1500系列PLC(OPC UA协议)、三菱Q系列(Modbus TCP)、以及标准MQTT/REST API接口。后端可对接InfluxDB时序库、Kafka消息队列和任意SQL数据库。已经在钢铁厂、港口、园区等多个项目落地,对接成功率100%。

问:老设备没有PLC数据接口能做AAS吗?

可以。对没有PLC数据输出的老设备,有两种方案:一是加装传感器采集盒(IO-Link或4-20mA采集模块,约2000元/台),将物理信号转为数字信号后接入AAS;二是人工录入维保记录等静态数据,动态数据部分从加装传感器获取。两种方案都不需要更换整机。

Informations connexes

contact

Contactez-nous

Téléphone :
+86 13903802779

mail:3915269@qq.com

Horaires de travail : du lundi au vendredi

WeChat
WeChat
PARTAGE
HAUT