What DDE is and how it connects to industrial automation
DDE is a Windows mechanism that lets one running application ask another running application for data, and receive updates when that data changes, using the Windows message system as the transport. It requires no special network hardware, no separate communication server, and no programming libraries: any Windows application can participate in DDE by handling the standard Windows DDE messages. This simplicity made DDE the natural choice for the first generation of Windows-based industrial HMI software when it emerged between 1989 and 1991.
The OPCConnect history of OPC describes the origin directly: the need for OPC can be traced back to Windows 3.0 in 1990, when it became possible to run multiple applications simultaneously and DDE provided a standard mechanism for those applications to exchange data at runtime. Industrial engineers immediately saw the value in having process or plant data piped into general-purpose applications like Microsoft Excel. Within a short time, the first Windows HMI products were built around DDE as their device connectivity mechanism: the PLC device driver ran as a separate Windows application called a DDE server, and the HMI software was a DDE client that requested and received data from it.
Software Toolbox's own DDE explainer, written from direct experience supporting these products, captures the era precisely: as the first Windows-based HMI software came to market between 1989 and 1991, developers chose DDE to connect HMI software to device drivers. By having the DDE server as a separate piece, it was easy for third parties to create device drivers that any DDE-capable HMI could use. This is the same interoperability problem that OPC later solved more robustly: one device driver, many HMI applications.
How DDE addressing works: Application|Topic!Item
DDE uses a three-level hierarchy to identify any piece of data in any DDE server. Every DDE conversation is established using this addressing scheme, and every data request specifies all three levels. This is directly analogous to how OPC DA later structured its address space, and how MQTT topic hierarchies work today.
The separator characters matter and vary by DDE server implementation: the pipe character (|) traditionally separates Application from Topic, and the exclamation mark (!) separates Topic from Item. Some DDE servers use a backslash or other delimiter. When configuring a DDE connection in an HMI or in Excel (which supports DDE natively), you specify the full address string in this format. The DDE client broadcasts a request for the Application name, Windows finds the matching DDE server process, and a conversation is established over which the client can request Item values by Topic.
From DDE to OPC: the technology evolution
Why DDE was not sufficient for industrial connectivity
DDE vs OPC DA: side-by-side comparison
TOP Server DDE Client Bridge: keeping legacy DDE alive
For plants with legacy applications that communicate via DDE (custom VBA macros in Excel, older SCADA software with DDE clients, or OEM equipment with DDE-only interfaces), replacing those applications is often cost-prohibitive or operationally risky. TOP Server's DDE Client Bridge driver provides a practical alternative: it makes TOP Server appear as a DDE server to legacy DDE client applications, while TOP Server simultaneously collects data from modern PLCs and devices using its full library of 150+ device drivers and exposes that same data to modern OPC UA clients.
The DDE Client Bridge supports standard Microsoft DDE and Wonderware SuiteLink (the FastDDE successor used in current Wonderware/AVEVA products). A legacy Excel spreadsheet that reads from DDE, or a Wonderware application that reads from SuiteLink, can connect to TOP Server exactly as it would to the original device driver, while TOP Server handles the actual device communication using its modern drivers. The legacy application gets its data unchanged. Modern analytics, historian, and MES applications get the same data via OPC UA. No application modification required on either side.
SuiteLink and DDE: Wonderware's SuiteLink protocol is a high-performance replacement for FastDDE that uses the same Application|Topic!Item addressing convention but with a TCP-based transport optimized for Wonderware products. SuiteLink is not DDE itself, but it presents the same addressing interface to Wonderware clients. TOP Server's DDE Client Bridge supports both standard DDE and SuiteLink, which means it works as a drop-in data source for both classic DDE clients and current Wonderware/AVEVA InTouch and System Platform applications that use SuiteLink for their tag I/O.
