The Strolch PLC architecture sees the Strolch Agent as the server, managing logical devices, i.e. multiple sensors and actors together and thus deciding on further steps. With this architecture multiple PLCs can be combined together in one agent for flow control.
On the agent side the two main classes are the
PlcGwServerHandler and the
PlcGwServerHandler handles connections from remote PLCs over WebSockets and
sends the requests to these PLCs. A
PlcGwService instance will be notified and
can then decide on an action. In an execution model with Activities, the
PlcNotificationListener interface can be implemented, or the
can be directly extended.
On the PLC side, the
PlcGwClientHandler is optional if no agent is required. The
PlcHandler initializes the model and connections. The
Plc class is Strolch
agnostic and manages the connections and notifies
PlcListener instances on
changes coming from the underlying connections. The
implement business logic, and can also be notified on updates from connections.