Back to the Object Software Technology Center
DDE - What is It ?
If you've been around Human-Machine Interface (HMI) software much you may have heard the term DDE used in conjunction with device communications. DDE stands for
Dynamic Data Exchange. DDE is a method for exchanging information between applications running on the Windows operating system, all the way back to Windows 2
.0! That's right, there was a Windows 2.0 back in the late 1980's and believe it or not it ran just fine on a 20 Mhz 286 PC and was screaming fast on a 386! One of the earliest
demonstrations of DDE was using it to exchange data between Word and Excel.
As the first Windows-based HMI software came to market between 1989 and 1991, the developers chose to use DDE to connect the HMI software to their device drivers. The
device driver that connected to your PLCs or process equipment ran as a separate application called a DDE Server. The HMI software was a DDE client application that
requested and received data from the DDE Server. By having the DDE Server as a separate piece, it was very easy for 3rd parties to create drivers that would work with
any HMI or other software application that used DDE. We remember the amazement in people's faces the first time they saw an Excel spreadsheet connected to a PLC
through a DDE server back in the early 1990's. The DDE client application accessed data by specifying the request in the format of Application|Topic!Item, where Application was the name of the DDE server .EXE program, the Topic was a user
configured name representing a group of data, such as a PLC, and the Item was a specific tag or data point in the PLC.
DDE by itself has some shortcomings, primarily performance. The communications
between the DDE client (HMI software, Excel, etc) and the DDE Server (the PLC driver) have to pass through a software
message routing mechanism in Windows, which back before Windows 95 and NT was not very fast, and even today by itself
is slow with large data blocks. Data throughput speed and volume of data was limited by this factor. To address this issue,
Wonderware developed and released FastDDE to the market along with a toolkit for building FastDDE servers. The
extensions to DDE developed by Wonderware in FastDDE gave the technology a huge boost. Later, in the mid 1990's, Rockwell Software released AdvanceDDE as their performance boosting version of DDE.
Along with these performance enhancing evolutions came NetDDE. NetDDE allows a client running on one PC to access
data from a DDE server running on another PC! At the time this feature came on in the early 1990's, it was revolutionary. All users had to do was specify a machine name on the network in front of the Application|Topic!Item naming convention.
Today, almost all DDE servers support at least 2 of the 3 if not all 3 of the forms of DDE: DDE (also called CF_Text or
XL_Macro), FastDDE, and AdvanceDDE in one driver, giving the user the maximum of flexibility. Software Toolbox offers a variety of DDE servers.
As you may have sensed here, technology has marched on. Although DDE is still easy to use and a perfect fit for some
applications, it's limits can be a problem in some applications. Also, when using tools such as Visual Basic, integrating with
a DDE Server can be cumbersome. There are two product types that have replaced the DDE server in the market for
applications where DDE's limits are an issue. These technologies are ActiveX and OPC. Learn more about these technologies and their benefits in the related articles below: