Modelo de dados AAS para ponte rolante Siemens

O AAS (Asset Administration Shell) é o núcleo da especificação de dados para o Gêmeo Digital de pontes rolantes. Este artigo apresenta a implementação completa do fluxo técnico de ponta a ponta, desde os registradores do PLC Siemens até a plataforma central de dados do Gêmeo Digital. Inclui o mapeamento OPC UA, um exemplo completo de JSON AAS, o pipeline de banco de dados de séries temporais e as APIs de integração MES/ERP — um manual de referência técnica pronto a usar.

No artigo anterior, "Análise Técnica Aprofundada do Sistema de Gêmeo Digital para Pontes Rolantes", apresentámos a arquitetura geral do Gêmeo Digital, onde o termo AAS (Asset Administration Shell) foi referido repetidamente. Este artigo debruça-se especificamente sobre o modelo de dados AAS, abordando passo a passo desde os endereços dos registradores do PLC, passando pelo mapeamento OPC UA, até à estrutura JSON AAS e à implementação num banco de dados de séries temporais.

Se está envolvido num projeto de digitalização de pontes rolantes, este artigo pode ser utilizado diretamente como manual de referência técnica.

Implementação do modelo de dados AAS para ponte rolante: arquitetura de mapeamento completa de registradores PLC para OPC UA, Asset Shell AAS e plataforma central de dados
Fluxo completo do modelo de dados AAS para Gêmeo Digital: PLC Siemens S7, servidor OPC UA, Asset Shell AAS, plataforma central de dados

Norma AAS e Modelação de Dados para Pontes Rolantes

O AAS é a especificação central de dados da Indústria 4.0 (IEC 63278). Pode ser entendido como o "cartão de identificação digital" de cada equipamento. Organiza todos os dados do ciclo de vida do equipamento — parâmetros de projeto, estado operacional, registos de manutenção, pontuação de saúde — numa estrutura hierárquica padronizada, permitindo que qualquer sistema (ERP, MES, SCADA, Plataforma em Nuvem) leia e escreva de forma uniforme.

1.1 Níveis da Estrutura AAS

Crane_AAS(Casca de ativo)├── Asset Information(Informação do ativo)│ ├── 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(Submódulo tipoGrupo)│ ├── TechnicalData(Parâmetros Técnicos——Somente leitura,Fixo de fábrica)│ ├── OperationalData(dados operacionais——Atualização em tempo real,100msPeríodo)│ ├── Maintenance(Dados de manutenção——Acionamento por evento,Atualização durante inspeção)│ ├── HealthStatus(Estado de saúde——AICálculo,Atualização periódica)│ └── EnvironmentalData(Dados ambientais——Análise auxiliar)└── Views(Camada de visualização) ├── OperatorView(Visão do operador——Estado atual+Alarme) ├── MaintenanceView(Visão de manutenção——Vida útil da peça de reposição+plano de manutenção) ├── EngineerView(Visão do engenheiro——Todos os dados brutos) └── ManagementView(Visão de gestão——OEE+Relatório de consumo de energia)

A vantagem deste design hierárquico é que cada perfil acede apenas aos dados de que necessita, mantendo um modelo de dados subjacente único — sem ilhas de informação.

Mapeamento Completo do PLC para o AAS

Chega de teoria — vamos aos dados reais de engenharia. Segue-se a tabela de mapeamento completa dos registradores do PLC para o AAS, referente a uma ponte rolante de dupla viga de 32t da Kelude:

AAS (norma australiana)submodelo·atributoOPC UA NodeIDPLC DBendereçotipo de dadosperíodo
TechnicalData.ratedCapacityCrane.Params.RatedCapDB100.DBD0Realna inicialização
TechnicalData.spanCrane.Params.SpanDB100.DBD4Realna inicialização
TechnicalData.workLevelCrane.Params.WorkLvlDB100.DBW8Intna inicialização
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 Três ciclos de aquisição de dados

  • Nível de 100 ms (tempo real): estado de funcionamento, corrente, capacidade de carga, posição — estes dados orientam a sincronização de postura em tempo real do motor 3D; se a latência for elevada, o modelo fica com atrasos
  • Nível de 1 s (tendência): temperatura, valor eficaz de vibração — utilizados para análise de tendências e definição de limiares de alarme, não necessitando da rapidez de 100 ms
  • Acionado por evento (registo): registos de manutenção, logs de falhas — atualizados apenas quando há alterações, sem ocupar largura de banda

3. Exemplo completo de AAS JSON

Segue-se o AAS JSON completo de uma ponte rolante de dupla viga de 32t, contendo 4 submodelos: parâmetros técnicos, dados operacionais, dados de manutenção e dados ambientais. Pode ser diretamente aplicado em projetos reais, bastando ajustar os valores dos 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. Conceção da base de dados de séries temporais e pipeline de dados

Depois de os dados entrarem na estrutura AAS, é necessário armazená-los. As características dos dados da ponte rolante incluem elevado volume de escrita (100 ms/registo), padrões de consulta fixos (agregação por intervalo de tempo) e necessidade de conservação a longo prazo (≥3 anos). As bases de dados de séries temporais (InfluxDB / TimescaleDB) são a escolha padrão.

4.1 Estratégia de armazenamento em camadas

As soluções de armazenamento e os ciclos de retenção para os diferentes tipos de dados são os seguintes:

nível de armazenamentotempo de retençãogranularidade de amostragemcapacidade de armazenamento
dados brutos7dia100ms≈1.2GB/dia
agregação por minuto90dia1min≈200MB/dia
agregação por hora2ano1h≈35MB/dia
agregação diária10ano1d≈5MB/dia

4.2 Exemplo de consulta contínua (InfluxQL)

-- 1Agregação por minuto(Corrente de elevação)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:Passado24Corrente de pico 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)

Garantia da qualidade dos dados

Por mais elegante que seja o modelo AAS, se os dados subjacentes não forem fiáveis, o resultado é "lixo entra, lixo sai". Os problemas de qualidade dos dados em ambiente industrial são muito mais frequentes do que se imagina — deriva dos sensores, interrupções de comunicação, oscilações na varredura do PLC e interferência de sinal. Seguem-se cinco tipos de problemas de qualidade dos dados que identificámos na nossa prática de engenharia, juntamente com as respetivas estratégias de tratamento:

tipo de problemaDetecçãométodoestratégia de tratamento
perda de dados(lacuna>2×período)verificação de sequência temporalpreenchimento por interpolação linear,quality=1
valor fora do intervalosuperiorlimite inferiorvalidaçãodescarte+alarme,quality=2
Fixaçãovalor fora do intervalo(sinal morto>30s)taxa de variaçãoDetecçãomarcar como suspeito+Detecção,quality=3
valor de salto abrupto(taxa de variação>5σ)anomalia estatísticaDetecçãosubstituição por filtro de mediana,quality=4
anomalia de timestampvalidação de timestamprejeitar escrita

Cada ponto de dados inclui um campo quality (0–192), que a aplicação de nível superior pode consultar para decidir se deve confiar nesse ponto. 192 = good, 0 = bad, e os valores intermédios são classificados por gravidade.

Integração MES/ERP na prática

Depois de o modelo AAS estar criado, os sistemas empresariais como MES, ERP e WMS podem ler e escrever dados da ponte rolante através de uma API REST uniforme:

Todas as APIs devolvem um formato uniforme:

APIponto finalmétododescriçãoFrequêncialimite
/api/v2/cranes/{id}/statusGETestado operacional em tempo real300vezes/min
/api/v2/cranes/{id}/telemetryGETdados históricos de telemetria30vezes/min
/api/v2/cranes/{id}/alarmsGEThistórico de alarmes30vezes/min
/api/v2/maintenance/recordsPOSTadicionar registro de manutenção10vezes/min
/api/v2/statisticsGETrelatório estatístico10vezes/min
{ "code": 200, "message": "success", "data": { /* Dados de resposta */ }, "timestamp": "2026-06-21T14:00:00.000Z", "requestId": "req-001-abc-xyz"}

Conclusão

O modelo de dados AAS não é uma teoria complexa — é simplesmente uma especificação que permite que equipamentos e sistemas falem a "mesma língua". A implementação também não é complicada: organize os endereços dos registradores do PLC, crie a tabela de mapeamento OPC UA, preencha o modelo JSON AAS, e o resto fica por conta do pipeline de dados.

Na sequência, escrevi o artigo "Método de Calibração de Parâmetros para Modelo de Simulação de Ponte Rolante", que explica o processo de calibração do modelo cinemático/dinâmico a partir da retroanálise de dados medidos, bem como a "Otimização de Renderização em Tempo Real no Edge". Fique atento para mais novidades.

Perguntas Frequentes

P: O que é exatamente o AAS (Asset Administration Shell) e para que serve?
R: O AAS (Asset Administration Shell) é a norma central da Indústria 4.0 (IEC 63278) e pode ser entendido como o "cartão de identificação + currículo" de um equipamento no mundo digital. Ele unifica todas as informações do ciclo de vida — parâmetros de projeto, dados operacionais em tempo real, registos de manutenção, estado de saúde, etc. — num formato padronizado. Para uma ponte rolante, com o AAS, sistemas como ERP, MES, SCADA e a Plataforma em Nuvem podem ler e compreender todos os dados da ponte rolante através da mesma interface, sem necessidade de integrações repetidas entre sistemas diferentes.
P: Quais sistemas o modelo AAS da Kelude consegue integrar?
R: Atualmente, suporta integração direta com PLCs Siemens S7-1200/1500 (protocolo OPC UA), série Mitsubishi Q (Modbus TCP), bem como interfaces padrão MQTT/REST API. No backend, pode ligar a bases de dados de séries temporais InfluxDB, filas de mensagens Kafka e qualquer base de dados SQL. Já foi implementado em siderúrgicas, portos, parques industriais e outros projetos, com uma taxa de sucesso de integração de 100%.
P: Equipamentos antigos sem interface de dados PLC podem ser integrados ao AAS?
R: Sim. Para equipamentos antigos sem saída de dados PLC, existem duas opções: a primeira é instalar uma caixa de aquisição de sensores (módulo de aquisição IO-Link ou 4-20mA, aproximadamente €256 por unidade), que converte os sinais físicos em dados digitais para integração ao AAS; a segunda é inserir manualmente dados estáticos, como registros de manutenção, enquanto os dados dinâmicos são obtidos por meio dos sensores instalados. Nenhuma das opções exige a substituição do equipamento completo.

Artigos relacionados

contact

contact us

phone:
+86 13903802779

mail:3915269@qq.com

Working hours: Monday to Friday

Wechat
Wechat
SHARE
TOP