Skip to Content
IntegraçõesISA-95 / B2MML

ISA-95 / B2MML

Quando o destino da integração é um MES, um ERP ou um data lake que fala ISA-95 (IEC 62264), o trabalho não é técnico — é de formato. O payload que sai da linha já tem tudo: equipamento, ordem, quantidade boa, refugo, início e fim. O que falta é vesti-lo na estrutura que o outro lado espera, com os nomes de elemento certos, aninhados na ordem certa.

O pack ISA-95 / B2MML entrega essa metade pronta: Transformadores cujo lado de saída já está no padrão. Você só aponta de onde vem cada campo do seu payload.

Este pack está marcado como esboço: os modelos seguem a estrutura pública do B2MML / ISA-95, mas ainda não foram conferidos contra um destino B2MML real. Valide o resultado no sistema de destino antes de usar em produção — e confirme com a sua organização os termos de uso aplicáveis a esses formatos.

Um pack sem Interface, Coleta nem Entrega

Todos os outros packs do CMS instalam uma integração inteira. Este não: ele é uma biblioteca de modelos. Instalar cria apenas Transformadores, que você depois escolhe na Definição que já tem.

A razão é o que ISA-95 é. Ele não descreve de onde o dado vem — sua Coleta continua sendo a sua, seja ela SAP, banco, MQTT ou arquivo. Ele descreve como o dado é dito. Criar Interfaces junto seria inventar um fluxo que você não pediu.

O que vem dentro

ModeloSentidoFormato de saída
Apontamento de produção → ProductionPerformanceEntregaJSON
Apontamento de produção → ProductionPerformanceEntregaB2MML (XML)
Ordem de produção → ProductionScheduleEntregaJSON
ProductionSchedule B2MML → objeto planoColetaEntrada: XML B2MML
Lote produzido → MaterialLotEntregaJSON

O quarto é o caminho de volta: um ProductionSchedule que chega em B2MML e precisa virar um objeto plano para o resto do CMS trabalhar.

Instalar

O pack é instalado pelo assistente de Packs, na tela de Aplicações — o ícone de caixas roxo na linha da Aplicação. O assistente pede três valores:

CampoPara que serve
Prefixo dos nomesEntra no começo do nome de todo Transformador criado. Sugerido: a sigla da Aplicação
Empresa (Enterprise)O nível Enterprise da hierarquia ISA-95
Planta (Site)O nível Site da hierarquia ISA-95

O prefixo não é enfeite. O nome do Transformador é a chave natural de import/export e não tem restrição de unicidade no banco: instalar o pack numa base que já tenha um Transformador de mesmo nome casaria com o registro errado.

O botão de Packs aparece em qualquer Aplicação para a qual exista pack instalável — e como este não depende de conexão nenhuma, ele está disponível em todas, inclusive numa Aplicação HTTP. No primeiro passo do assistente, um pack que exija uma Conexão Externa que a Aplicação não tem aparece apagado, com o motivo.

Depois de instalar

Cada Transformador criado traz um bloco MAPA no topo do script — é a única parte que você edita:

/* ISA-95 / B2MML - ProductionPerformance (apontamento de producao) * O CMS entrega ao destino um objeto no formato ISA-95. So o bloco MAPA muda por cliente: * aponte cada campo para o SEU payload de entrada. O resto ja esta no padrao. */ var m = JSON.parse(payload); // ---- MAPA: a unica parte que voce edita --------------------------------- var MAPA = { ordem: m.ordem, // ordem de producao -> ProductionRequestID operacao: m.operacao, // operacao / fase -> SegmentResponse.ID equipamento: m.recurso, // maquina que executou -> EquipmentActual inicio: m.inicio, // ISO 8601 fim: m.fim, // ISO 8601 // ... };

À esquerda está o campo ISA-95; à direita, de onde ele sai no seu payload. Nada abaixo do MAPA precisa ser tocado — é o que monta a estrutura.

Feito o mapeamento, escolha o Transformador na sua Definição de Entrega (ou de Coleta, no caso do modelo de volta), como qualquer outro. Ver Transformadores.

O modelo B2MML (XML) usa xmlToJsonRaw no caminho de entrada de propósito: número de ordem, código de material e lote costumam ter zero à esquerda, e a conversão automática para número os destruiria em silêncio.