Machine client
Sole developer. Pattern adapted from a sister team's existing platform.
Speaks the machine's native protocol over TCP.
The client implements the bottom tier of the pattern and is the only component that knows the machine's native protocol. It is consumed as a library inside the worker, translating instructions down to the machine over TCP and passing machine-originated messages back up.
It is the one component in the platform that never touches the message bus. The worker hosting it subscribes to its events directly, in process, so there is no IPC-CFX down here and nothing to normalise: raw machine protocol on one side, .NET events on the other.
Isolating protocol knowledge in one library means a new machine type needs a new client, not a new platform. Reconnect, backoff, and heartbeat handling live here so that a dropped socket recovers without operator intervention, and the SMEMA handshake governing board handoff between the machine and its conveyors is handled at this tier too.
C# / .NET, TCP sockets, SMEMA