Hi all, just to close the loop on this thread.
I ended up implementing a small Python bridge between a PLC/HMI (via OPC UA) and LinuxCNC, following the “PLC as cell controller, LinuxCNC as motion controller” approach discussed here (handshake, heartbeat, command/status boundary, etc.).
The script is vendor-agnostic (standard OPC UA) and already includes an MIT license header, so feel free to use, modify, or adapt it for your own setups.
If someone adapts it to Modbus TCP, MQTT, or another transport, feel free to share back.
Thanks to everyone for the input in this thread — it helped a lot to shape the final architecture.
— Marcos DC