tags:

views:

87

answers:

2

Hi all, I am trying to grasp the link between OPC and DCOM. I have watched all four of the tutorials here and I think I have a good feeling for what OPC is, but in one of the tutorials (the third one 35 seconds in) the narrator states that OPC is based on DCOM, but I do not understand how the two are really linked. My confusion comes from a question my professor posed in which he asked "How and where would you deploy OPC instead of DCOM and vice-versa." His question makes it seem like the two are not as linked as my research suggests. I'm not looking for anyone to answer the question my professor asked, I just want to know the relation between OPC and DCOM, then I can figure the rest out. Specifically I would like to know if: 1.) One is always based on the other 2.) One can always be deployed without the other.

+1  A: 

The way I read this is that DCOM/COM/OLE was the substrate upon which OPC standards (which are intercommunicating objects defined by interfaces as groups of methods) were built in windows. In other words OPC which consists of object, interfaces and methods can be and has been built out a DCOM which is a technology on windows that allows the creation of these.

Hence OPC could be built out of other substrates, but I'm not familiar enough with to know if it has been. I'd suspect yes for non windows based systems.

From here

OPC is open connectivity in industrial automation and the enterprise systems that support industry. Interoperability is assured through the creation and maintenance of open standards specifications. There are currently seven standards specifications completed or in development.

Specifically:

OPC is a series of standards specifications. The first standard (originally called simply the OPC Specification and now called the Data Access Specification) resulted from the collaboration of a number of leading worldwide automation suppliers working in cooperation with Microsoft. Originally based on Microsoft's OLE COM (component object model) and DCOM (distributed component object model) technologies, the specification defined a standard set of objects, interfaces and methods for use in process control and manufacturing automation applications to facilitate interoperability. The COM/DCOM technologies provided the framework for software products to be developed. There are now hundreds of OPC Data Access servers and clients.

Preet Sangha
That does help clear it up a bit. I read this same info on Wiki several times but it just was not sinking in for some reason. I'll do some more research while keeping this info in mind. Thanks.
typoknig
What might help is if you look at a particular OPC interface/method and seem what implementations it has on differing systems including windows.
Preet Sangha
+1  A: 

The orginal OPC specifications were based on COM - not DCOM. This means a server could be implemented as an in-process COM server which would not require the use of DCOM. In practice almost all classic OPC products require DCOM.

In 2003 the OPC Foundation released XML-DA which provides the same features as OPC DA but use XML Web Services instead of DCOM.

The next generation technology: OPC Unified Architecture (UA) was released in 2009 and is independent of the the transport technology. Implementations currently support communication via XML Web Services and UA TCP (a binary protocol defined by the OPC Foundation).

More information can be found here: opcfoundation.org/ua

Randy Armstrong
But many vendors and users of OPC-based products often try to bypass the DCOM link in the chain; which simplifies installation and removes the complicated DCOM security issues. Typically a bridge process would run locally on the same node as the OPC server, acting as an OCP client on one side, and accepting client connections using some simpler TCP-based protocol on the other.Maybe that's what is meant by the question.
Nikola Gedelovski
Or to rephrase it: there is no real link between OPC and DCOM, however there is one between COM and DCOM
Anders K.