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
| Modelo | Sentido | Formato de salida |
|---|---|---|
| Notificación de producción → ProductionPerformance | Entrega | JSON |
| Notificación de producción → ProductionPerformance | Entrega | B2MML (XML) |
| Orden de producción → ProductionSchedule | Entrega | JSON |
| ProductionSchedule B2MML → objeto plano | Recolección | Entrada: XML B2MML |
| Lote producido → MaterialLot | Entrega | JSON |
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:
| Campo | Para qué sirve |
|---|---|
| Prefijo de nombres | Se 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.