IndTrace

Cada pieza, cada estación, registrada.

IndTrace registra lo que le pasa a cada pieza serializada mientras recorre una línea de producción conectada a PLC, y revisa cada llegada contra la ruta de la pieza. Sus máquinas y operadores siguen al mando. IndTrace guarda el historial y señala lo que no debió ocurrir.

  1. WS100Impresión de etiqueta
  2. WS200Ensamble
  3. WS300Prueba de fuga
  4. WS400Inspección por visión
  5. WS500Empaque final

La pieza L1AL100003 se reporta en cada estación. WS200 y WS300 son pasos siguientes válidos, así que IndTrace los registra. Cuando la pieza llega a WS500 sin haber pasado por WS400, IndTrace registra la llegada como rechazada y se lo informa a la línea.

Rastrea. No controla.

Muchos problemas de trazabilidad vienen de sistemas que intentan manejar la línea. IndTrace no lo hace. El equipo decide a dónde va una pieza; IndTrace determina si ese movimiento fue válido y guarda la evidencia.

La línea decide

  • El PLC y el operador mueven la pieza y ejecutan el proceso.
  • Cada estación evalúa su propio ciclo: pasa o no pasa.
  • Cuando una pieza llega a una estación, el PLC la reporta.

IndTrace registra y valida

  • Guarda el código de barras, la estación, el resultado del ciclo, los valores de proceso y la hora.
  • Revisa la llegada contra la ruta del producto: ¿esta estación es un paso siguiente válido?
  • Responde al PLC con un acuse y un resultado de validación.

Nunca envía una orden de "ir a la máquina X".

Qué hace, operación por operación

Hoja de ruta: IndTraceRev. edición comunitaria
OpQué hace IndTraceDónde lo ve
010Identificar la piezaRegistra un código de barras principal por pieza. Las etiquetas de componentes y adyacentes se guardan con él, así que la genealogía es una consulta, no una búsqueda.BarCode, Reports
020Validar cada llegadaRevisa cada llegada reportada contra los sucesores válidos en la ruta del producto y contra el resultado de la estación anterior.Monitor, Results
030Registrar el cicloGuarda los resultados de ciclo, el estado OK y NOK de la pieza, el estado de flujo y las variables de proceso que reporta cada estación.Reports
040Configurar la rutaProductos, flujos, máquinas y PLC son datos que se editan en las pantallas de configuración, no código.Configuration
050Ver la línea en vivoEl estado de las estaciones, las piezas y los resultados llegan al navegador por SignalR conforme se reportan.Dashboard
060Buscar y exportar el historialFiltre por fecha, producto, cliente, turno o estado, abra el historial completo de una pieza y expórtelo.Reports

Las pantallas

Capturadas de la edición comunitaria con una base de datos de demostración. Todas las empresas, productos y números de parte que aparecen son ficticios.

Reportes. Cada pieza serializada con su estado, filtrada por fecha, producto, cliente, turno o estado, lista para exportar.
Rutas. Cada fila de flujo indica qué máquina puede seguir a cuál, por producto. Contra esto se revisan las llegadas.
Tablero de línea. Una tarjeta por estación, actualizada en vivo desde el gateway de PLC.
Máquinas. Las estaciones de una línea y el papel de cada una en la ruta.
Productos. Números de parte internos y del cliente, por cliente.

Recorridos en video

Grabados en la edición comunitaria con una línea simulada y datos de demostración ficticios. Sin audio.

El recorrido de una pieza

Cinco estaciones simuladas reportan las llegadas de una pieza y cada una se valida. Una segunda pieza se salta la inspección visual y su llegada al empaque final se rechaza por no ser un sucesor legal.

Definir una ruta

Crea un producto, agrega sus cinco estaciones, conéctalas en orden y marca la primera y la última. La ruta nueva aparece en la configuración.

Rastrear una pieza

Busca un código de barras y abre su historial: cada estación, tiempo de ciclo, resultado y valor registrado.

Cómo está construido

Una solución hexagonal en .NET 10. Los drivers de cada fabricante quedan detrás de un contrato de dispositivos pequeño, así que el núcleo nunca depende de una marca de PLC.

Arquitectura de IndTrace El equipo de línea reporta al gateway a través del contrato de dispositivos. El gateway llama a la capa de aplicación, que guarda los datos en SQL Server, y publica eventos en el hub de SignalR, que alimenta el monitor en Blazor. Equipo de línea PLC, lectores de código Contrato de dispositivos (IndTrace.Devices) Gateway Recibe reportes, valida y responde Aplicación Handlers CQRS, reglas de ruta, errores con Result<T> SQL Server Persistencia con EF Core Hub Flujo de eventos SignalR Monitor Interfaz Blazor reporte acuse consultas

Edición comunitaria

Incluye un controlador de PLC simulado en memoria, para correr todo el sistema sin hardware.

Drivers intercambiables

En la edición comercial, los drivers de Siemens S7 y Cognex DataMan implementan el mismo contrato.

Dos despachadores

El tráfico de PLC y las peticiones de la interfaz pasan por despachadores CQRS separados, cada uno con su propio contexto.

Hecho para piso de planta

Un registro equivocado puede detener una línea o dejar salir una pieza mala, así que cada cambio pasa por un control estricto.

10,895pruebas automatizadas en CI en cada pull request
0advertencias del compilador permitidas; cada advertencia es un error
Result<T>los errores viajan como valores, nunca como excepciones entre capas
AGPL-3.0libre de usar, estudiar, modificar y compartir

Primeros pasos

  1. Instale el SDK de .NET 10, clone el repositorio y compile. La compilación trata las advertencias como errores.

    git clone https://github.com/Exxerpro/IndTrace.git
    cd IndTrace
    dotnet build Src/IndTrace.sln
  2. Ejecute una suite de pruebas. Las suites usan Microsoft Testing Platform, así que use dotnet run.

    dotnet run --project Src/Tests/Core/Aggregation.BoundedTests/Application.AgregationTests.csproj
  3. Cree una base de datos de demostración y ponga en marcha la línea. La guía de primeros pasos (en inglés) inicia SQL Server en un contenedor, crea una base de datos de demostración con una línea ficticia, arranca el hub, el gateway y el Monitor, e inicia sesión.

  4. Envíe una pieza por la línea. En Simulate a part through the line (en inglés) usted hace de PLC: una pieza buena pasa por todas las estaciones, una pieza que se salta una estación es rechazada al llegar y una pieza con falla se retrabaja.

Quién lo construye

IndTrace es diseñado y dirigido por Abel Briones Ramírez en Exxerpro Solutions, con más de 25 años de experiencia en automatización y trazabilidad para plantas automotrices y de manufactura. Nació como un sistema para una planta y creció hasta ser una plataforma para muchas.