Andreu Playà
ES
Mataró

Andreu Playà

Ingeniero de software · PLC y web

Texto estructurado para máquinas de envasado, en Multivac. Las aplicaciones web de esta página crecieron al lado de ese trabajo.

Perfil

Quién

Escribo texto estructurado para máquinas de envasado. En Multivac eso significa I+D: estaciones nuevas que coordinan más de quince ejes sincronizados, movimiento que tiene que aguantar a las tres de la mañana en una línea que no puede parar. Nueve años después sigue siendo el trabajo que quiero estar haciendo.

Llegué por la ingeniería de telecomunicaciones y un máster en Control Automático y Robótica, con cuatro años de envasado farmacéutico por el medio: sistemas validados y una línea estéril montada alrededor de dos robots de seis ejes.

El software que hay más abajo creció al lado de todo eso. Empezó como un favor: una hoja de cálculo de reservas que había que jubilar. La hoja se convirtió en una aplicación, la aplicación necesitaba dónde correr, y mantenerla en marcha me enseñó el resto — Vue y Node, contenedores, tuberías de despliegue, y lo que cuesta publicar algo de lo que depende otra gente. Nada de eso fue un plan de carrera: cada pieza apareció porque un proyecto la pedía. Lo que se hereda de las máquinas es el listón: tiene que seguir funcionando cuando no hay nadie mirando.

Especialidades

Qué hago

Control de máquina

Desde 2017

IEC 61131-3, sobre todo en texto estructurado. Aplicaciones de movimiento con levas y sincronización multieje, escritas con una estructura orientada a objetos para que la máquina siguiente pueda heredarla en vez de empezar de cero.

IEC 61131-3TwinCAT3KEBACodeSysLevas de movimientoC

Robótica y entornos validados

2017–2021

Una línea estéril de envasado farmacéutico montada alrededor de dos robots Comau Racer 5, entregada bajo el V-Model de GAMP, con un sistema de recetas y reporting que tenía que aguantar una auditoría de la FDA. La teoría viene del máster en Control Automático y Robótica.

Comau Racer 5V-Model GAMPConformidad FDAHMISSRS

Web full-stack

Autodidacta

Autenticación con JWT y verificación en dos pasos opcional, registros de auditoría inmutables, persistencia en SQLite y una batería de tests que tiene que estar en verde antes de que salga nada. Cada pieza apareció antes como un requisito de un proyecto real.

Node.jsHonoVue 3ViteSQLiteSCSSPHP

Infraestructura y despliegue

Autoalojado

Lo que construyo me toca mantenerlo en marcha. Servicios en contenedores, infraestructura declarada como código y tuberías que prueban, construyen, publican, redespliegan y esperan al health check antes de dar una release por buena.

DockerComposeCI/CDServidores LinuxPython

Experiencia

Dónde
Jun 2021 — Actualidad

Software Engineer, programación de PLC

Multivac Group

I+D de máquinas nuevas para la industria del envasado alimentario. He construido e integrado estaciones completas que coordinan más de quince ejes sincronizados, he mantenido vivo el código de máquina ya lanzado con funcionalidades nuevas y aplicaciones legacy en drives, y he hecho posible la personalización dentro de un proceso serializado. Escribí un visualizador del estado de máquina en PyGame y PyAds que los ingenieros de pruebas usan en campo.

TwinCAT3Texto estructuradoLevasMercurialTests unitariosJavaCPython
Feb 2017 — Jun 2021

Junior Software Engineer, programación de PLC

SP I-Dositecno

Adaptación del código estándar de máquina a las especificaciones de diseño de cada cliente, bajo el V-Model de GAMP. Entregué una línea estéril de envasado farmacéutico construida alrededor de dos robots Comau Racer 5 de seis ejes, un sistema HMI de recetas y reporting conforme a FDA, y macros con la API de Solid Edge que le ahorraron un paso repetitivo al equipo mecánico.

KEBAIEC 61131-3VBScriptSQLSSRS.NET

Formación

Estudiado

Máster en Control Automático y Robótica

2014

UPC — ETSEIB, Barcelona.

Ingeniería Técnica de Telecomunicación

2011

Sistemas Electrónicos. UPC — EPSEM, Manresa.

JavaScript Avanzado

2023

PUE Academy (TR-2666 / IFCD89).

TwinCAT3 NC PTP · TwinSAFE

2021

Beckhoff Automation S.A.

Proyectos

Construido

Los más recientes primero. Los tres de arriba los construyo y los opero; los tres de abajo están cerrados, y son donde empezaron algunas de las costumbres. Cada uno lleva su diario: qué cambió y por qué.

2026

pms_ixa En vivo

Un sistema de gestión de alojamientos de corta y larga estancia: reservas, clientes, facturación y canales de venta que conocen su propia comisión. Cuatro roles resueltos en la ruta, verificación en dos pasos opcional, un registro de auditoría inmutable, y una tubería que no da por buena una release hasta que el health check contesta.

Node.js 20HonoVue 3SQLiteJWT + 2FACI/CD
2026

web_ixa En vivo

Una web pública en diez idiomas —cirílico y derecha-a-izquierda incluidos— sobre un tema de bloques de WordPress escrito a mano, sin maquetador visual y sin paso de compilación. Lee la disponibilidad del PMS y le mete las solicitudes directamente. Empezó como un rescate: la web a la que sustituye era una SPA que se quedó en blanco cuando desapareció su API.

WordPressPHPTema propioi18nDocker
2026

tas_ixa

Control horario a partir de un reloj de fichar físico. Interpreta lo que el aparato escribe y resuelve lo que él no puede —el día que alguien se olvidó de fichar la salida— con correcciones que se proponen, se aprueban y se pueden deshacer, nunca ediciones sobre el histórico. La costumbre industrial, aplicada a una aplicación web.

Node.jsHonoVue 3SQLiteDocker
2022

Wave Function Collapse

Un generador de mapas en Unity3D con el algoritmo Wave Function Collapse: le das un puñado de tiles y las reglas de cuál puede tocar a cuál, y resuelve una distribución que no las rompe nunca. Propagación de restricciones, que es la misma forma de problema que secuenciar una máquina, solo que más vistosa cuando sale.

Unity3DC#Procedural
2021

Typing Dojo Jugable

Un juego de mecanografía en Unity3D, al estilo de TypingClub: contrarreloj, sumando puntos por palabra. Lo hice para aprender el bucle de entrada y de tiempo del motor, y todavía se juega en el navegador.

Unity3DC#WebGL
2012

Control de motor sin sensor

Control de velocidad en lazo cerrado de un motor DC sin tacómetro y sin encoder: el propio motor es el sensor. Durante la fase baja del PWM, una interrupción lee la fuerza contraelectromotriz por el mismo pin que lo excita, y esa tensión es la realimentación de velocidad.

EmbebidoPWMBack-EMFLazo de control

Contacto

Hablemos

Trabajo de automatización, un problema de robótica, o algo que estés construyendo en la web — el buzón está abierto.

contact@andreuplaya.com