DGI.Simpl.DgiCommunicationsAdapter 1.0.0

SIMPL Communication Adapter

This library helps adapt a DGI Framework drivers that have a IDgiCommunication interface to a SIMPL+ module for interfacing with SIMPL communication symbols, like the TCP/IP Client, UDP/IP Communications or the a Serial Driver.

How to use

Refer to the SimplRossTalkDriver for an example:

A DGI SIMPL device driver, just like with the DGI Framework, should be unaware of the physical method of communication. In the DGI Framework that is easily accomplish by injecting a communication driver that implements the IDgiCommunications interface. However, this is not as easily achieved in SIMPL environment.

This adapter helps mediate communications between the device driver and the SIMPL+ module that will ultimately connect to one of the SIMPL communication symbols.

In order to do so a SIMPL# Library Device Driver should be created. This library will use this SimplDgiCommunicationsAdapter that implements IDgiCommunications and will be injected into the device driver. SimplDgiCommunicationsAdapter will then expose some public members that will be used to interface with the SIMPL+ module.

A Class UML example of the implementation is shown below:

Class Diagram

Methods and Events

The list of all exposed methods and events are shown below:

  • Inputs :

    • ExternalConnectFeedback: Method to call from Simpl+ when a connection has been established by the external communications symbol. Outside of the Simpl+ module, this method will be connected to the communication symbol Connect-F (for example a TCP/IP client). In connection-less protocols (such as UDP or Serial) this join should be always driven high always.
    • ExternalStatus: Method to call from Simpl+ when the status of the external communications symbol has changed. Outside of the Simpl+ module, this method will be connected to the communication symbol status (for example a TCP/IP client). In connection-less protocols (such as UDP or Serial) this join should be driven with analog 2 (Connected).
    • ExternalReceive: Signals dependent IDgiCommunications Driver data data has been received. Outside of the Simpl+ module, this method will be connected to the communication symbol RX$ (for example a TCP/IP client)
  • Outputs

    • ExternalConnectChanged: Event that the Simpl+ module should listen to that will signal when a connection to the external communications symbol is needed. Outside of the Simpl+ module, this method will be connected to the communication symbol Connect (for example a TCP/IP client) In connection-less protocols (such as UDP or Serial) this join can be commented out.
    • ExternalTransmitChanged: Event that the Simpl+ module should listen to that will signal when data is ready to be Transmitted. Outside of the Simpl+ module, this method will be connected to the communication symbol TX$ (for example a TCP/IP client)

    A sequence diagram of the methods and events can be shown below:

Class Diagram

No packages depend on DGI.Simpl.DgiCommunicationsAdapter.

Production Release

.NET Framework 4.7

.NET 6.0

Version Downloads Last updated
1.0.1 6 2/2/2024
1.0.0 5 1/2/2024