DDE & OPC

S

Thread Starter

study

Difference Between DDE & OPC ?
i know only opc use in industrial (process control). can somebody tell me . thanks.
 
D

Daniel Chartier

Hello;
I remember when OPC was introduced, we used to jokingly refer to it as "DDE that works!" Actually, DDE (dynamic data exchange) was introduced by Microsoft with Windows 3.1 (somebody corect me if I'm wrong here) as a way to allow Windows-based programs to exchange data without having to write code (sending the value of a cell in Excel to Foxpro or Access, or Word).

Data was formated (appication/topic/data) instead of programmed. Problems arised as soon as the amount and speed of data transmission became important; you then had to set "cold" and "hot" links (polled or on-event change transmission) which were not very robust; if transmission was interruped, all links had to be rebuilt, which could cause any amount of grief.

When further versions of the Windows OS appeared, Microsoft used COM/DCOM techniques to allow a more stable exchange and configuration environment that they dubbed OLE for Process Control (OPC), which is now used in all critical control applications. It give developer standard tools and procedures to send data on a Server/client structure (the server holds the "menu", the client requests data it needs as needed). Once a programmer builds his Windows application with OPC server qualifications, anyone who knows how to request said data (a client) can have access to it.

Hope this heps,
Daniel Chartier
 
J

Jayaharan C J

DDE stands for Dynamic Data Exchange which is a protocol developed by Microsoft Inc. Most of the softwares by Microsoft eg:excel supports DDE protocol and in real time application it is extensively used by Wonderrware products. All Wonderware products communicate with the real time devices like PLC, DCS, Bar coders etc. through DDE servers and not with drivers unlike other SCADA vendors.

OPC on the other hand is a open protocol standard developed using the COM/DCOM concepts.OPC standards are framed by OPC Foundation in which all the major PLC vendors are members of this foundation.OPC is developed ainly to keep maintain a protocol standard niversally so that integration of different real time devices of a particular organisation can be done easily.

Hope this is useful.
Jayaharan C J
 
R

Raymond van der Tas

DDE (dynamic data exchange) was created over 10 years ago to allow a simple communication between windows applications. It was designed to be an intermediate solution. DDE had a few problem:

- you had to type item names in the client (and could not use item browsing)
- it was not easy to network DDE servers and DDE clients
- when the communication was broken the client was not informed about the problem.
- You could not have thousands of DDE links at the same time
- The DDE item did not supply timestamps quality information and other useful properties (e.g. ranges) about the item.

OPC was initiated by the process industry to supply reliable "dde" functionality which in the meantime would overcome all DDE problems:

- OPC Items supply the value, quality and timestamp of the item.
- OPC Items can have all kind of properties
- OPC address space can be easily browsed
- OPC is easy to network
- OPC is scalable from small to large applications
 
R

Ralph Mackiewicz

Some of this is not very precise:

> > Difference Between DDE & OPC ? i know only opc use in industrial
> > (process control). can somebody tell me . thanks. <
>
> DDE (dynamic data exchange) was created over 10 years ago to allow a
> simple communication between windows applications. It was designed to
> be an intermediate solution.

Saying DDE was designed to be intermediate implies that the designer had the foresight to know what would come later. I find it a little
hard to believe that Microsoft had the foresight to see that DDE would eventually be replaced by COM and that the OPC foundation would be formed, etc. It's more likely that Microsoft threw DDE into Windows 3 in a rush without thinking out any strategy for embracing object oriented technology. At the time they were in a race with
Digital Research to be first with a windowed operating system for the PC.

> - you had to type item names in the client (and could not use item
> browsing)

...snip...snip...

> - The DDE item did not supply timestamps quality information and other
> useful properties (e.g. ranges) about the item.

This is not strictly true. DDE did not provide a *standardized* way of providing these features. However, you could build these capabilities on top of DDE. The result would be that everyone's
implementation of these capabilities would be different and non-interoperable. My company built a DDE server that supported item browsing, timestamps, and quality flags. However, you had to use our item browser or write quite a bit of your own code. OPC incorporated this functionality into the standard to enable an OPC client from one developer to interoperate with the OPC server from another.

> OPC was initiated by the process industry to supply reliable "dde"
> functionality which in the meantime would overcome all DDE problems: -
> OPC Items supply the value, quality and timestamp of the item. - OPC
> Items can have all kind of properties - OPC address space can be
> easily browsed - OPC is easy to network - OPC is scalable from small
> to large applications

I think the biggest benefits, on top of the interoperability of time stamps, values, and quality, was the standardization of the read and
write methods, (which were only implied in DDE -- a DDE Request implied a read and a DDE Poke implied a write), standardizing on the organization and typing of data, and using the object-oriented (or at least object-like) programming architecture of COM versus the open
ended "send anything you like whenver you like" architecture of DDE. Taken together these things enabled the interoperability between OPC client and server that DDE lacked.

> OPC on the other hand is a open protocol standard developed using the
> COM/DCOM concepts.OPC standards are framed by OPC Foundation in which
> all the major PLC vendors are members of this foundation.OPC is
> developed mainly to keep maintain a protocol standard universally so
> that integration of different real time devices of a particular
> organisation can be done easily.

WRONG!!!! OPC IS NOT A PROTOCOL (at least not yet). OPC is an application programming interface standard based on Microsoft's Component Object Model (COM). It specifies a programming interface
between a server (a software process that contains data items) and a client (a software process that wants to access the data items). OPC
consists, essentially, of a collection of function calls and data structures. You can distribute the OPC function calls over a network
using a Microsoft protocol called DCOM. But OPC itself is not yet a protocol. OPC DX is a protocol for exchanging data between servers.
And, when OPC data access is mapped over SOAP and they finish the standardization of the XML that will be exchanged, then you might be able to say that OPC itself is a protocol. But right now, OPC is an API. One of the reasons for OPC's popularity is because it is an API that is independent of the protocols used by the server to obtain the data that is accessed by clients.

DDE had one advantage that OPC lacks: it was REAL simple. It didn't take much more than Ctrl-V to put a hot-link to data into a spreadsheet or document. I think the benefits of interoperability of OPC greatly outweighs the benefits of simplicity of DDE.

Regards,
Ralph Mackiewicz
SISCO, Inc.
 
V

Vladimir E. Zyubin

Hello List,

Daniel Chartier wrote:
LM> I remember when OPC was introduced, we used to jokingly refer to it as
LM> "DDE that works!" Actually, DDE (dynamic data exchange) was introduced by
LM> Microsoft [...]

Your words remind me of an article from "Windows developer's journal"... kinda "Chronicle of MS' Revolutions":

"First, there was the Windows API and DLL Hell. Revolution # 1 was DDE — remember how hot links let us create status bars showing the current
price of Microsoft stock? About that time, Microsoft created the VERSIONINFO resource, which eliminated DLL Hell. But another group within Microsoft discovered a fatal flaw in DDE: they didn’t write it! To solve that problem, they created ...."

full version - "http://www.lohnet.org/~hornlo/mutterings/wdjef/":http://www.lohnet.org/~hornlo/mutterings/wdjef/

Have a fun. Vladimir
 
C

Curt Wuollet

Open is a bit of an overstatement here. Wait until MS releases the details of the underpinnings under license as per the Samba treachery.

Regards

cww
--
Free Tools!
Machine Automation Tools (LinuxPLC) Free, Truly Open & Publicly Owned Industrial Automation Software For Linux. mat.sourceforge.net.
Day Job: Heartland Engineering, Automation & ATE for Automotive Rebuilders.
Consultancy: Wide Open Technologies: Moving Business & Automation to Linux.
 
F

Frank Iwanitz

Hi,

very good answer.

In between, OPC XML is more or less released. The version 1.0 of the spec has been forwarded to the tech committee and the board.

Regards,

Frank
 
F

Frank Iwanitz

Hello,

Sorry, OPC exists more than 6 years and there are thousands of products.
I do not know any MS approach for licensing in that area.
The only problem I know has been based on a patent purchased by Schneider, which tried to make money with it. but without success.

Things are not bad only because they are based on MS technology.

Regards,

Frank
 
C
By all means, continue in bliss until it's in their interest to pull the rug out. The Schneider and Samba affairs merely illustrate how easy it is to "cut off your air supply". And no, being based on MS technology isn't neccessarily bad. Being based on their patents, disclosed or undisclosed, or other protected IP, is letting them control your future. True, Schneider or it's successor haven't made much money yet, but it'll _cost_ millions before it's over. It will be interesting to figure out whether it was worth it. And it's so easy to avoid, that there will be suits (well founded) for negligence. In fact, there are already. It's obvious and intentional these things are compromised, it's part of the proprietary game plan. There are even sleazy entities that do nothing else but play the legal game. I'm certain the Samba team didn't know of any plans for MS licensing either. With the stroke of a pen, you're blown out of the water. And still you trust?

Regards

cww
 
Top