Chapter 5. Cascade DataHub Interface

The Cascade Driver is designed to integrate easily with the Cascade DataHub. A very brief explanation of the principles of operation are given here, and a more detailed description of the datahub architecture can be found in the document "Cascade DataHub".

In order to ensure reasonable responsiveness from a control system, the data must reside in a real-time database (datahub) that provides fast and reliable delivery of information as changes occur. In a networked environment, the datahub must be accessible from any node on the network. It must also be possible to isolate the data associated with a particular application from other applications on the network. Changes to data in one application domain should not affect other application domains, and data in one domain should not be lost when another application is shut down or removed from the network. It should also be possible to share data between these domains.

The Cascade DataHub meets these requirements and can service multiple clients with real-time data. When a program wishes to read the value for a point in the datahub, it registers for exceptions for that point. From then on, whenever the value for that point changes in the datahub, the event will be immediately transmitted to all registered clients.

Since the registered client cannot be guaranteed (and should not be required) to be 'waiting around' for its arrival, the event is transmitted as an asynchronous notification. Such data transfers inherently rely on an intermediate queue server to provide the 'synchronization buffer' and to guarantee delivery.

The Cascade Driver is compatible with this approach. Any point can be configured to automatically notify the datahub when its input value changes, thereby making it available to any processes which have registered with the datahub for exceptions on that point. Likewise, any point can be configured to request asynchronous notification of changes from the datahub, so that a process writing a new value for the point to the datahub will automatically cause that point to be written to the device.

To enable the datahub interface, the driver configuration must include the following: