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: