OutstationInformation interface
OutstationInformation tells your application what the outstation's session with the master is doing. The outstation
doesn't need anything back from it, and every callback does nothing by default, so implement only the ones you want. In .NET, implement them all
and leave the ones you don't need empty.
It's how a device can see its own communications: whether a master is talking to it, and whether that master confirms what it's sent. That's useful for a "master active" indicator on a front panel or HMI, for communication statistics, and for diagnosing a master that reads events but never confirms them.
| What happens | Callbacks | Use it to |
|---|---|---|
| The master sends a request | processRequestFromIdlebroadcastReceived | Know when the master last talked to the outstation, and see broadcast requests |
| The outstation waits for the master to confirm a response | enterSolicitedConfirmWaitsolicitedConfirmReceivedsolicitedConfirmTimeoutsolicitedConfirmWaitNewRequestwrongSolicitedConfirmSeq | Check that the master confirms the events it reads |
| The outstation sends an unsolicited response | enterUnsolicitedConfirmWaitunsolicitedConfirmedunsolicitedConfirmTimeout | Spot a master that doesn't confirm unsolicited responses, which keeps events in the buffer and the outstation retrying |
| Something else happens | unexpectedConfirmclearRestartIin | Count unexpected confirms, and know when the master has seen that the outstation restarted |
For a "master active" indicator, record the time in processRequestFromIdle, and show the link as down when no
request arrives within a few of the master's poll periods.
The callbacks run on the outstation's session, so keep them quick: record what you need and return.