Modelo de datos AAS para puente grúa: del PLC Siemens al Gemelo Digital

AAS (Asset Administration Shell) es la especificación central de datos del gemelo digital para puentes grúa. Este artículo desarrolla la solución técnica integral completa, desde los registros del PLC de Siemens hasta la plataforma de datos del gemelo digital. Incluye la tabla de mapeo OPC UA, una instancia JSON AAS completa, el diseño de la canalización de la base de datos de series temporales y las API de integración MES/ERP, utilizable directamente como manual de referencia técnica.

En el artículo anterior «Análisis técnico en profundidad del sistema de gemelo digital para puentes grúa» se presentó la arquitectura general del gemelo digital, donde se mencionó repetidamente un término: AAS (Asset Administration Shell). Este artículo se centra exclusivamente en desglosar el modelo de datos AAS, desde las direcciones de los registros del PLC hasta el mapeo OPC UA, pasando por la estructura JSON AAS y la implementación en la base de datos de series temporales, todo en un solo recorrido.

Si está trabajando en un proyecto de digitalización de puentes grúa, este artículo puede utilizarse directamente como manual de referencia técnica.

Implementación del modelo de datos AAS para puente grúa: arquitectura de mapeo completa desde registros PLC hasta OPC UA, Asset Shell AAS y plataforma de datos
Cadena completa del modelo de datos del gemelo digital AAS: PLC Siemens S7 · OPC UA Server · Asset Shell AAS · Plataforma de datos

Norma AAS y modelado de datos para puentes grúa

AAS es la especificación central de datos de la Industria 4.0 (IEC 63278). Puede entenderse como el «DNI digital» de cada equipo. Organiza todos los datos del ciclo de vida del equipo —parámetros de diseño, estado operativo, historial de mantenimiento, índice de salud— en una estructura jerárquica estandarizada, de modo que cualquier sistema (ERP, MES, SCADA, plataforma en la nube) pueda leer y escribir con un método unificado.

1.1 Niveles de la estructura AAS

Crane_AAS(Carcasa de activo)├── Asset Information(Información del activo)│ ├── SerialNumber: "KELAND-CR-24001"│ ├── Manufacturer: "Kelude"│ ├── ModelType: "QD-32/5t-22.5m-A7"│ ├── ProductionDate: "2024-06-15"│ └── TechnicalData: {Span:22.5m, SWL:32t, HoistSpeed:6m/min}├── Submodels(Subgrupo de modelos)│ ├── TechnicalData(Parámetros Técnicos——Solo lectura,Fijación de fábrica del equipo)│ ├── OperationalData(datos operativos——Actualización en tiempo real,100msPeriodo)│ ├── Maintenance(Datos de mantenimiento——Disparo por evento,Actualización en revisión)│ ├── HealthStatus(Estado de salud——AICálculo,Actualización periódica)│ └── EnvironmentalData(Datos ambientales——Análisis auxiliar)└── Views(Capa de vista) ├── OperatorView(Vista del operador——Estado actual+Alarma) ├── MaintenanceView(Vista de mantenimiento——Vida útil del repuesto+plan de mantenimiento) ├── EngineerView(Vista del ingeniero——Datos brutos completos) └── ManagementView(Vista de gestión——OEE+Informe de consumo energético)

La ventaja de este diseño jerárquico es que cada rol consulta únicamente los datos que necesita, mientras el modelo de datos subyacente es único y compartido: no existen islas de información.

Mapeo completo de PLC a AAS

Una vez expuesta la teoría, pasamos directamente a los datos reales de ingeniería. A continuación se muestra la tabla de mapeo completa de registros PLC a AAS para un puente grúa de doble viga de 32t de Kelude Industrias Pesadas:

Submodelo AAS·atributoOPC UA NodeIDPLC DBdireccióntipo de datosperíodo
TechnicalData.ratedCapacityCrane.Params.RatedCapDB100.DBD0Realal arranque
TechnicalData.spanCrane.Params.SpanDB100.DBD4Realal arranque
TechnicalData.workLevelCrane.Params.WorkLvlDB100.DBW8Intal arranque
OperationalData.runningStateCrane.Status.StateDB200.DBX0.0Word100ms
OperationalData.currentLoad_pctCrane.Status.LoadPctDB200.DBD2Real100ms
OperationalData.hoistMotorCurrent_ACrane.Status.HoistCurrentDB200.DBD6Real100ms
OperationalData.motorTemp_Hoist_CCrane.Status.HoistTempDB200.DBD10Real1s
OperationalData.vibration_HoistDrive_mmsCrane.Status.HoistVibDB200.DBD14Real1s
Maintenance.lastInspectionDateCrane.Maint.LastInspDB300.DBD0Dateevento
Maintenance.remainingBrakePadLife_pctCrane.Maint.BrakePadDB300.DBD20Realevento
Environmental.ambientTemp_CCrane.Env.AmbTempDB400.DBD0Real10s

2.1 Tres ciclos de adquisición de datos

  • Nivel de 100 ms (tiempo real): estado operativo, corriente, capacidad de carga, posición — estos datos impulsan la sincronización de la postura en tiempo real del motor 3D; si la latencia es alta, el modelo se entrecorta.
  • Nivel de 1 s (tendencias): temperatura, valor eficaz de vibración — se utilizan para análisis de tendencias y juicio de umbrales de alarma, sin necesidad de la velocidad de 100 ms.
  • Disparo por eventos (registro): registros de mantenimiento, historial de fallos — solo se actualizan cuando hay cambios, sin ocupar ancho de banda.

3. Ejemplo completo de AAS JSON

A continuación se muestra el AAS JSON completo de un puente grúa de doble viga de 32 t, que incluye 4 submodelos: parámetros técnicos, datos operativos, datos de mantenimiento y datos ambientales. Se puede aplicar directamente a proyectos reales modificando los valores de los parámetros.

{ "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": "Kelude"}, {"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"} ] } ]}

4. Diseño de base de datos de series temporales y canalización de datos

Una vez que los datos ingresan en la estructura AAS, es necesario contar con un lugar donde almacenarlos. Las características de los datos del puente grúa son: alto volumen de escritura (1 registro cada 100 ms), patrones de consulta fijos (agregación por rango de tiempo) y necesidad de conservación prolongada (≥3 años). Las bases de datos de series temporales (InfluxDB / TimescaleDB) son la opción estándar.

4.1 Estrategia de almacenamiento por niveles

El esquema de almacenamiento y el ciclo de diseño para los diferentes tipos de datos son los siguientes:

nivel de almacenamientotiempo de retencióngranularidad de muestreocapacidad de almacenamiento
datos brutos7día100ms≈1.2GB/día
agregación por minutos90día1min≈200MB/día
agregación por horas2año1h≈35MB/día
agregación diaria10año1d≈5MB/día

4.2 Ejemplo de consulta continua (InfluxQL)

-- 1Agregación por minutos(Corriente de elevación)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-- Consulta:Pasado24Corriente máxima por horaSELECT 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)

5. Garantía de calidad de datos

Por muy sofisticado que sea el modelo AAS, si los datos subyacentes son imprecisos, el resultado será basura que entra y basura que sale. Los problemas de calidad de datos en entornos industriales son mucho más frecuentes de lo que se podría imaginar: deriva del sensor, interrupciones de comunicación, fluctuaciones en el escaneo del PLC e interferencias de señal. A continuación, presentamos los 5 problemas de calidad de datos más comunes que hemos identificado en nuestra práctica de ingeniería, junto con sus estrategias de tratamiento:

tipo de problemaDetecciónmétodoestrategia de tratamiento
pérdida de datos(brecha>2×período)verificación de secuencia temporalrelleno por interpolación lineal,quality=1
validación de límites superior e inferiordescartar+alarma,quality=2
Fijaciónvalor fuera de rango(señal muerta>30s)detección de tasa de variaciónmarcar como sospechoso+monitoreocción,quality=3
valor de salto brusco(tasa de variación>5σ)anomalía estadísticaDetecciónsustitución por filtro de mediana,quality=4
anomalía de marca de tiempoverificación de marca de tiemporechazar escritura

Cada punto de datos incluye un campo quality (0~192). La aplicación de nivel superior puede decidir si confiar en ese dato según el valor de quality: 192 = good, 0 = bad, y los valores intermedios se clasifican por nivel de severidad.

Integración de MES y ERP con puentes grúa

Una vez construido el modelo AAS, los sistemas empresariales como MES, ERP y WMS pueden leer y escribir datos del puente grúa a través de una API REST unificada:

Todas las API devuelven un formato uniforme:

APIextremométododescripciónFrecuencialimitación
/api/v2/cranes/{id}/statusGETestado de operación en tiempo real300veces/min
/api/v2/cranes/{id}/telemetryGETdatos históricos de telemetría30veces/min
/api/v2/cranes/{id}/alarmsGEThistorial de alarmas30veces/min
/api/v2/maintenance/recordsPOSTañadir registro de mantenimiento10veces/min
/api/v2/statisticsGETinforme estadístico10veces/min

Conclusión

El modelo de datos AAS no es una teoría compleja; simplemente es una especificación que permite que los equipos y los sistemas hablen el mismo idioma. Su implementación no es complicada: basta con organizar las direcciones de los registros del PLC, crear la tabla de mapeo de OPC UA y completar la plantilla JSON de AAS. El resto es cuestión de canalización de datos.

Posteriormente, he publicado el artículo Método de calibración de parámetros para modelos de simulación de puentes grúa, donde se explica el proceso de calibración de los modelos cinemáticos y dinámicos a partir de datos de medición reales, así como la optimización de renderizado en tiempo real en el borde. Estén atentos.

Preguntas frecuentes

P: ¿Qué es exactamente el Asset Administration Shell (AAS) y para qué sirve?
R: El AAS (Asset Administration Shell, o Capa de Administración de Activos) es el estándar central de la Industria 4.0 (IEC 63278). Puede entenderse como el "DNI + currículum" de un equipo en el mundo digital. Unifica toda la información del ciclo de vida del equipo —parámetros de diseño, datos operativos en tiempo real, registros de mantenimiento, estado de salud, etc.— en un formato estandarizado. Para un puente grúa, gracias al AAS, el ERP, el MES, el SCADA y la Plataforma en la Nube pueden leer y comprender todos los datos de la grúa mediante una misma interfaz, sin necesidad de integrar sistemas dispares repetidamente.
P: ¿Con qué sistemas puede integrarse el modelo AAS de Kelude?
R: Actualmente admite integración directa con PLC Siemens S7-1200/1500 (protocolo OPC UA), serie Mitsubishi Q (Modbus TCP), así como interfaces estándar MQTT/REST API. En el backend, puede conectarse a la base de datos de series temporales InfluxDB, la cola de mensajes Kafka y cualquier base de datos SQL. Ya se ha implementado en proyectos de acerías, puertos y parques industriales, con una tasa de éxito de integración del 100%.
P: ¿Es posible implementar AAS en equipos antiguos sin interfaz de datos PLC?
R: Sí, es posible. Para equipos antiguos sin salida de datos PLC, existen dos opciones: la primera consiste en instalar una caja de adquisición de sensores (módulo de captación IO-Link o 4-20 mA, aproximadamente 2000 CNY por unidad), que convierte las señales físicas en señales digitales para su integración en el AAS; la segunda opción es registrar manualmente los datos estáticos, como los registros de mantenimiento, mientras que los datos dinámicos se obtienen mediante los sensores instalados. Ninguna de las dos opciones requiere reemplazar el equipo completo.

Artículos relacionados

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP