Skip to Content
IntegracionesISA-95 / B2MML

ISA-95 / B2MML

Cuando el destino de la integración es un MES, un ERP o un data lake que habla ISA-95 (IEC 62264), el trabajo no es técnico — es de formato. El payload que sale de la línea ya tiene todo: equipo, orden, cantidad buena, rechazo, inicio y fin. Lo que falta es vestirlo con la estructura que el otro lado espera, con los nombres de elemento correctos, anidados en el orden correcto.

El pack ISA-95 / B2MML entrega esa mitad lista: Transformadores cuyo lado de salida ya está en el estándar. Usted solo indica de dónde viene cada campo de su payload.

Este pack está marcado como borrador: los modelos siguen la estructura pública del B2MML / ISA-95, pero todavía no fueron verificados contra un destino B2MML real. Valide el resultado en el sistema de destino antes de usarlo en producción — y confirme con su organización los términos de uso aplicables a esos formatos.

Un pack sin Interfaz, Recolección ni Entrega

Todos los otros packs del CMS instalan una integración entera. Este no: es una biblioteca de modelos. Instalarlo crea solamente Transformadores, que después usted elige en la Definición que ya tiene.

La razón es lo que ISA-95 es. No describe de dónde viene el dato — su Recolección sigue siendo la suya, sea SAP, base de datos, MQTT o archivo. Describe cómo se dice el dato. Crear Interfaces junto sería inventar un flujo que usted no pidió.

Qué trae adentro

ModeloSentidoFormato de salida
Notificación de producción → ProductionPerformanceEntregaJSON
Notificación de producción → ProductionPerformanceEntregaB2MML (XML)
Orden de producción → ProductionScheduleEntregaJSON
ProductionSchedule B2MML → objeto planoRecolecciónEntrada: XML B2MML
Lote producido → MaterialLotEntregaJSON

El cuarto es el camino de vuelta: un ProductionSchedule que llega en B2MML y necesita volverse un objeto plano para que el resto del CMS trabaje.

Instalar

El pack se instala desde el asistente de Packs, en la pantalla de Aplicaciones — el icono de cajas violeta en la fila de la Aplicación. El asistente pide tres valores:

CampoPara qué sirve
Prefijo de nombresSe antepone al nombre de cada Transformador creado. Sugerido: la sigla de la Aplicación
Empresa (Enterprise)El nivel Enterprise de la jerarquía ISA-95
Planta (Site)El nivel Site de la jerarquía ISA-95

El prefijo no es adorno. El nombre del Transformador es la clave natural de import/export y no tiene restricción de unicidad en la base: instalar el pack donde ya existe un Transformador con el mismo nombre haría coincidir el registro equivocado.

El botón de Packs aparece en cualquier Aplicación para la que exista un pack instalable — y como este no depende de conexión alguna, está disponible en todas, incluso en una Aplicación HTTP. En el primer paso del asistente, un pack que exija una Conexión Externa que la Aplicación no tiene aparece apagado, con el motivo.

Después de instalar

Cada Transformador creado trae un bloque MAPA arriba del script — es la única parte que usted 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 // ... };

A la izquierda está el campo ISA-95; a la derecha, de dónde sale en su payload. Nada debajo del MAPA necesita tocarse — es lo que arma la estructura.

Hecho el mapeo, elija el Transformador en su Definición de Entrega (o de Recolección, en el caso del modelo de vuelta), como cualquier otro. Ver Transformadores.

El modelo B2MML (XML) de entrada usa xmlToJsonRaw a propósito: número de orden, código de material y lote suelen tener ceros a la izquierda, y la conversión automática a número los destruiría en silencio.