Applies To:
  • CitectSCADA 2.01 3.00 4.10

The DDEDRV driver supports two ways to get data from a DDEServer, either using a hot link or a cold link.

A cold link requires the driver to request the data item every time it is needed. A Citect variable tag can be made to use a cold link by appending /C to its Address.

With a hot link the driver only receives a notification from the DDEServer when changes of the data items value are reported. This is much more efficient than using a cold link. By default the driver uses hot links for all the data items it must read.


A cold link can be useful for monitoring the state of a DDEServer. This is because with the hot link it is possible for a DDEServer to fail and the driver will not realise that there is any problem, it just assumes that no data has changed. With a cold link the driver will realise that the lack of response form the DDEServer is an error and a Hardware Alarm will be triggered.

A problem with hot links is receiving the initial state of the data item. Most DDEServers will automatically notify the driver of the initial condition of all the data items which the driver is interested in. In this case the driver simply waits a short period of time to receive notification of the data initial value. If no notification is forthcoming then the driver will generate a Timeout Hardware Alarm. This is the default mode of operation of the DDEDRV driver.

Unfortunately some DDEServers do not provide automatic notification of initial values. Microsofts Excel is an example of such an application. You can see this if you make a test Project to using the DDEDRV driver to connect to a cell in an Excel sheet. The Citect page will not display any data from Excel until a value in the cell is modified. The act of modifying the cell forces Excel to notify Citect of the changed data. The driver then has an initial value for the data and this can be displayed.

See Also Q1849 for details of DDE driver INI options.